[digg=http://digg.com/hardware/Ultra_simple_universal_AVR_programmer]

In this post we are going to see how to Make your own, ultra simple, and universal AVR programmer. Two types of AVR programmers can be built:

1)Parallel port
2)Serial port


Serial Port based AVR ISP Programmer

Serial port programmer(reference: At-Prog) is shown here. Main advantage of using serial port is you can have cable length upto 2m. You can use PonyProg2000 software to program your AVR using this programmer. Serial port generates +- 12V on its pins, thus diodes and zener diode is used to clamp +12V to +5.0V(4.7V due to zener + 0.3V due to bat85) and -12V to -0.3V (due to lower Bat85). You can substitute Bat85 with 1n4148, however it is not recommended because, this diode will clamp +12V and -12V to +5.4V and -0.7V which are not desirable, as per datasheet of microcontroller. Its not that micro will burn if you use 1N4148 diodes, but why to take risk !!.

CIRCUIT DIAGRAM :

AVR Programmer Serial Port - Circuit Diagram

LIST OF COMPONENTS :

1)Resistors 1K,1/4W 4
2)Capacitors 27pF,disc 2
1µF , electrolytic 2
3)Crystal 4Mhz OR 8Mhz 1
4)Voltage regulator 7805 1
5)Connector D9 Female 1
6)Diode Bat85 8
7)Zener Diode 4.7V 1
8)Grid PCB 3″ x 3″
9)Connecting wires

approximate cost : 90 Rs

CONFIGURING AND USING PONYPROG2000 :

  1. All steps are same as described in parallel port programmer section, However during third step do the following settings :select “serial”, from list select “SI prog I/O”, select “COM1″( usually serial port is at COM1, if your computer have more than one serial ports multiple options will be active. Select appropriate, if you know, else do trial&error), check “Invert Reset”. Click on OK.

Parallel Port based Programmer

Note: This is outdated now ! This information has been kept here only for legacy purpose. Use Serial Port based Programmer instead.

Following circuit diagram shows ultra simple AVR microcontroller (SOURCE: unkown). It requires very few components and its very simple to build on general purpose matrix PCB. You can use PonyProg2000 software to program your AVR using this programmer.

CIRCUIT DIAGRAM :AVR parallel port programmer circuit diagram

 

LIST OF COMPONENTS :

1)Resistors 220Ohms ,1/4W 4
2)Capacitors 27pF,disc 2
1µF , electrolytic 2
3)Crystal 4Mhz OR 8Mhz 1
4)Voltage regulator 7805 1
5)Connector D25 Male 1
6)Grid PCB 3″ x 3″
7)Connecting wires

approximate cost : 55 Rs

• As programmer circuit is very simple, u can use substitutes if particular component is not available at your place.
• You will not get 3”x 3” GPCB ready made, you have to cut standard sized PCB. 3” x 3” is just rough estimate

SNAPS :

Following photograph shows programmer I have made for 40Pin and 20Pin AVR µCs. MISO, MOSI, SCK, RESET, X1, X2 , VCC and GND pins of both 40pin and 20pin sockets are connected together.

 

CONFIGURING AND USING PONYPROG2000 :

  1. Open PonyProg2000
  2. Select menu : Setup>Interface Setup
  3. Select “parallel”, from drop down box select “Avr isp i/o”, select “LPT1”. Click OK.
  4. Now select menu Setup>Calibration. A dialog box will appear , click YES.
  5. Now PonyProg2000 is configured and ready to use.
  6. To burn your .Hex file into micro, select File>Open Program(FLASH) file.
  7. Select appropriate microcontroller from the list of devices at top-right. e.g >
  8. Connect your programmer ckt to PC, then place your micro into programmer ckt and turn on its power supply.
  9. Now click on the encircled icon :
  10. When device is programmed you will get “Program succesful” message.

Notes

• Circuit diagrams shown above are generic and suitable for any AVR µC which supports ISP (almost all AVR, you can refer to www.atmel.com)
• Connect pins (e.g. MISO,MOSI, etc…) of AVR to appropriate points shown in circuit diagram.
• You can built programmer for more than one AVR devices by using different IC sockets for each device and doing appropriate connections of all above signal lines ( MISO,MOSI,SCK,RESET,X1,X2) and Vcc,Gnd of each AVR.
• Prefer using ZIF socket with IC base(refer: How to use ZIF socket in circuit without re-drilling holes on PCBs). Though It is bit costly, it proves extremely helpful.

