ATmega168 Parallel Programmer
I own a few Rev. C Bare Bones Boards witch came with ATmega168 chips burned with the old Arduino bootloader (NG). I wanted to upgrade them to the newer (Diecimilia) bootloader so I built a parallel programmer following the instructions in the Arduino website and using parts I found in the garbage (as usual).
Materials
- Two 470 Ohms resistors
- One 220 Ohms resistor
- Some wire
- A female header at least 3×2
- A ferrite core (not required but looks cool)
- Some heat shrink (it could be replaced by some electrical tape)
- A male parallel port connector (DB-25)
Programmer Schematics
(this is a vectorized version of the original schematics on the Arduino site)
I got a DB-25 connector from an extension parallel port of a PC I found in the garbage. First, I removed the original cable that came with it and I soldered the programmer’s resistors to the back of the DB-25 and connected them to new wires. Then, I covered the resistors and cable connections with a piece of heat shrink tubing.

The new wires where terminated in a 4×2 female header (even though there are only 5 wires). The wires and female headers come from an old computer (they connected the power buttons and the case LEDs to the motherboard). I cut the header to size from a larger header (form the same old computer) and I used an extra row to mark it with a white pin cap so I could easily remember where the #1 pin is located.

Finally, I added a ferrite core and twisted the cables in order to reduce noise and cross-talk. I don’t think this is really required but it looks nice.




















