Drivers e Atualizando
Tenho usado o attiny85 há algum. Ele é ideal pra pequenos projetos, onde se precisa de poucas GPIOs ( o attiny85 possui 5 ! ). O problema é que sempre que eu precisava programar um attiny eu tinha que usar um Arduino como programador (ArduinoISP) e depois fazer as devidas ligações do UNO pro attiny numa protoboard. Como está na imagem abaixo.| ArduinoISP |
Como dá pra perceber, esse método não é nada prático. Muitas vezes eu deixava de utilizar o attiny por preguiça de fazer essas ligações todas... Então fui atrás de um programador barato.
Eis que me deparo com o USBasp, programador baseado no atmega8/48/88 , suportado pelo avrdude e pela Arduino IDE.
| USBasp |
Pode ser encontrado por menos de U$ 4 na aliexpress. Eu comprei um de 10 pinos do seguinte link : USBasp.
Entretanto aconselho procurar os de 6 pinos, que é a pinagem mais ultilizada e encontrada nos arduinos ( Header ICSP).
O USBasp chegou em perfeito estado, porém não era reconhecido pelo windows....
- Instalado Os Drivers
Achei um programinha num tutorial do freetronics(link) que torna a instalação dos drivers do usbasp bem tranquila. vamos ao passo-a-passo:
- Desconecte o USBasp do computador
- Baixe o Zadig no link: http://zadig.akeo.ie/
- Execute o Zadig com permissões de administrador e plugue o USBasp no computador.
- Coloque as opcões como na imagem abaixo e clique em instalar!!
Drivers instalados!! Porém quando tentava fazer upload de algum sketch , a arduino ide me retornava o seguinte erro:
avrdude: warning:cannot set sck period.please check for usbasp firmware update.
Pois é.... infelizmente os usbaps são enviados com firmware antigo, mas foi barato né haha vale a pena o esforço.
Para realizar a atualização é necessário soldar um jumper no USBasp que permite atualizações. No modelo que eu comprei os pads se encontrão próximos ao pino MOSI :
![]() |
| jumper de auto-programação |
Bem vamos atualiza-lo então! Será nescessário um arduino pra realizar a atualização do usbasp.
- Atualizando Firmware
- Programar seu arduino como isp.
. Processo bem simples de realizar:
. Conecte seu Arduino no pc
. Dos Examples( Menu File). Selecione ArduinoISP e de upload - Baixar o Firmware mais recente do site do usbasp: http://www.fischl.de/usbasp/
. Se o seu USBasp ultilizar um atmega8 (MUITO provável) pode baixar direto do meu dropbox no link: https://www.dropbox.com/s/3tpjyefkzxphb3m/usbasp.atmega8.2011-05-28.hex?dl=0 - Coloque o arquivo do firmware correspondente ao microcontrolador do seu USBasp no diretório hardware\tools\avr\bin da sua parta arduino.
. No meu computador foi : C:\Program Files (x86)\Arduino\hardware\tools\avr\bin - Certifique-se de que o jumper de auto programação está devidamente conectado ( como na imagem ali de cima).
- Deconecte o USBasp e o Arduino do computador e conecte os seguintes pinos do arduino aos pinos de programacao do USBasp:
- Conecte o Arduino no pc e aba uma command pront (cmd) no mesmo diretório que você decompactou o firmware ( hardware\tools\avr\bin ).
-
Rode o seguinte comando pra verificar que o avrdude consegue conectar com o USBasp:
. avrdude -C ../etc/avrdude.conf -c arduino -P COM3 -b 19200 -p m8 -v
. nota: se seu arduino não estiver na COM3 você deve colocar qual a COM a Arduino IDE estava. - Se tudo estiver ok o avrdude deve retornar uma mensagem mais ou menos assim :
avrdude se comunicando com usbasp através do arduinoisp. - Chegou a hora de atualizar o firmware! Rode o seguinte comando:
avrdude -C ../etc/avrdude.conf -c arduino -P COM3 -b 19200 -p m8 -U flash:w:c:\usbasp.atmega8.2011-05-28.hex
- PROOOOONTO!! Seu USBasp agora está atualizado e funcional! Desconecte ele do arduino e desconecte o jumper de auto-programação.
Só se lembre de selecionar o USBasp como programmer no menu tools.
Na parte 2 vou mostrar como conectar o attiny ao usbasp e como utiliza-lo para grava bootloader caso o microcontrolador esteja com clock de 1MHZ.


Eu fiz exatamente como você descreveu, na hora de lêr o conteúdo da USBASP ele fez, porém na hora de carregar o firmware novo ele não fez e a mensagem foi a seguinte:
ResponderExcluiravrdude: invalid file format '\usbasp.atmega8.2011-05-28.hex' in update specifie
r
avrdude: error parsing update operation 'flash:w:c:\usbasp.atmega8.2011-05-28.he
x'
C:\Program Files (x86)\Arduino\hardware\tools\avr\bin> avrdude -C ../etc/avrdud
e.conf -c arduino -P COM8 -b 19200 -p m8 -U flash:w:c:\usbasp.atmega8.2011-05-28
.hex
avrdude: invalid file format '\usbasp.atmega8.2011-05-28.hex' in update specifie
r
avrdude: error parsing update operation 'flash:w:c:\usbasp.atmega8.2011-05-28.he
x'
Eu coloquei o arquivo do Firmware novo dentro da pasta : Arduino\hardware\tools\avr\bin como descrito e o arquivo foi o : usbasp.atmega8.2011-05-28
ResponderExcluir.hex
O que está errado?