The Pololu USB AVR Programmer v2.1 is a compact, low-cost in-system programmer (ISP) for AVR microcontrollers from Atmel (now a part of Microchip). The programmer provides an interface for transferring a compiled AVR program from your computer to the target AVR’s non-volatile memory, allowing it to run the program. It can also be used to update, replace, or remove the bootloader on some Arduino boards including the Uno, Leonardo, and Mega. This programmer is designed to work well with both 3.3 V and 5 V devices, and it can even be configured to provide power to the target device in low-power systems.
The programmer connects to your computer’s USB port via a standard USB A to Micro-B cable (not included) and communicates with your programming software, such as Atmel Studio, AVRDUDE, or the Arduino IDE, through a virtual COM port using the STK500 protocol. The programmer connects to your target device via an included 6-pin ISP programming cable . The programmer also acts as a USB-to-TTL serial adapter, providing a TTL-level serial port that can be used to communicate with other serial devices from your computer. It ships fully assembled with connectors soldered in as shown.
Pololu USB AVR Programmer Features
- Connects to a computer through USB via a USB A to Micro-B cable (not included)
- Emulates an STK500 programmer through virtual COM port interface
- Works with standard AVR programming software, including Atmel Studio, AVRDUDE, and the Arduino IDE
- Configuration software available for Windows, Mac OS X, and Linux
- Supports both 3.3 V and 5 V devices; can automatically switch operating voltage based on detected target VCC
- Can optionally power the target at 3.3 V or 5 V in low-power systems
- USB-to-TTL serial adapter functionality for general-purpose serial communication
- Provides a 100 kHz clock output, which can be useful for reviving misconfigured AVRs
- All I/O pins are protected with 470 Ω resistors
- 6-pin ISP cable and a 1×6 double-sided male header included
- Comprehensive user’s guide
Supported AVR microcontrollers
The programmer should work with all AVRs that can be programmed with the AVR ISP (in-system programming) interface, which is also known as in-circuit serial programming (ICSP), serial programming, or serial downloading, but it has not been tested with all devices. We expect it to work with most AVRs in the megaAVR (ATmega) family, and it works with some members of the tinyAVR (ATtiny) family, but it does support the Tiny Programming Interface (TPI), and it does work with the XMEGA family or with 32-bit AVRs. The programmer features upgradable firmware, allowing updates for future devices.
The programmer is designed for use with AVR microcontrollers running at either 3.3 V or 5 V. By default, the programmer expects the target to be self-powered, but it can be configured to deliver power to the target device in low-power systems.
Bonus feature: TTL-level serial port
This programmer doubles as a USB-to-serial adapter. The programmer installs as two virtual COM ports: one for communicating with programming software and one for general-purpose serial communications. This means that you can seamlessly switch between programming an AVR and debugging it through the TTL serial port without having to open and close your terminal program. In addition to the serial transmit (TX) and receive (RX) lines, the programmer lets you use A and B as serial handshaking lines that can be configured using our software.
The six pins on the serial header (GND, A, VCC, TX, RX, and B) are arranged to be similar to the pinout of commonly-available FTDI USB-to-serial cables and breakout boards. In the default configuration, pin B is used as the DTR output (and pin A is an unused input), which allows you to plug the programmer directly into a variety of Arduino-compatible boards and use it to upload programs to the board via a serial bootloader.
The Pololu USB AVR Programmer v2.1 ships fully assembled with ISP and serial connectors soldered in.
- 6-pin ISP cable
- 1×6 double-sided male header
Pololu USB AVR Programmer Documents
- Pololu USB AVR Programmer v2 Software and Drivers for Windows (9MB msi)
- Pololu USB AVR Programmer v2 Software for Linux (x86) (8MB xz)
- Pololu USB AVR Programmer v2 Software for Linux (Raspberry Pi) (6MB xz)
- Pololu USB AVR Programmer v2 Software for Mac OS X (7MB pkg)
- Pololu AVR Development Bundle for Windows (12MB exe) This bundle contains all the Pololu software you need to get started programming AVRs in Windows: the Pololu AVR C/C++ Library, the Pololu USB AVR Programmer drivers and software, and the Pololu Orangutan SVP drivers. We recommend installing Atmel Studio 7.0 before installing this bundle.
- Dimension diagram of the Pololu USB AVR Programmer v2.1 (240k pdf)
- 3D model of the Pololu USB AVR Programmer v2.1 (7MB step)
- Drill guide for the Pololu USB AVR Programmer v2.1 (39k dxf) This DXF drawing shows the locations of all of the board’s holes.