USBtinyISP

USBtinyISP

USBtinyISP with jumper removed

USBtinyISP with jumper removed

The Arduino IDE knows this programmer as USBtinyUSB.

Supply voltage

If the target is a 3.3V device, it would be best to use a 3.3V compatible programmer, too. The USBtinyISP (since version 2) makes use of 3-state buffers for the signal lines, and has a jumper that can be removed to disconnect the 5V from the USB port from the target.

Parts and Schema

https://learn.adafruit.com/usbtinyisp/parts-list

Schema of the USBtinyISP

Schema of the USBtinyISP

Using the programmer

AVRDUDE is a very popular command-line program for programming AVR chips. Avrdude version 5.5 and higher has built-in support for USBtinyISP!

https://learn.adafruit.com/usbtinyisp/avrdude

The tool avrdude knows this programmer as usbtiny.

See for a successful use of this programmer: BackDoorSensor.

How to use avrdude:

Usage: avrdude [options]
Options:
-p <partno>                Required. Specify AVR device.
-b <baudrate>              Override RS-232 baud rate.
-B <bitclock>              Specify JTAG/STK500v2 bit clock period (us).
-C <config-file>           Specify location of configuration file.
-c <programmer>            Specify programmer type.
-D                         Disable auto erase for flash memory
-i <delay>                 ISP Clock Delay [in microseconds]
-P <port>                  Specify connection port.
-F                         Override invalid signature check.
-e                         Perform a chip erase.
-O                         Perform RC oscillator calibration (see AVR053).
-U <memtype>:r|w|v:<filename>[:format]
                            Memory operation specification.
                            Multiple -U options are allowed, each request
                            is performed in the order specified.
-n                         Do not write anything to the device.
-V                         Do not verify.
-u                         Disable safemode, default when running from a script.
-s                         Silent safemode operation, will not ask you if
                            fuses should be changed back.
-t                         Enter terminal mode.
-E <exitspec>[,<exitspec>] List programmer exit specifications.
-x <extended_param>        Pass <extended_param> to programmer.
-y                         Count # erase cycles in EEPROM.
-Y <number>                Initialize erase cycle # in EEPROM.
-v                         Verbose output. -v -v for more.
-q                         Quell progress output. -q -q for less.
-l logfile                 Use logfile rather than stderr for diagnostics.
-?                         Display this usage.

avrdude version 6.3, URL: <http://savannah.nongnu.org/projects/avrdude/>
Tags: domotica tools
Comments: