Hi all,
I've been struggling for a while to program a few Atmega328p's with ArduinoISP, to no avail. I'll summarize my attempts and configuration:
-
Wired the 328p as per the ArduinoISP tutorial page (bottom left image on that page)
-
On manually running AVRDUDE (either the one bundled with Arduino 0018 for Windows - under Windows 7 x64) or the one that comes with WinAVR-20100110), I get the following:
(command is avrdude -pm328p -cstk500v1 -b19200 -PCOM6 -v)
...
avrdude: AVR device initialized and ready to accept instructions
Reading | ################################################## | 100% 0.14s
avrdude: Device signature = 0x000000
avrdude: Yikes! Invalid device signature.
Double check connections and try again, or use -F to override
this check.
avrdude done. Thank you.
...
I've tried including -B1.0 and leaving it out, using -F, raising the speed to 57600 (both modifying ArduinoISP to match that, and without), to no avail.
This message, from what I've read so far, is typical of wiring errors, but when I re-wire things to an Attiny85 (which, I know, is rather different), I can program it with no issues whatsoever - same Arduino, same breadboard, same jumper wires, same everything. Also, the error changes - sometimes the read signature is 000000, but sometimes it's 00ff00, ff0000 or some other combination.
At some point, I was under the suspicion that the Atmega328 on board the Duemilenove was answering instead. Found something about putting a 110 Ohm resistor between Reset and 5V to prevent this, however this has not worked either.
I've tried this with three different Atmega 328p chips (all from SparkFun, but different batches), to no avail.
A couple of months ago I was able to successfully program an Atmega168 with this exact setup. So my question is: is there anything inherent in ArduinoISP or my (stock) Duemilanove that prevents it from programming Atmega328p's?
TIA,
Ramón