USBTinyISP In-Circuit AVR Programmer User’s Guide
1. Overview & Capabilities
Feature | Description |
---|---|
Interface | USB 2.0 to AVR ISP |
Protocol | In-System Programming (ISP) |
Supported MCUs | ATmega, ATtiny series (AVR architecture) |
Voltage | Typically 5V logic (Populate the yellow jumper for USBTiny to supply power to the IC you’ll program, otherwise, supply your own power to your IC) |
Speed | ~1.5 MHz default SCK (can be lowered for slow targets) |
2. Driver Setup
Windows:
- Use Zadig to install the libusb-win32 driver:
- Plug in USBTinyISP.
- Open Zadig.
- Select “USBTiny” from the dropdown.
- Choose
libusb-win32
and click “Install Driver”.
Linux/macOS:
- No driver needed. Kernel support via
libusb
.
3. Software Tools
Tool | Purpose | Notes |
---|---|---|
AVRDUDE | Flash, fuse, EEPROM programming | CLI-based, highly flexible |
Arduino IDE | Burn bootloaders | Select USBTinyISP as programmer |
AVRDUDESS | GUI for AVRDUDE | Easier for beginners |
PlatformIO | Embedded development | Supports USBTinyISP via config flags |
4. Wiring & Pinout
ISP Header (6-pin or 10-pin)
USBTinyISP | Target AVR |
---|---|
MISO | MISO |
MOSI | MOSI |
SCK | SCK |
RESET | RESET |
VCC | VCC |
GND | GND |
- Use 6-pin header for most ATmega/ATtiny boards.
- Populate the Yellow Jumper so that the USBTinyISP versions supplies power via VCC to the IC you’re gonna program. Otherwise, take it out if you want to supply your own power source to your IC.
5. Common Commands (AVRDUDE)
# Flash firmware
avrdude -c usbtiny -p m328p -U flash:w:firmware.hex
# Read fuses
avrdude -c usbtiny -p m328p -U lfuse:r:-:h -U hfuse:r:-:h
# Burn bootloader
avrdude -c usbtiny -p m328p -U flash:w:bootloader.hex -U lfuse:w:0xFF:m -U hfuse:w:0xDA:m
Replace m328p
with your target MCU (e.g., t85
for ATtiny85).
6. Troubleshooting
Issue | Fix |
---|---|
“Device not found” | Check wiring, USB connection, driver |
“Initialization failed” | Confirm RESET line, reduce SCK speed |
Fuse write fails | Ensure target is powered and not locked |
Arduino IDE error | Select correct board and programmer |
Tips for Embedded Workflows
- Use a breadboard adapter or pogo pins for clean ISP access.
- For ATtiny85, reduce SCK speed with
-B 10
flag in AVRDUDE. - Always back up fuse settings before modifying.
- Combine with logic analyzer to verify SPI signaling if needed.