Como programar chips ATmega com o programador AVR USBTinyISP
By Official Hobby Components Online Store | Buy Electronic Kits, Components, Boards, Shields, Modules | Published: 2026-10-22
Category: Guias Práticos
Aprenda passo a passo como usar um programador USBTinyISP AVR para programar chips ATmega, reflash bootloaders do Arduino e evitar erros comuns.
Resposta rápida
Para programar chips ATmega com um programador AVR USBTinyISP, ligue o cabo SPI de 6 ou 10 pinos, instale os controladores e software necessários (como avrdude ou Arduino IDE) e, em seguida, utilize o programador para gravar um bootloader ou carregar o seu firmware diretamente.
Porquê usar um programador USBTinyISP?
O USBTinyISP é um programador de baixo custo e de código aberto que funciona com a maioria dos microcontroladores AVR, incluindo o ATmega328P encontrado em muitas placas Arduino. É especialmente útil quando precisa de gravar um bootloader num chip novo, recuperar um Arduino bloqueado ou programar uma PCB personalizada com um chip AVR. A desvantagem é que é mais lento do que um depurador dedicado como o Atmel-ICE, mas para projetos de hobby e gravação de bootloaders, é mais do que suficiente.
O que precisa antes de começar
Vai precisar do programador USBTinyISP, de um cabo SPI de 6 ou 10 pinos (ambos incluídos com a unidade), de um chip AVR alvo ou placa Arduino e de um computador com o software adequado instalado. No Windows, pode ser necessário instalar o controlador libusb; no Linux e macOS, o programador funciona de imediato com o avrdude. O Arduino IDE também pode ser configurado para usar o USBTinyISP como programador.
Guia de programação passo a passo
- Ligue o programador ao seu alvo: Ligue o cabo SPI de 6 ou 10 pinos do USBTinyISP ao conector ISP na sua placa ATmega ou PCB personalizada. Certifique-se de que o pino 1 (normalmente marcado com um triângulo ou ponto) está alinhado com o pino 1 no alvo. Erro comum: inverter o cabo pode danificar o programador ou o chip—verifique a orientação antes de ligar a alimentação. Verifique sempre o alinhamento do pino 1 antes de ligar a alimentação.
- Instale os controladores e software: No Windows, transfira e instale o controlador libusb usando o Zadig. No Linux/macOS, não é necessário nenhum controlador—basta instalar o avrdude através do seu gestor de pacotes. Para utilizadores do Arduino IDE, selecione 'USBTinyISP' em Ferramentas > Programador. Erro comum: esquecer de instalar o controlador no Windows resulta num erro de 'dispositivo não reconhecido'. Teste a ligação executando 'avrdude -c usbtiny -p m328p' para verificar se o programador é detetado.
- Configure os fusíveis (se necessário): Para um chip ATmega novo, pode ser necessário definir os fusíveis para corresponder à sua fonte de relógio (por exemplo, 8 MHz internos ou cristal externo de 16 MHz). Use o avrdude com a opção -U lfuse:w:0x62:m. Erro comum: fusíveis incorretos podem bloquear o chip—verifique sempre os valores na ficha técnica. Mantenha uma cópia de segurança dos valores originais dos fusíveis antes de fazer alterações.
- Grave o bootloader ou firmware: Para gravar um bootloader (por exemplo, Optiboot para Arduino), use o Arduino IDE: Ferramentas > Gravar Bootloader. Para carregar o seu próprio firmware, use o avrdude: 'avrdude -c usbtiny -p m328p -U flash:w:seu_firmware.hex'. Erro comum: não especificar o tipo de microcontrolador correto (opção -p) causa um erro de incompatibilidade de assinatura. Verifique sempre a assinatura do chip alvo com 'avrdude -c usbtiny -p m328p' antes de gravar.
- Desligue e teste: Após a conclusão da programação, desligue a alimentação do alvo, desconecte o programador e volte a ligar a alimentação. O seu chip deve agora executar o novo firmware ou bootloader. Erro comum: deixar o programador ligado enquanto o alvo funciona pode causar conflitos de comunicação nas linhas SPI. Remova o cabo ISP antes de testar o funcionamento autónomo do seu chip.
Factos do produto
- Programador AVR USBTinyISP em circuito Atmel: O programador USBTinyISP inclui uma interface SPI de 6 e 10 pinos e cabos, sendo adequado para programação em circuito de dispositivos AVR ou regravação de bootloaders em produtos baseados em Arduino. Não é necessário remover o chip do seu circuito—basta ligar o cabo ao conector ISP na sua placa e programá-lo diretamente.

Programador AVR USBTinyISP em circuito Atmel
