Tuesday, June 28, 2011

USB 8051 (89 series) & AVR Microcontroller Programmer

About the programmer

         This simple microcontroller programmer can progam most of  the 89 likeAtmel' AT89S51, AT89S52, AT89S53, AT89S8252, AT89S8253  including the Atmel AVR series of microcontroller , it does not support 89C series . It simply consists of an ATMega8 and a couple of passive components. The programmer uses a firmware-only USB driver, no special USB controller is needed.


  • Works under multiple platforms. Linux, Mac OS X and Windows are tested.
  • No special controllers or smd components are needed.
  • Programming speed is up to 5kBytes/sec.
  • SCK option to support targets with low clock speed (< 1,5MHz).
Note :-if you have all ready have your USBasp programmer which is previously posted on my blog as USB AVR PROGRAMMER then there is no need buid new hardware you just need to change the firmware of the programmer microcontroller.

Simple Steps to made This programmer

Step 1:-
 Step 1:-

Download:Firmware and circuit
The following packages include circuit and firmware.
Firmware is the software which going to be burn into programmer's microcontroller, this firmware have code to enable the programmer to communicate with pc via usb and target microcontroller

Click This link to dwonload the Firware and circuit
usbasp8051(4 kB )

Please refer to Readme.txt for details on building, installing and using USBasp.

Schematic USB 8051 & AVR Mircrocontroller progammer

Step 2:-

Buy The parts You need

Part Descirption Qty
ATMEGA8 Microcontroller 1

3.6 Volts Zeaner Diode 2

22pf Capacitor 2

100nf Capacitor 1

4.7uf capacitor 1

12Mhz Crystal 1

10K Resistance 1

1K Resistance 3

68ohm Resistance 2

2.2K Resistance 1

LED Led (Red & Geen) 2

USB connector 1

USB Cable 1

3 Way dip switch 1

Step 3:-

PCB and Part Soldering:-

You can create your own pcb using any PCB editor like eagle, OR you can solder the circuit a general purpose pcb, You Can also Use PCB created By me Click here to dwonalod my pcb design
USB AVR Programmer PCB Created by Me For your use

Step 4:-

Getting The Atmega8 Microcontroller Ready To be used as a programmer:-

Getting the atemega8 microcontroller ready to be inserted into the newly soldered pcb ,and start working. you have to burn the firmware which you just downloaded in the Step 1 into the atmega8 microcontroller. you can use the serial avr programmer to get this job done. click here to know about how to make a serial avr progammer and how to program the atmega8 by using a serial avr programmer.

Note:- Make sure you burn the right fuse bit configration along with the firmware into atmega8 microcontroller
for atemega8 the fuse bit are
atmega8 HFUSE=0xC9 LFUSE=0xEF

if you have a problem how to burn those fuse bit use the give serial avr programmer then please visit serial avr progammer page for detailed information

Step 5:-

Driver installation on a PC:-

At the first time when you connect your programmer to the pc your programmer will be dected as usbasp and you have to provide a proper path for drivers to be installed.
this programmer use same driver as my privous usb avr programmer use

USB AVR prorammer Dected By the widnows

Give the Instruction for a specfic location driver installation

Give the path for driver to be installed

USB AVR Programmer installed

USB AVR programmer is being connected and shown in device manager

On Linux and MacOS X no kernel driver is needed.
Windows requires a driver for USBasp: usbasp-windriver.2009-02-28.zip (70 kB)

Note: Windows Vista/7 x64 requires drivers with digital signature. Currently there are no official drivers for libusb (USBasp software is based on it) with such a signature. Users reported that there is a tool named "Driver Signature Enforcement Overrider" to avoid the signature check.

Step 6:-

Programming the other microcontrollers:-

You can use Progisp software to burn the hex file in to the traget microcontrollers.
note:  i don't suggest you to use any other sofware then the progisp. but if this works with any other then you are free to use that.

      click here to download progisp168


Connections to the traget microcontroller:-

* you can programe may microcontroller by using this schematic , all you need to do is that find out the data sheet of that mcu you want to program and check the pin configration. and the look for PIN MOSI MISO SCK and Reset , the connection will be as follows


USB B type female Connector

