The Burnduino Shield is, as the name suggests, an add-on ‘shield’ for the Arduino microcontroller and compatibles. It’s designed to make programming an ATmega328 DIP-package microcontroller easier, and turns the Arduino into a remarkably efficient AVR programmer. Features include:
- 28-pin universal ZIF (zero insertion force) socket, meaning no bent pins and fast chip change
- Supports uploading of 16MHz external crystal and 8MHz internal oscillator Arduino bootloaders onto bare ATmega microcontrollers
- Fully supported within the Arduino IDE software
- Allows uploading of bootloaders and sketches from a single shield
- Mode select jumpers mean no rewiring – ever
- Saves money: buy unprogrammed ATmega328 chips and burn the bootloader yourself
The Burnduino is provided as a kit, which contains the printed circuit board, a high-quality 28-pin locking ZIF socket made by 3M, a 16MHz crystal with two 22pF decoupling capacitors, a 10KOhm pull-up resistor for the reset line, male 2.54mm headers and three 2.54mm jumpers for the mode select pins. All components are through-hole and easy to solder, even for a novice.
The Burnduino’s mode select jumpers allow a single shield to perform two tasks: when in ‘BTLDR’ mode, with the RX and TX jumpers open, the Burnduino works with an Arduino and the Arduino-as-ISP sketch to burn new bootloaders onto blank or pre-used ATmega microcontrollers. Close the RX and TX jumpers and move the mode select jumper to ‘SKETCH’ and the Burnduino allows the Arduino IDE to upload sketches to bootloader-equipped ATmegas.
Bootloader Mode
- Upload the ‘ArduinoISP’ sketch (File – Examples) from the Arduino IDE to your Arduino or compatible board.
- Connect the Burnduino shield.
- Set the lower-left Mode Select jumper to BTLDR, shorting the middle and top pins.
- Remove the jumpers from the RX and TX pins.
- Insert your ATmega microcontroller into the ZIF socket
- Select your chosen board type from the Tools – Board menu in the Arduino IDE.
- Upload the bootloader using Tools – Burn Bootloader – w/ Arduino as ISP.
- To program another ATmega, simply replace the chip in the socket and burn the bootloader again.
Sketch Mode
- Remove the ATmega chip from your Arduino board and put it somewhere safe.
- Connect the Burnduino shield.
- Set the lower-left Mode Select jumper to SKETCH, shorting the middle and bottom pins.
- Short the RX and TX pins with the jumpers provided.
- Select the bootloader type from the Tools – Board menu in the Arduino IDE.
- Insert your bootloader-equipped ATmega chip into the ZIF socket.
- Load your sketch into the Arduino IDE and hit the upload button.
- To upload the sketch to a new chip, simply replace the chip in the ZIF socket and hit the upload button again.
If you want to take advantage of the ATmega’s internal oscillator, which means your finished design can ditch the 16MHz crystal and decoupling capacitors to save money and space, you’ll need to follow the ‘Minimal Circuit’ instructions from the Arduino to Breadboard article to add a new board definition to the Arduino IDE. If you need to upload bootloaders to ATmega328-PU chips – rather than the more common ATmega328P-PU – follow these instructions.
NOTE: The Burnduino uses the ArduinoISP sketch to upload a bootloader to the chip in the ZIF socket. This sketch, at present, does not support the new Arduino Uno, which uses different USB circuitry. If you want to use the Burnduino as an ISP, you’ll need to have an Arduino Duemilanove or third-party compatible with FTDI circuitry instead.