2016/04/13

Burning Optiboot Bootloader to Arduino Pro Mini Using Uno R3 with ArduinoISP

This is the memorandum recording the procedure I use burning Optiboot bootloader to Arduino Pro Mini.

The procedure:

1. Upload ArduinoISP sketch to Uno R3 as any general sketch.
2. Connect Arduino Pro Mini RST to Uno R3 D10, Vcc to Vcc, Gnd to Gnd, D11 to D11, D12 to D12 and D13 to D13 respectly.
3. Select Board ->  Arduino Uno, Programmer -> Arduino as ISP, Burn Bootloader from Tools menu. Wait for a minute or so, the status bar of Arduino IDE will show "Done burning bootloader.".

That's it.

No need to download Optiboot hex file from any website, to compile optiboot from source or to edit board.txt, Arduino Uno use Optiboot as its default bootloader and the hex file is include in the Arduino IDE ( the Arduino IDE I use is 1.0.5-r2). The parameters set for Uno in board.txt is suitable for all boards using ATMEGA328P-PU or ATMEGA328P-AU microcontroller.

I burn Optiboot to Arduino Pro Mini following the procedure above and upload the example blink sketch to the Arduino Pro Mini by selecting Tools -> Board -> Arduino Uno repeatly and successfully.

If Arduino Uno R3 with ArduinoISP uploaded is used, skip to step 2 directly. Step 2 can be done before or after plugging USB type A connector to computer.

Following the procedure, I can minimize the needed size of board and bytes occupied by bootloader and maximize the functions the bootloader provides such as watchdog timer.

4 comments:

  1. This comment has been removed by the author.

    ReplyDelete
  2. This comment has been removed by the author.

    ReplyDelete
  3. Hi, I normally burn the bootloader for Arduino-Pro Mini using the procedure you mention in your post. Now I want to use AVRStudio and I need to know which .hex file is used by Arduino IDE. I guess that should be one of the contained in the folder C:\Program Files (x86)\Arduino\hardware\arduino\avr\bootloaders\optiboot
    Should be optiboot_atmega328.hex or optiboot_atmega328-Mini.hex?

    Thanks in advance

    ReplyDelete
  4. Hello again,
    I just realised that the answer to my question is in boards.txt, where for the board "Arduino Pro or Pro Mini (5V, 16 MHz) w/ ATmega328P" define the bootloader hex file as: ATmegaBOOT_168_atmega328.hex

    I guess that this is the hex file that it is burn when selecting the board.

    ReplyDelete