General AVR ISP Programmer
The Pololu USB AVR Programmer is an extremely compact, low-cost in-system programmer (ISP) for Atmel’s AVR mirocontrollers, which makes this device an attractive programming solution for AVR-based controllers like our Orangutan robot controllers and A-Star modules. The USB AVR programmer connects to your computer’s USB port via an included USB A to mini-B cable and communicates with your programming software, such as Atmel Studio or AVRDUDE, through a virtual COM port using the AVRISPV2/STK500 protocol. The programmer connects to your target device via an included 6-pin ISP programming cable (the older, 10-pin ISP connections are not directly supported, but it’s easy to create or purchase a 6-pin-to-10-pin ISP adapter).
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 and the 3pi Robot. The programmer features upgradable firmware, allowing updates for future devices. It does 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).
Supported Operating Systems
The programmer has been tested under Windows XP, Windows Vista, Windows 7, Windows 8, and Linux. We provide limited support for using this programmer on Mac OS X; please see the user’s guide for details. This programmer is not compatible with older versions of Windows.
Bonus Feature: TTL-level serial port
The USB AVR 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 the general-purpose USB-to-serial adapter. 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 pins A and B as serial handshaking lines. The programmer’s configuration utility allows you to select which handshaking line is assigned to which pin, and both input and output handshaking lines are supported. The programmer also gives you access to the USB’s regulated 5V power bus through the VBUS pin. The TTL-level serial port is not supported in Mac OS.
Bonus Feature: SLO-scope
This device can also act as a two-channel, severely limited oscilloscope (SLO-scope) using the A and B pins as analog voltage inputs and the Pololu SLO-scope application for Windows. The SLO-scope can measure voltages between 0 and ~5 V (the maximum is limited by the USB bus voltage), or higher if you use an external voltage divider, and it supports two sampling modes: 10 kHz sampling of two 8-bit analog inputs or 20 kHz sampling of one 7-bit analog input and one digital input. This feature can help you debug your circuits and firmware by seeing what the voltages are doing at various nodes. (Please note that the SLO-scope feedback is quite limited and is not intended as a substitute for a real oscilloscope or a good multimeter, which will have much higher input impedance, better resolution and range, and higher sampling frequency.) The SLO-scope is not supported in Mac OS or Linux.
The Pololu USB AVR Programmer ships with a 12" (30 cm) 6-pin ISP programming cable and a 6’ (1.8 m) USB A to mini-B cable. It does ship with software or documentation, but software (including drivers) and documentation can be found under the resources tab.
|Pololu USB AVR programmer with included six-pin ISP cable and USB A to mini-B cable.
Note: This programmer supports standard in-system programming (ISP), which is also sometimes called in-circuit serial programming (ICSP). It does not support JTAG, DebugWire, or High-Voltage programming.
Documentation and other information
Pololu USB Software Development Kit
The Pololu USB SDK contains example code for making your own applications that use native USB to control the Jrk Motor Controller, Maestro Servo Controller, Simple Motor Controller, or USB AVR Programmer.
- Pololu AVR Development Bundle for Windows (release 140513) (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 6.1 before installing this bundle.
- USB AVR Programmer Windows Drivers and Software release 121114 (11MB exe)
- This executable installs the Pololu USB AVR Programmer drivers, configuration utility, and SLO-scope application for Windows., so you do not need to download and install this if you have installed the bundle.
- Firmware version 1.01 for the Pololu USB AVR Programmer (pgm03a) (34k pgm)
- You can use this file to upgrade your programmer’s firmware if needed. This update contains two bug fixes relating to the TTL serial port. This update is recommended if you use the TTL serial port and have a device with an earlier firmware version number (including all devices shipped before December 17, 2009). If you do not use the TTL serial port (you only program AVRs and run the SLO-scope), then you do not need this upgrade. See the instructions in the “Upgrading Firmware” section of the user’s guide for more information.
- Firmware version 1.07 for the Pololu USB AVR Programmer (pgm03a) (29k pgm)
- You can use this file to upgrade your programmer’s firmware if needed. This update adds support for AVR Studio 5.1. This firmware version was released on February 29, 2012. See the instructions in the “Upgrading Firmware” section of the user’s guide for more information.
- SLO-scope client C# source code (56k zip)
- Visual C# 2008 project containing the SLO-scope client software. The SLO-scope is a severely limited oscilloscope feature of the Pololu USB AVR programmer.
- Atmel Studio 6
- Atmel’s free integrated development environment (IDE) for AVRs.
- AVR Studio 4
- The older version of Atmel’s free integrated development environment (IDE) for AVRs, which is no longer supported by Atmel.
- A free, open-source suite of development tools for the AVR family of microcontrollers, including the GNU GCC compiler for C/C++.
- Atmel Web Page
- Web page of Atmel Corporation, manufacturer of AVR microcontrollers and other advanced semiconductors.
- AVR Libc Home Page
- The web site for AVR Libc, which is the standard library of functions that you can use with C and C++ on the AVR.
- GCC, the GNU Compiler Collection
- Documentation for GCC, including the AVR GCC C/C++ compilers.
- Pololu Robotics Forum
- Pololu Robotics and Electronics forum — get technical support, share your project, or just drop in to say hi.
- AVR Freaks
- AVR community with forums, projects, and AVR news.
- Microsoft .NET Framework 3.5
- The Microsoft .NET Framework version 3.5 is required for many Pololu configuration, control, and utility programs under Windows. Most computers will have this installed already or can automatically install it over the internet, but you can also get .NET 3.5 directly from Microsoft at this link. If you are installing on a computer without internet access, make sure to get the Full Redistributable Package.
- Can I make the Pololu USB AVR Programmer program my AVR faster?
- Yes. The Pololu USB AVR Programmer’s ISP Frequency setting affects the speed of programming. To maximize the speed of your programmer, you should use the programmer’s configuration utility to set the ISP Frequency to the highest frequency that your AVR can handle. See the Configuring the Programmer section of the user’s guide for more information.
- The USB AVR Programmer’s drivers seem to be installed correctly, so why can’t I connect using AVR Studio in Windows XP?
- Several Windows XP users have reported this problem. It seems that having Hotfix KB918365 does not guarantee that the programmer’s virtual serial port drivers will work. We recommend installing Service Pack 3 and rebooting.
- I am unable to install the serial port driver for a Pololu USB product in Windows XP. How do I solve this problem?
If you use Windows XP and experience problems installing the serial port drivers for a Pololu USB product, the cause of your problems might be a bug in older versions of Microsoft’s usb-to-serial driverusbser.sys. Versions of this driver prior to version 5.1.2600.2930 will not work with certain Pololu USB products. You can check what version of this driver you have by looking in the “Details” tab of the “Properties” window for C:\Windows\System32\drivers\usbser.sys.
To solve your problem, upgrade usbser.sys by installing either Service Pack 3 or Hotfix KB918365. Some users who installed the hotfix have reported problems which were solved by upgrading to Service Pack 3, so we recommend Service Pack 3 over the hotfix. The device should work after you reboot. If it still does not work, uninstall your device by going to the Device Manager, right-clicking on the malfunctioning device, and selecting “Uninstall”. Then unplug your device from the computer and plug it back in.
- When I run the SLO-scope client, it is unable to load sloscope.dll. How do I solve this problem?
- To solve this problem, try reinstalling the SLO-scope client by running sloscope_installer.bat. Make sure that you runsloscope_installer.bat rather than just running sloscope_files\setup.exe. If your operating system is Windows Vista, you must runsloscope_installer.bat by right-clicking on it and selecting “Run as Administrator”. If the installation was successful, there should be a file called sloscope.dll in the C:\Windows\system folder and the SLO-scope client should work.