Parallel Port Programmer is the perfect solution for a beginner to start with. I suggest to all beginners to start this if they have LPT1 port. Then go for Serial and USB. AVR ISP of parallel port is the simplest programmer I have ever seen. Here it goes.....
Or see below, all are same.....
Dont say it as parallel programmer. It sends data serially.
It is always a better practice to use a buffer in the Port like 74ls125 (click to see). Many standard ISP use 74ls245 an Octal Bus Transmitter/Receiver designed for asynchronous 2-way data communication between data buses. See 74ls125 carefully and see below..
Cant Understand? Do the first one!!
here is the programmer i used for a long time.....
First try this on a breadboard. When things start going to happen then solder it on this fashion, (Its different wiring that i gave above)
Our one looks like....
All these components,
My ISP for ATmega8: Same connections as Mega16/32. You only need to see the MOSI,MISO,SCK,RESET pins of it, these pins located differently at Atmega8. (click to see pin diagram)
You need an external supply to load program on Mega8/32. Small chip like ATtiny13 doesnt need any external supply, but better to use supply. The power supply circuit is nothing but using a Regulator IC and a capacitor. (From Dc adapter).
Use of PonyProg:
A software is needed to load our program to chip. Ponyprog is a serial programming software most commonly used. Download Ponyprog from
and install it. Open Ponyprog, Go to Setup & enter Calibration. Enter Yes. (Setup>Calibration)
Again Go to setup and click Interface Setup. (Setup>Interface Setup) You will see I/O port setup. click "Parallel", and set 'AVR ISP I/O' from next box. Then click in LPT 1. Uncheck all the Polarity and control box lines and click ok. Now see the figure below, in the right top you will see 'AVR micro' and 'ATmega8' has been selected.
Your Software is ready to write Atmega8 now...
I think you know how to make Hex file. (See AVR GCC section) Now we are going to open a hex for Atmega8 from desired directory where the project file was saved. One important thing if you open a hex that wasnt for Atmega8, the software cant write. If you want to write different microcontroller,
I think the pictures above told you all. Now say we are going to burn . Select the chip as stated above.then enter File>Open Device File, go to the desired Hex file location and set "Files of type" as *.hex.
After entering the desired hex, you will see the window is no longer empty, it looks
Now Command>write all. The software will ask you for assurance. click yes.
If your programmer, connections and the supply are ok, the software will start writing. After writing it will verify on a similar window. Then it will say either successfully written or Writing Failed. If your programmer, connections or supply or chip any of these are faulty, the software will tell you "Device missing or unknown device(-24)"
I always appreciate to use dedicated programmer from manufacturer. Try AVR dragon