Flash 16u2 chip that refuses to enter DFU mode

Hi everybody,

Sorry I know this subject has already been discussed here, but I do not find any solution to my problem and i'm quite a rookie in firmwares updates.

I have 3 arduino UNO and 1 refuses to enter DFU mode when shortening the pin 5 and 6 of the header. The board resets but then it's still detected again as UNO and not as ATMEL ATMEGA16U2.

I imagine that the firmware inside the 16u2 chip could be flashed to restore an original "UNO-dfu_and_usbserial_combined.hex".

How can I do that without using DFU mode?

Is there a way to reprogram the chip using one of my spare arduino? and if so, what program to load within the spare arduino?

Thanks for your help


Update it through the ICSP header, just as you would the ATmega328P but use the other connector.

Thanks a lot.
That's what I managed to do after looking at multiple tutorials using arduino as ISP. AVRDUDE is really tricky and from all the solutions I've found, non functioned exactly.
Here is the avrdude instructions that worked for me:

avrdude -P COM4 -b 9600 -c avrisp -p at90usb162 -U flash:w:UNO-dfu_and_serial_combined.hex

  • I had to change the Serial.begin(9600) speed within arduino as ISP sketch
  • using avrispmkii triggered an error: not in sync
  • using usb instead of com port triggered an error

With this command, avrdude warned me about device signature error. I bypassed it using -F instruction.

The firmware was finally flashed.

BUT, once reconnected by USB, I had to reinstall the UNO driver but the board still refuses to enter dfu mode !...

At least I've learnt how to flash it :wink:

Could you please explain me what exactly have you done to flash the 16u2, make like a tutorial. Where you put the "UNO-dfu_and_usbserial_combined.hex" file and what connections do you do. I have a similar problem and I would be glad if you would tell me