[Update for Arduino 1.6+, editing these files manually is not needed!, see 1.6+ instructions below!]
We think Pololu's USB AVR programmer is a pretty nice cost effective device for uploading code to AVR microcontrollers. (Not that we're biased or anything :) )
Many might not be aware that you can use the programmer with the Arduino IDE to upload Arduino sketches to "raw" (ie, non-Arduino) AVR chips. If you have a developer board with a 6-pin ICSP connector, or an AVR on a breadboard with an ISP adapter, it's fairly easy to use Pololu's programmer in conjunction with the Arduino IDE. Even if you are using an Arduino board, using a programmer has advantages over relying on the Arduino's built-in bootloader to upload code. Some bootloaders don't handle resets well, and can be picky about accepting accept new sketches. Also, the Arduino bootloader consumes space on the chip, so if you have a large sketch, you can reclaim some of that space by eliminating the bootloader and letting the programmer handle that function.
How to enable the Pololu USB AVR Programmer in the Arduino IDE
For Arduino 1.0.x
You must edit the file named "programmers.txt" in the Arduino's installation. This is located at "<arduino install location>/hardware/arduino/programmers.txt". You may need to edit the file with administrative privileges, depending on where you have the software installed.
Add the following lines at the end of the file:
avrispv2.communication=serial
avrispv2.protocol=avrispv2
For Arduino 1.5.x
You must edit the file named "programmers.txt" in the Arduino's installation, but it's in a slightly different place than in older Arduino IDE versions. It is located at "<arduino install location>/hardware/arduino/avr/programmers.txt". You may need to edit the file with administrative privileges, depending on where you have the software installed.
Add the following lines at the end of the file:
avrispv2.communication=serial
avrispv2.protocol=avrispv2
avrispv2.program.tool=avrdude
avrispv2.program.extra_params=-P{serial.port}
After adding the appropriate lines for your Arduino software version, you must re-start the software, for it to take effect. You must then select the programmer under Tools->programmer.
For Arduino 1.6+
The Arduino IDE has made it a lot easier to add on new hardware configurations without editing the pre-installed txt files. We have tested this with Arduino 1.6.1
Simply unzip Pololu's 3PI Arduino IDE support package into a "hardware" folder in your Arduino Sketchbook folder. For Windows users, this will be: "C:\Users\<username>\Documents\Arduino\hardware\". You may have to create the "hardware" folder yourself. Once you restart the Arduino IDE, the "Pololu AVR USB Programmer" should be available under the "Tools->Programmer" menu.