To be clear, this is NOT about running the Blink example.
I've had an issue with a Duemilanove. The ATmega is apparently fried, or half-fried, or something. It has stopped running the code I've loaded onto it, and instead just blinks pin 13 pretty quickly, and I can't upload new code. If I try, I get "avrdude: ser_recv(): programmer is not responding
avrdude: stk500_recv(): programmer is not responding".
I'm not really asking for a fix, I'm just wondering what the blinking is caused by. Is it an error message of some kind? Whatever it is, it wasn't in the code I uploaded to the board.
One clue: On the troubleshooting page it points out that the bootloader blinks pin 13 once on startup. (3 times for NG board, and apparently 3 for the Uno as well.) Maybe it's stuck repeating that startup sequence for some reason?
I know. I thought the ULN2803's would be isolation enough, but they apparently weren't. They worked fine for quite a while, then started acting up. I've ordered some optocoupler arrays to give it another go.
But back to the topic at hand. With no motors or anything attached, pin 13 is blinking when nobody told it to. Pin 13 is never mentioned in the code. Does anyone know what that's all about? Atmega death rattle?
That makes sense. I managed to recover the chip by popping it into a different board and programming it. It even works in the original board now.
I'm mainly rambling now, in case this is useful for anyone who comes across this problem. (You may not have bricked the Atmega after all.) It seems related to this: arduinology: Repeated resets on WebTime
I may have taken up too much memory at some point with an earlier draft of the code. Or maybe the motors created some kind of electrical noise.