Many a time have I had to set up my Arduino UNO as an ISP in order to burn the bootloader to either another Arduino or an SMD project.
As you can see, it’s a pain every time having to look up the pinouts and construct a cable each time.
I found Nick Gammon’s bootloader sketch
. This was a better, quicker solution for burning the bootloader. All it requires is a single ribbon cable that ties both ICSP headers together. The reset pin on the target is broken out to pin 10 on the Arduino. It’s really fast to connect both devices together, load the sketch, and burn.
However, there is one caveat, Nick gammon’s sketch just loads the bootloader. It doesn’t set up your Arduino as an ISP. So once the bootloader is burned, you can’t use it to load another sketch onto the target. You still have to go back and reconnect everything the “Arduino as ISP” way.
Ideally, I’d like something more along the lines of a shield. Similar to the ATtiny Programming Shield
that I made. I want to eliminate the need to pull out jumper wires every time. I want to just clip on a shield, connect it to my target, and go.
I jumped into Eagle and got to work. It should be simple. I just have to connect pins 10, 11, 12, and 13 to a 2x3 header, and throw in a 10µF cap.
I gave it a cool shape. I could have just left it a rectangle, but then it would have been bigger than it really needed to be.
I printed it out just to get a feel for what it will look like.
It’s pretty cheap to get a board this small made from OSH Park. Only $6.40 for three.
I then hopped on eBay and found a 6-pin ICS cable for only $1.25.
Two weeks later, my new PCBs arrived in the mail.
This should be a pretty easy build. All I need is a 10 µF cap and a few headers.
The best way to keep headers nice and straight is to pop it on your breadboard while you solder them.
That was easy.
With the pins nice and straight, it just slides right in.
All I then had to do was connect my cable to my target, set up the Uno as an ISP, and load my sketch.
So much easier than messing around with jumper wires and DIY homebrew cables.