Skip to content

Programando atmega8u2 no Arduino Uno utilizando USB Asp

Olá,

Recentemente meu Arduino parou de ser reconhecido pelo computador. Realizei diversos testes:

- Troquei o Atmega328
- Regravei a bootloader
- Testei o controlador fora da placa
- Medi com o multimetro as conexões básicas para ver se fechava o circuito

Nada disso solucionou o problema e então decidi tentar programar o atmega8u2 que é responsável por controlar a conexão com a USB. Encontrei dois artigos principais os quais usei como base:
Atualizando o Atmega8U2 no Uno ou no Mega2560 usando DFU (Ingles) e também Como atualizar o firmware do atmega8u2 Updating the Atmega8U2 on an Uno or Mega2560 using DFU

Ambos utilizavam de soluções que era necessário soldar um resistor na placa, o que eu não queria fazer, então verifiquei que próximo ao atmega8u2 existem pinos de ICSP e imaginei que os mesmos servem para programar o atmega8u2. Decidi tentar, por garantia removi meu Atmega328 da placa. E conectei meu USB Asp seguindo os pinos da imagem, lembrando que o pino 1 possui uma marcação próxima no meu Arduino UNO uma pequena bolinha.

Após a conexão acessei o diretório que continha os hex do atmega8u2 do arduino Uno (/arduino/hardware/arduino/firmware/) e usei o comando:

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

O mesmo não aceitou dizendo que o identificador de ambos eram diferentes:

avrdude: Yikes! Invalid device signature.

voltei a pesquisar e descobri que o at90usb162 é compativel, então decidi arriscar e forçar a escrita com a opção

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

Esperei gravar, desliguei o arduino, conectei meu atmega328 e a conexão USB voltou a aparecer no computador, tornando assim possivel eu utilizar meu Arduino pela USB novamente.

Matheus

PS: Logo após regravar a bootloader meu atmega328 não sincronizava com a USB, então escrevi a bootloader do atmega328 pro arduino uno novamente e tudo funcionou perfeitamente.

Referencias:
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 *