This in-system programmer can be used to program AVR microcontrollers and AVR-based controller boards, such as our A-Star 328PB Micro, Orangutan robot controllers, and the 3pi robot. The programmer emulates an STK500 on a virtual serial port, making it compatible with standard AVR programming software, and it supports devices running at either 3.3 V or 5 V. The programmer also features a TTL-level serial port, enabling general-purpose serial communication for debugging or programming microcontrollers with a serial bootloader. An ISP cable and a 1×6 double-sided male header are included with this fully-assembled programmer.
The Pololu USB AVR Programmer v2.1 (product #1372) is a drop-in replacement for our older Pololu USB AVR Programmer v2 (product #3170) with three hardware improvements:
- The optional VCC output feature of the v2 programmer (which allows you to power your AVR target from the programmer) was not designed to power loads with more than a few microfarads of capacitance. The v2.1 programmer has better VCC output circuity, so it can power higher-capacitance boards that would have caused the v2 programmer to continually experience brown-out resets. While there is still a limit to how much capacitance it can handle, we expect the v2.1 VCC output feature to work with most small AVR target boards that have less than about 33 µF of capacitance on VCC, and we have tested it with the A-Star 328PB Micro.
- Plugging a v2 programmer into a 3pi robot could cause one of the motors to briefly run at full speed because the programmer’s circuitry for measuring VCC could inadvertently pull up one of the 3pi’s programming pins (which doubles as a motor driver input) before the GND connection was established. The v2.1 programmer has improved circuitry for measuring VCC which limits the duty cycle of this effect to about 0.2%, so the motor won’t move (but it might make a 25 Hz clicking sound).
- The v2 programmer would typically brown-out if a 5 V signal was applied to its RST pin while it was operating at 3.3 V. The v2.1 programmer does not have this problem.