Secondhand Arduino UNO is seen as MIDI device - can't reset

Hi everyone,
I hope you can help me out here.

I've just started playing around with hardware and was gifted an old Arduino Uno from a friend.
After a while, I found that there were no ports detected, and my pc doesn't even recognize the Arduino in Device Manager as "other devices". Instead, it shows up as Arduino MIDI in between the audio devices.

Apparently, my friend has done something, which he cannot recollect. I've tried to press the reset button (a lot), the light flickers but nothing changes.

So I can't upload a new sketch, because no port is detected, The Arduino is detected, but as a MIDI device.

What can I do to be able to use the Arduino as an Arduino again?
Thanks a lot!

This is probably because the bootloader was overwritten at some point.
Moving this to bootloader section as they may have a better answer.

It's not the bootloader, it's the 16u2 firmware. In theory, this can be replaced over the USB connection without additional tools.
Try one of these rather old tutorials? Bart Ruffle's blog: DFU programming the atmega16u2 on the Arduino UNO R3 or How to Restore the Arduino UNO R3 ATmega16U2 Firmware Using the Arduino IDE : 4 Steps - Instructables

1 Like

Sounds like maybe you need to restore the firmware on the ATmega16u2. If the firmware currently loaded includes DFU (Direct Firmware Update) mode you should be able to use the Atmel FLIP program to upload new firmware. Here are instructions:
http://projectsfromtech.blogspot.com/2013/03/updating-firmware-on-atmega16u2.html

If the DFU firmware has been overwritten you will need to use an In-System Programmer (ISP) like the USBasp or USBtinyISP to burn fresh firmware. On my Mac the firmware you want appears to be this /Applications/Arduino.app/Contents/Java/hardware/arduino/avr/firmwares/atmegaxxu2/Arduino-COMBINED-dfu-usbserial-atmega16u2-Uno-Rev3.hex

The commands on my Mac would be something like:

cd /Applications/Arduino.app/Contents/Java/hardware

tools/avr/bin/avrdude -C tools/avr/etc/avrdude.conf -p at90usb162 -P usb -c usbtiny -v -F -e -u -U efuse:w:0xF4:m -U hfuse:w:0xDF:m -U lfuse:w:0xFF:m -U flash:w:arduino/avr/firmwares/atmegaxxu2/Arduino-COMBINED-dfu-usbserial-atmega16u2-Uno-Rev3.hex -U lock:w:0x2b:m