Hello, 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 an alternative? Is there anything else I could do? Perhaps force flash the Atmega16U2? Thanks for reading this far :) 1=http://www.adafruit.com/products/46 2=Using the Arduino's Tools -> Burn Bootloader 3=http://forum.arduino.cc/index.php?topic=127797.0
When smoke came out of the µC it is most likely that the device is permanently damaged. You need to replace the ICs. Maybe you could just unsolder the 16u2 (or cut the wires to it) and replace the Atmega328. Then you should be able to use the Arduino (without the programming and serial interface). Best regards, Lui
: Edited by User
Ok so there is not much more that I can do other than remove or replace the 16u2 (either of which don't seem that easy). Can the Atmega328 then still be programmed via the Arduino software (i.e. via interfacing with the USBtiny) or won't that be possible? Thanks, gorenje
Gerrit R. wrote: > Ok so there is not much more that I can do other than remove or replace > the 16u2 (either of which don't seem that easy). Crude but ... maybe its possible to cut alonge the edge of the 16u2 with a sharp knife. I haven't looked at the layout in detail but probably there are no important wires (that are needed for the operation of the Atmega328) there. Be careful not to short anything. > Can the Atmega328 then > still be programmed via the Arduino software (i.e. via interfacing with > the USBtiny) or won't that be possible? If you can do that on a working borad you should also be able to do that after the 16u2 is removed. No garantees. Just in case you haven't done that: Be sure to check the voltage regulator. Maybe thats the culprit. Best regards, Lui
The bricked arduino seems to definitely have an issue with the 16u2 - I've just plugged a programmed working atmega328 onto it and it works, i.e. the program works, intefacing with the pins. So I'll use my good arduino to program atmega328 for the broken arduino, which is a lot better than throwing the arduino away! As an aside, the TX LED doesn't work - I'm sending some Serial output but the TX LED does not flash. So I assume the TX Led is driven by the 16u2, which it seems to be ---> http://arduino.cc/de/uploads/Main/Arduino_Uno_Rev3-schematic.pdf Thanks for the help, gorenje
: Edited by User
Gerrit R. wrote: > Ok so there is not much more that I can do other than remove or replace > the 16u2 (either of which don't seem that easy). Last year, when I got my new hot air reqork station, a friend of mine gave me a bunch of "toasted" arduino boards for my first tests. One of them had a defect 8u2 (same package as the 16u2). Unsoldering: https://www.youtube.com/watch?v=Ujvkt5A9HeQ To resolder the new one I resoldered the pads and the center pad, applied flux, placed the new 8u2 on the pads and reheated. Time over all including reprogramming: 15 minutes. So don't give up hope. Regards Stefan
: Edited by User
Stefan Wagner wrote: > Last year, when I got my new hot air reqork station, a friend of mine > gave me a bunch of "toasted" arduino boards for my first tests. Nice! With that I would definitely try to resolder the 16u2 but at the moment, it's easy to reorder some atmega328 and reprogram them via the working arduino - just a bit cheaper :) Thanks for pointer, gorenje