Programming Hardware  
We need a kind of hardware or we can say a signal converter to transfer the data to the controller's flash memory.

we can use either serial, USB or parallel port from our standard PC to transfer hex data onto flash by means of programmer hardware.

As hobbyist we always search for some good & cost effective programmer hardware for our specific microcontroller. Here i am trying to describe how to make some serial & parallel port based programmer that supports standard development tools like WinAVR, PonyProg etc.

* Simple serial programmer (PonyProg compatible)

* Serial Programmer (WinAVR compatible)

* Parallel Port BSD Prog

* USB asp (USB Programmer)

Parallel Port Programmer

First let us discuss Parallel Port BSD Programmer. Originally from This programmer is very easy to make and and easy to use. This is a SPI based programmer, Serial peripheral Interface facility present in AVR series is very useful for programming the controller. Pins used on AVR is MOSI, MISO, SCK, RESET. Few resisters and thats it. Be careful with resisters do not skip any of them. Here is the circuit diagram.

Pin cofiguration of DB25 port connector

This programmer is compatible to WinAVR. In Makefile mention programmer as “bsd” and port as lpt1.

Note- To use this programmer in WinAVR you have to install Parport drivers because Windows XP do not allow direct access to LPT port. Goto WinAVR install directory in your Windows Drive (Usually C:/), goto bin directory there you will find a batch file named as install_giveio.bat run that file. This will install LPT driver. Now you are done to use this bsd programmer with WinAVR.

Serial Port Programmers -

You can make anyone one of two serial programmer, but one is compatible to Pnyprog only and other is compatible to both Ponyprog and WinAVR.

1. Ponyprog Compatible serial programmer....

Interface setting required...

2. Serial programmer compatible to both Ponyprog and WinAVR

This one is most reliable programmer.

Ponyprog interface setting required...

This programmer is directly compatible to both PonyProg as well as WinAVR. In WinAVR you can use this programmer by specifying programmer as “ponyser” while cofiguring MAKEFILE.

USB programmer

USB asp is the most popular USB programmer for AVR's. Here is the link for resources related to USBasp

Try to make your own USBasp and if face any problem contact me at
Best viewed at Firefox 1024x768 resolution