USBtinyISP é um programador AVR ISP (In‑System Programmer) de baixo custo, amplamente utilizado para gravar microcontroladores ATtiny e ATmega.
Ele é baseado no projeto open‑source USBtiny, criado por Dick Streefland, e várias versões modernas usam um ATtiny24A como microcontrolador principal, conforme descrito no repositório oficial.
Segundo a documentação da Adafruit, o USBtinyISP funciona como um programador AVR simples, compatível com avrdude, com suporte a cabos ISP de 6 e 10 pinos, LEDs indicadores e alimentação opcional do alvo.
Ele é muito usado em:
- gravação de bootloaders de Arduino
- programação de ATtiny e ATmega puros
- ensino e prototipagem
- manutenção de placas com AVR
⚙️ Características Principais
🟦 1. Interface USB
Funciona como dispositivo USB 2.0 usando drivers libusb, conforme descrito no guia técnico.
🟦 2. Suporte a ISP (In‑System Programming)
Programação via SPI (MISO, MOSI, SCK, RESET, VCC, GND), padrão para AVR.
🟦 3. Compatível com avrdude
O USBtinyISP pode:
- gravar Flash
- gravar EEPROM
- ler/gravar fuses
- ler/gravar lock bits
Tudo isso é confirmado no repositório original e no manual da Adafruit.
🟦 4. Alimentação do alvo
Versões modernas podem fornecer:
- 300 mA @ 3,3 V
- 500 mA @ 5 V
Isso é configurado por DIP switches ou jumpers, dependendo da versão, conforme descrito no projeto baseado em ATtiny24A.
🟦 5. LEDs indicadores
Segundo a Adafruit:
- LED verde → USB conectado
- LED vermelho → programando / ocupado
🟦 6. Open‑source
Hardware e firmware totalmente abertos, com código disponível no GitHub.
🧩 Compatibilidade – Microcontroladores Suportados
De acordo com as fontes, o USBtinyISP suporta qualquer AVR que utilize ISP serial (SPI).
✔ ATtiny (ISP)
- ATtiny13 / 25 / 45 / 85
- ATtiny24 / 44 / 84
- ATtiny2313 / 4313
- ATtiny261 / 461 / 861
- ATtiny87 / 167
✔ ATmega (ISP)
- ATmega8
- ATmega48 / 88 / 168 / 328 / 328P
- ATmega16 / 32
- ATmega64 / 128 (com limitações)
- ATmega8515 / 8535
- ATmega162 / 164 / 324 / 644 / 1284
✔ AT90S (antigos)
- AT90S2313
- AT90S8515
- AT90S8535
⚠️ Limitações (confirmadas)
As fontes destacam algumas limitações importantes:
- Não grava AVRs com mais de 64 KB de Flash, como ATmega1280/2560
- Não suporta JTAG (somente ISP)
- Não suporta UPDI (AVR modernos como ATtiny 0/1‑series)
- Velocidade SCK limitada (~1,5 MHz por padrão)
🔌 Conectores Suportados
- ISP 6 pinos
- ISP 10 pinos
Ambos são padrões oficiais para AVR, conforme descrito no manual da Adafruit.
🛠️ Software Compatível
✔ avrdude (principal)
Comando típico:
avrdude -c usbtiny -p m328p -U flash:w:firmware.hex
✔ Arduino IDE
Permite gravar bootloaders selecionando:
Tools → Programmer → USBtinyISP
✔ AVRDUDESS
Interface gráfica para avrdude.
✔ PlatformIO
Suporte nativo via configuração.
🎯 Resumo Final
O USBtinyISP é um programador AVR:
- simples
- barato
- open‑source
- confiável
- compatível com avrdude e Arduino IDE
- ideal para ATtiny e ATmega clássicos
Ele é perfeito para quem trabalha com Arduino, projetos embarcados simples e microcontroladores AVR tradicionais.
📚 Fontes utilizadas
GitHub – USBtinyISP (descrição técnica e recursos)
Adafruit – USBtinyISP User Manual
Phipps Electronics – USBtinyISP In‑Circuit AVR Programmer User’s Guide
Se quiser, posso também montar:
- uma comparação USBtinyISP vs USBasp vs Atmel‑ICE,
- uma tabela completa de compatibilidade por chip,
- ou um guia de uso com avrdude e Arduino IDE.