
The USB AVR programmer has a standard 6-pin AVR ISP connector for programming AVRs, and the
pins are labeled on the silkscreen on the bottom side of the board. The pins on the connector are:
1. MISO: The “Master Input, Slave Output” line for SPI communication with the target AVR. The
programmer is the master, so this line is an input.
2. VDD: An input line that the programmer uses to measure the voltage of the target AVR.
While programming the target device, the programmer uses this line to constantly monitor
the target VDD. If the voltage goes too low or varies too much, then the programmer aborts
programming in order to avoid damage to the target AVR. Section 3.e has more information
about target VDD monitoring. The VDD line is not used to power the programmer; the
programmer is powered from the USB. This line cannot be used to power the target device;
the target device must be independently powered for programming to work.
3. SCK: The clock line for SPI communication with the target AVR. The programmer is the
master, so this line is an output during programming.
4. MOSI: The “Master Output, Slave Input” line for SPI communication with the target AVR. The
programmer is the master, so this line is an output during programming.
5. RST: The target AVR’s reset line. This line is used as an output driven low during
programming to hold the AVR in reset.
6. GND: Ground. This line should be connected to the target device’s ground.
1.b. Supported Microcontrollers
The programmer should work with all AVRs that can be programmed with the AVR ISP interface,
but it has not been tested on all devices. It has been tested with all Orangutan robot controllers
[https://www.pololu.com/category/8/robot-controllers] and the 3pi Robot [https://www.pololu.com/product/975].
The programmer features upgradable firmware, allowing updates for future devices. It does not
currently work with Atmel’s XMega line of microcontrollers.
The programmer is powered by the 5V USB power bus, and it is intended for programming AVRs that
are running at close to 5 V (note that the programmer does not deliver power to the target device).
1.c. Supported Operating Systems
We support using the Pololu USB AVR Programmer on Windows Vista, Windows 7, Windows 8,
Windows 10, Linux, and Mac OS X.
The programmer’s configuration utility works only in Windows, but this should not be a big problem for
Linux users because all the options that can be set in the configuration utility are stored in persistent
memory, so you would only have to use Windows when you want to change those parameters, which
should be rarely (if ever). The programmer does not require the configuration to program AVRs or to
Pololu USB AVR Programmer User’s Guide © 2001–2019 Pololu Corporation
1. Overview Page 6 of 64