Introduction There are many kinds of AVR programmers in market, most of these use the parallel port, a serial port (COM port), or the USB but they are very costly and hobbyist like me can not buy such a costly programmer so i decided to make a cheap AVR programmer. Being a electronics hobbyist I believe in DIY (do it yourself) so here I glad to tell you that my programmer can be built easily in very short amount of time and since there are only few parts, it is very cheap. This AVR programmer is called "AVR ISP (In System Programmer) programmer". On the AVR microcontroller side there are two possibilities to program the AVR microcontroller, socket and in-circuit. A socket programmer provides a way to connect just a bare AVR microcontroller to the programmer and ISP programmers however connect to the AVR microcontroller while it is connected to the target circuit. So ISP allows programming of a AVR microcontroller in circuit, avoiding the need to constantly take it in and out of the programmer and the subsequent bending of pins. Advantage This simple AVR Programmer will allow you to painlessly transfer hex programs to most ATMEL AVR microcontrollers without sacrificing your budget and time This AVR programmer is very cheap due to only few common parts are used. It is in-system programmer so can be used to conveniently program AVR microcontrollers without removing them from the target circuit. It can be built in very short amount of time. This AVR programmer is compatible with a popular PonyProg software that shows you a status bar of the programming progress. How to build Here you can find schematic, board layout and component layout of the my " AVR ISP programmer". Schematic Board Layout Component Layout Description of the in-system programmer The programmer is quite simple and it is based on the SI-Prog from the author of PonyProg software. The Zener diodes D1, D2 with the resistors R1, R2 reduce the voltage from the ouput pins DTR, RTS on the serial port to around 5V which is suitable for microcontroller (MOSI, SCK). MISO signal is connected directly to the input CTS pin. The diode D3 with the resistor R3,R4 drive the NPN transistor Q1, which controls RESET signal. The AVR microcontrollers are in reset when the signal has low level. The resistor R5 works as a pull-up for reset signal. The resistor R3 helps to close the transistor Q1. The programmer has standard 6 pins header.