Pololu USB AVR Programmer is a compact USB in-circuit debugger and programmer compatible with the Atmel AVR microcontroller family. The programmer has an Atmel AVR mini B socket so it can be used to program a wide range of Atmel AVR-compatible microcontrollers. Features include a 20mA constant current source, auto detection of connected microcontroller type and auto select of programming interface. It also supports JTAG, high voltage programming (HVPP), and Atmel's PDI and TPI programming protocols. It can also be used to program SPI flash chips on our AVR daughter boards.