Avrdude device signature missing, did I brick my Micro? Help!

Hello all,

Kind of an emergency here. I am having a problem uploading my sketch to the Atmega328P with the follow error: avrdude: Device signature = 0x000000.

I am uploading the program with ArduinoISP through the 6-pin SPI header from an Arduino Uno to my PCB with the Atmega328p.

I have been loading the programs onto this target several times (maybe hundreds) with no problems. Then all of a sudden it cannot detect a device signature and says to double check connections. My programmer is wired fine as I can plug it into another board and load code to it.

Below is the verbose output from the IDE. If anyone can help me I will be forever grateful and will find a way to repay them!!

I have read a few other google posts about this same issue, but everyone seemed to have simple wiring problems or reloaded the ArduinoISP sketch / blank sketch to the processor and fixed it. So far none of these has worked.

         Using Port                    : COM24
         Using Programmer              : stk500v1
         Overriding Baud Rate          : 19200
         AVR Part                      : ATmega328P
         Chip Erase delay              : 9000 us
         PAGEL                         : PD7
         BS2                           : PC2
         RESET disposition             : dedicated
         RETRY pulse                   : SCK
         serial program mode           : yes
         parallel program mode         : yes
         Timeout                       : 200
         StabDelay                     : 100
         CmdexeDelay                   : 25
         SyncLoops                     : 32
         ByteDelay                     : 0
         PollIndex                     : 3
         PollValue                     : 0x53
         Memory Detail                 :

                                  Block Poll               Page                       Polled
           Memory Type Mode Delay Size  Indx Paged  Size   Size #Pages MinW  MaxW   ReadBack
           ----------- ---- ----- ----- ---- ------ ------ ---- ------ ----- ----- ---------
           eeprom        65    20     4    0 no       1024    4      0  3600  3600 0xff 0xff
           flash         65     6   128    0 yes     32768  128    256  4500  4500 0xff 0xff
           lfuse          0     0     0    0 no          1    0      0  4500  4500 0x00 0x00
           hfuse          0     0     0    0 no          1    0      0  4500  4500 0x00 0x00
           efuse          0     0     0    0 no          1    0      0  4500  4500 0x00 0x00
           lock           0     0     0    0 no          1    0      0  4500  4500 0x00 0x00
           calibration    0     0     0    0 no          1    0      0     0     0 0x00 0x00
           signature      0     0     0    0 no          3    0      0     0     0 0x00 0x00

         Programmer Type : STK500
         Description     : Atmel STK500 Version 1.x firmware
         Hardware Version: 2
         Firmware Version: 1.18
         Topcard         : Unknown
         Vtarget         : 0.0 V
         Varef           : 0.0 V
         Oscillator      : Off
         SCK period      : 0.1 us

avrdude: AVR device initialized and ready to accept instructions

Reading | ################################################## | 100% 0.05s

avrdude: Device signature = 0x000000 (retrying)

Reading | ################################################## | 100% 0.05s

avrdude: Device signature = 0x000000 (retrying)


Reading | ################################################## | 100% 0.05s

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.

Usually that means that the board has been configured to use a crystal, but no crystal is connected, or the connected crystal isn't working.

Assuming you're trying to have the board use a crystal (I can't tell because you cut off the line that tells me that, see rant below!)
Check that a crystal is connected.
Check with multimeter from both leads of crystal to the corresponding pins on micro, verifying connection.
Check with multimeter that neither lead of the crystal is shorted to ground, supply, or the other side of the crystal.
Verify proper installation of loading capacitors.

Finally, in the future when posting verbose output, POST ONE LINE FURTHER UP THAN YOU DID SO WE CAN SEE THE AVRDUDE COMMAND! The MOST USEFUL LINE for debugging ISP upload issues is the avrdude command line that they invoke. That one line tells me all about your board, programmer, fuse settings you're trying to write, what programmer you're using, etc and it can also flag up issues with the IDE configuration. And yet I'd say 60+% of people who post verbose output skip that line. Sorry that you happened to be the poster I was responding to when I snapped and ranted on this.

DrAzzy,

Thank you for the quick response.

I don’t see an implicit avrdude command output. There is a bunch of data during compiling the code.

