Blink of death

Hello, I have an Arduino Duemilanove board (ATMega328). I got the board up and running with no problems and have been developing on it for a while. Yesterday, I uploaded my sketch as usual but after that the L led blinks very rapidly and I can't get any contact with the board to upload another sketch. Thought I had a board failure so I tried another one with the same results. This is probably a programming error on my part, rather than hardware failure. I have tried the various solutions proposed, like pressing the reset button after starting the upload, but noting works. Is there any way to clear the program memory of the ATMega completely -- doing a very hard reset?

Error: avrdude: stk500_recv(): programmer is not responding

With upload.verbose enabled: avrdude: Version 5.10, compiled on Mar 23 2010 at 21:36:40 Copyright (c) 2000-2005 Brian Dean, http://www.bdmicro.com/ Copyright (c) 2007-2009 Joerg Wunsch

System wide configuration file is "/etc/avrdude.conf" User configuration file is "/home/kristjan/.avrduderc" User configuration file does not exist or is not a regular file, skipping

Using Port : /dev/ttyUSB0 Using Programmer : arduino Overriding Baud Rate : 57600 avrdude: Send: 0 [30] [20] avrdude: Send: 0 [30] [20] avrdude: Send: 0 [30] [20] avrdude: ser_recv(): programmer is not responding avrdude: stk500_recv(): programmer is not responding

avrdude done. Thank you.

This confuses me

Thought I had a board failure so I tried another one with the same results.

You want to say you connected another Arduino, and it showed the same problem?
In that case the problem is your PC. It might have changed the virtual COM port adress… Have you checkmarked the correct COM port in the IDE?
Also the power supply from the USB port might have a problem…Use another USB port (better: use an USB Hub…).

If you are using the external power supply, disconnect it and try with USB alone…

Yes, exactly. I uploaded the same sketch to another board with the same results. The problem is not with the PC. The problem is that the sketch is doing something weird to the Arduino -- I'm guessing resetting the CPU repeatedly so it cannot be reprogrammed. Since my original post I have found out that this is most likely a corrupt bootloader and the only way to get the board up and running again is to re-burn the bootloader. Is that right or is there another method, since I dont have a programmer around?

From another post on this forum: http://arduino.cc/en/Tutorial/ArduinoISP

Could you share your code? Without the code I can only speculate.

The code is too long to share here but perhaps out-of-band? The problem I'm seeking to solve at this point is not a coding one -- rather how to revive a "dead" arduino board. Actually, the problem is most likely the same as discussed in http://www.arduino.cc/cgi-bin/yabb2/YaBB.pl?num=1234338562/19. Re. coding problems, I did some modifications to my perfectly good sketch to store and read some strings from PROGMEM. Suspect the problem lies there in some shape or form.

… store and read some strings from PROGMEM…

This is nearly the only way to destroy the bootloader. There are fuse settings that would prevent this, but not applied in the standard Arduino fuse setting…

To revive a dead chip connect an ISP and say “load bootloader” in the IDE. If you do not have an ISP, you have to experiment a little bit

There are 4 or 5 pitfalls, so it might not work at the first try ;D

Thanks guys. I'll try to revive the chips w/ another Arduino. In the meantime, its probably wise not to use PROGMEM.

In the meantime, its probably wise not to use PROGMEM.

In the meantime, its probably wise not to mis-use PROGMEM.