Arduino as ISP shield project

I followed this tutorial here: http://arduino.cc/en/Tutorial/ArduinoToBreadboard and was successful making my own little Arduino from a bare chip. The process wasn't that bad but doing the whole deal with just an Arduino (No stand alone programmer) requires pulling the chip out of the Arduino socket to load sketches onto a bootloaded chip.

Anyway, I got it in my head to make an Arduino replicator shield that would make it easier to pull the chip and perhaps prepare new ones without too much fiddling. I have several projects figured out on a breadboard that I would like to make permanent using bare chips.

I know the best route would be to use another programming option like a standalone programmer or a teensy or some of the other methods suggested by knowledgeable forum members but I'd like to fool with this idea some.

Here is where I'm at now:

I've just relocated the chip to a ZIF socket on a proto shield. It functions just like it did before but now the chip is just easier to pull and I have room for a second ZIF for (maybe) burning the bootloader to bare chips using the Arduino as ISP and then I could just pull the original chip and put the bootloaded one in it's place and upload sketches to it.

I had looked at some folks projects where they just pressed a ZIF socket into the DIP socket on the board but I was scared it would screw something up...

For now I would like to relocate the TX/RX leds to the shield plus put an LED on pin 13 on it as well. I'm not sure about bringing the RX/TX lights up so any help would be appreciated.

Also, any other guidance on how to proceed would be most welcome!

to use the arduino as an ISP you need a bootloaded chip installed, whats the point of breaking out the zif socket directly into the dip socket? you only need 6 wires going to the target, SPI power, ground, and reset

You've seen this one, haven't you?

Follow this example http://arduino.cc/en/Tutorial/ArduinoISP but build the ZIF & LEDs onto your shield. There is an updated ArduinoISP sketch somewhere that also supplies a clock signal for the target chip your burning the bootloader onto. Once you have your chip with bootloader installed in a stand alone project then you can use one of these http://www.sparkfun.com/products/9716 to upload new sketches.

Thanks for the input!

The Adafruit shield is what got me interested in this project. Trouble is it's just for burning the bootloader, not for loading sketches so I'd still have to fiddle with a breadboard.

Maybe I need more breadboards... :stuck_out_tongue:

I'll still have to keep a "seed" chip around for bootloading other chips but I'll just keep one in my Arduino and use it normally. I can now easily place a bootloaded chip in the ZIF socket of my board without funking the chip up. Maybe... :roll_eyes:

Here's where I am now:

The Zifduino :stuck_out_tongue: functions as a normal Arduino and I have the breadboard set up to burn the bootloader using Arduino as ISP plus an LED on #13 and some TX/RX leds. (Thanks Grumpy Mike!)

I'm going to transfer all the stuff on the breadboard to the protoshield and see how it works out.

I picked up some wire wrap wire so that should make things easier than using big 22 AWG but there sure isn't much room left on the board with those 2 big 'ol ZIFs.

I do plan on getting a dedicated programmer in the future and breaking out the pins of my projects for future tinkering.

The Adafruit shield is what got me interested in this project. Trouble is it's just for burning the bootloader, not for loading sketches so I'd still have to fiddle with a breadboard.

Just buy a FTDI device like the sparkfun one I linked to and all you need are a 6 pin header a couple of pullup resistors and a 0.1uF capacitor per project board. Connect RX/TX to alternate pins between FTDI and ATmega (add pullups), DTR to Reset via 0.1uF and finally VCC & GND. Only costs a few pence per project and you don't have the hassle of swapping chips out.

Well, here it is:

The red and green leds are just RX/TX so I can see if it's doing anything and the yellow is on pin 13. (Why 13?) I may put a power led on it as well.

The way it sits (With no 2nd chip) I can use it normally. But I can load a chip in the 2nd socket and use Arduino as ISP to burn the bootloader and pull the bootloaded chip to continue working on stuff. Once I get ready to install a bare chip in a project I can just pull it out of the 1st socket and load another pre bootloaded chip.

I'll have to keep a chip with the bootloader on it on hand but I'll have it in my Arduino.

It may be a pointless little project since programmers are pretty cheap and easy to use but it was fun!

Some pics of the bottom side:

Now I have 3 chips ready to go :slight_smile: