Introduction: Simplest AVR Parallel Port Programmer
Hi, this is my first instructables, which is about avr programmer. This is the simplest circuit with which AVR (Atmega series, Attiny series, AT90S series) microcontrollers can be programmed. There are a lot of programmers available, but this is a simple one which you can make it with just few wires and a 25 pin parallel port connector . First check for the parallel port in your computer.
Step 1: Parallel Programmer Circuit
This is the circuit which is given with ATProg tool which we are going to use to burn HEX files to our AVR microcontroller. First get your code compiled and get the hex file ready (If you don't know to compile your code and get hex files for AVR, try learning AVR GCC, which is a c compiler for AVR or AVRASM, which is a assembler for AVR). In this circuit , I have done some modifications, I have removed those 1K resistors without which this circuit works fine. You can implement the circuit given in the introduction.
Step 2: Connection Between Parallel Port and Mcu
Here in the above pictures I have just connected jumpers to bring the connection between parallel port and microcontroller. It is better that you solder those wires for firm connection.
Step 3: ATPROG
After connecting the microcontroller ,open ATProg and hit on check. If "ok" comes in the activity bar then your controller is ready to program. If see a error message the check the connections, check for the correct port.
MOST IMPORTANTLY: You have to give 5v power supply to the microcontroller separately. Either you take it from usb or give it externally. For pin connections and pinouts check the microcontroller's data sheet for which you are using.
For those who want a serial port programmer you can build sercon-2-mini, which is given in the at-prog.rar.
For Attiny and Atmega series there is an internal clock , so external crystal is not required. And those who want to program the microcontroller using arduino , navigate for the hex file and do the same, it works (Don't worry about bootloaders).