So I went down this winding path of trying to find /build a device to make my life easier and only succeded in doing the opposite. Only when I took a step back and cleared my mind did I find the solution.
I wanted to easily upload my sketch to multiple chips without pulling them in and out of my Arduino. so as not to stress the board and the chips. After much time trying to wrap my newbie head around an advanced project, I stopped and started again and it hit me.
I started by plugging a ZIF into my breadboard and plopping an ATmega328 in it. I pulled the ATMega from my UNO and set it aside. I then used jumpers jumpers and a handy ATmega328 pin map to make all the connections for each pin to the UNO board.
I uploaded a sketch from my Arduino IDE and it worked! I then began eliminating connection one by one until I was left with only the neccisary connections. and my findings...
Pin 1 to reset
Pin 2 to Digital 0 (RX)
Pin 3 to Digital 1 (TX)
Pin 7 to 5v
Pin 8 to Grnd
Pin 20 to 5v
Pin 21 to 5v
Pin 22 to Grnd
Also a 16mhz crystal across Pin 9 and Pin 10 w/ 22pf cap. between each leg and ground.
Now I can upload my sketch to as many chips as I want with out putting any unneccisary stress on my Arduino UNO or my ATmega328 chips.
I hope this helps somebody to avoid the days of beating my head against the wall that I went through!
I actually tried that and had no luck, i just couldn't seem to get it to work. however looking back, I think the reason it wouldn't work is that the tutorial on the Arduino site refers to blank chips. All my chips are pre-loaded because thats the only way I could find them. I read part of an article (not the whole thing) that mentioned some sort of world wide shortage on Amtel products.
twelch:
I actually tried that and had no luck, i just couldn't seem to get it to work. however looking back, I think the reason it wouldn't work is that the tutorial on the Arduino site refers to blank chips. All my chips are pre-loaded because thats the only way I could find them.
If they're not virgin chips you probably need a clock signal to use them.
There's a variant of arduino-as-isp that outputs a clock signal on one of the pins:
Put a 28-pin ZIF on a board. Wire pins 7 & 20 to +5 V. Wire pins 8 & 22 to ground. Connect a 16 MHz crystal between pins 9 & 10. Connect 22 pF capacitors to each leg of the crystal and ground. Connect a 10 kOhm resistor between pin 1 and +5 V.
Connect pin 1 to Arduino pin 10. Connect pin 17 to Arduino pin 11. Connect pin 18 to Arduino pin 12. Connect pin 19 to Arduino pin 13. Open the Arduino ISP sketch and upload it to the Arduino. Go to Tools->Programmers->Arduino as ISP. Open the sketch you want to load on your chips. Press ctrl-shift-U and your chip will be written with your code. Remove the chip and repeat ctrl-shift-U.
You could also make a cable that connected to the ICSP header that would do the same as Arduino pins 10-11-12-13.
that is essentially what I did. There is some obvious variation in the connectors and I am skipping over the Arduino as ISP aspect. As I stated earlier I had some issues doing it that way so I figured out a different way to do it. I shared what I did thinking that at some point someone will have a similar problem and this might get them where they need to be. At the risk of sounding cliche, "There is more then one way to skin a cat".
I will take another crack at the Arduino as ISP setup soon as I want to make a dedicated device for doing this sort of operation and it will help in my long term goal of developing a "super-simple, user friendly, newbie safe standalone chip cloning machine" (that name is patent pending by the way).