Hej,
I have here a Leonardo that doesn't respond at all. This is a last call before I throw it.
When connected the two leds are lit, but I even don't see the USB port in Arduino IDE... This happened after no obvious improper use.
Any chance to revive?
Did you select the Leonardo board correctly in the IDE?
Hi @Blindekinder. Does the LED marked "L" on the Leonardo board pulse after you press and release the button marked "RESET"?
Hi,
sure, I selected Leonardo. And no, reset doesn't respond at all. Both leds remain lit constantly...
OK, this means one of two things:
- There is physical damage to the board that causes the microcontroller to be non-functional.
- The bootloader program on the microcontroller was somehow erased or corrupted.
In the case of physical damage, repair is very difficult and time consuming. Unless you have the tools, skills, time, and interest, it is best to buy a new board and toss the burned one in your e-waste bin.
In the case of a missing bootloader, you can recover the board by connecting an ISP programmer to the board and then using Arduino IDE to do a "Burn Bootloader" operation. If you don't have access to a dedicated ISP programmer, you can use a spare Arduino board as a DIY "Arduino as ISP" programmer. You can learn how to do that from this tutorial:
I tried to burn the bootloader as explained on your link ptillisch. I used a Nano Every. No success. It doesn't even recognize the signature.
I have tried using a Nano Every board as an "Arduino as ISP" programmer and unfortunately it didn't work for me. Do you have access to any other spare Arduino boards?
did it work for you with another arduino flavour? I can try with a duemilanove, but after that I'll give up...
A Duemilananove board should work just fine as an "Arduino as ISP" programmer.
no way, still not in sync error whether Leonardo is connected to 2009 or not.
avrdude: stk500_getsync() attempt 1 of 10: not in sync: resp=0x15
avrdude: stk500_getsync() attempt 2 of 10: not in sync: resp=0x15
avrdude: stk500_getparm(): (a) protocol error, expect=0x14, resp=0x14
avrdude: stk500_getparm(): (a) protocol error, expect=0x14, resp=0x01
avrdude: stk500_initialize(): (a) protocol error, expect=0x14, resp=0x10
avrdude: initialization failed, rc=-1
Double check connections and try again, or use -F to override
this check.
avrdude: stk500_disable(): unknown response=0x12
Erreur lors de la gravure de la séquence d'initialisation.
Connect a 10 uF capacitor between the GND and RST pins on the Duemilanove and then try the "Burn Bootloader" operation again.
still not:
avrdude: Yikes! Invalid device signature.
Double check connections and try again, or use -F to override
this check.
Erreur lors de la gravure de la séquence d'initialisation.
``` (Yikes!..)
Which version of Arduino IDE are you using (e.g., "2.0.1")? The version is shown on the window title bar and also in the Help > About dialog.
I ask for this information because I want to give you the appropriate instructions for the IDE version you are using.
Thank you for your help prillisch!
It is v1.8.19
I tried with 2009 pins 13 12 11 10 to Leonardo ISCP (and +/-), then to pins 13 12 11 and RST with old style method, with option old_style enabled in the code, with and without cap, etc..
I'm now pretty sure Leonardo passed away, but since I have everything handy, let's try if you have any suggestion.
This is the correct wiring. Unlike boards like the Uno, you can't program the Leonardo by connecting the programmer to pins 13, 12, 11 on the Leonardo. You can connect to those pins on the Duemilanove programmer board though.
I also suspect there is physical damage. It is quite rare for a bootloader program to be erased or corrupted on the Leonardo. Physical damage is much more common. The microcontroller is designed to protect this memory so bootloader damage could only occur under some extraordinary conditions.
But we can take a look anyway. Please do this:
- Select File > Preferences from the Arduino IDE menus.
- Uncheck the box next to "Show verbose output during:
☑compilation". - Check the box next to "Show verbose output during: ☐ upload".
- Click the OK button.
- Attempt a "Burn Bootloader operation, just as you did before.
- After the process fails fails, you'll see a button on the right side of the orange bar in Arduino IDE: Copy error messages. Click that button.
This copies the full output to the clipboard. - Open a forum reply here by clicking the Reply button.
- Click the
<CODE/>icon on the post composer toolbar.
This will add the forum's code block markup (```) to your reply to make sure the error messages are correctly formatted.

- Press Ctrl+V.
This will paste the error output from the upload into the code block. - Move the cursor outside of the code tags before you add any additional text to your reply.
- Click the Reply button to post the output.
Hi again ptillisch,
sorry I was occupied in other stuff and no time to go further with that.
Here is the output:
Arduino : 1.8.19 (Linux), Carte : "Arduino Leonardo"
/home/raphael/.arduino15/packages/arduino/tools/avrdude/6.3.0-arduino17/bin/avrdude -C/home/raphael/.arduino15/packages/arduino/tools/avrdude/6.3.0-arduino17/etc/avrdude.conf -v -patmega32u4 -cstk500v1 -P/dev/ttyUSB0 -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 "/home/raphael/.arduino15/packages/arduino/tools/avrdude/6.3.0-arduino17/etc/avrdude.conf"
User configuration file is "/home/raphael/.avrduderc"
User configuration file does not exist or is not a regular file, skipping
Using Port : /dev/ttyUSB0
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.04s
avrdude: Device signature = 0x000000 (retrying)
Reading | ################################################## | 100% 0.05s
avrdude: Device signature = 0x000000 (retrying)
Erreur lors de la gravure de la séquence d'initialisation.
Reading | ################################################## | 100% 0.04s
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.
I'm using the cap on RST, I guess it is correct, right?
Do I throw it away?
This topic was automatically closed 180 days after the last reply. New replies are no longer allowed.