Yikes! Invalid device signature. (From Uno to Leonardo)

Hello, i encountered a problem while burning a bootloader onto my Leonardo board (Mega32u4) using a Uno board (Mega328p).

I think the Leonardo Board needs a new bootloader, because:

  • It does not get recognized by windows in the device manager
  • No led blinking when pressing the reset button

The pins are connected like the "ArduinoISP.ino" file said.
Uno to Loenardo
Reset - Pin 10 to Reset - ISCP
MOSI - Pin 11 to MOSI - ISCP
MISO - Pin 12 to MISO - ISCP
SCK - Pin 13 to SCK - ISCP
5V to 5V - ISCP
GND to GND - ISCP

Leonardo Pins are connected according do this Post:

https://community.element14.com/products/arduino/w/documents/3435/arduino-leonardo-pinout-atmega-32u4-pin-mapping-schematics-eagle-files-and-more

Step 1 was:
Upload ArduinoISP.ino to Uno board (Uno board, port and Programmer: "Arduno as ISP" was selected)

Step 2 was:
-unplug USB cable
-plug in the Jumper wires
-plugin USB cable

Step 3 was:
-select Leonardo board
-select the same port as before (didnt change)
-select Programmer: "Arduino as ISP"

Step 4 was:
-Burn bootloader

Any help or suggestions would be really appreciate :slight_smile:

Thanks in advance!
Lasse

Errormassage:


"C:\Users\LasseW\AppData\Local\Arduino15\packages\arduino\tools\avrdude\6.3.0-arduino17/bin/avrdude" "-CC:\Users\LasseW\AppData\Local\Arduino15\packages\arduino\tools\avrdude\6.3.0-arduino17/etc/avrdude.conf" -v -patmega32u4 -cstk500v1 -PCOM3 -b19200 -e -Ulock:w:0x3F:m -Uefuse:w:0xcb:m -Uhfuse:w:0xd8:m -Ulfuse:w:0xff:m

avrdude: Version 6.3-20190619
Copyright (c) 2000-2005 Brian Dean, http://www.bdmicro.com/
Copyright (c) 2007-2014 Joerg Wunsch

     System wide configuration file is "C:\Users\LasseW\AppData\Local\Arduino15\packages\arduino\tools\avrdude\6.3.0-arduino17/etc/avrdude.conf"

     Using Port                    : COM3
     Using Programmer              : stk500v1
     Overriding Baud Rate          : 19200
     AVR Part                      : ATmega32U4
     Chip Erase delay              : 9000 us
     PAGEL                         : PD7
     BS2                           : PA0
     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  9000  9000 0x00 0x00
       flash         65     6   128    0 yes     32768  128    256  4500  4500 0x00 0x00
       lfuse          0     0     0    0 no          1    0      0  9000  9000 0x00 0x00
       hfuse          0     0     0    0 no          1    0      0  9000  9000 0x00 0x00
       efuse          0     0     0    0 no          1    0      0  9000  9000 0x00 0x00
       lock           0     0     0    0 no          1    0      0  9000  9000 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.02s

avrdude: Device signature = 0x000000 (retrying)

Reading | ################################################## | 100% 0.02s

avrdude: Device signature = 0x000000 (retrying)

Reading | ################################################## | 100% 0.02s

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.

Chip-Löschung fehlgeschlagen: Hochladefehler: exit status 1


Hi @las2ebastelt. From what I can tell, you did everything correctly. It is sometimes necessary to connect a 10 uF capacitor between the RESET and GND pins on the programmer board, but when that is necessary the "Burn Bootloader" operation fails with a different error (e.g., "avrdude: stk500_getparm(): (a) protocol error, expect=0x14, resp=0x10").

The only thing I can suggest is that you carefully check all the wiring between the two boards. Jumper wires can sometimes be defective or damaged in a way that causes them to not have electrical continuity, even though the jumper looks perfect from a visual examination, so you could try doing a continuity test with a multimeter (or just an LED circuit if you don't have a multimeter), or swap out each of the jumpers with a different one from your supply.

But the unfortunate truth is that it is fairly rare that a "Burn Bootloader" operation can restore a non-functional board. The bootloader is stored in a protected area of memory, so it can't be incidentally erased or damaged by any normal conditions. And as for abnormal conditions, they are more likely to cause permanent physical damage to the board. And a "Burn Bootloader" operation can never fix physical damage. So if you don't have any luck with the "Burn Bootloader", you might just need to accept that it is time to get a replacement board. Although we should strive to avoid them, the occasional "magic smoke" incident is a normal part of any electronics work.

This topic was automatically closed 180 days after the last reply. New replies are no longer allowed.