I've been trying to unbrick an Arduino UNO Rev3 using an USBtinyISP(1).
Basically what happened
was that I short-circuited the arduino with 12V and didn't notice it
until it started smoking!
I've purchased a second arduino UNO rev3 so I've been testing my usage
of the USBtinyISP on
the working Arduino.
On the bricked Arduino, the ON-led and the L-led still light up but the
Arduino software does
not see the serial port of the arduino.
I've basically done two things, flash the bootloader of the Atmega328(2)
and then flashed the
bootloader of the Atmega16U2 with the result the that bricked arduino
still doesn't respond.
What I've noticed is that I can flash the bootloader of the working
Atmega328 using either board,
i.e. I've replaced the Atmega328 on the bricked board with the Atmega328
from the working
arduino. On the other hand, the Atmega328 from the bricked arduino does
not respond on either
board, i.e. I can't flash the bootloader of bricked Atmega328.
I then found this command line(3) to flash the Atmega16U2:
avrdude -p at90usb162 -F -P usb -c usbtiny -U flash:w:UNO-dfu_and_usbserial_combined.hex -U lfuse:w:0xFF:m -U hfuse:w:0xD9:m -U efuse:w:0xF4:m -U lock:w:0x0F:m
Once again, this works perfectly on the working Arduino but on the
bricked Arduino, I only get:
avrdude: initialization failed, rc=-1
avrdude: AVR device initialized and ready to accept instructions
avrdude: Device signature = 0x000000
avrdude: Yikes! Invalid device signature.
avrdude: Expected signature for AT90USB162 is 1E 94 82
avrdude: NOTE: FLASH memory has been specified, an erase cycle will be performed
To disable this feature, specify the -D option.
avrdude done. Thank you.
So I would conclude that both the Atmega16U2 and the Atmega328 need
replacing on the bricked
Arduino. Obviously this is not that easy with the Atmega16U2, is there
Is there anything else I could do? Perhaps force flash the Atmega16U2?
Thanks for reading this far :)
2=Using the Arduino's Tools -> Burn Bootloader