Wednesday, May 23, 2007

[AVR Programmer] Simplification of the LancOs'sSI Prog
(Note: If you are looking for a beginners tutorial, you may proceed to:
Most beginners of microcontroller programming need a cheap microcontroller programmer to play around. Most universal programmers are quite expensive, so beginners now try to start with S51 from 8051 series, and AVRs which support In-System-Programming (ISP) capability.
To load program in a microcontroller via ISP, various types of programmers have been constructed. The most popular one is perhaps the STK200 variants, one of which can be found in Peter Fleury's website.
But these variants have some limitations. The cable length should be less than 70cm, and some people have claimed that this device damages the parallel port after using it several times.
LancOs has made a program called ponyprog to load programs into the microcontroller using various types of programmers. It supports the STK200, aswell as programming of other devices. STK200 cannot program PIC microcontrollers (to the best of my knowledge) LancOs has designed a programmer that can program all the devices supported by pony prog. This device can program AVR, PIC-12, PIC-16 and various other microcontrollers and eeproms. (To see the full list go to: The schematic of the SI-prog can be obtained from Lancos web site. Their schematic is great, that uses PCs serial ports drained power to program microcontrollers. They also have optional jumpers to feed in external power to the circuit. The schematic is like this: (click to open)

If you take a good look at the schematic, you will find that the circuit is quite complicated. It might be good for professionals (I’m not sure if it is for professionals) but I thought that for beginners the circuit should be simplified a bit.
If you take a good look at the circuit, you’ll see that a lot of mumbo-jumbos have been done just to drain power from the serial port. I thought that it was unnecessary. If you are not too fuzzy about power, you can just use a 7805 IC and use an adapter to power your microcontroller on your bread board. If that is done, you can omit all the switching diodes (4148s) and the rare-to-find voltage regulator (LM2936Z-5). (I couldn’t find it in my country, Bangladesh, the shopkeeper demanded that it was just equivalent to 78L05, but the Lancos sheet asks not to use a 78L05)
The total circuit then dramatically reduces to:
(Note the pin numbers here
Note: If you connect pin-4 of parallel port directly with a wire to represent it as MISO, and omit the last track of the veroboard, you can fit the entire circuit inside a serial port connector. But I personally prefer to keep the programmer circuit as close to my bread board as possible.
I took some photographs:

Once you have constructed it on a veroboard you can use Peter Fleury's circuit to test. Just connect the appropriate MOSI, MISO, SCK, GND, RESET lines, and write the program using pony prog.

Note: Questions and Comments are welcome: robin boss (at_the_rate) gmail (dot) com (Exclude the spaces and type properly if you are a human, and not a webcrawler....)

(If you are an absolute new bee, then you probably need to visit this page first to see how the things look like:

Update: I suggest you take a look at the further stripped down version here:

Researcher and academician by Trade. Hobbyist webdeveloper, photographer and ametuer musician.


  1. the circuit is really simplified. i m trying to make one as early as possible. den i wil contact with u.

    ur blog is nice.
    thanks for this

  2. where ca i found micro controller chip in bangladesh plz.?

  3. Sajid Muhaimin ChoudhuryNovember 22, 2008 at 12:42 AM

    You can find them in Stadium Market, Dhaka, or in Patuatuli, Dhaka, in Hossain Market

  4. Sajid Muhaimin ChoudhuryNovember 22, 2008 at 12:44 AM

    Check for the Telecom Spares website in my links. They import microcontrollers.

  5. Thanks for your nice blog.What will be the price of microcontroller chip. Although I am trying for PLC. Already tried Siemens Logo and Moller Smart relay and looking forward Siemens S7-300 PLC. But I am feeling interest on microcontroller. I have fixed my target on these device to interface analog device(sensors) and LCD display and also PID computation to make a output.
    But first thing, I need to start.

    EEE-Deputy Manager
    Process Plant

  6. Sajid Muhaimin ChoudhuryNovember 25, 2008 at 12:38 AM

    for a start, I have a tutorial in my blog. Microcontrollers cost: ATmega8 = 70Taka, ATmega32 = 160Taka, ATtiny2313 = 120Taka

  7. Thanks a lot Mr. Sajid.


  8. brother sajid,
    first thanks for your nice blog,i read your- Beginner's Micro controller Programming-III: (Further) Simplification of the LancOs's SI Prog the Serial Port Programmer.
    can this small circuit program ATmega128 ?


  9. It can program all AVR microcontrollers, that have a low reset pin. Check the data sheet of atmega128 to answer your own question. Thanks

  10. heloo,
    it is noce to watch your video on the tutorial of Proteus,
    i have a problem of running a pic16f877 in proteus (running matrix) so far i do not know the frequency of the osc to run a pic in proteus, would you indecate or show me which book that bears this subject

    thanks for your help


Visit My Official Website at BUET

Contact Me
Sajid Choudhury
Dhaka, Bangladesh