AVRISP is very popular Parallel port programmer for flashing AVR type microcontrollers. Earlier I used programmer connected to com port, but frequently I needed this port for other purposes, I decided to make it work on parallel port. The programmer on parallel port is much simpler than connected to serial port, because there is no needed voltage adapter like MAX232. You can only connect your MCU directly to port. But for safety reasons there is good practice to use buffer ship like 74HC244.


The header for programmer I used standard 6 pin ISP header.


I wanted to make compact programmer, so I put circuit inside LPT head. Few pictures of it:





Programming is usually done by using PonyProg software. Bellow is its configuration:



  1. Connectors MISO connect to AVR MOSI pin and Connectors MOSI connect to AVR MISO pin. You may see that connectors MISO pin is input in programmer. I just made stupid mistake and connected MISO to MISO and it took me some time to figure out why it doesn’t work …

  2. How can I check AVRISP?
    I made it, and cann’t program ATmega16…

  3. Pingback: Design and Implementation of DTMF Detector - Scientific, embedded, biomedical, electronics contents.

  4. Pingback: Yet Another Simple AVR ISP cable - Scientific, embedded, biomedical, electronics contents.

  5. Hi. I’m trying to program my Atmega16 with this ISP programmer but there seems to be a problem. When I try to program it through PonyProg it says “Alert/ Device missing or unknown device(-24)”. The pinning seems to be fine. Can you give me some directions. Thanks.

  6. Pingback: Parallel and serial High Voltage AVR Programmer | AVR Projects | MCU project everyday

  7. I don’t know where you got your picture of the 6 pin ISP header but it is not the “standard”. The standard pinout has pin 1 as MISO. In yours you have MISO and MOSI reversed.

    If you want to use a different connector that’s fine, but please don’t call it standard when it’s not!

  8. You may be right or not. it depends. If you have in mind connector on a target board then you are right. But lets take a connector on a programmer itself. Programmers MISO goes to targets MOSI and so on…
    Anyway I am going to change the picture as it makes too much confusion for everyone…including me.
    Thank you

  9. ISP Header image changed. No more confusion.

  10. Hi Frnds.. i’m using at89s52 mc. i want to connect it to pc by isp cable… will ponyprog support at89s52? if not then which programmer should i use? i tried with isp programmer, but it showing error while writing the program. pls specify any programmer which solve my problem. if possible post the circuit…

  11. hi,
    1. Is pin 1 (MISO) of your 6 pin ISP header connect to MOSI of AVR ATmega chip?

    2. Is pin 4 (MOSI) of your 6 pin ISP header connect to MISO of AVR ATmega chip?

    3. For power supply, which pin of ATmega8 chip connect to VDD and GND…bcos the chip has pin 7 (Vcc), pin 20(AVcc),pin 8(GND) and pin 22(AGND)?

    4. Can i not using external crystal for ATmega8 in this programmer?


  12. Pingback: Choosing AVR programmer | Embedded projects from around the web

  13. I see in a post that you have changed the picture but that there are comments that i shoud connect header_MISO to target_MOSI is this not true anymore?

  14. Vinay Kumar Pabha


    There is ground connection(G1 and G2) to the shield of the cable in the circuit diagram. But I don’t see any ground connection in the first pic you provided. Is that ground connection is really necessary?

    Vinay Kumar

  15. Practically it is not necessary to connect ground to shield. As you can see 18-25 pins are ground. Grounding connector shield is a good practice of doing this, but circuit works OK if you don’t.

Leave a Reply

Your email address will not be published. Required fields are marked *