-
-
Notifications
You must be signed in to change notification settings - Fork 185
Burning the bootloader via ISP (advanced)
Nico edited this page Apr 14, 2018
·
18 revisions
This is for advanced users who want to burn the bootloader with an external ISP directly. This is useful if you try to debug the bootloader and upload it over and over or if you simply want to burn another/new bootloader to any Arduino/AVR.
You can do this with your program of 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.
- Unplug both Arduinos from USB. Never change wires when the devices are powered!
- Connect all wires as described below
- Double check all connections
- Plug in your Arduino that acts as ISP into USB
- Do not plug in both Arduinos to USB at the same time when 5V are connected!
Pin connections:
328/2560 - 16u2
GND - GND
5V - 5V
MOSI - MOSI
MISO - MISO
SCK - SCK
PIN 10 - 16u2 RESET
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
Pin connections:
328/2560 - 32u4
GND - GND
5V - 5V
MOSI - MOSI
MISO - MISO
SCK - SCK
PIN 10 - 32u4 RESET
HoodLoader2 Fuses:
low_fuses=0xFF
high_fuses=0xD8 (boot to Bootloader)
extended_fuses=0xFC (no HWBE)
unlock_bits=0x3F
lock_bits=0x2F
DFU Fuses:
low_fuses=0xFF
high_fuses=0xD9 (boot to program)
extended_fuses=0xC4 (with HWBE)
unlock_bits=0x3F
lock_bits=0x2F
Original Fuses:
low_fuses=0xEF
high_fuses=0xD8 (boot to bootloader)
extended_fuses=0xCB (no HWBE)
unlock_bits=0x3F
lock_bits=0x2F
The 16u2 on the Arduino Uno/Mega dont have a pin 10 broken out. Use pin 4 as SS instead. If you use a 32u4 with HoodLoader2 want to use pin 10.
You need to solder the 4 pin header for this.
- Select the Arduino board that acts as ISP
Tools > Board > Uno/Mega/...
- Upload the Arduino as ISP sketch from
examples/Arduino as ISP
- Select under
Tools > Board
the to be flashed Arduino (HoodLoader2 16u2) - In the
Tools > Bootloader
menu select HoodLoader2 Uno, Mega (or DFU) - In the
Tools > Programmer
menu select Arduino as ISP. - Hit under
Tools
"Burn Bootloader".
Copyright (c) 2014-2021 NicoHood
Additional Information