Some time back I had an Arduino Duemilanove that was working quite well. Then I started getting a "stk500_getsync(): not in sync: resp=0x00. I found lots of suggestions on the web but nothing worked. Stuck the board in a drawer, ordered an Uno and went on my merry way. Sometime later, I ordered several 328 chips with the bootloader, so I decided to replace the chip on the Duemilanove with one of these, but got the same error. Then some time after that (15 minutes ago) I wondered if using a programmer and the ICSP pins might allow me to program the chip. Sure enought, avrdude saw the chip fine, so I went into Arduino IDE and loaded the blink program using the programmer and it was successfull....to a point. I noticed that the blink rate seems to be running at ~15 seconds instead instead of the 1000 ms that the program calls for. Does this added tidbit of info tell anyone more about what might have happened in the first place? Unfortunately, I can't find the original 328 that I took out six months ago.
Obviously, not the end of the world since I have something that works...but would like to understand anyway.
My understanding... The auto-reset circuit can cause the voltage on the RESET pin to be high enough that the processor enters "high voltage programming mode". Basically, the processor the processor is completely erased. The diode discussed in the thread clamps the voltage below the level necessary to enter HVPM.
But, as far as I know, the problem has never been reported on a Duemilanove. That does not mean it cannot occur just that it seems unlikely.
If that is what happened, adding a diode to your Duemilanove will prevent the problem from reoccurring and the processor can be brought back to life by reburning the bootloader.
At this point, I have nothing to lose and everything to learn. I will re-read the thread a couple times and maybe try the diode. Thank you for the followup.