Skip to content

Programming atmega8u2 on Arduino Uno using USB Asp

Hello,

Recently my Arduino UNO stopped to be recognized by computer (using USB), I tried a few stuffs:

- Changed the Atmega328
- Rewrite bootloader
- Tested the controller on other board
- Measure the connection between a few pins using a multimeter

Nothing worked, so I decided to try to update the atmega8u2 firmware that is responsible to control de USB connection, I found two articles that I used as base:
Updating the Atmega8U2 on an Uno or Mega2560 using DFU e também How to upgrade atmega8u2 firmware

Both of them used solutions that needs to soldering a resistor on the board, but I don't want to solder anything to the board, so I checked next to the atmega8u2 exists the ICSP pins, so I decided to try to burn the bootloader using them. Just to prevent other disaster I removed my atmega328 from board and connected the USB ASP to the ICSP pins. (Remember that the PIN 1 has a number or a little mark near it, mine had a small white circle)

After that, I accessed the dir that contains atmega8u2 hex of Arduino Uno (/arduino/hardware/arduino/firmware), and then I tried to rewrite the bootloader:

sudo avrdude -c usbasp -p m8 -u -U flash:w:UNO-dfu_and_usbserial_combined.hex

It didn't worked because it is a atmega8u2 and I was trying to write it with atmega8 the error was:

avrdude: Yikes! Invalid device signature.

So I did a little more research and I discover that at90usb162 is almost the same, so I decided to take a shot with force (-F) option

sudo avrdude -c usbasp -p usb162 -u -U flash:w:UNO-dfu_and_usbserial_combined.hex -F

I waited it to burn, turn arduino uno off, connected my atmega328 and then turn it on and my USB just showed up on my computer, so now I can program my Arduino UNO using USB again.

Matheus

PS: Right after the booloader update I tried to Upload a Sketch to atmega328 without sucess, it was out of sync, so I tried to rewrite the bootloader of atmega328, and then everything started to work.

References:
http://8515.avrfreaks.net/index.php?name=PNphpBB2&file=viewtopic&p=688637
http://image.pinout.net/pinout_10_pin_files/connector_pinout.php?image=avr_icsp.png&pinout=%20This%20a%20pinout%20of%20the%20AVR%20ICSP%20header.%20(6-pin%20&%2010-pin)

Published inArduino

One Comment

  1. Angel Angel

    No Arduino qual a diferença entre o bootloader e o firmware?

Leave a Reply

Your email address will not be published. Required fields are marked *