AVRISP is a 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 the parallel port. The programmer on a parallel port is much simpler than connected to a serial port because there is no needed voltage adapter like MAX232. You can only connect your MCU directly to the port. But for safety reasons, there is good practice to use buffer ships like 74HC244.

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

I wanted to make a compact programmer, so I put a circuit inside the 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. 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.

  4. 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!

  5. 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

  6. ISP Header image changed. No more confusion.

  7. 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…

  8. 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?


  9. 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?

  10. 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

  11. 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