Understanding Arduino Bootloader

I have some questions about the Arduino Bootloader. Hope someone can help me understand it better.

I did some research on it and following are my current understanding. Let me know if anyone of them is not true.

  • To program any AVR (or any Microcontroller) you need an external hardware called programmer. But bootloader solves this problem in Arduino, by not requiring the programmer.
  • When the chip (with a bootloader) is powered on (or reset), it waits for sometime to see if there is a any new code. If not it continues to load the old code present in the chip
  • You can also use a working Arduino as a programmer to program other AVR chips.

Now my questions regarding the bootloader

  • If I am always going to use an Arduino as a programmer to (re)program my new AVR chip, do I still need to burn the bootloader into the new chip?
  • Can I burn the bootloader into non-Arduino AVR chips like AtMega 16A or ATTiny 85?

More or less correct.
With a programmer, you can: load a sketch that will start immediately after a reset; or you can load a bootloader that watches for serial communication and performs self-programming, and if no serial comm occurs then the bootloader starts the sketch.

Arduino can be loaded with a programmer sketch to load other parts per the above.

New chip does not need a bootloader, it can be programmed with a sketch. Select File:Upload Using Programmer.
(have not tried that personnally, I have a standalone programmer (several actually), less wires to mess with).
Check www.avr-developers.com to see if cores & bootloaders exist for the other chips if you do not see the chips listed as being used on an existing board type.

CrossRoads:
More or less correct.
With a programmer, you can: load a sketch that will start immediately after a reset; or you can load a bootloader that watches for serial communication and performs self-programming, and if no serial comm occurs then the bootloader starts the sketch.

Arduino can be loaded with a programmer sketch to load other parts per the above.

New chip does not need a bootloader, it can be programmed with a sketch. Select File:Upload Using Programmer.
(have not tried that personnally, I have a standalone programmer (several actually), less wires to mess with).

Thanks for confirming.

CrossRoads:
Check www.avr-developers.com to see if cores & bootloaders exist for the other chips if you do not see the chips listed as being used on an existing board type.

I checked out the site, but it seems that it was last modified for Arduino 0020. So I guess it may not be compatible with the latest IDE. Let me see if I can update it to the latest Arduino version.

If you'll use other chips like attiny and other atmega i suggest you to program it directly from arduino with the .hex file using a GUI like avrdudegui or other and bypassing the bootloader so you could have more space in the flash memory
Hi niko
(sorry for my English but I'm Italian) :grin: