Skip to content

Burning the bootloader via ISP (advanced)

Nico edited this page Mar 14, 2015 · 18 revisions

This is for advanced users who want to burn the bootloader with an external ISP directly. You can do this with your program if choice (e.g. avr-dude) or use the Arduino IDE. You can either use an official ISP or let your Arduino Uno/Mega/Leonardo/Micro/16u2 act as ISP. You can also burn the original DFU bootloader (with USB-Serial) this way.

###Arduino as ISP Assuming you want to use a 2nd Arduino as ISP with the IDE follow these steps:

Unplug both Arduinos from USB. Never change wires when the devices are powered! Connect all wires from the 2nd Arduinos main MCU to the 16u2. You also need to connect 5V-5V and GND-GND to power the board. Unplug the USB cable of the Arduino you are flashing. In this case you do not need the capacitor which we use in the standalone version.

Connections

Pin connections:
328/2560 - 16u2
GND      - GND
5V       - 5V
MOSI     - MOSI
MISO     - MISO
SCK      - SCK
PIN 10   - 16u2 RESET
  1. Follow this tutorial to setup the ISP and other settings.
  2. Select under Tools > Board HoodLoader2 16u2 (or DFU)
  3. In the Tools > Bootloader menu select HoodLoader2 Uno or Mega
  4. Hit under Tools "Burn Bootloader".
HoodLoader2 Fuses:
low_fuses=0xEF
high_fuses=0xD8 (boot to Bootloader)
extended_fuses=0xFC (no HWBE)
unlock_bits=0x3F
lock_bits=0x0F

Official DFU + USB-Serial Fuses:
low_fuses=0xEF
high_fuses=0xD9 (boot to program)
extended_fuses=0xF4 (with HWBE)
unlock_bits=0x3F
lock_bits=0x0F