Arduino Uno R3, atmega16u2 not able to activate DFU mode [SOLVED]

Hi! My Arduino Uno R3, which I'm trying to use the USB keyboard FW for, won't let me flash it. I've done this before on an older version with 8u2, but AFAIK it's the same procedure.

dfu-programmer atmega16u2 erase
dfu-programmer: no device present.

I don't understand why. It just resets when I short the two pins you're supposed to short. It doesn't disconnect, my Mac still shows dev/TTY and dev/CU under serial ports (in addition to bluetooth etc.). It just won't go into DFU... FW is 0.01.

Help please!


I bought this board on eBay, $12, it was supposed to be a "compatible" board, not original, but the one I received is actually an original "Made-In-Italy" high quality board! Can't see any differences between this and another R3 I have (where I've successfully entered DFU mode).

So I'm still stuck. I checked out this thread but unfortunately I only got the error:

avrdude: Device signature = 0x1e950f
avrdude: Expected signature for ATmega16U2 is 1E 94 89
         Double check chip, or use -F to override this check.

Then I used "-F" and the Arduino got bricked. I used my Arduino SMD (which is configured as ISP) to flash directly from Arduino instead, and we're back - still with no possibility to access DFU...

Is this something that has been removed from newer boot loaders or what?

It's an Arduino UNO R3, ATMEGA328P-PU, ATMEL MEGA16U2 1346 PH 3X1932

ANYONE, please help me.

Aha… maybe if I try connecting the target board correctly, it will work :stuck_out_tongue:
For some reason my mind blanked I had it connected directly to the target board (13-13, 12-12, 11-11 etc) but not through the ICSP pins for the ATMEGA16U2.
I did this, then ran these two commands from Terminal on my Mac, with CrossPack installed:

avrdude -cavrisp -P/dev/tty.usbmodemfa131 -b19200 -pm16U2 -v -U lfuse:w:0xEF:m  hfuse:w:0xD9:m  efuse:w:0xF4:m

avrdude -cavrisp -P/dev/tty.usbmodemfa131 -b19200 -pm16U2 -v -U flash:w:Arduino-COMBINED-dfu-usbserial-atmega16u2-Uno-Rev3.hex:i

I got the “Arduino-COMBINED…” file from…

It’s now successfully accessing DFU.

Dunno why it didn’t work OOB…

Btw. I used a 100ohm resistor from 5V to reset button, instead of 10uf capacitor on ground.