10 PIN IDC connector (which shown in the schematic as x2

if sombody face any trouble then please let me know


  1. what are the other supported mcu s. does it support atmega 32 or 32a?
    i have a 32a btw :(. what to do if it doesnt support?

    i've a confusion. the 8051asap.rar shows 260 kb. but when dl-ed, its only 4 kb, containing a file "main.hex". am i right?
    thnx 4 this version . i want to build it asap :)

  2. Yes it does support atmega32

    it support all the avr devices supported by usbasp

    including newly added 89 series of devices.

    sorry about error of file size shown that is just a mistake of typeing it actuall 4 kb (a hex file for mcu)

  3. thnx 4 ur reply (& bro,no need to say sorry :D)

    one of my friend build the USBASP of the website "fischl.de" recently. i told him about this programmer last week & he regreted that, he wanted to make this type of allround progrmr.

    now bro,can that usbasp be converted to ur progrmr (8051+AVR) now ? can u show me the way or either it's not possible?

  4. yes that usbasp can be converted into this programmer (8051+avr)

    all you need to do is

    download the firmware take a atmega8 and just burn this fimware into that with fuse bits same as usbasp

    then put this newly burned atmega8 into your usbasp circuit and you are ready to go

    but from now on you should use only avrdude (CUI) or progisp(GUI) pc software for burning other chips.

    i prefer progisp because its gui and it support both the 8051 and avr but avrdude support only avr and not a gui

  5. plz give me source code of the firmware for 8051 at email address harshborad@gmail.com

  6. please give me the source code of the firmware.. i'ld like to go thru it and learn...
    pls mail it to vinayvs1991@gmail.com

    1. This comment has been removed by the author.

  7. I need the source code...can i get it..plz

    Thanks in advance
    Arsalan A Rahim
    UET Lahore, Pakistan

  8. can it program a 40 pin at89s51 ?

  9. Yes
    it can program 80 at89s51 and at 89s52 both

    you just have to locate mosi miso sck and reset pin from the data sheet and connect those pin to programmer

    1. sir do we need to perform step 4 i.e. do we have to burn firmware usbasp8051 into at89s51 too.and could you provide me with the fuse bit configuration for at89s51

    2. step 4 says :- you have to first burn the firmware (that you have downloaded in setp 1) into the atmega8 mcu to act like a programmer.this firmware enables the programmer device to communicate with the computer usb port and the target chip you gonna program for your own use.
      only after doing this you can program other mcu by this programmer.

      the atmega8 as you purchased is not programmed any firmware. it's blank actually.

      so after step 4 only your programmer is ready to use
      now you can connect it to your 8051 mcu to program your firmware into the 8051 mcu

      if still have any question please feel free to ask

    3. and the fuse bit config
      actually have a prog isp usb avr programmer that has an ic base with 40 pins so how do i go about doing things

    4. those fuse bit are for atmega8 ""The Programmer MCU""

      all you need to do is that locate MOSI MISO SCK and Reset on that 40 Pin socket and connect them to your target mcu to the target MOSI MISO SCK and Reset.

  10. can we attach 1 crystal to both atmeg8 and the target mcu ?

  11. no
    the 12mhz crystal is to provide clock to the programmer

    and other crystal may be 4 or 8 mhz will be used to clock the target mcu

    it is not possibe to clock both of them with single crystal

  12. ok..thnx and can u plz tell the approx cost of this project in INR considering each and every part (with atmeg8 and at89s51/52) ?

  13. atmega 8 cost 100 to 150 rupee in delhi

    at89s51 &52 cost 40- 50 rupee

    crytal cost around 5-10 rupee

    so i can say cost is not more than 250 INR

  14. hi..,i have a few doubts in the circuits..
    1) we have to set Jumper1, but do we have
    to set Jumper2, and Jumper 3 ?

    2) What is exactly X2 in the circuit. ?

    3) While resting the programmer, do we have to
    reset atmega8 or target mcu and how ?

    Thanks in advance..

  15. j1 is for switch target board power supply on and off which is delivered by the programmer

    j3 is for slowdown programming speed ,, few chips doesn't support fast programming (chip enable program error occur) so set this jumper to slow down programming speed clock

    j2 is set when you want to upgrade firmware of the programmer

    x2 is nothing but a general purpose connector you can use any type of connector may be burg strip as i used and my be polarized header or idc 10 pin connector

    3) no there is no need to do that
    but if you do it's good

    to reset the avr just pull it's reset pin down

  16. where should we connect the LED's in the schematic given ?

    and is it ok if we do not connect the x2 and connect the wires directly ?

  17. + terminal of led goes to a resistor , then Vcc
    - terminal of led goes to mcu pin

    it's fine if you want to connect wires

  18. hi..

    i made this hardware, do i need to make the srial avr programmer hardware too ?

    now, when i conect my hardware to pc, and open ponyprog, i cannot access the COM ports.

    moreover the probe result is shown failed..

    wat can be wrong. the connections are fine.

  19. Also the led is not on when i connect to PC.

  20. hi

    have to burn the firmware and fuse bits into programmer's atmega8

    if not then first you have to do this with the help of some kind of programmer

    if you have access to some other programmer then it's fine use that for burning programmer's firmware , if not then you can make the serial port programmer then burn the firmware to the atmega8 first and then plug into the usbasp board

    why are you using ponyprog ,does poneprog support usbasp?

    and it's usb programmer ,it does not connect to COM port

    please use porogisp which is available for download from my blog

    led are not glowing means that you did' burn the programmer's fimware

  21. thnk you for ur reply.

    i'll burn the hex file in my atmega8L through some other programmer. and then will use porogisp for burning the target microcontroller.

    and i used ponyprog as per ur method stated in serial avr programmer.

    1. will u please tell me how did u burn ATmega8L?? what programmer did u use for burning..

  22. i dont have a db25 or db9 pin in my laptop.
    is there an another way to make the serial avr programmer ?

  23. you have burned the firmware that's good

    have you burned the fuse bits too??

    the ponyprog software is only to use with serial port programmer not with usbasp

  24. if you have access to other programmer then there is no need to make the serial port programmer

  25. no i have not burned yet..
    i dont have another programmer to do that. :(

  26. then you have to arrange the programmer or make that serial port programmer and use with some older kind of pc

  27. if really have to access then
    you send me a atmega8 i can burn the
    programmer firmware for you and ship it back to you
    for free

  28. i'll see.. here there is access to a lot of programmers .

    so thank you for ur concern.

  29. 1) Can u help me out with that X2 connection,

    what exactly is it showing ??

    As u said X2 is a connecter, should those pins be left open ??

    does it mean '1' is shorted with '2', '3' with '4', '5' with '6', '7' with '8' and '9' with '10'.

    plz explain in detail.

    2) Also what is VCCINT ?

    3) How should the default JUMPER postions be ???

    4) Can i use a Standard Female USB A type connector ?

    I would be glad if u edit the circuit with a connector which you used in PCB or by skiping the connector .

    Please reply as soon as possible to faiz.ahmed321@gmail.com

  30. i madethe programmer and tried to program AT89S52
    with 12MHz xtal . Progisp says write sucessful but actually microcontroll does not perform work when used as nothing is written on it .

    1.I verified the flash ! it say verification sucessfull but it doesn't work .
    2.What is Enabled Xtal option in progisp above Auto command button and what do we have to do with config tab in the same and power on option .

    help!!!!!!!!!.is it mistake in circuit or software or you tell..........plz

  31. hi sunny

    if you are successfully programmed the mcu then the programmer is good

    there may be fault with you target circuit hardware or software

    i can take a look of that you can send me your schematic and source code to

  32. hi Faiz

    i use just a burg strip

    you can use any connector you want or just directly solder wires.

    Vccint is pin from where the programmer board supply voltage to the target board (if required by the user).

    jp1 is open or close if you want the programmer to supply voltage to the target.

    jp2 is open if you are using the programmer
    or jp2 is close if you want the programmer firmware to be changed

    jp3 is open in normal condition
    but if the target is at slow clock the jp3 is use to force the programmer to slowly(with slow sck) program the target chip

  33. Thanks, for consideration .There was problem with progisp i redownloaded it and now it's working .

  34. does this supports all 8051 mcu??

  35. Hi
    Is it possible to make a mouse out of it and how much does one of those MCUs cost?
    How many buttons would be possible?
    Greetz Jan

  36. Gaurav
    Thanks for the Reply

    I programmed the Atmega8 with settings "SI Prog API" but not "SI Prog IO" Because i attached a Serial port card to my PCI. (The documentation says to use API if i have attached a card)

    when i connect the board to PC via USB it says "Device Unrecognised"

    How will the LED work ?? What does red and green mean ??

  37. Gaurav
    I have rectified my above error's
    when i connected the board it showed USBasp connected,
    i gave the path and it installed successfully, it is also shown in devices.

    But the LED are not responding and software "progisp168" is unable to detect the board !

  38. @Gaurav
    when i connect the board the area shown in picture gets highlighted.

    My LEDS are not responding (I have checked with multimeter.), will they work only when i start to program a IC ?

  39. if progisp detect the board then it should work fine

    may be led placed wrong

  40. Hi,
    can u give me ur email id ?
    i want to send u the ATmega 8 as i cannot burn the file.


  41. @Gaurav
    You are right, actually i placed a wrong resistor, which pulled the whole 5 volts, not letting LED blink :)
    Thank you.

  42. @Gaurav
    in the software progisp how should the lock bits be ??
    11 or 00 ??

    I think i have put my controller in locked mode, how to bring it back to normal mode ??

    Thanks in Advance..

  43. @Gaurav

    I cannot write into a IC, I can only read !
    I have checked with 4 to 5 IC, all can be only read but not written into.

    It says write successful
    (when i hit on write flash, the green led blinks for just a fraction of second, the status bar finishes the writing in a second and it displays write successful),
    also after writing when i read it back, the data is not written (it remains unchanged).

    What might have happened !

  44. please try to click verify button

    if the verification complete successfully then it's fine it should work

  45. Thanks for the reply.

    There is problem in erasing, blank check, writing.
    (the software says successful, it does it in milli seconds)
    reading is good..

    do you think there is hardware problem ?
    Some times the progisp works, around once in 100 tries :(

  46. if the firmware that need to written is very small then the time should be very less
    but in reading it always read the whole memory

    what message you got when the proisp doesn't work

  47. please try to set the j3(slow sck) and try reading writing and verification

  48. i tried it, it's not working. :(

  49. have you checked the hardware and power connection to the target board

    please try to re download the application and re burn the board mcu firmware

  50. yes, i have.
    damn it's testing my patience.

    hmm.. okay i will repeat it.

    lets hope for good.

  51. @Gaurav
    are you on facebook ?

  52. @Gaurav

    The problem still persist !
    help me out plz.

    I can only read the IC,
    I cannot write lock bits or ERASE the IC !

    if i erase it says "ERASE SUCCESSFUL" but when i do a blank check it says "FLASH IS NOT EMPTY"

    why is it happening.

    can you mail me the firmware code ?
    my email id is : faiz.ahmed321@gmail.com

  53. hi,
    i connected the circuit to the pc and it says device not recognized but the green led light is on. What is the problem ?

  54. Hey Gaurav,
    i made the circuit properly and followed all the steps as shown clearly on this site. I m using progisp for programming AT89S52. I have selected usbasp and AT89S52 in progisp and have loaded the hex file. When I click erase or auto button it says no programmer detected. In device manager it is showing USBasp with the correct icon.
    Is der any way to check connection of programmer. The hardware is completely ok as same hardware with different firmware IC is working for atmega16.
    I am using keil to make hex file. Do I have to make any changes while creating hex file.

    Thanks and Regards,
    Ankur Saxena

  55. hi,
    ur using rxd &txd from atmega8 to programming pins .For programming rxd and txd is it reqiured to connect it to target mcs?.

  56. @nidhin

    i think it should support89s4051

    you have to connect MOSI MISO SCK RESET
    ,,power VCC and GND
    and crystal
    to target mcu

  57. dear gaurav,
    thanx for ur reply,i have made this this is working.i have many mcs (like at89c52,89c4051,89c2051,89c55wd) are not supporting,"CHIP ENABLED PROGRAM ERROR" IS showing,bt 89s52 is programming perfectly,lots of thanks for that.pls help me for previous problem.then i hav to ask u for what purpose red led is using?.

  58. May I have a source code. . . Going to learn through and may possibly to add some features to program PIC as well. . .


    Sarhad Universty, Peshawar, Pakistan

  59. hi guys
    i have use this 4 3 year
    but whenever i wrote fusebit bad (write fuse in higher than 8mHZ without crystal)
    i must be program the micro with stk500 to return it to back
    i heart it can back with hivoltag programing (an interface)
    can u attach an hardware to refuse the micro

  60. sorry i could not program my 89c2051 using this programmer.but i have programmed avr's using usbasp..what are the equivalent pins for mosi,miso,sck and reset in 89c2051?your help will be kindly regarded.

  61. 89C51 is similar with 89S51? is this right? Could I use this usbasp for AT89C51?

    Gina, Indonesia

  62. Hello Sir

    whenever i tried to burn the hex file(main.hex) to my atmega 8 with the help of a parellel programmer it gives the following error
    device signature 0xffffff
    yikes: invalid signature
    double check connections and try again

    what may be wrong?

    no 89c51 and 89s51 are different
    89c51 is programmed only serially
    while 89s51 can be programmed both serially and parallel

  64. I have some problem with usb asp when i was flashing with atmega 32 microcontroller.It showed the error as target doesnt answer when i was erasing the chip using usbasp programmer.So what may be the problem????

  65. Sir,
    Can you mail me the source code for the programme.


    and also a PIC controller USB busrner..:)!

  66. Sir Can u mail me eagle file of PCB board and Schematic?

    mail-id: mvasimkhatri@live.in

  67. Nice circuit. I have AT89C51.

    Does the circuit support programming of AT89C51/52?

  68. please explain the connections of x2, i m confused on it.

    1. x2 is nothing but a connector its a 10 Pin IDC connector as shown in the image at the end of the Post.

      if you want to use the same go ahead and use it if you don't want to use then use any connector use like. n if you don't like any connector directly solder wires on the PCB

  69. actualy tell me which pin is connected to which one if i remove the x2.
    advance thanks

  70. Can you e-mail me the source code of the firmware, I would like to study it a bit?
    My e-mail is: salem.adzovic@live.com

    Thanks in advance!!!

  71. Total how many capacitors are ther in ckt?

    in schematic and the board u created differ?

    ans pls

  72. I have follow all step carefully to make this programmer. i have burned fireware successfully. and this programmer work fine with AVR like atmega8,16 etc. but it not working with at89s52. an error massage display every time when i hit erase and auto button this massage is "CHIP ENABLE PROGRAM ERROR".
    i have made this connection between Programmer and At89s52.
    SCK =>PIN8
    RST =>PIN9
    VCC =>PIN40
    GND =>PIN20
    crystal of 11.0592 MHz is connected with PIN 18 & 19 with 22p capacitor with GND.

    Please give me correct connection details
    of 8052 and programmer.

    Thank You.

    1. This comment has been removed by the author.

    2. This comment has been removed by the author.

    3. Please reply anyone soon....

    4. ANWEJ have you burned the correct firmware into atmega8 i mean the firmware which do support 8051.
      and which software you are using to burn the firmware in to the target 8051 i recommend you to use progisp1.68 download link is there

      n try to short the jumper jp3 on pin25 for slow programming.

      n also check whether the target device is faulty.

      n i also recomond you to keep the mosi miso sck are reset like as sort as possible between the target and the programmer

    5. Hi Gaurav Chaudhary..!

      Thank you for reply. I have burned firmware as you provided in above post.and i have write correct fuse bit Low=0xFF and high=0xC9. I m using progisp 1.72.
      Its working fine on atmega8. but not working on AT89s52.
      My connection between AT89s52 and Programmer is

      SCK =>PIN8
      RST =>PIN9
      VCC =>PIN40
      GND =>PIN20

      And jumper J3 is also closed in programmer for slow SCK.
      I m getting error massage "CHIP ENABLE PROGRAM ERROR" when ever i pressed erase and auto button. i have already selected the CHIP as AT89S52.

      Please Provide me Correct firmware for atmega based USBASP.I also need C code of AVR+AT89 series usbasp prgrammer.

      thank you.

    6. I have used progisp168 but problem occured remain same..

  73. Hello Gaurav..!! you are patience enough to develop your blog..!! Hope you are the right person to meet..! Thank you for your patience..!!!


  74. HI,
    I am having one problem in scematic you have not connected pin 21 but in your pcb you have I think shorted it with pin 20 what should I do...?

    1. pin20 is vcc and 21 is vref so you can short them if you like
      its not necessary but i recommend you do that

  75. Also can I use usb A type connector instead of B type as you shown in the picture ?

    1. use any connector you like or just don't use any one of then you are free to directly solder the usb cable wire on the the PCB

  76. hello..!!
    I did everything with the images above given,
    when i connect the USB cable it pops up with the message "Unknown device connected"..!! I used ATMEGA 8L instead of ATMEGA8 which operates at 8-10MHz but i connected 12 MHz crystal Osc..!! is it makes any difference???

    1. as per the datasheet atmega8L can't work up 12Mhz,
      but i have tested this circuit with atmega8 and atmega8L and it works fine
      contradiction to the datasheet the atmega8L works upto 12Mhz , so don't worry about that,
      may be you did some other mistake like , test zener the voltage on the usb D+ and D- wire it should not be more then the 3.6V .
      thank you

  77. My PC successfully detected the USBasp but I am using Win7 and it says driver is not digitally signed and it encountered an error while installing.

    1. download the latest driver from the link blow , i have tested them to work with windows 7


  78. This comment has been removed by the author.

  79. I am using 11.0592 MHZ crystal with at89c51 and getting chip enable program error with and without setting the jumper for SCK. Whether the problem is of crystal or the programmer does not program c series and only s series.

  80. Hi Gaurav..... Can we use ATMEGA8L instead of ATMEGA8 ?
    If yes then what should be the value of crystal oscillator...........?????

  81. This comment has been removed by the author.

  82. @ANWEJ ALAM , i also have same issue, is your problem over??
    i am also using 11.0592 crystal for 89s52 target board, or have tried with lesser crystal.. please let me know

  83. hai Gauav... i also make this programmer to connect the system "usb drive not recognized" please help me...........
    my e-mail id is kumarmohan7@gmail.com

  84. gaurav bro how to burn the firmware to the ATMEGA8 ?? can we burn it in this burner ??

  85. sir i want to know what is the use of fuse bit?? and when we burn firmwear in to ATMEGA8 through the usbasp then why we write fuse bit??? how can jugde atmega8 "HFUSE=0xC9 LFUSE=0xEF"...plz help me .

  86. hello gaurav i m using ur ckt of usbasp for programming at89s52.the programmer is detected by the win7 laptop i m using,but whenver i click on auto it shows chip enable error.what can be the possible causes for this?(for detail-i m using 4mhz crystal along with 33pf capacitors,nd hav just connected the appropriate pins like RST,MISO,.... to the ports of at89s52.also i have connected pin 40 and 31 of at89s52 to vcc and pin 20 to gnd.)pls suggest asap!!!!!!!!

    1. chip enable error usually occur when there is some problem with the reset line. so keep it as short as possible. don't have have big load on this line

    2. will i connect the reset of atmega8 to the reset pin of at89s52?nd what shud be the max size of the reset wire?(pls mention in cm).reply asap!!!

  87. no you don't have to connect target reset to the host reset

    the target reset will be connected as per the schematic

    and there is no discrete value for reset wire in cm it depend on too many factors like your pcb and the target

    i recommend you to try once about 3-5cm wire ..
    good luck

  88. thanx.i have done that but still it shows chip enable error.wht to do now?i forgot to tell u that i have connected 4.7k to all the 3 ports(MISO,MOSI,SCK) and 1k to RST port of atmega8 and the other end to the appropriate at89s52 ports.if possible pls give me the schematic of exactly how to connect the at89s52 to atmega8 (obviously in usbasp) for programming it!!!!pls mail me at subhasisbanik@gmail.com...reply asap!!!!

  89. Hii Gaurav,

    I really like your post very much. I want to build a usb powered, usb 89 Series micro controller programmer that can program both 89S series and 89C series micro controllers. So can you please send me complete guide to this including the program code please to my email address er.prashantgautam@gmail.com ?

    Prashant Gautam

  90. Hi Gaurav

    I bought one avr isp programmer from a local shop and it's given that it's a progisp 7 programmer which contains two boards - one for atmel 89s51,89s52,....
    and other for avr atmega16,atmega32,.... and there is even a cd given which contains progisp 1.72 package.....
    but I am not knowing how to burn the code into at89s52 using this programmer using progisp 1.72
    Can u help me with this regard


  91. I tried dumping into at89s52 microcontroller using this programmer but it's showing a Chip Enable Program Error .....
    Can u please help me with this regard to how to solve this issue......

  92. Can I use this programmer to program AT89S8253 with 12MHz crystal?

  93. hai gaurav....very nice post.....:)
    i have a USB programmer for 89S series from electronics for you...this is the link..http://kitsnspares.com/admin/pdffiles/8051pocket.pdf
    my question is that is it possible to program AVR with this???I tried to program atmega8 but it didn't worked...already ICSP connection pins are available in this board, but they are telling it is 89series programmer, can i program AVR with this?? for AVR programming with this is it needed to change the firmware???

  94. by the looks of it , hardware seems to be same . but i guess there may a little difference in the firmware. so the only thing i can suggest you is try changing the firmware.

  95. will it able to programat89s2051,at89s4051

  96. respected sir,

    i am a btech student and learning embedded. i have seen your projects on circuit valley.

    i am trying to make avr/8051 usb programer. i think there are some capacitors missing so can u please help me.

    i want to learn how to make programers and boards of 8051,pic,arduino. so can u please suggest me any institute in delhi.

    i am waiting for your reply.

    1. i have gone though it, no components are missing.

      i don't know any embedded system institute in Delhi sorry for that.
      but i will advice you to chose self learning using book and internet instead off some stupid institute.

  97. thanks sir for your reply

    i want to know is there is any capacitor c2.

    what r fuse bits for atmega8L

    11.0895mhz crystal with at89s52 will work or not.

    how to connect reset switch (with four terminals) , what should be its position(open or closed)

    can u email me its simplest pcb layout


    waiting for ur reply

    very thanks in advance

    1. there is no capacitor with name c2 , don't worry about this

      atmega8 fuse bits HFUSE=0xC9 LFUSE=0xEF , it is given up there on the page

      yes it will workout with AT89S52

      for switch please check with a multimeter for continuity.

      pcb layout is up there on this page , please at least take a look.

  98. can i use at89c51 or c52 microcontroller ic.because it has no miso,mosi,sck pins.so please help me.

  99. Do you happen to have a HEX file for the ATMEGA88A?
    Thank you.

  100. dear Gaurav sir, I made this programmer and works fine. I can program 89s52 in high speed with slow sck jumper open.but for atmega8 or atmega16,it requires that jumper close.what is the reason?

  101. hello bro.
    i am the avr beginner. would you pleas do me a favor? because i have built this circuit following the step to configure the fuse into the atmega8 already. but it doesn't work.
    i use the programing software named "progisp".i can program atmega16 with this.

    yet when i want to program 89s51 with this, always shows "chip enable program error occur"

    do you know what's up?

    i have hear about it that is because the reset delay time is not enough.if you can modify it, it should be ok.
    for s51xx chip, after setting RST high, put some more delay for being more stable. after RST(high) is stable, keep going next commands.
    reversely for mega series chip, after clear RST low, put some more delay for being more stable. after RST(low) is stable, keep going next commands.

    would you please try to modify the source code and complier it, then get the hex file for us?

    i really want this programmer to be able to program 89s** and mega series.

    because i only can program atmega16 with this, but 89s series.

    thanks a lot~~

  102. hello sir
    we r students of 3rd year eletronics and telecommunication v hav tried building d citcuit and v dnt get where to connect d 3 way dip switch mentioned in d components. and can u please tell us wat is the flow of d working of the circuit..

  103. sir kindly rply us soon... v hav a dead line...

    1. dip switch are just being used as jumpers so jp1 jp2 jp3 are replaced by the dip switch.
      you can use jumpers if you like

  104. v r performing simulation by making use of proteus so wat is to b done for downloading d firmware into d ic

    1. please contact proteus technical support team for any issue related to the software it self

  105. ok sir thank u
    nw can u pls say us which file or wat is to b downloaded frm d file dat v hav downloaded frm step 1
    means after downloadinf the firmware frm step 1 wat is to b used from dat.... v r confused

  106. can u please tell us wat is the flow of d working of the circuit.... means wat is to b done after v make d hardware

  107. and pls tell us wat r those leds used for?? wat do it signify??

    1. at least read the post and comments before you ask some question

  108. Hello Gaurav,
    Thanks for providing such wonderful details about usbasp

    I had done this programmer ,Working well...
    I programmed 89s52. Thats No problem. But I had a doubt that what is the need of TxD and RxD.

  109. can any body please tell me , what environment we can use in windows to upload the hex file.

  110. sir i have make usbasp burner according to ur circuit diagram.i have problem when i want to transfer hexfile in target micro-controller 89s52,progisp give error "CHIP SIGNATURE DOESNOT MATCH" that cause i am not able to transfer my hexfile to 89s52.can any body help me

    1. I too have the same problem. The hex file is not properly flashed onto the controller.... :-(

  111. sir plz give me reply... i am waiting for ur response

  112. This comment has been removed by the author.

  113. Hello Gaurau the circuit attached in step1 contains atmega48, does the same circuit will work for atmega8 with same pin numbers?
    If not please attach the circuit

  114. Thankyou sir,your site is very clear and has unique way to Express things.sir i like this post even i should say this site is amazing.
    sir i have a request to you please send me source code(.c file) of this hex file,sir i make project based on touchscreen (Through ADC channel of ATmega16) in engineering,i need to publish project's code as well as programmer code in Project's thesis so please sir send me (.c) file on dubeyhariom4@gmail.com.
    sir i am waiting for mail.
    Thankyou sir.

  115. Have you got any tutorial to programming an AT82S52 with ProgISP 1.68?

  116. hello sir....i want to learn how to burn fuse bits in atmega8 but ur link "http://microembeded.blogspot.com/2011/04/avr-serial-port-programmer.html" is not working...do u have some link frm where i can learn ????

  117. Hi Gaurav,

    This USB based avr + 8051 programmer is not working in windows 7 64 bit. I have windows 7 home premium OS. After loading the firmware for this USB based programmer in ATMEGA 8 red LED is glowing after connecting to my lappi but not able to detect the driver. Even though I am giving the path for the driver but not detecting. One more thing, what is the requirement of fuse bits?

    Please Help me.

    1. if the hardware is detected by the PC as USBasp then i guess firmware and fuse bits are fine.

      you have to install proper driver for the USBasp please download proper driver (latest version ) and then install that.

  118. I have burned the firmware of this programmer using parallel port programmer i.e. SPI 3.7.

  119. No, Its not detecting as USBasp. when I connect this programmer with my laptop, it says USB not recognized. One more thing after burning fuse bits, Red led is not glowing & not at all able to erase the controller nor burn. I thing now controller got damaged. That's why I asked you the purpose of burning the fuse bits. Is it necessary to burn the fuse bits? If I don't burn what will happen?

    One more thing when install the driver it says driver is successfully installed & it installed as Unknown Device not USBasp.

    What to do?

  120. Give me the link for latest driver.

  121. m doin a project on AT89c51..suggest me a programmer where i can connect even connect input and output port to it...
    thank u in advance

  122. Hello Gaurav,

    i just made the USBasp and trying to program my AT89C51 with it. The problem is with the user interface. It is not allowing me to select the specific microcontroller. Especially the complete AT89 series. The cursor stops over AVR or Atmega and doesn't go beyond that. Even if i select the 51 it will be ultimately replaced.
    Please help me out on this.

  123. hi i am new programmer of 8051 series,kindly tell me will it works on windows 7 easily??

  124. please, the link for the tutorial on atmega8 fuse burning is not good again. can you provide another link .Secondly, my desktop serial port is suppling negative voltage instead of positive voltage . I mean pin 5 of the serial port is suppling positive voltage while other pins are supply negative voltage . Can you please tell me the solution to this ?

  125. does the firmware u have provided in ur link will support programing for at89c51 or should we need different firmware program??


  126. Hello gaurav,

    I went to purchase ATMEGA8L. But I am confused as there as four following types of ATMETGA8L are available.


    Now please guide me which one to buy for making this your USB programmer and why

    Prashant Gautam

  127. Hi...
    I build that usbasp kit.
    Pc recognized my programer and progisp detected ic and any thing.
    i was programed my AT89S51 ic.
    progisp say all successful.
    but my program is not woking properly.
    After i programed that my hex file using SP200 programmer.
    it is working perfectly.
    What is the wrong one?????
    Please help me solve that problem..
    Thank you.

  128. pin3 is connected to which pin?

  129. Sir, can the USBasp 8051 programmer work with at89s51 target mcu clocked at 11.0592 Mhz ? Thanks in advance...

  130. hi!
    i downloaded firmware main.hex (first step).but its size is 10.6KB
    but i used Atmega8 for programmer but ist memory is 8kb only.what should i do?

    1. hex file contains lost of other information too like address, check-sum setting the actual program would be much less then the hex file size do't worry about it

    2. hi i just completed circuit and also programmed my Atmega8 at my college with "universal programmer".now when i connect it to pc LED will blink but programmer can not recognize. is it necessary to write 'FUSEBIT'?

    3. yep fuse bits are 100% necessary

  131. Hi sir, Can I use ATmega8L instead of ATmega8? Because they both have different frequency specification.

  132. sure you can use ATmega8L instead of ATmega8 for usbasp it will work i have tested.

  133. Actually in datasheet it is written that max frequency for ATmega8L is 8 MHz and for ATmega8 is 16 MHz. But as you already have tested it, so I hope it will also work for me. Thanks for solving my problem.

  134. Sir, while programming the at89s52 with (MISO,MOSI,SCK,RST) pins in accordance with the manufacturer datasheet with your usbasp isp interface, the green light flashes & the progisp pops up a message "chip enable program error". I have tested both versions of progISP 1.68 & 1.72. How to fix it ?

  135. there is no option for 89v51rd2 in progisp.
    how to flash 89v51?

  136. hello sir,
    i am getting chip enable program error when trying to program at89s52 ,
    i have tried using 11.0592mhz and 4mhz with target device but nothing worked.
    can self programming jp2 be used to program programmer ic(atmega8) using progisp?
    plz help

  137. My Programmer works but not program 89s51 see this video and please help me.

  138. Hello Friends

    i am new to use ISP Programmer for 8051 target controller,can i give external voltage to target micro controller ,is that required or The isp itself supply the power,please help me,


  139. can we use "11.0592 mhz" crystal instead of 4 MHZ for "target micro controller"?

  140. please mail me the source code of main.hex at pratuldtu@gmail.com

    1. so that i can understand deeply what is actually happening

    2. please refer to USBasp website for source code. they own all the rights.

      and please refer to device datasheet for deep "understanding"

  141. Replies
    1. please at least read the previous comments , answer is there and i guess i have also mentioned same in the post too.

  142. one more doubt gaurav sir
    we have to program atmega8 seperately so it can be used as programmer microcontroller

  143. yahoooooooooooooooooo.........
    its works with 89s51 !!!!!!!!!!!!Thanx @Gaurav Chaudhary!
    see my video.

    1. plzz tell me what was crystal value for target microcontroller

    2. crystal value for target microcontroller is 4 mhz.

  144. This comment has been removed by the author.

  145. This comment has been removed by the author.

    1. yes, the step 4 of the article also mentioned same thing .

  146. This comment has been removed by the author.

    1. ask somebody else to do it for you.
      or arrange some other USB programmer.

  147. Gaurav sir, can you please give me the eagle board(.brd) file or just give me the above board image with copper part as white and rest as black?
    my email: sayyed.shoaib993@gmail.com

  148. sir can we burn the atmega 8 by using command prompt without setting fuse . i am using old circuit that u mention above.

  149. This comment has been removed by the author.