New to arduino, some questions.

Hello,
until now I only worked with PIC, recently I switched to arduino, the first barrier was
the new vocabulary, shield, sketch, etc.

But one thing I don't understand is the bootloader thingy.
I have a arduino mega ADK, from what I understand there is a bootloader inside the main µC allowing me to program it without a programmer.

Do I need to do something special in order to not erase this bootloader and render my board unprogrammable? (I only code in C)
Is there something in the arduino IDE that can erase the bootloader?

The bootloader is making the led on pin 13 blink, does that mean that I'm not allowed to use pin 13?
Thanks.

Hello,

Eildosa:
shield

Hardware thing that snaps on to an Arduino board.

sketch

Your program. Written in C++. Using the Arduino API.

I have a arduino mega ADK, from what I understand there is a bootloader inside the main µC allowing me to program it without a programmer.

Exactly.

Do I need to do something special in order to not erase this bootloader and render my board unprogrammable?

No.

Older boards would occasionally lose the bootloader because of a minor design flaw. With a second board (or a dedicated programmer) you can easily reinstall the bootloader.

(I only code in C)

You've picked the correct path. The C(++) compiler (avr-gcc) works well in my opinion.

Is there something in the arduino IDE that can erase the bootloader?

No.

The bootloader is making the led on pin 13 blink, does that mean that I'm not allowed to use pin 13?

You are free to use pin 13 just be cautious of what you connect to it. For example, connecting the startup signal for a 6000 horsepower jet engine to pin 13 would be a bad idea. Connecting an LED + current limiting resistor to pin 13 is certainly OK.

Note: If necessary, you have all the tools and source code necessary to rebuild the bootloader so it does not touch pin 13.

Nice :smiley:

I knew I could re-write a bootloader inside but I have no external programmer,
I didn't wanted to do anything stupid and have to wait 10 days for the programmer to get here.

So the arduino is in fact in C++? it uses a real C++ compiler, I can do objects? that's awesome.

Eildosa:
So the arduino is in fact in C++? it uses a real C++ compiler, I can do objects? that's awesome.

Yes. Within reason. It is, after all, an eight bit processor with limited RAM (called "SRAM"; another vocabulary item you may need to know).

Structured exceptions are not available.