USB Port Programmers

These programmers use the USB port on a PC to program an AVR. I was amazed by the difference in performance of these programmers. They range from the fastest to the slowest tested. USB is fast, but if the USB gets converted to USART data, it gets relatively slow at any Baud rate.

ArduinoISP

The ArduinoISP is a real USB to SPI converter with programming code in it. If you have an Arduino, you can have a programmer. With that programmer, you can burn a bootloader into another ATmega328 and have another Arduino. The one disappointment is the speed. The ArduinoISP is slow. It is slower than the serial port programmers we tested.

Schematic

ArduinoISP schematic

Serial Uploaders

FTDI-231X Uploader

The FTDI-231X Uploader is a USB to serial converter chip, and is often used as a means to upload code from the Arduino environment to an AVR with a bootloader. The bootloader does not have to be used exclusively by the Arduino environment, but can be used for your uploading your own hex code.

Schematic

FTDI-231X Uploader schematic

USB to TTL Cables

There are several manufacturers of these USB to serial cables. The only thing I would be concerned with is the fact that the FTDI cable pinout has become a sort of a standard, due to it's use on the Arduino. It is the one I use, but the others are probably no better or worse, and likely have the FTDI chip in them. Be wary of the ones having the CP2102. Some operating systems have no support at all for the CP2101, and the programmers will not work on those systems.

Schematic

USB Arduino AVR programmer