USBtinyISP Guide

3 years ago | 05 July, 2020 | X minute read.



The USBTinyISP is a ATtiny44 based ISP (In-System Programmer) board which can be purches for next-to-nothing online.

Driver Setup

I followed the Adafruit guide for setting up the board here

Using it With Arduino

I was attempting to program an ATtiny13 over it's ISP interface. To do this, within the Arduino IDE (I still use 1.8.5) select USBtinyISP under the Tools > Programmer menu.

Once your sketch (program) is ready, you program the target microcontroller using the Sketch > Upload Using Programmer
Note: that the serial port is not relevant whan programming in this manner.

The Issue

When I tried to upload my sketch, I was consistently receiving the following failure message in the Arduino IDE terminal.

Programmer Type : USBtiny
Description     : USBtiny simple USB programmer,

avrdude: programmer operation not supported

avrdude: Using SCK period of 10 usec

avrdude: error: usbtiny_transmit:
avrdude: initialization failed, rc=-1
         Double check connections and try again, or use -F to override
         this check.

avrdude: error: usbtiny_transmit:

The Fix

After exhausting my suspicion that the issue was a bad driver setup, I moved onto looking at the programmer itself as it was the first time I had used it.

I eventually noticed that the SJFAB jumper was bridged, and when I thought about its name "FAB" stood out... fabrication! Once I googled SJFAB, I discovered that this jumper is only bridged when loading the firmware onto the ISP istelf, so in my case it shouldn't be bridged.

I believe mine was left bridged in error from the factory.

The 'SJFAB' solder jumper (top-right) bridged and un-bridged

Once removed, the scketched was programmed into the target microcontroller immediately!


I hope this helps someone out there who is seeing this failure, as I didn't get clear results when I Googled it. Good luck with your projects!