149 Comments

  1. MANOJ

    Dear brother, it is really appreciable effort, Thank you for sharing your knowledge. I would like to know, Is this circute can be used to read and save datas burned in a micro controller?

    Reply

  2. friend iwant brefily explain me friend i understand the port connection and then connect the 40 pin ic how i connect please explain me firend

    Reply
  3. Petr Unzeitig

    Hi,
    is it possible programming of AT89S8253 with this programmer?
    Regards
    Petr

    Reply
  4. BJ

    What device family and device name do I select in the PonyProg to write AT89S52 ? Kindly help me in configuring. I am trying the parallel programmer circuit.

    Reply
  5. rosellaburney

    Thank you for another fantastic article. Where else may just anybody get that kind of info in such
    a perfect manner of writing? I’ve a presentation next week, and I am on the look for such information.

    Reply
  6. asim

    if you upload vedio then people understand more easily how we burn c language file into hex in pony programmer and also show connections for ic we burn it the program in it

    Reply
  7. dinesh

    This very simple ckt of parallel port using 25 pin printer port is working great

    Thanks for your support

    Reply

  8. Serial programer works great with a short cable, but it doesn’t work with a 1.5m shielded cable. Do the wires have to be shielded individually? Or is the cable length limitation due to latency?

    Reply
    • Elecrom

      It is a inherent limitation. Shielding will improve it little bit.

      Reply

      • It actually works with the 1.5m shielded cable, and the speed is quite good. Initially it didn’t work because I made a bubu and misplaced a wire connection 😀
        The 2m length limitation I think is because of the delay in response due to signal propagation through wires, which add a few ns delay .. I guess

        Reply
  9. Arsh

    Hi, elecrom can i use ur paralle
    l schematic ckt to programme AT89S51 using Asim Khan’s Programmer software. Is there any modification required. Please replay as soon possible…

    Reply
    • Elecrom

      I think you can use. Hardware modifications may not be required, but you can tweak the software settings.

      Reply
  10. Miro

    I cant program atmega8-16PU with parallel port programmer. I get code -24 from pony prog; device missing or unknown device?
    i used 5 volt supply from usb.
    any suggestions?

    Reply
  11. szabomeister

    Works well with atmega 8 using 12Mhz xtal

    Reply
  12. priyesh

    THanks elecrom for such valuable information.

    Reply

  13. Hi,

    Is this compatibile with ATMEGA328-PU ?

    Thanks,

    Ujjwal Soni

    Reply
  14. paschal

    i am very greatful for the information it helps me a lot and i hope you can be able to help me someother time

    Reply
  15. Sunil

    Hello..
    I cant find BAT85 in local market…
    So can u plz suggest any option??
    Plz give name and number of part..
    Thanx in advance…!!

    Reply
  16. syakira

    can i used it with avr atmega 128?

    Reply
  17. sabin shr

    hi
    can i program at89s51 using pronyprog programmer
    can i make chage in bat85 diode using max232

    Reply

  18. i want program Mega88.. and i thought you oly need #CS,SI,GND,VCC,SCK,SO
    to program why do you have X1,X2? are those necessary?

    Reply
  19. Mrunal Ahirrao

    Sir I tried to burn .hex in PIC by using other kit but i am getting error ‘verify failed at 0000h’ sir please help… Though this question is out of this discussion but please help me!

    Reply
  20. Mrunal Ahirrao

    Thankyou sir.I am very much thankful to you for designing such circuit and sharing with us! As such kits are much costlier in market.I will be completing this kit soon!

    Reply
  21. Mrunal Ahirrao

    Sir can we use uC other than AVR like PIC on this kit?

    Reply
    • Elecrom

      No this kit is meant specifically for AVR mega16/32 devices.

      Reply
  22. Pulkit

    i did not find the bat45 diode….can it be replaced by any other diode??please reply…i have an urgent need for this programmer

    Reply
    • Elecrom

      diode number is BAT85 not bat45. You can use any schottky barrier diode.

      Reply

  23. It do not need crystal for AVR to program the flash.

    Reply

  24. It works well on Attiny 26.
    I just powered up the VCC from the computer’s supply.

    Reply
  25. Shashank Patil

    bro i am using atmega8L and want to kno abt fuse bit setting and i aslo gone throug ur article but didnt understand ?????????

    Reply
    • Elecrom

      you can use fuse bit setting same as mega8. mega8 and mega8L are essentially the same. Just speed is different. ‘L’ is slower.

      Reply
  26. pete

    Hello guys,

    does anyone know how to connect the following signal lines ( MISO,MOSI,SCK,RESET,X1,X2) and Vcc,Gndto 20 pin socket for invading ATtiny2313 chip?

    Thank you in advance.

    Pete

    Reply
    • mayank (india)

      get datasheet from internet

      Reply
  27. praneet

    Can I use 16 Mhz crystal instead of the 4 Mhz mentioned above for burning the uC? Also what ZIF socket should I buy? I have seen some have 40 pin slots,20 pin(and that to in 0.3 in and 0.6 in).Please help !

    Reply
    • praneet

      Hi elecrom or anyone else, anyway i bought 4 mhz crystal and 40 pin zif. when i use ponyprog i get the error commn port not available -16.when i go to i/o setup and select parallel+avr isp i/o ALL my LPT are disabled although when i go to device manager it says PCI_LPT(LPT3)working properly in the properties! Now i dont know what to do..Iam trying to program atmega8 in xp.please help!

      Reply
      • Ismail

        try this s/w (extreem burner) also

        Reply
  28. Arun

    I want to program AT89S52. but it not in the device list. Hence to program AT89S52 which option should be selected? AT89s53 or AT89s8252 because only two option is there in AT89s series.

    Reply
  29. Srijit Misra

    Can this be made to program AT89c51/52…if so what is the pin out mapping required?Also do you know of any programmer software which supports configurable serial/parallel interface with support for AT89c51/52?
    Thanks.

    Reply
    • Elecrom

      This can be directly used to burn AT89S52 microcontroller using PonyProg software.

      Reply
      • Srijit Misra

        I was talking about AT89C51/52 not AT89S51/52….

        Reply
        • Elecrom

          You can try, Adam Dybkowski’s ISP programmer. Go to SETUP and configure it according to this circuit diagram.

          Reply
  30. Srijit Misra

    Hello Elecrom..thanks for the simple but awesome ckt.
    I made the parallel port version…used 4 Mhz crystal as described in the ckt.
    Made all the other connections(MOSI,MISO,SCK,RESET,VCC,GND) as described.
    I calibrated the Pony Prog…selected AVR ISP I/O….loaded the hex file.
    I want to program AT89S52 … but not having found that I selected AT89S8252 both having similar
    SPI.

    But it gives ‘DEVICE NOT RECOGNIZED’…same with AT89S53.
    So I tried with Asim Khan’s ISP software…
    It gives the message: “No Response from uc..” and mismatch of device signature…
    Kindly help.Thanks.

    Reply
    • Elecrom

      Device signatures for 89S52 and 89S8252 are different as they are two different devices. Pony prog verifies the device signature before continuing. If you want to use Asim Khan’s programmer you have to make sure that parallel port pin configuration of the ISP programmer’s circuit and that used in Asim Khan’s programmer is same. Alternative is to use “ISP programmer” developed by “Adam Dybkowski”. This software has provision to configure parallel port pins. You can change the settings in that software according to the schematic shown on the blog. It works if properly configured.

      Reply
      • Srijit Misra

        I tried with Adam Dybkowski’s Isp programmer version 1.2.0.55 and configured the same according to the schematic given above.Reset–pin9 , Mosi–pin7, Sck–pin6,Miso–pin10.
        This time it reads the device signature and recognizes the same as 89s52 but still cannot program the flash celecromng up with the error :

        Error at 00000000 Byte written 0C read 00
        or sometimes
        Error at 00000000 Byte written 02 read 00
        🙁
        What to do next???
        Plz help.Thanks.

        Reply
        • Elecrom

          It means there is some issue with the programming cable or the device itself. Have u given 5V supply to the uC ? Try inverting the RESET line from software.

          Reply
          • bluedazzblaze

            Yes and many thanks,it is working :)…only problem is that it is loosing the device signature often and is requiring repeated reads of the same for a single write or verification…otherwise it is working fine.

            P.S. I tested with another device with the same result.

            Do you have a comparatively easy usb compatible programmer schematic for SPI programmable devices?

            Thanks again 🙂

          • Elecrom

            USB compatible programmer is “USBasp”. Some people have posted modified firmware of USBasp which enables burning 89S52 devices. See the comments on USBasp related posts on this blog.

          • Elecrom

            USB compatible programmer is “USBasp”. Some people have posted modified firmware of USBasp which enables burning 89S52 devices. See the comments on USBasp related posts on this blog.

          • Srijit Misra

            Do you know of a programmer with software configurable serial port terminal like Adam Dybkowski’s parallel port programmer?

  31. Bishshoy Das

    I am a newbie at these. So please help me clear a confusion. I have read in other websites that you require a MAX232 in between the Female D9 connector and the avr interface to convert the signals correctly. But the circuit for the serial connector does not have any such approach. Does the circuit compensates for that? Please clear my confusions.
    And if someone had made it working plz drop in a confirmation comment, that this works. I want to be absolutely sure coz i dont want to burn the atmega32, i have, instead of burning the code !
    [email protected]

    Reply
    • Elecrom

      Yes, this circuit compensates for the MAX232 through the use of diodes. This circuit absolutely works on PC serial ports (not sure about laptops since USB2Serial converter will create timing problems). And if you want to be on the safe side, you can always buy low cost USBasp programmer mentioned on the products page.

      Reply
  32. Nat

    Thank you so much. I used this with ATTiny2313 worked perfectly. I didn’t need to have the crystal. In pony prog make sure you select your chip type from the drop down. Thanks again.

    Reply
  33. Divyam Chhaya

    I am getting this error “Device missing or unknown device” !!! I just have no idea what to do…Everything is connected properly…But still !!!And above that, write failed…. 🙁

    Reply
    • Elecrom

      If you are using brand new microcontroller, you will have to put USBasp in slow clock speed mode, by closing the “slow clock” jumper on USBasp.

      Reply
      • Divyam Chhaya

        Bro, what u said,just went above my head..! 😀 Whats Whats USBasp..??

        Reply
        • Elecrom

          Ohh … I am sorry. My mistake. Anyways, in your case check these things : Check whether u have connected crystal or not and uc is getting power supply or not. Which programmer you have made ? serial/parallel ?

          Reply
          • Divyam Chhaya

            I have made a parallel programmer.Will the computer detect the LPT port as soon as I insert the device in…?.
            Look.Il tell you.I completed the circuit, inserted in my PC’s printer port, made a hex file copied it to pony prog,, and clicked on the icon which u said, to write into the microcontroller.Then it says “Device unknown, or missing”….:O
            If this is made, I have a lot of stuff to be done.. 🙂

          • Elecrom

            When u use Pony Prog for the first time, you have to calibrate it. Also, you have to specify ur parallel port (LPT1) in PonyProg settings. Wire length should be less than a meter. If still it doesn’t work, then may be parallel port itself has some issues, so you should check it with another computer.

  34. Ravi Singh

    i am having windows & as my Os and i bought a usb to serial programmer to program my atmega 16 development with no boot loader on it.as serial cant program the atmega board can i use a serial to isp and use both usb to serial and serialplease reply soon
    to isp in combination on my laptop.will it work.
    http://www.nex-robotics.com/products/usb-and-ethernet-interfacing/usb-to-rs-232-converter.html

    Reply
    • Elecrom

      It is observed that Serial-to-ISP doesn’t work on laptops, when you use common USB-serial converters. You will have to get USBasp programmer or any other similar device.

      Reply
  35. mahesh

    hello sir,

    i m doing it serialy it require any baud rate setting?

    Reply
    • Elecrom

      No, Buad rate is configured automatically by pony prog.

      Reply
  36. Sandeep Kumar

    thanks…nice one…

    Reply
  37. sha

    elow. elecrom or any other.. want to know if this programmer will work for my chip AT89c2051.. pls reply. thanks a lot..

    Reply
    • Elecrom

      It depends on the software. Pony Prog doesn’t support AT89C2051. Best way is you can go for AT89S52, it is compatible.

      Reply
      • sha

        thanks for that. ISP programmer i think supports at89c2051 but i can’t find any MOSI and MISO pins in AT892051. is has only RXD and TXD pins. pls help…..

        Reply

  38. thanx a lot 🙂

    Reply
  39. Basharat

    It is really a simple and effective progreammer… wow

    Reply
  40. nugroho

    is it possible to combine the serial port programmer with serial communication circuit (eg. MAX232 circuit) ?

    thank’s in advance

    Reply
    • Elecrom

      Yes possible, but with some switches and shorts.

      Reply
      • shasha

        Where can i get the schematic for combined programmer and serial communication for AVR?

        Reply
  41. John Karavas

    Is this programmer compatible with ATMEGA8535/16PU ?

    Reply
    • Elecrom

      yes. This programmer can program any AVR.

      Reply
  42. Sumon

    But in pony prog 2000, i cant find AT89S52 uC.There are only AT89S8252 and AT89S53, so Which programmer i will use??

    Reply
    • Elecrom

      u can use Asim khan’s ISP programmer software. It work with this parallel cable schematic.

      Reply
    • SHERGILL

      Kindly tell me whether the parallel port programmer given here can erase the program already on AT89S52 or not???

      Reply
      • SHERGILL

        My correct email is this.

        Reply
        • Elecrom

          ya. Parallel port programmer shown on the page can erase the existing program on AT89S52. Use Pony Prog.

          Reply
  43. Sumon

    can i burn AT89S52 by this programmer???? plz reply.

    Reply
    • Elecrom

      Yes very much. You can burn AT89S52 with this programmer.

      Reply
  44. Sumon

    How can i erase a micro controller program? plz..reply as soon as possible?

    Reply
    • Elecrom

      see the PonyProg’s help file.

      Reply
  45. Sumon

    How can i erase a micro controller program? plz..reply as soon as possible.

    Reply
  46. Debashis

    I don’t have any serial/parallel port on my laptop, only has usb port,so can I use any USB to parallel port converter with the “parallel port programmer of avr”?
    will it work?
    plz reply her or plz mail me.plz it’s urgent.

    Reply
    • WinCrazy

      Yes, but make sure the parallel port side has “full 2-way bidirectional” communication abilities. Many/most cheap USB/parallel adapters do *not* have this capability. If the unit is not advertised to have this then it probably does not.

      Reply
  47. SUNIL

    helo i need to glow LED by the c or java program or any how will i do it………….

    Reply
    • SUNIL

      I HOPE U CANT DO

      Reply
  48. PAVAN

    hey elecrom..
    i am totally new to robotics and microcontrollers…

    well to program my atmega 16/32..wat to do??

    well i don hav parrallel and serial port..then how to burn program on to it??
    pls..reply to my id [email protected]

    Reply
  49. pranav

    hi elecrom
    the cable u provide for the serial interface between pc and max232 …
    is this cable a rs232…

    Reply
  50. dh@v@l

    i want to use the atmega 8 for my projedts than which pins i have to for load program in to controller?

    Reply
  51. dh@v@l

    Is it neccesary to have a d25 female port in your computer?

    Reply
    • elecrom

      Yes, absolutely !! It is printer port based programmer. If you don’t have printer port you can try serial port based programmer. If you don’t like that also, you can try USBasp.

      Reply

  52. i built this circuit but it only would set pins either on or off. was wondering if the reset needed to be differently hooked up? (programming a AT90S1200)

    Reply
    • elecrom

      >>Benski
      Connect 47K pull-up for reset and make sure that your uC supports In system programming. I didn’t understand : “i built this circuit but it only would set pins either on or off”

      Reply
  53. Rony

    i will like to know if i can use this to program at89s51, i need a working one badly. thank you

    Reply
    • Supreetha

      Rony, a nice programmer for Atmel 89series with serial or usb support is available at http://www.united77.com/89programmer.htm
      It can program any Atmel device which starts from AT89.
      Good luck

      Reply
  54. elecrom

    >>Mize
    Reset line should be pulled high on target board using 47K resistor. No other things are required. When you finish the programming and want to run your program, be sure to remove ISP cable from target board, or your uC might be kept in RESET condition, by pony prog.

    Reply
  55. Mize

    I was wondering about the reset line, and if you can setup some kind of switch, and if so will that work since it’s directly from the programmer. As well, do you have an recommendations for target boards, or sites that have good designs for target boards that can utilize your ISP. Thanks again.

    Reply
  56. Aldrin

    Hi …can u pls tell me wht OCR2=49 means…
    actually m trying to get an interrupt of 160Khz using 16Mhz clock
    so m using da clock without prescaling it by setting TCCR2=0x09
    den if I set OCR2=49 will u pls help me out in knowing what will happen…?

    Reply
  57. Aldrin

    Thanks a lot…

    Reply
  58. elecrom

    >>Aldrin
    AVR, I will recommend you two books :
    – Programming and Custelecromzing AVR – Dhanajay Gadre
    – AVR microcontroller primer programming and interfacing
    – and of course … exact and to the point information is available in datasheet of the respective controller

    #asm, #endasm is used to insert inline assembly code into your program. It is specific to CodeVisionAVR compiler only.

    Say for example, in some application you need the delay of exact 500ns. Operating freq of uC is 16MHz. Now to generate this delay you can use 4 NOP instructions in ur programm. 1 NOP takes one clock cycles and so 4 NOPs will produce desired delay. It should be written as follows :

    #asm
    nop
    nop
    nop
    nop
    #endasm

    If you want to include only one single instruction in then you can do it with :

    #asm(“nop”)

    Reply
  59. Aldrin

    hey … can u pls explain to me also why #asm and #endasm is used..

    Reply
  60. Aldrin

    Hi …I dunno if u remember me…hw u doin..?…can u pls tell me a gud book on internal Architecture and programming of Atmel32 if u knw

    Reply
  61. elecrom

    >>Mize

    Whatever you have mentioned is correct you can use capacitors from 20pf to 30pf. However after going thorugh few microcontroller datasheets and some application notes here is what I follow :

    As a thumb rule : for crystals between 1MHz to 4MHz use 33pf capacitor as a load for crystals having freq more than 4MHz upto 8MHz use 27pf and for crystals having freq more than 8MHz use 22pf.

    Reply
  62. Mize

    I have been very interested in building this myself but am a little confused when I go to choose a crystal. There are many that specify a load of 20-30pF and some that say series. I was wondering if you could tell me which one I need to build the serial ISP. Thanks, and great site, really has peaked my interest with AVR.

    Reply
  63. elecrom

    >>Siddi
    Are you sure you have already set mega16 to internal 8MHz oscillator ? Whenever you buy brand new IC from a shop, it is by default set to internal 1MHz oscillator. If you would have set the fuse bits to use external crystal then, uC will not function until you connect crystal to it.

    ATmega doensn’t need anything special for programming. Everything is handled by the ponyprog. If your setup is not working, then there can be problem with uC or problem with parallel port converter. I have already mentioned that is it not guaranteed that such converter will work for uC programming.

    Reply
  64. Siddi

    I just connected the following signals between controller and the parallel port

    1. MISO
    2. Vcc
    3. SCK
    4. MOSI
    5 RESET
    6. GND.
    (all signals are directly connected, no pull-ups or pull-downs)

    I just have 7805 with capacitors and am using the default internal 8MHz oscillator)

    Parallel port is under bi-directional mode (I tried also all other possibilities).
    I used all default values at PonyProg:
    Interface setup: Parallel: Avr ISP I/O
    I get Probe test:OK
    Calibration test: OK

    But when I tried to program the atmega16 I always get this errror:
    DEVICE MISSING OR UNKNOWN DEVICE (-24).
    It doesn’t even erase, neither writes program in it. I always shows the same error like above

    Does atmega16 need some special initialization command tho make the isp programing possible or am I missing something here?

    Can anyone help me please?

    Reply
  65. elecrom

    >>Siddi
    Fuse bits:
    – For fuse bits setting refer to another post regarding the fuse bits on this blog.

    Programming:
    – No. Same header files won’t work for AVR studio. Examples shows are for CodeVisionAVR. You can download evaluation version from : http://www.hpinfotech.ro/html/cvavr.htm

    Laptop parallel port:
    – I’m not very sure, but as I got feedback from others, it is not guaranteed. Such converter generally do not work.

    Reply
  66. Siddi

    I am a newbie to electronics and have now spent days collecting information and downloading software’s from internet. Can someone please tell me how to change the fuse bit settings wen i use and external clock?

    I have understood the programming as explained in the “Avr tutorial 2”. Does the same header files and the same programming terminology get compiled if i work in AVR Studio 4…?

    I work on my laptop, so is it ok if i use a USB to parallel converter too burn the programs in the uC through my laptop…?

    Please reply as soon as possible

    Reply
  67. yashin

    Sir,
    I have done this hardware using the parallel port .I have few problems please help me.
    1 :Will the ponyfrog works on vista.
    2 :Can I use this software for AT89s52 and AT89s 2051 because these are not in the device list.
    3 :What is the message mean communication port missing(-16). Is this mean my hardware is faulty.

    Reply
  68. elecrom

    >>Kister
    Yes. You have to make sure that when you are programming the uC, its VCC&AVCC pin gets +5V. Otherwise it won’t get programmed. I don’t know how it worked,in your case, with PIC without powering it up with +5V supply. Whenever you program any chip, you must give appropriate supply to chip.

    Reply
  69. Kister Jimenez

    Ah! ok. Thanks.
    Do I really need to plug my circuit on when I program it?
    Because when I use my sercon2 for ISP of PIC I didn’t have to supply any external power source and it worked.

    Reply
  70. elecrom

    >>Kister
    Yes it is taken from sercon2 mini. I have given the reference too. Only thing I added is I made it more complete by adding crystal and supply connections. Sercon2 Mini assumes that all things required for uC to run(like correct supply and crystal) are already in place. I have specifically shown them in this diagram to avoid confusion. If you have those things already in circuit (i.e. if you are doing In System Programming) then of course you can elecromt them.

    To make sure that your programmer works, keep wire length less than a meter. And construct the programmer on the grid PCB. Don’t solder any components hanging in air.

    Reply
  71. Kister Jimenez

    Oh, I found this link which has the same hardware except for the X1,X2, and VCC part.

    Can I use it to program an AVR in circuit with 20MHz xtal?
    Can I use your serial version without the crystal and VCC?
    What’s the consequences?

    Reply
  72. Kister Jimenez

    How can I check if the serial version programmer is working? Is there a tool in the ponyprog that detects the connected programmer?

    Reply
  73. elecrom

    >>Shyam
    Yes you can get 8MHz from internal RC oscillator of mega8. However the problem is, this frequency is highly unpredictable and dependent on supply voltage and temperature. 8MHz is nelecromnal freq. It can deviate by as much as 10%. So this option will be of no use if you want accurate timing in your program. Also you cannot use UART with this RC oscillator. Since actual operating freq. is very difficult to find out and it keeps on changing.

    Reply
  74. Shyam

    Thanks…elecrom

    btw my last question is that without using an external crystal can i get a frequency of 8Mhz from RC oscillator(internal) by changing the fuse bits ??

    In case i face any prob i will get back to you with my prob…thanks for helping.

    Reply
  75. elecrom

    >>Shaym
    NO !!!
    You are saying u want to use 16MHz crystal, this implied that fuse bits settings has to be changed from internal oscillator to external crystal. Once you do that, ur uC will run only if crystal is connected. In order to burn the program into uC, uC must get the clock. Therefore you will have to connect crystal. It is better that you follow the circuit exactly as given, and connect 4MHz crystal. Whereas in your system(or on breadboard) you connect 16MHz crystal.

    Reply
  76. Shyam

    If I do not connect any crystal in the burner circuit then also it would be fine ?

    Reply
  77. elecrom

    >>Shyam
    If your program is written considering 16MHz crystal, then you should use 16MHz crystal while running the program on uC and apply fuse bit settings accordingly. You have to configure fuse bits for external crystal more than 8MHz. It doesn’t matter which crystal you use for burning the program into uC. So you can safely connect 4MHz on ur burner circuit.

    Reply
  78. Shyam

    I am in totally confused state with those fuse settings.

    I am using a 16MHz crystal for the main program on my MC.So while burning the MC would i require a 16Mhz crystal in the programmer circuit or a 4Mhz crystal or none at all.What fuse settings should i follow ?

    Please reply soon if possible with the fuse settings.

    Reply
  79. elecrom

    >>Shyam

    >>I am new to programming of MCs.I would burn Atmega8 through that parallel programmer.
    >>I want to ask that in the circuit you have used a 4Mhz crystal,so for that do i need
    >>to change the fuse settings ?

    When you buy ATmega8 from shop, its fuse bits are configured to use internal 1MHz RC oscillator. So while burning the code you don’t need any crystal as such. And you can use the uC without connecting any crystal.

    However, if you decide to change the fuse bit settings from internal RC oscillator to external Crystal then you will have to connect the crystal. Means, Suppose :
    You Want to change the fuse bits settings so that uC uses external crystal Then —
    – You need not connect crystal first while setting the fuse bits for external crystal configuration. Because, whenever fuse bits are re-written, new settings are applied after uC is resetted.
    – So for changing the fuse bits settings, you don’t need crystal. But once you execute the command for changing the fusebits from pony prog, then, from that time onwards your uC will not work, until you connect the the crystal
    – Thus best way is keep crystal connected in the programmer circuit. It will be simply ignored by the uC when internal RC oscillator is selected.

    >>Second query is that after burning for the first time how to burn the MC for
    >>the second time and how many times it can be programmed(at max)?

    You can simply execute the programming sequence mentioned above. There is no difference between burning the uC for 1st time and for 2nd time(and so on …). uC’s internal flash memory gets wear out after reprogramming it for certain number of times. For ATmega8, you can safely reprogram it upto 10,000 times. This is mentioned in the datasheet of every AVR on the very first page. It is written as : “Endurance : 10,000 write/erase cycles”

    Reply
  80. Shyam

    I am new to programming of MCs.I would burn Atmega8 through that parallel programmer.I want to ask that in the circuit you have used a 4Mhz crystal,so for that do i need to change the fuse settings ?

    Second query is that after burning for the first time how to burn the MC for the second time and how many times it can be programmed(at max)?

    Reply
  81. elecrom

    >>Mantu
    I have posted the diagrams on this blog post. You can download them from this page itself. and The PonyProg 2000 you can easily download from the net.

    Reply
  82. mantu

    i need AVR burner so u kindly send the ciruit diagram of the burner and the program to the following email address:
    [email protected]
    [email protected]

    Reply
  83. elecrom

    >>Jan
    If your uC is brand new, it will get programmed without crystal. This is possible only in certain AVRs which have internal RC oscillator. Once you change the fuse bits to enable external crystal, then you will have to use crystal from there onwards.

    Reply
  84. Jan

    Is necessary use crystal or can I use internal oscilator?

    Reply

  85. Nice stuffs, keep doing 🙂

    Reply
  86. elecrom

    >>Er
    Yes it can program any AVR which supports SPI programing.

    Reply
  87. er

    Can it program a Atmega8? Need a cheap programmer.

    Reply
  88. elecrom

    >>Sayed
    you should use the serial cable only. USB to serial cables doesn’t work for this purpose.

    Reply
  89. Sayed

    thx for the circuit . i’ve done serial one but i’ve question . i connect all circuit and connect D9 female from here can i get serialUSB cable and connect this cable to PC and download program or serailserial cable?? . thx and excuise me for stupid question bcz im new in electronics :D.

    Reply
  90. arun

    hey guys can dis programmer be used for ATMEL ATTINY84 microprocessor …….
    buddies reply soon guys……..

    Reply
  91. elecrom

    >>Krishna
    This programmer can burn all AVRs, 89s52, I2C EEPROMs using PonyProg2000 software.

    Reply
  92. krishna

    can we burn all the microcontroller using this programmed? . I have interested in this project. please let me know

    Reply
  93. anshul

    >>elecrom

    thanx elecrom…

    Reply
  94. elecrom

    >>Anshul,
    Yes … It can program any AVR which supports ISP ( almost all AVRs support ISPs). It can also be used to program 89s52, and EEPROMs using ponyprog2000.

    Reply
  95. anshul

    Is these programmer can be used to program ATmega16 controller…

    Reply

  96. elecrom

    @ARUN
    Yes you can use this circuit to burn uC again. For fuse bits setting refer another post on fuse bits on this blog. There you will find settings for “ATmega16/32 – external xtal upto 16MHz, full oscillator swing, slow rising power (65ms), JTAG disabled” Use these settings.

    Better use 16Mhz xtal for your mega32.

    Reply
  97. Arun

    Hey thats a great circuit……….

    I want to know 1 thing…………..I hav burnt a code in to microcontroller

    -> now i want to write another program & burn in to the same microcontroller……………so will this circuit work or do we need something else to fuse the bits.

    and also Hey I am using ATmega32 so which crystal should I use

    Reply

Leave a Reply

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

This site uses Akismet to reduce spam. Learn how your comment data is processed.