Pages: [1]   Go Down
Author Topic: Arduino Uno R3 DFU mode  (Read 427 times)
0 Members and 1 Guest are viewing this topic.
Online Online
Newbie
*
Karma: 0
Posts: 5
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Hi guys,

Not sure if I'm missing something here. I'm shorting the pins as marked in the intructions on the Arduino site to try and put the Uno R3 into DFU mode. All the short succeeds in doing is restarting/reseting the board and it continues to show up as Arduino Uno under Devices in the Control Panel.

Also, when I try to open a USB connection to it using Flip, it comes back with "Could not open USB device".

What I've found seems to tell me that my unit is not in DFU mode. If that is indeed the case, are there any alternate ways of activating since shorting the pins did not work...

If that's not the case, would someone be able to shed some light on any steps I might have missed?

Thanks in advance.
Logged

DELHI
Offline Offline
God Member
*****
Karma: 8
Posts: 946
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Quote
I'm shorting the pins as marked in the intructions on the Arduino site to try and put the Uno R3 into DFU mode
where are the links.
Logged

AMPS

Online Online
Newbie
*
Karma: 0
Posts: 5
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

http://arduino.cc/en/Hacking/DFUProgramming8U2
Logged

Online Online
Newbie
*
Karma: 0
Posts: 5
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

no one able to offer any insight?
Logged

Online Online
Newbie
*
Karma: 0
Posts: 5
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

no one able to assist?
Logged

Wahiawa, Hawaii
Offline Offline
God Member
*****
Karma: 30
Posts: 620
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

It could be one of several things.

1) The wrong drivers are installed for the 16U2.  You can try uninstalling the USB driver from DeviceManager.  And let it re-install as Atmel 16U2.

2) Otherwise, the 16U2 may have lost it's DFU bootloader.  In this case you will need to re-program it from the ISP header next to it.  You will need another ISP programmer to do this.  Arduino as ISP would work if you had another Uno board.

3) The 16U2 is damaged.  You will need smd hot re-work soldering skills to replace it.

Logged

Online Online
Newbie
*
Karma: 0
Posts: 5
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

hello hiduino,

thanks for trying to help. I've changed the driver as you suggested and the messages remain the same. I've also re-programmed it with another arduino via "Arduino as ISP" and "Burn Bootloader" commands in the Arduino IDE but that hasn't seemed to help either.

Would I be able to programme the Uno as I regularly do if the 16U2 is damaged? I have no difficulty programming the unit, just with putting it into DFU mode so that I can try flashing other firmware...
Logged

Wahiawa, Hawaii
Offline Offline
God Member
*****
Karma: 30
Posts: 620
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

If the 16U2 is damaged, you should be able to still program the Uno from the ISP header using the Arduino as ISP.  Use the Upload Using Programmer option from the IDE.

However, the 16U2 might still be okay.  You can try and re-program the 16U2 you would need to do that from command line, not from the IDE.  You will need to use your Arduino as ISP and connect up to the ICSP header next to the 16U2 chip.

You will need to copy the hex file from ..\arduino-1.0.5-r2\hardware\arduino\firmwares\atmegaxxu2\Arduino-COMBINED-dfu-usbserial-atmega16u2-Uno-Rev3.hex to the ..\arduino-1.0.5-r2\hardware\tools\avr\etc folder.

From the command line you need to be in the Arduino install path, ..\arduino-1.0.5-r2\hardware\tools\avr\etc;
(note: substitute you own install directory path)

Then run these two command to burn the 16U2  fuses and upload the 16U2 flash.
(note: substitute your COM port you are using for the Arduino as ISP.)
Code:
Microsoft Windows
(C) Copyright 1985-2001 Microsoft Corp.

C:\> cd "C:\Arduino\arduino-1.0.5-r2\hardware\tools\avr\etc"

C:\Arduino\arduino-1.0.5-r2\hardware\tools\avr\etc>..\bin\avrdude -cavrisp -PCOM6 -b19200 -pm16U2 -v -U lfuse:w:0xEF:m  hfuse:w:0xD9:m  efuse:w:0xF4:m

C:\Arduino\arduino-1.0.5-r2\hardware\tools\avr\etc>..\bin\avrdude -cavrisp -PCOM6 -b19200 -pm16U2 -v -U flash:w:Arduino-COMBINED-dfu-usbserial-atmega16u2-Uno-Rev3.hex:i

Hopefully this should recover the 16U2 on the Uno R3.
Logged

Pages: [1]   Go Up
Jump to: