Error downloading bootloader "Device signature = 0x000000"

On very rare occasions, while trying to download a bootloader using the arduino IDE, or use avrdude to download a program, you get the message "Device signature = 0x000000". This is usually a symptom of the chip's fuses being set to too slow a clock speed for avrdude to communicate with. You can slow down avrdude, and download a bootloader with new fuse settings that will reset the chips clock speed, with the -B DELAY option to avrdude. The following command will do this:

avrdude -p m644p -c avrisp2 -P usb -B 8 -F -u -U flash:w:ARDUINO_FOLDER/hardware/bootloaders/atmega644p/ATmegaBOOT_644.hex

While this seems to correct the fuse bits, for some reason it does not seem to correctly download the bootloader. But the clock fuse bits have been fixed so that the Arduino IDE can burn bootloaders. So, now go ahead and use the Arduino IDE to burn the bootloader.

Unless otherwise stated, the content of this page is licensed under Creative Commons Attribution-ShareAlike 3.0 License