The Pololu programmer is a USB-based programmer for AVR MCUs.
Here's a direct link to the Pololu website for the Pololu USB AVR Programmer.
In-Circuit Serial Programming
In some of my circuit boards designs I include a set of header pins so I can easily program the MCU using the Pololu programmer and the 6-lead ribbon cable that's provided with it.
Here's an example for an ATtiny85 project:
The complete board (an I2C-based LCD board).
Detail: just the ICSP pins on the PCB design.
What it looks like once the board is made.
One very important note:
- Make sure the mcu is powered by a voltage on its corresponding VCC pin. The pin on the header connector of the programmer that says 'VDD' is only there to detect that the chip has power connected to it. So it's a signal that goes back to the programmer rather than a VCC source going from the programmer to power the MCU. Fortunately the Pololu programmer has a row of pins, one of which (VBUS +5V) is a nice 5VDC power source straight from the PC's USB port. I added an extra lead from that pin as a separate lead along the ribbon cable to the end header connector. At the end of that single lead I soldered a header pin that I can easily plug into a breadboard on the MCU's VCC pin.