Why does my Arduino Leonardo not show up in the Arduino IDE anymore?


I've bought a Chinese Arduino Leonardo on eBay and until now it worked great. (What you should know is that it was always recognized as an Arduino Leonardo ETH but everything else worked like it should.) Please bear in mind that I'm kind of new to Arduinos.

However, after I uploaded a sketch it didn't show up anymore. Neither in the Arduino IDE nor in the Windows Device Manager. Unfortunately, the code doesn't use any kind of LEDs or displays to indicate it works. Just the Serial connection (which, due to the non-recognition of the Arduino, can't be read).

I tried another (the same product but another) model to find out if it is the PC or the Arduino but it worked as well. After I flashed the sketch onto it the second board also didn't show up anymore. On both boards now, the power LED lights up, however the port option in the IDE is greyed out

My problem: I don't have another (working) Arduino to flash the bootloader to it. I just have an ESP8266 and an ESP32 and I can upload as many sketches onto them with no problem --> the cable and the USB port are ok.

So: Can I do anything to revive the damaged Arduinos? What is it that caused this problem?

A few words to the sketch: It was just a sketch involving an MPU6050 (I2C accelerometer/gyroscope, however I just used the accelerometer). The Arduino was supposed to capture some data (1000 integers) of the accelerometer and save them in memory, then later push them to the PC (or something else which I still have to figure out, using EEPROM is no option for me because of too few space) when a connection is established (I have to be able to collect the sensor data with no external device connected, so it has to be stored in memory first). What I don't think caused the problem is too few RAM. Earlier I was able to collect 2000 integers without damaging the Arduino (though the data was corrupted at that try - I wanted to check the RAM limits). Hopefully that makes my intention somewhat clear.

You uploaded code that hosed the chip so bad that USB stopped functioning, making it impossible to communicate with once your sketch starts to run. Double tap reset to make it stay in bootloader, and then upload clean code.

This is the price one pays for native USB - you get HID (emulating input devices), but it comes at the cost of it being possible for a bad sketch to bring down the USB connectivity.

Thanks, that did the trick. Now the arduinos even show up as non ETHs