About the parallel programmer

I am new to Arduino.
I was just wondering if the parallel programmer hack posted on the official Arduino website works or not.
I ask this because I've seen most AVR ISP parallel programmers constructed with a buffer chip in the middle and more resistors.
Like this one:

and the software for this Arduino parallel programmer seems to be for PIC devices which is strange.
So I just want to be clear on this as I am trying to construct a parallel programmer myself.
Some help would be greatly appreciated.

I've definitely used it successfully in the past. The giveio software was originally intended for use with PIC, but all it does is provide access to the parallel port, so it's also usable for AVRs. Some people have apparently had to use Arduino 0007 to burn the bootloader with a parallel programmer, though: http://www.arduino.cc/cgi-bin/yabb2/YaBB.pl?num=1193364533.

The simple parallel programmer described on the arduino site works for a lot of people, but it did not work at all for me. I suspect some basic hardware incompatibility with my computer's parallel port.

I built one like you describe with a 74hc244 and it worked great the first time.

I eventually spent US$34 on an Atmel avrispmkII (when AVRdude became able to use the USB interfaced mkII on Mac OS X).


Ye I want to get a AVR ISP MKII as well, but I also want to save money.

Is AVR ISP MKII completely dependable?

I want to get a AVR ISP MKII as well, but I also want to save money.

I can certainly understand that!

Is AVR ISP MKII completely dependable?

It has been for me, although my use has been limited to ATmega8 and 168 devices so far. With a little help from avrdude and libusb it even works well on a Mac, which is fairly rare for this type of device.

If you want to save some money, I think LadyAda has a USB programmer kit for about half the price of the avrispmkII, but I have no experience with that one (already had my mkII when it became available).

The 74hc244 parallel port programmer worked fine for me, but my mac has no parallel port, so I could only use it at work - pretty inconvenient. If you have a parallel port and a 74hc244 (the HC doesn't seem to be critical, I think I used an ALS or HCT), you may want to try that route.


I'd second the recommendation for the USBtinyISP from LadyAda. It's cheap and works well. And the Atmel AVR ISP's seem to have a nasty habit of randomly breaking. Just be warned that the USBtinyISP won't work with a chip in an original Arduino NG (because the LED on pin 13 interferes with the SPI used to program the chip).

what resistors can be used for the programmer. i have 2 of the needed resistors and no way of getting any more.. his town has no component suppliers nor can i get anything offline right now.. i need a solution that can be done with what i have available :frowning:

I think I would substitute any close value on any of the resistors. I don't think there is anything super critical in this circuit.


thnx.. can you suggest a safe maximum and minimum value? :slight_smile:

Use this at your own risk, you could smoke your ATmega chip and/or your parallel port.

This product is meant for educational purposes only. Any resemblance to real persons, living or dead is purely coincidental. Void where prohibited. Some assembly required. Batteries not included. Contents may settle during shipment. Use only as directed. No other warranty expressed or implied. Do not use while operating a motor vehicle or heavy equipment. Postage will be paid by addressee. Subject to CARB approval. This is not an offer to sell securities. Apply only to affected area. May be too intense for some viewers. Do not stamp. Not rated by the Motion Picture Association of America. Call for nutritional information. Use other side for additional listings. Printed on recycled paper. For recreational use only. Do not disturb. Prize not redeemable for cash value. If condition persists, consult your physician. No user-serviceable parts inside. Do not look into laser with remaining eye.

OK, that's out of the way: I built a vaguely similar one (it used the 74244 and the parallel port).

it omitted R1 - R6, R13 - R18, C2 - C4.

for R7 - R12, R21, R22, R23, I would use the next higher value I had available.

for Q1, substitute any NPN (watch for reversed cases).

R19 and R20 appear to be weak pullups? I would use anything above 50k, I would probably try anything over 5k if that was all I had.

C1 looks like your basic "digital transient filter" cap, omit if you feel lucky, use anything you have if it is flakey without it.

Don't forget that resistors can be combined: two 1k resistors in series (one after the other) makes a 2k resistor. two 1k resistors in parallel makes a 500ohm resistor. Google for "parallel resistor calculator" ("series resistor calculator" is just addition).

desolder resistors off of any old junk lying around. google "resistor color codes" for information, or even a calculator that will tell you which colors to look for.

Good luck!


that seems helpful thnx :slight_smile: but the schematic for the parallel port programmer is only 3 resistors.

what are all the other componants you are talking about? are we on the same bus here? :smiley:

I was referring to the programmer described/linked in the first post in this thread. Sorry, I missed that we were talking about the other one.

Since I couldn't make this one work, I should probably refrain from giving advice about it. :slight_smile:


sorry i should have been specific :smiley:

i really could do with help on this one tho. practically all my components are salvaged (i cannot get any new unless someone knows of a good dirt cheap way of ordering them and shipping them to norway..)