Reset the ATmega8U2 / ATmega16U2 of your dead Arduino Mega / UNO

Arduino not detected..??

Your Arduino was working fine until one day you connect it to the PC and find that the PC does not detect the Arduino.
You think there is either a USB cable issue or USB post issue, but none solve the problem.

Now you might be thinking that its the ATmega328 on UNO or  the ATmega2560 on the Mega is the culprit.
You try to reload the botloader on it and still the problem persist with “unknown driver present” or “problems with the current device”.

But the real problem is with the ATmega8U / ATmega16U on the arduino board used as a USB to serial converter, which does not let you connect the Arduino to the Computer.

ATMEGA16u2

The ATmega16U on UNO

 

Getting rid of the issue

Now you might panic that how are you gonna fix that SMD ATmega..:(
But the soluion is pretty easy and is just like a child’s play.

Atmel has already provided us with application for the solution. FLIP (Windows) and DFU Programmer (Mac OS X and Linux).
FLIP can be downloaded from here http://www.atmel.com/tools/FLIP.aspx .

Mac and Linux users please follow the Arduino page for installing hex files http://arduino.cc/en/Hacking/DFUProgramming8U2 . Credit goes to Arduino for Mac and Linux programming portions

 

Putting the ATmega16U / ATmega8U into DFU (Device Firmware Upgrade) Mode

Look at following picture to determine which version Uno you own.

If your board is NOT an Arduino UNO SMD, you’ll need to solder a 10k resistor (Brown-black-orange) at the back of your board in the same location as this picture.

Uno-back-DFU-resistor.png

Look at the arrow showing the newer versions. Version two is shown with a R2, version 3 shown with R3

ArduinoUno_R3_Back

 

Uno-front-DFU-resetNow connect the arduino to the Computer’s USB and short the RESET and GND pins shown above for 1 Second and release.

 

For the Arduino Mega 2560

arduino-mega-2560-microcontroller-back

Connect the Arduino to the USB, and short the jumpers in the sequence mentioned below.

First Short Jumper 1 marked with YELLOW
Second Short Jumper 2 marked with RED
Then release Jumper 2 RED first
Then release Jumper 1 YELLOW

 

Bingo..!!.. Now you have successfully entered the ATmega into the DFU Mode..

Windows 7 should detect and install the driver automatically if connected to the internet, else the driver can be located in the FLIP’s installed folder ( ATMEL/FLIP/USB ).

Click on the Start button of Windows and type devmgmt.msc , which will open the windows device manager.
you will notice that Windows have detected the Arduino in DFU Mode and will show up as AT90USB82.

Dev mgr detected

Windows detected the Arduino in DFU Mode

 

 

1.  open FLIP and click on the small IC icon on top. A new window opens with a list as shown below. Select the AT90USB82

hex

2. Click on the USB cable icon shown in the screenshot below and select USB from the drop-down menu, which will open a new window (as shown below). Click on Open button.

connect

3. Now click on the FILE and select LOAD HEX FILE from the dropdown menu. Then locate the hex file for the ATmega into Arduino’s installed directory   ARDUINO -> HARDWARE -> ARDUINO -> FIRMWARES -> atmegaxxU2  and then select the proper HEX file for the arduino.
(Atmega HEX is much bigger for the R3 Uno, so cannot load onto the 8u chip. This is why the 16u replaced the chip).

load

 

4. Everything is set and now you will burn the ATmega with is step.
Make sure that all 4  ERASE, BLANK CHECK, PROGRAM and VERIFY are checked in the OPERATIONS FLOW panel.
Click on the RUN button.

final
5. The flashing will finish like magic and everything is done. You are now just 1 step back to see the Arduino alive again..
Now you should see all the selection in the RED box shown in the below screenshot should turn to GREEN.
Select the START APPLICATION button one the right side as shown (make sure RESET is checked).

done

6. Soon after you click the start application button you should see the notification of relief on the right bottom corner of the desktop.
( sometimes it needs to open and reconnect the USB cable from the Arduino )

end

Yahooo!! You just saved the life of your dead Arduino..:)

Now you can just open the Arduino application and load the blink code to be sure that your cute lovely Arduino is working..:)

 

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google photo

You are commenting using your Google account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s