There isn’t much more than this. Hope this helps.

C:\Program Files (x86)\Arduino IDE\hardware\tools\avr/bin/avrdude -CC:\Program Files (x86)\Arduino IDE\hardware\tools\avr/etc/avrdude.conf -v {program.verify} -patmega328p -cstk500v1 -PCOM24 -b19200 -Uflash:w:C:\Users\AppData\Local\Temp\build104884705603674886.tmp/<project name>.cpp.hex:i 

avrdude: Version 6.0.1, compiled on Apr 15 2015 at 19:59:58
         Copyright (c) 2000-2005 Brian Dean, http://www.bdmicro.com/
         Copyright (c) 2007-2009 Joerg Wunsch

         System wide configuration file is "C:\Program Files (x86)\Arduino IDE\hardware\tools\avr/etc/avrdude.conf"

         Using Port                    : COM24
         Using Programmer              : stk500v1
         Overriding Baud Rate          : 19200
         AVR Part                      : ATmega328P
         Chip Erase delay              : 9000 us
         PAGEL                         : PD7
         BS2                           : PC2
         RESET disposition             : dedicated
         RETRY pulse                   : SCK
         serial program mode           : yes
         parallel program mode         : yes
         Timeout                       : 200
         StabDelay                     : 100
         CmdexeDelay                   : 25
         SyncLoops                     : 32
         ByteDelay                     : 0
         PollIndex                     : 3
         PollValue                     : 0x53
         Memory Detail                 :

                                  Block Poll               Page                       Polled
           Memory Type Mode Delay Size  Indx Paged  Size   Size #Pages MinW  MaxW   ReadBack
           ----------- ---- ----- ----- ---- ------ ------ ---- ------ ----- ----- ---------
           eeprom        65    20     4    0 no       1024    4      0  3600  3600 0xff 0xff
           flash         65     6   128    0 yes     32768  128    256  4500  4500 0xff 0xff
           lfuse          0     0     0    0 no          1    0      0  4500  4500 0x00 0x00
           hfuse          0     0     0    0 no          1    0      0  4500  4500 0x00 0x00
           efuse          0     0     0    0 no          1    0      0  4500  4500 0x00 0x00
           lock           0     0     0    0 no          1    0      0  4500  4500 0x00 0x00
           calibration    0     0     0    0 no          1    0      0     0     0 0x00 0x00
           signature      0     0     0    0 no          3    0      0     0     0 0x00 0x00

         Programmer Type : STK500
         Description     : Atmel STK500 Version 1.x firmware
         Hardware Version: 2
         Firmware Version: 1.18
         Topcard         : Unknown
         Vtarget         : 0.0 V
         Varef           : 0.0 V
         Oscillator      : Off
         SCK period      : 0.1 us

avrdude: AVR device initialized and ready to accept instructions

Reading | ################################################## | 100% 0.05s

avrdude: Device signature = 0x000000 (retrying)

Reading | ################################################## | 100% 0.05s

avrdude: Device signature = 0x000000 (retrying)

Reading | ################################################## | 100% 0.05s

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.

WARNING: Spurious .github folder in 'Adafruit NeoPixel' library
Invalid library found in C:\Program Files (x86)\Arduino IDE\libraries\Firmata: Library can't use both 'src' and 'utility' folders.
WARNING: Spurious .github folder in 'Adafruit NeoPixel' library
Invalid library found in C:\Program Files (x86)\Arduino IDE\libraries\Firmata: Library can't use both 'src' and 'utility' folders.

I want that set of data, but for doing “burn bootloader”. You gave me output for upload or upload using programmer - basically I want what you posted in the first post, but including the stuff at top - this stuff at the top that you cut off:

The first line, showing what it’s telling avrdude to do, is very useful.

C:\Program Files (x86)\Arduino IDE\hardware\tools\avr/bin/avrdude -CC:\Program Files (x86)\Arduino IDE\hardware\tools\avr/etc/avrdude.conf -v {program.verify} -patmega328p -cstk500v1 -PCOM24 -b19200 -Uflash:w:C:\Users\AppData\Local\Temp\build104884705603674886.tmp/<project name>.cpp.hex:i 

