I have an Uno R3 which recently stopped working, it was caused by a dodgy power supply (rated at 12v, turns out it actually supplied 20v!), Windows still recognises the device when it is plugged in via USB, but there is no sign of activity on the TX/RX led's & When applying power the L led blinks 3 times followed by a short pause then blinks once more.
On trying the loopback test i do not get any characters returned in the serial monitor.
Sweet. If you have some female-male jumpers (6) or a IDC 2x3 ribbon cable and male-male jumpers you can hook up to the ICSP header by the USB. The layout is:
1 - 2
MISO - Vcc
SCK - MOSI
RST - Gnd
On the Arduino it is the Arduino as ISP setup:
D10 - RST
D11 - MOSI
D12 - MISO
D13 - SCK
Then, load Nick's Atmega Board Programmer:
Then open serial monitor @ 115200 baud. It won't program the Atmega8u2/16u2, but it will see if it is talking.
--edit--
I forgot, you will need to load "Arduino as ISP" onto the other Arduino for the below...
--end--
If it identifies the 16u2 we will need to move into "avrdude". The following assumes you have you avrdude configuration set up or copied the firmware hex into the avrdude directory: