You Are Here: Home » Projects » Arduino Programmer Projects » ArduinoISP Bootloader/Programmer Combination Shield

ArduinoISP Bootloader/Programmer Combination Shield

I started recently to get interested in building Arduino based robots. Since it is a traumatizing process to take any creation apart, I am opting to keep mine alive and kicking. To lower the cost of this strategy it seems obvious to switch from the arduino development board to selfbuilt arduinos – DIYduinos if you like – and keep the original arduino for what it is meant for… development. See for DIYduino examples the stripduino, the paperduino, the self-etched-arduino, the paperduino perfboard, the palm arduino, and the breadboarduino. There are more out there, I am sure. Just start looking. However, making the cheapest DIYduino requires buying ATMEGAs without bootloader. With those you need to load the bootloader and subsequently you can upload a sketch. This process can be done with a regular Arduino board and is described in a number of tutorials such as the ArduinoToBreadboard tutorial.

ArduinoISP Bootloader
Here in this instructable, my first by the way, I am introducing you to a strip board arduino shield that allows you to load either (i) a bootloader or (ii) a sketch onto an ATMEGA using an Arduino board as the In-System Programmer (ISP) or as the USB to Serial interface, respectively. With this board all you need to do is set a few jumpers and temporarily remove the ATMEGAx28 from your original Arduino to switch from one to the other.

Step 1: What you need

The first picture shows all the parts that are needed for building the bootloader/programming shield:
1) Stripboard, 0.1″ hole distance
2) Quick connect IC socket
3) 10kOhm resistor
4 ) 5×2 & 1×3 Pin male/male connector with short/long legs, 0.1″ hole distance
5) 1×8 & 1×10 Pin male/male connector with long/long legs, 0.1″ hole distance (this may differ with the type of original arduino you are using)
6) 2 Cables with female/female connector
7) 2x 22pF Ceramic capacitor
8) 1x 16MHz oscillating quartz
9) 4x Jumper from for example an old motherboard
10) Jumper wires of various lengths
11) 1x ATMEGA328 or 168 to be programmed

The second picture shows the hardware that I used to put it all together.
1) Solder iron & solder
2) Carpet knife
3) Hand saw with skinny blade
4) File – not too coarse
5) Wire cutters
6) Fine tipped pliers
7) Sharpie Markers of different colors and pencil
8) Third Hand (made by following instructable by rstraugh …thanks)
9) Track Cutter (made by following instructable by scraptopower …much obliged)
10) Voltmeter with test leads
11) Paper printout of strip board pattern
12) Arduino with USB to serial chip (e.g. Arduino Uno) for uploading the bootloader or DIYduino and for subbing in as a USBtoSerial programmer for uploading a sketch

Step 2: Schematic

To create the strip board layout I first determined the schematic I wanted to create. You can essentially do a strip board design with any schematic no matter if you invented it, downloaded it, or re-engineered it. In my case I took the connection layout given in the ArduinoToBreadboard tutorial for both uploading the bootloader as well as uploading a sketch and combined them into one schematic adding a few switches. The result is shown in the figure. Note that the switches were realized using typical motherboard jumpers.
ArduinoISP Bootloader Schematic
Bootloader configuration (as shown in figure):
S1 is closed (i.e. Pins 11, 12, and 13 are connected to the Atmega)
S2 is switched to Pin10
S3 is open (i.e. Rx and Tx are not connected to the ATMEGA).

Sketch upload configuration:
S1 is open(i.e. Pins 11, 12, and 13 are not connected)
S2 is switched to Reset
S3 is connecting Rx and Tx to the ATMEGA328

The schematic further shows the connections of +5V and ground (GND), the 16 MHz oscillating quartz (Q) and its 22pF ceramic capacitors (C1), the 10kOhm pull-up resistor (R), and of course the ATMEGA328.

Major Components in Project

1) Stripboard, 0.1″ hole distance
2) Quick connect IC socket
3) 10kOhm resistor


For more detail: ArduinoISP Bootloader/Programmer Combination Shield

Leave a Comment

= 3 + 9

(Spamcheck Enabled)

© 2013 Powered By Wise Technologies, Use Arduino for Projects | Privacy Policy

Read more:
Scroll to top