avrdude: Version 6.0.1, compiled on Apr 15 2015 at 19:59:58
         Copyright (c) 2000-2005 Brian Dean, http://www.bdmicro.com/
         Copyright (c) 2007-2009 Joerg Wunsch

         System wide configuration file is "C:\Program Files (x86)\Arduino IDE\hardware\tools\avr/etc/avrdude.conf"

Did you try my suggestions with the crystal? That’s usually what it is when it reads the sig as 000000

To be clear, I don’t think the full debug output will tell us anything I don’t already belive I know (the problems with the crystal I suggested), but I saw it and it annoyed me and I couldn’t resist commenting this time.

Ok sorry for the delay. Here is the output code for burning bootloader for this device.

I am going to check if my oscillator is alive. I am using a 16 MHz external resonator on the board connected to PB6 (XTAL1) and PB7 (XTAL2). In fact I just used the same ISP programmer on an identical board and didn't have any issues.

C:\Program Files (x86)\Arduino IDE\hardware\tools\avr/bin/avrdude -CC:\Program Files (x86)\Arduino IDE\hardware\tools\avr/etc/avrdude.conf -v -patmega328p -cstk500v1 -PCOM24 -b19200 -e -Ulock:w:0x3F:m -Uefuse:w:0x05:m -Uhfuse:w:0xDE:m -Ulfuse:w:0xFF:m 

avrdude: Version 6.0.1, compiled on Apr 15 2015 at 19:59:58
         Copyright (c) 2000-2005 Brian Dean, http://www.bdmicro.com/
         Copyright (c) 2007-2009 Joerg Wunsch

         System wide configuration file is "C:\Program Files (x86)\Arduino IDE\hardware\tools\avr/etc/avrdude.conf"

         Using Port                    : COM24
         Using Programmer              : stk500v1
         Overriding Baud Rate          : 19200
         AVR Part                      : ATmega328P
         Chip Erase delay              : 9000 us
         PAGEL                         : PD7
         BS2                           : PC2
         RESET disposition             : dedicated
         RETRY pulse                   : SCK
         serial program mode           : yes
         parallel program mode         : yes
         Timeout                       : 200
         StabDelay                     : 100
         CmdexeDelay                   : 25
         SyncLoops                     : 32
         ByteDelay                     : 0
         PollIndex                     : 3
         PollValue                     : 0x53
         Memory Detail                 :

                                  Block Poll               Page                       Polled
           Memory Type Mode Delay Size  Indx Paged  Size   Size #Pages MinW  MaxW   ReadBack
           ----------- ---- ----- ----- ---- ------ ------ ---- ------ ----- ----- ---------
           eeprom        65    20     4    0 no       1024    4      0  3600  3600 0xff 0xff
           flash         65     6   128    0 yes     32768  128    256  4500  4500 0xff 0xff
           lfuse          0     0     0    0 no          1    0      0  4500  4500 0x00 0x00
           hfuse          0     0     0    0 no          1    0      0  4500  4500 0x00 0x00
           efuse          0     0     0    0 no          1    0      0  4500  4500 0x00 0x00
           lock           0     0     0    0 no          1    0      0  4500  4500 0x00 0x00
           calibration    0     0     0    0 no          1    0      0     0     0 0x00 0x00
           signature      0     0     0    0 no          3    0      0     0     0 0x00 0x00

         Programmer Type : STK500
         Description     : Atmel STK500 Version 1.x firmware
         Hardware Version: 2
         Firmware Version: 1.18
         Topcard         : Unknown
         Vtarget         : 0.0 V
         Varef           : 0.0 V
         Oscillator      : Off
         SCK period      : 0.1 us

avrdude: AVR device initialized and ready to accept instructions

Reading | ################################################## | 100% 0.05s

avrdude: Device signature = 0x000000 (retrying)

Reading | ################################################## | 100% 0.05s

avrdude: Device signature = 0x000000 (retrying)

Error while burning bootloader.
Reading | ################################################## | 100% 0.05s

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.

Confirms my initial recommendation that you need to check the crystal connections with your multimeter and verify that they're not shorted to eachother or ground.

Also verify that none of the ISP pins are shorted to ground or to eachother - if MISO is shorted low, that'll get 000000 signature too.