Programming the chips

Programming Cable

Programming cable

Updated 3/07

There are several programming options. The cheapest is the parallel port cable, described at the bottom of the page. It requires that your computer has a parallel port, which is less and less common, and it seems to be a bit unreliable.

The commercial options are mainly the Atmel ISP and ISPII and the Dragon. The ISP uses a serial port (also a hard-to-find feature on many laptops), while the ISPII and Dragon are USB devices.

One note for the ISPII users: the documentation is a bit confusing regarding the cable pinout. Here is a crude sketch of the 6-Pin cable that shows the proper connections. The pinout in the documenation is of the circuit board layout, not the cable; the two are mirror images of each other. The word on the left is "Red", it marks the pin one side of the cable.

To program your AVR, you just need a parallel port cable. Cut the end that used to plug into your printer off. Use an Ohm-meter to find which wires connect to which pins on the computer side plug.

Parallel Port Programmer Parallel port programmer

Most parallel port cables have the pin numbering molded into the plastic housinig next to each pin.

Parallel Port ProgrammerParallel port cable pin numbers


The pins connect as follows:

Parallel Port
DB-25 Pin

AVR Pin Name

Mega 16/32 DIP Part
Pin number

18-25 (any one) Ground 11
4 Reset 9
5 SCK 8
11 MISO 7
2 MOSI 6

This uses the Dontronics DT-006 pinout. Dontronics makes lots of AVR proto-boards etc so they are worth checking out.

I use 0.1" spacing header pins on my boards for programming, so I use a female 0.1" spacing header on the programmer. The parallel port cable wires are really flimsy, so be sure to add some strain relief or you will be forever soldering it back together. I glue a stick to the female header then wire-tie it to the cable. My boards all use the pin order below, for historical reasons. If you are starting from scratch using the mega 16/32 you could just use pins 6-11, which is the easiest to breadboard. The Vcc connection isn't necessary for the parallel port programmer, but if you were to use another programmer (such as the AVR ISP from Atmel) you might need it so I include this pin on circuit boards if I go through the trouble of having them fabbed.

Programmer Pin ordering for Holden's boards:

  • Vcc
  • Reset
  • SCK
  • MISO
  • MOSI
  • Ground

Parallel Port ProgrammerChip programmer, with strain relief and labels visible

Note that to program your chip you must have it powered and either connected to an oscillator or with the fuses designating the internal oscillator.

If you are not sure of your pins or hardware setup, try reading the chip's fuses and flash before programming. This can help debug connection and hardware problems.

Random Images