AVRProgrammers
WTF?
We have a small selection of AVR programmers lying around. This is an attempt to document how to use them.
General information
10-pin ISP header pinout
| 1 | MOSI | 
| 2 | Vcc | 
| 3 | N/C | 
| 4 | TX or GND | 
| 5 | CS | 
| 6 | RX or GND | 
| 7 | SCK | 
| 8 | GND | 
| 9 | MISO | 
| 10 | GND | 
6-pin ISP header pinoout
Note that some boards have a non-standard pinout for the 6-pin headers.
| 1 | MISO | 
| 2 | Vcc | 
| 3 | SCK | 
| 4 | MOSI | 
| 5 | CS/RST | 
| 6 | GND | 
Programmers
FIXME: Pictures taken - need to upload
RS-232 programmer (ATtiny2313)
This programmer has a DB-9 serial port in one end and a 10-pin ISP header in the other end.
Programmer type: avr910 Speed: 115200
NB! This programmer uses non-standard device codes for atmega48/88/168 (0x06, 0x07 and 0x08).
To make it work, edit avrdude.conf:
part
    id              = "m168";
    avr910_devcode =  0x08;
avrdude command lines
Check connection:
avrdude -P <serialport> -c avr910 -b 115200 -p atmega168
USBasp programmer (stripboard)
This is a USB programmer built on a stripboard. It has a USB-B connector in one end an a 10-pin ISP header in the other end.
Programmer type: usbasp Speed: default
avrdude command lines
Check connection:
avrdude -c usbasp -p atmega168
Example: Program Arduino NG bootloader:
avrdude -c usbasp -p atmega168 -e -u -U lock:w:0x3f:m -U efuse:w:0x00:m -U hfuse:w:0xdf:m -U lfuse:w:0xff:m avrdude -c usbasp -p atmega168 -U flash:w:ATmegaBOOT_168_ng.hex:i -U lock:w:0x0f:m
AVRProg-metaboard
A Metaboard-based programmer.
This programmer behaves exactly like the USBasp stripboard programmer.