Saturday, April 30, 2011

USBasp - USB programmer for Atmel AVR controllers


About The Programmer
USBasp is a USB in-circuit programmer for Atmel AVR controllers. It simply consists of an ATMega48 and ATMega88 an ATMega8 and a couple of passive components. The programmer uses a firmware-only USB driver, no special USB controller is needed.

Features

  • 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:- I have posted a new porgammer with same hardware as this but capable to program 8051 and avr both  with changing the firmware only.
click here to see USB 8051 & avr programmer'

Simple Steps to made This programmer

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      
usbasp.2011-05-28.tar.gz (519 kB )      UPDATED

Please refer to Readme.txt for details on building, installing and using USBasp.
Schematic USB 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
A Genral Purpose  PCB
USB AVR Programmer PCB Created by Me For your use
USB AVR  Programmer pcb


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 6:-

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.
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.2011-05-28.zip (274 kB)

Note: Windows Vista/7 x64 now support with new driver . update your drive with new one..

Step 6:-

Programming the other microcontrollers:-

You can use any of these software to burn the hex file in to the traget microcontrollers.
  • AVRDUDE supports USBasp since version 5.2.  , (A comand line tool) 
  • BASCOM-AVR supports USBasp since version 1.11.9.6. 
  • Khazama AVR Programmer is a Windows XP/Vista GUI application for USBasp and avrdude.
  • eXtreme Burner - AVR is a Windows GUI Software for USBasp based USB AVR programmers

 

Hardware

Schematic


Connections to the traget microcontroller:-

        * you can programe many 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

  



Connectors 

USB B type female Connector



10 PIN IDC connector (which shown in the schematic)
     

you may also like  30 volts Panel Volt Meter Using Pic mcu

154 comments:

  1. if somebody mess with any short of problem to make it running then just make a comment or
    send me a e-mail

    i will provide live support

    ReplyDelete
    Replies
    1. Hi gaurav,
      is this tested or not because i am going to make your pcb to design
      that it will work directly or we have to do additional things

      Delete
    2. MR GAUVRAV IAM MR SHINO I'D LIKE TO MAKE UR AVR,ATMEL89 PROGRAMMER,BUT I FIND UR SCHEMATICS MISSING SOME COMPONENT VALUES WHEN COMPARED TO PARTLIST
      1:I FIND 100NF AS 100 PF WHEN IT COMES TO UR PCB DESIGN
      2:U HAVE USED TO ELECTROLYTIC CAPACITORS WHEN UR SCHMATIC SHOWS ONLY 4.7MF AS THE ONLY ELECTROLYTIC USED

      Delete
    3. I tried everything before writing this.

      I was trying to connect an "ATMEGA 16A microcontroller" (which is impressed in a development board) with a "USB AVR programmer" by connecting through their isp header pins. I had connected them correctly using connecting wires. After that for checking whether i had connected them correctly or not i had written
      "avrdude -c usbtiny -p m16" in the command prompt.

      Then it is giving the error writing

      "avrdude: error: programm enable: target doesn’t answer. 1
      avrdude: initialization failed, rc=-1
      Double check connections and try again, or use -F to override
      this check.

      avrdude done. Thank you."

      I am also mentioning here the links in which it is mentioned to write as above for checking of connections--------------

      (1) http://elecrom.wordpress.com/2009/04...p-and-avrdude/
      (2) http://www.newbiehack.com/MCUTestandCircuit.aspx

      Also when i was programming in AVR studio for blinking an led using the above two components. It is showing the programmer as disconnected and in AVR studio there is no device named "ATMEGA 16A". However there is a device named "ATMEGA 16". The power LED of the microcontroller is blinking continuously even when i make its "ON\OFF" switch OFF. What could be the possible causes of error and how can i rectify them so as to continue my programming in a smooth way. I also not able to understand about fuse bits. How can i know whether fuse bits of my microcontroller is screwed up or not and if they are screwed up how can i correct them? What could be the possible causes of error and how can i rectify them so as to continue my programming in a smooth way.

      Delete
    4. hello mr. ravi ,
      I think that you changed the lfuse bits . i have the same problem , the newly purchased ic work without any problem but when we are changing the fuse bit it offering some the same problem , i solved it by using an another software
      http://atmega32-avr.com/Download/eXtreme_Burner-AVR.exe
      ---------------* enjoy*-----------------------------
      benson

      Delete
    5. dear gaurav sir
      i hav a new atmega 8 ic and i want to use it for usbasp .kindly tell me how to burn the firmware in details if possible.and how about the usb avr programmer.kindly tell how to use the serial avr

      please email at pravat
      .keonjhar21@gmail.com

      Delete
    6. Hi Mr.Gaurav,

      Can I program 89C51 & 89C52 with this programmer, if not then can you please suggest any serial or USB programmer project which I can build and no pre-programmed MCU is required to build.

      Thanks

      Delete
    7. Hello Gaurav Sir,
      I need some help with avrdude

      my email manish9527@gmail.com

      Delete
  2. Hi I read ur AVR Serial programmer, its description is very clear with clear pictures. Please provide similar for USB Programmer for AVR also.

    Thanks
    Nikhil

    ReplyDelete
  3. hi Nikhil

    i will try my best to keep it simple
    what i m gonna do now i modify the page and explain it more clear.

    if you still have a question the make a comment.

    ReplyDelete
  4. now i have given in very detail
    i hope you like it


    if you still need more detail then please tell me

    ReplyDelete
  5. Please explain the circuit little bit section by section

    ReplyDelete
  6. HI vanagamudi

    in the circuit there is

    a IC1 an atmega8 microcontroller
    which is working on 12mhz clock feeded by a crstal q1 ,,q1 with two 22pf grounded capasitors c4,c5 the job of these caps to stableize the clock

    okey atmega8 is responcilbe for every thing here
    i contains a firware which handle all the usb tasks
    like enumration, device derscribtor i/o commands ,every thing

    this fimware take command and data from the usb port and feed it to the terget mcu

    well atmega 8 is not actually a usb micro controller but sofware is so sophisticated that it can handle the usb tasks

    you see two resistors r1 and r2 these two 68r resistor cut down the current flowing from usb, to mcu pins and two zener diode d1 d2 the manage the voltage lavel of the signal lines
    as i tell you atmega8 is not usb mcu so we need to control the voltage and current our self cut in usb mcu a voltage regulator is in buit.

    and there is a 2k2 resistor r3 at the 2 no line of the usb (D- line)
    The position
    of a resistor r3 on D+
    or D- allows you to choose between
    the full-speed (12 Mbps) and lowspeed
    modes (1.5 Mbps). ( as per the usb sepecification 2.0)

    it dos't mean if you change the position of r3 then this circuit will work faster
    the firmware also be changed for that

    you see a jumper j1 , it is to switch the power supply on and off ,,dilivering by the programmer to the target mcu

    there are two other jumper jp2 and jp3 ,,,

    jp3 is to switch between the slow programmeing clock and high progamming clock speed
    under some condition you need slow sck

    and at the jumper j2 you can use this jumper if you wish to updte or reprogramm the firmware of the programmer.

    two led led1 and led2 are to indicate power and the programmer busy( progamming or reading)

    r4 and r5 are just to cut down the current flow through leds

    r6 is just to pull the reset pin high under normal operation

    x2 is just a connector you can use any type of connector you want or may ba just use wire
    but i advice to you to use the usb and programming wire as short as possible

    thats every thing


    if you still need some thing just make a question

    ReplyDelete
    Replies
    1. sir, i am new to this field, i have atmega8L so please tell me what additional setting are to be done using this in h/w and s/w part.

      there are capacitors missing in your ckt diag (c2 c6)
      so can u please tell me how many capacitors of which values are to be used.

      Delete
    2. you have to burn the atmega8 with proper firmware and configuration bits before using it
      for details please read the page

      Delete
    3. i tested the programer it is working fine,but one problem is there if the usb cable is lengthy then some error is coming.but we can eliminate that ,and one more pblm is there that i want to connect this target to my hyper terminal ,now iam using RS 232 cable to serial port ,through this device can i connect the target mcu through usb ?

      Delete
  7. Your internet site is probably definitely the best . All round impact of the site is simply impressive .

    ReplyDelete
  8. Hi Guys

    i request you to please post the results of dubuging after my advice.

    it can help other people to work out things much easy.

    ReplyDelete
  9. If I want to program my Atmega168 using this programmer, how to connect my uC to X2 connector

    ReplyDelete
  10. Hi Vanangamudi

    the programming connection of the x2 connector of the usb programmer is described in the newly updated images in this post plese take a look


    if still tere is a question the plese let me know

    ReplyDelete
  11. I'm reading the source code of the usbasp programmer. i've some doubts on it. i'l contact you soon

    ReplyDelete
  12. okey Vanangamudi

    i will help you as per my knowdge

    thank you

    ReplyDelete
  13. can u please tell me what should i change for
    ATmega328 micro controller.I hope to build an
    embedded web server using that one. Can u give me some ideas about that.

    ReplyDelete
  14. can i program PIC using this, with little modifications.

    ReplyDelete
  15. HI gamindu

    the connection of atmega328 is same as for atmega8 ( in dip 28 package only)

    what kind of web server you need?? what are the services???

    ReplyDelete
  16. hi Vanangamudi

    it is not impossible to do that but,, avr and pic there are extremely different, there are too many i say again too may things that need to be changed, it leaded to really hard to do that

    ReplyDelete
  17. Can u please tell me what is the best microcontroller for a line following & obstacles avoiding mobile Robot ?. PIC or ATmega328?. Can u give some ideas about that.I hope to use IR sensers(line sensers array) and sonar sensers.

    ReplyDelete
  18. Thank u r reply. I hope to build an Ethernet web server to meassure temperature & humility of the environment where it is installed. These data can be view over Internet.Hope to use ENC28J60 Ethernet controller & DS18S20 sensor. How to connect these to ATmega328. can i use Wiznet W5100, WIZ811MJ instead of ENC28J60.

    ReplyDelete
  19. can u pleas tell more about X2. what sort of connecter it is(give some example) . How to use wires without using a connecter?. What is the purpose of X2?

    ReplyDelete
  20. HI gamindu

    x2 connector could be any type of connector you like people use use 10 pin idc connector

    but you can use any type you like
    or may just solder direct wires to the pcb

    ReplyDelete
  21. hello i read this artical it's nice but how to i programed 89c51 having to pin RXD and TXD for serial communication.and plz give me software for 89c51 programmer

    ReplyDelete
  22. Hi,
    Can it is possible to do on chip debugging by this circuit or this is just a programmer?If it is a programmer only can you tell me where i can found usb programmer + debugger?

    Mansoor Khawar
    mansoor3131@yahoo.com

    ReplyDelete
  23. Hi mansoor

    Right now you can't do chip debugging with this,, but it planed for future

    for a good debugger check out official atmel website there is few debugger available to buy .

    Thank you

    ReplyDelete
  24. Thanks Gaurav Chaudhary for your kind reply.Your work for USB Programmer is highly appriciable and your kind responces for all.
    I have some questions that are:
    Can i use Mega48 instead of Mega8?
    Hex file for Mega48 is older than the files for Mega8 & Mega88.Is there any improvment in the file or you just write for Mega8 & 88 later?
    What are the fuse settings for Mega48?

    Best Regards

    ReplyDelete
  25. sure you can use atmega48 it's perfectly fine
    fuse bit setting for usbasp

    # TARGET=atmega8 HFUSE=0xc9 LFUSE=0xef
    # TARGET=atmega48 HFUSE=0xdd LFUSE=0xff
    # TARGET=atmega88 HFUSE=0xdd LFUSE=0xff

    there is a little changes not a much improvement
    there will be no effect performance.

    ReplyDelete
  26. This comment has been removed by a blog administrator.

    ReplyDelete
  27. its a very good programmer.thanks for helping me,there was a request can u send me the source code of 8051 and avr firmware that we burn in to atmega 8 at tesla20four@gmail.com.
    thanks again.

    ReplyDelete
  28. Dear Gaurav,
    I had studied your well explained circuitry and tried to make the programmer. I used ATMEGA8.
    Though initially i forgot to set fuse byts , later i followed the procedure. the chip's firmware (USB51)was written .
    after all that when i tried to start by plugging into usb,
    The message that USB device not recognised appears.
    I work on winXP SP3. I am blocked here. hardware is physically checked OK personally.

    I request you to please help me out.

    thanks in advance,
    regards
    sarma

    I am a retired telecom engineer and this is purely for hobby helping a friend have a good modern usb programmer to use it for 89S52 chips

    ReplyDelete
  29. Sir
    it's an honor to serve you

    usb device not recognized occur due to the reasons listed blow
    1. firmware not good
    2. fuse bits not written
    3. Zeaner are faulty
    4. usb cable too long

    5. crystal issue
    sir r u using atmega8L
    i have seen in most cases atmega8L works fine with 12MHz when the data sheet claims only 8mhz max

    but i also have a atmega8L which don't go 12 mhz

    so please verify that what type of mcu u r using atmega8L or atmega8


    6 . Sir r u using my pcb or yours ???
    in my pcb design you have to use a jumper from pin 4 to pin 15

    i hope this will solve your problem

    Thank you

    ReplyDelete
  30. Dear sir, thanks for such fat reply.
    1. I used ATMEGA8-16PU.
    2. I used 12MHz crystal.
    3. Zenors are tested OK with a supply and a series resistor. I suppose that the signals from D+and D- are normal TTL type. Though I mounted the zenors, I don't realize the need for Zenor like in COM port
    4. used a standard USB cable of HP printer.
    5. i used a pcb from German site where the chip is mounted across (perpendicular to usb connector)
    6. there is a direct track between pin4 and 15, thus no jumper foreseen.check here http://2.bp.blogspot.com/-WW3KtACU2eY/TbwRlGRHo0I/AAAAAAAAAF8/NBXV2clM1HU/s1600/usbasp_circuit.png

    7. FUSE BITS are checked after programming by calling for a verify using Ponyprog. here i had some doubt, that one bit or two in the HI is greyed out and i cant reach them.
    they gave a link for a page that i managed and changed from there.

    firmware is USB51 folder and the file is named main.hex.

    thanks for the inputs.

    how ever i can try to load original German firmware to check whether usb is recognised, just for sake of testing.

    thanks for the inputs.
    regards
    sarma

    ReplyDelete
  31. Sir
    did you downloaded that firmware from my blog??

    please download from my blog and burn this file shown with the parent directory
    \bin\firmware\usbasp.atmega8.2011-05-28.hex

    ReplyDelete
  32. Tried that also today. Not resolved
    same error.
    let me try original usbasp without 8051
    .
    then finally i can say that , perhaps, the chip could be faulty.

    ReplyDelete
  33. Yes, Gaurav, I blundered and killed the ATMEGA8-16PU.
    I had wired the zenors but forgot to ground their common point.
    now as, ATMEGA8 is not available , i bought ATMEGA88.
    Please tell me whether this firmware helps working on ATMEGA88 also with fusebits altered as suggested elasewhere?
    REGARDS
    SARMA

    ReplyDelete
  34. Sir you can use atmega88 it's perfectly fine

    fuse bit setting for usbasp with atmega88
    # TARGET=atmega88 HFUSE=0xdd LFUSE=0xff

    ReplyDelete
  35. dear sir,
    i was able to load firmware in mega88 with dd and ff as fuses
    the story is back to same
    usb un-recognised. now i have to check whether my winxp usb drivers are playing with me

    i only suppose that this s/w based usb works with uSB2.0. and doesnt call for usb1.1
    Funny and worry some.

    ReplyDelete
  36. Dear sir,
    Now I understand from the read.me of german site, that the firmware .hex is different for MEGA88 and for MEGA8.
    I have now, for test purpose, loaded the ATMEGA88 related content and it has coolly accepted. I was able to call and load the win driver libusb_01.12.1 also
    i can now open the progisp172.

    BUT, I am unable to click and hold the usbasp button , though it is availabele( not greyed out)

    can you suggest
    unless i am able to click and enable usbasp, the error message "chip enable program err " is blocking me. i had connected pin31 to pin40
    please try to help meout to finish this and be able to use for programming 89s51/52

    thanks in advance


    One doubt> do you have a separate modified hex for ATMEGA88?

    ReplyDelete
  37. Thanks Gaurav jee,
    i bought one Mega8L and it is working now

    ReplyDelete
  38. hi Sarma sir

    Could you please tell me the German site you are referring

    ReplyDelete
  39. http://www.fischl.de/usbasp/Readme.txt
    inside read ".........USE PRECOMPILED VERSION

    Firmware:
    Flash "bin/firmware/usbasp.atmega88.xxxx-xx-xx.hex" or
    "bin/firmware/usbasp.atmega8.xxxx-xx-xx.hex" to the used controller with a
    working programmer (e.g. with avrdude, uisp, ...). Set jumper J2 to activate
    USBasp firmware update function."

    ReplyDelete
  40. what about atmega88v and atmega168v ?
    and i have USB connector A , Way dip switch can i change it to any switch ? and i have 3.3v and 3.9 zener diode can i use them ?

    ReplyDelete
  41. Hello Sir,
    I was unable to figure out why you have the 10 pin Connector (2x5), with additional signals connected to them. It looks like only 4 pins (MOSI, MISO, RST and SLK) are connected to the target MCU. Could you please let me know sir.

    ReplyDelete
  42. you can use atmega88

    connector type is no issue use a USB A type,,,B Type , USB mini

    Or i suggest don't use any connector just directly solder use cable to the board.

    dip switch can be replaced by jumpers any thing you like

    i guess 3.3V zener will work too...
    but you are on you own for that..

    ReplyDelete
  43. hi vinay

    The 10 pin connector image is now shown above

    actually 5( MOSI MISO SCK RST GND) pin are need for programming (excluding the power for the target chip)
    if power provided by the programmer then pin will be 6 (MOSI MISO SCK RST VCC GND)

    ReplyDelete
  44. Thank you very much for very clear and vivid steps to make your own USBASP programmer... I have programmed my ATMEGA8L today with fuses as mentioned in this site... and will put back in the hardware os usbasp A.S.A.P...

    Will post a comment if i succeeded in making this programmer.

    ReplyDelete
  45. I have finally made this programmer and its working like a rocket :)

    ReplyDelete
  46. hi,ihave read this discussion and its very nice,sir this project is working with windows7?or this programmer can support for eeprom 12c?thanks

    ReplyDelete
  47. @ jessie

    this programmer works with windows 7 all you need is right drivers(you can download it from the above )
    and this programmer doesn't support eeproms

    thank you for your comment

    ReplyDelete
  48. this is a gr8 project,i hve made this,& using....,congrats gaurav for posting such a nice one.keep going..

    ReplyDelete
  49. Hi
    I am using atmega8, downloaded the firmware, i changed the fuse bits following the steps given in your serial programmer tutorial, fuse bits were written ok but after that when I tried to burn the firmware, an error was displayed that "target didn't answer"

    Kindly help me

    ReplyDelete
  50. hi i am using windows 7 x86. the programmer is not being detected, please help

    ReplyDelete
  51. i mean, when i inserted the programmer, there was an error message showing "unknown device". then i provided the path for your driver, still then i was getting the error message "unknown device". please help..... :(

    ReplyDelete
  52. Hello sir,
    Just wanted to confirm that the RST pin on the target MCU is connected to pin 16 of the microcontroller on the USB programmer. Is my understanding correct?

    Thanks,
    vinay

    ReplyDelete
  53. GOOD JOB DUDE,PLANNING TO MAKE
    BUT MY QUESTION IS WHY DID YOU USE DIP SWITCH THERE??
    SHAHID MUNEER

    ReplyDelete
    Replies
    1. the DIP switch there has three switch
      1. to switch the Power Provided by the Programmer to the target
      2. to enable the slow Programming mode ( few cheap quality mcu need slow programming)

      3. to use when i need to upgrade the firmware


      you can use jumpers if you like(as shown in the schematic) . or any other things

      Delete
  54. IF WE NOT USE X2 THEN IT POSSIBLE.?
    PLEASE GIVE Detail about x2..........

    ReplyDelete
    Replies
    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

      Delete
  55. Hi friend, Good Job
    Could you send me the file of the pcb? but not in pdf

    my email: sonyvgav@hotmail.com

    Thanks, I'll be waiting for your email

    ReplyDelete
  56. This comment has been removed by the author.

    ReplyDelete
  57. Hi,
    gaurav i m trying to make ur circuit. please tell me this circuit and ur soft wares will be work.

    ReplyDelete
  58. Hello sir,
    Please tell me the procedure to burn at89c51 micro controller using this circuit.

    ReplyDelete
    Replies
    1. this programmer does not support 8051 microcontroller

      check the link blow for usb 8051 programmer
      http://www.circuitvalley.com/2011/06/usb-8051-avr-microcontroller-programmer.html

      Delete
    2. mr. gaurav i have a programmer which looks like ur first programmer and it is enough to bburn microcontroller means wont required d target mcu . the first mcu is itself a target mcu .

      can u plz expalin me the concept .
      plz reply me at zubinagrawal@gmail.com

      thank you

      Delete
  59. hai dude i am well impressed by your work .
    plzzz try to solve my problem now na.
    1. i want to know the mechanism of the programmer and how and where it is writting into the target board
    2. what is the mechanism that was written in the programmer
    3. can we program it which out a programmer after once it was programmed
    4. complete mechanism how a programmer works dude

    now i am in need of it.

    ReplyDelete
  60. send what ever data you think that is useful to me ya i forgot to tell you i am thinking to use avr so send the related data i will analize it dude
    mail id: nagella.anilkumar@gmail.com

    ReplyDelete
  61. plz tell me-mail me about-- how i can interface two USB with AVR microcontroller

    my email id is:
    niravpatil58@gmail.com

    ReplyDelete
  62. Hi,
    I have made usbasp programmer using your circuit, the components, fuse bits, firm ware all are correct and programmer is working too.
    But my problem is that the programmer is working with some computers while on others it is not recognized.
    I have checked it with many PCs having windows xp and 7, but on some PCs it works while on others it does not especially on most laptops I get 'usb device not recognized'. plz help me y the programmer works with some PCs only?
    I have made many programmers but similar problem with all :S

    ReplyDelete
  63. Hi,
    gaurav i am going through your pcb designed plz tell me it will work or other more procedure i have to do...........
    plz tell i want to make your designed pcb......

    ReplyDelete
    Replies
    1. This design is well tested, the PCB d Tere Naal Pyar Ho Gaya - Punjabi Song by Kamaljeet Singh esign shown on this page fine and correct.but don't forget the manual jumper between the pin 4 and pin 15

      Delete
  64. Hi gaurav,
    I read many posts on your site and must say you're doing a good job. I have a problem and thought maybe you could help. I got a usbasp programmer from a local shop.This usbasp is detected on my desktop(win xp) but NOT on my laptop(win xp).When i connect it to laptop, it says "usb device not recognized...device has malfunctioned.." So is there any way to get this working on laptop..?

    ReplyDelete
  65. Dear Sir,

    I have the usbasp circuit. And also i have build the serial programmer. After i burned the firmware using the serial programmer and test it with usbasp. There was error. FYI, i am using Atmega88. Since i am new with this AVR i am not so sure whether i set the fuses right or wrong. The software i am using is pony prog and avrdude. When i connect the usbasp to pc and try to read this error appear

    "avrdude : error: could not find USB device "USBasp" with vid=0x16c0 pid=0x5dc"

    ReplyDelete
  66. i really hope that you can help with this.

    ReplyDelete
  67. This comment has been removed by the author.

    ReplyDelete
  68. HOW convert atmega644 to atmega48??? please show me >>>

    ReplyDelete
  69. i want working programmer ? because programmer for atmega644 not found here? in ksa.... understand me

    ReplyDelete
  70. Very good this page you could solve my problem of not recognizing the usb and it was Zenner diode with low value of 3.3 volts and this value is the schema of the developer's site I found a dirty but you showed him many details of how do and thank you very much, thank you.

    ReplyDelete
  71. Dear Sir,
    The serial avr programmer link seems to be dead. Could you please provide an alternate link for the same. I am hoping to build and use the serial avr programmer to flash the fuse bits and firmware on to the microcontroller that i will use on the USB programmer.

    vinay

    ReplyDelete
  72. Hi Can you help me sort this error.

    avrdude: stk500_getsync(): not in sync: resp=0x00
    avrdude: stk500_disable(): protocol error, expect=0x14, resp=0x51


    Check this link for more information
    http://www.libelium.com/forum/viewtopic.php?f=17&t=9512&p=23098

    ReplyDelete
  73. This comment has been removed by the author.

    ReplyDelete
  74. I am using Atmega8L instead of Atmega8 ... Can I change the clock value to 8Mhz?...will Atmega8L accept 12Mhz of frequency ?.....The message it displays is "The target device is not responding"....wat does the LEDs indicate?

    ReplyDelete
  75. sir i changed the clock frequency 1Mhz into 8 Mhz by LFUSE=0XE4 after that the target not replaying the same problem occour in 3 atmega 8 and one atmega16, can you please explane wat is happened after changing the fuse bit

    and also plz tell me that which is the fuse bit for
    int 2 Mhz= ?
    int 4 Mhz= ?
    int 8 Mhz= ?
    ext 2 Mhz= ?
    ext 4 Mhz= ?
    ext 8 Mhz= ?

    ReplyDelete
  76. Dear sir ,
    1) i have an atmega burner using atmega8L , and i also down load the 8051 firmware . and which are the pins mosi,miso,sck, of 8051 ?
    2) is there any requirement of external oscillator ?if yes which oscillator and value of osc&capacitor ?
    3)whether it can program an AT89C51 ?

    ReplyDelete
  77. Dear sir
    in our class there is are lot of contributions from our friends side . can we upload our projects in your blog may be it will help others in this area,

    we made LED panel uing atmega8 , disco light on seeling fan line tracer, mine detectors and many things

    ReplyDelete
  78. Can i connect it with avr studio?

    ReplyDelete
  79. Can anyone here explain me the USBASP code that is downloadable from fischl.de website. I want to learn the whole protocol

    ReplyDelete
  80. Can i use this programmer with WinAVR programming software?

    ReplyDelete
    Replies
    1. if winavr support usbasp then it will work too. because it is usbasp .
      please read winavr manual for supported programmers list.

      Delete
  81. can i use this programmer for PIC controller

    ReplyDelete
    Replies
    1. no you can't but

      surly this programmer can be used
      http://www.circuitvalley.com/2011/07/pickit-2-clone-universal-microchip-pic.html

      Delete
  82. Hi Gaurav,
    Can this programmer be used to program ATMEL Attiny 45?

    Thanks,

    James Ko

    ReplyDelete
  83. Hi Gaurav,
    I just built both AVR programmer (com port and USB port)from your web. Certainly, I first used AVR COM port programmer to burn the FW into ATMEGA8 (fuse instruction was followed) in order to have the USB programmer active. Second, I plug my USB AVR programmer into my laptop, and I succeed in installing the Win7 driver. But the only problem that I encounter now is the my USB programmer shows no-link or power off with eXtreme Burner. I wonder if you can provide me your comments. Perhaps, I can provide you my screenshot photos if you think that's useful.

    I will be glad to hear from you.

    Thanks,

    James Ko

    ReplyDelete
  84. hi Gaurav, i am using ATmega8A and burnt atmega8 hex file......but my pc is not recognizing it!!! i have double checked my hardware....its perfect, checked fuse bits also ....its perfect......i can't understand where i made mistake!!! pls help me! thanks in advance :) my email id is nizam1992@hotmail.com...... phone number +919014860167

    ReplyDelete
    Replies
    1. Hi Nizamuddin,
      I think i have the same issue like you have. My programmer can be recognized by my laptop computer. But, when I turn-on extrem burner, the software itself shows no-power and not recongize.

      Hopefully, Gaurav will come up something good comments that willl help us.

      JanJan

      Delete
  85. Hi Gaurav,
    I just solved my AVR Programmmer and Extreme burner issue. I will try the code and verify it again later on.

    JanJan

    ReplyDelete
  86. Hiii,
    Can we program the ATmega8 with another usb based avr programmer instead of serial programming to make the programmer.

    ReplyDelete
    Replies
    1. yes , you can use any programmer to prepare the ATmega8 to be worked as programmer .

      Delete
    2. Hi Gaurav,
      I've made this programmer with ATMEGA8 mc and flashed the firmware with correct fuse bit settings as you mentioned above. I am using this programmer for dumping into AT89S52 mc.
      I am getting flash verify errors. Please help me out to resolve this issue.

      Delete
  87. I have USBASP, if I connect it to the target microcontroller and program it using progisp, does the hex file directly goes to the target microcontroller?

    ReplyDelete
  88. And what about the fuse bits I am not using external crystal

    ReplyDelete
  89. can usbasp lock microcontroller ?
    can it disable pin1's reset function and make it work like a i/o pin ?
    please let me know ... thanks for your blog

    ReplyDelete
  90. @Gaurav Chaudhury ............... thanks a lot :) :) :)

    ReplyDelete
  91. gaurav......u deserve your name.
    everyone should respect u.

    ReplyDelete
  92. hey gaurav i want help regarding the project ...i soldered the component on general purpose pcb its stilll not working even single led is not glowing yet...and pc shows usb device not recognised....

    ReplyDelete
    Replies
    1. have you burned the correct firmware into the programmer microcontroller to be act as a programmer.
      the device as you purchased from market is blank you have to burn it with correct firmware to act as programmer.

      Delete
    2. yes i do ...evrything... i used vp 812 universal programmer for progrmming and also program fuse bitss tooo.... but stilll ....and also check supply evrything....but supply red led is not glowing because it is connected to mc pin and it doenst get ground i thinkk.....whats the reason??

      Delete
    3. red led is glowing means you haven't't burned the
      firmware or fuse bits correctly
      oscillator is faulty or not connected properly
      diodes are faulty or not connected properly
      your micro is faulty
      you have't connected any of the components properly

      any of the above is reason

      Delete
  93. pls give me the exact pcb layout in dip trace if u have with component that u exactly used for making ur programmer ..i have atmega 8l so what u suggest for this .so pls send me the detail pls pls... and ur pcb layout tooo... and my mail id is never.novice@gmail.com...pls do this favour plss....

    ReplyDelete
  94. i need regarding the making of usnasp....no one helpinggg me out????????

    ReplyDelete
    Replies
    1. for this layout i used eagle,this is extremely small layout if you wanted you must have does by your self in last 9 days.

      Delete
  95. the layout i maid it by way/or the same given by u i followd it /burn the fuse bits tooo evrything i did along with your posts but stilll am not getting anythinggg....
    sometimes led glows sometimes not.what should i do?????and also message shows usb device not recognise...

    ReplyDelete
    Replies
    1. the red led should glow if micro is running the same firmware. because it is controlled by the firmware, so the answer is same as i have told you before.

      and my pcb has few jumper too have you connected them also? please refer to schematic for details about jumpers

      Delete
  96. i followd evrything that u provided on your blog i developed the same pcb that u post on your blog.. i also did the connection what u did on that posted pcbbbb.... buttt the pcb doesnt workinggg any more.... i programmed the fuse bitsss i did almost evrything i connected jumpers too... i make genneral purpose pcb tooo bt stilll not getting any resultt/.......main.hex i burnrd into the programmer microcontroller bt stilll am not getting anything.......

    ReplyDelete
  97. oh itsss......worthless......i cant gettng anything....

    ReplyDelete
    Replies
    1. are you sure that your programmer is working correctly with whom you are burning usbasp firmware , try to burn a simple blink led program into micro it will verify both the programmer and the micro .

      Delete
  98. This comment has been removed by the author.

    ReplyDelete
  99. sir, i made this burner it is working fine with avr, but showing chip enable error with at89s52.
    i purchase at89s52 board+ burner from market, they are working but same at89s52 board is not programing with my burner . please help me...

    ReplyDelete
  100. hi could you please help me finalize my code, i simply got stuck. I have below the initial code for my circuit with the condition as follows: Some said that I should not use analog pin. others said that this is not the right code for my project....

    Specifically if the switch is pressed (positive volt signal) at Analog in A1, Arduino Uno should produce a 1-time sequential output of 12 LEDS (Pin2 to 13). specifically first, Pin2 LED should light up for 2 minutes then turns off. But Pin3 should light up for 2 seconds (Pin3 starts to turn only after 2 seconds has elapsed for Pin2 when started to turn on). Then Pin4 should turn on for 2 seconds then off. then same with Pin5 to Pin12. Then Pin13 should turn on for 1 minute then off. Note: During this period (from Pin2 to Pin13), ARDUINO must ignore any positive input at A1.(or it must lock itself)
    Please insert debounce code if necessary.

    int switchPin = A0;
    int ledPins[] = {
    2,3,4,5 };
    int pinCount = 4;

    void setup()
    {
    pinMode(switchPin, INPUT);
    pinMode(ledPins[0], OUTPUT);
    pinMode(ledPins[1], OUTPUT);
    pinMode(ledPins[2], OUTPUT);
    pinMode(ledPins[3], OUTPUT);
    }

    void loop()
    {
    if (digitalRead(switchPin) == HIGH)
    {
    digitalWrite(ledPins[0], HIGH);
    delay(1000);
    digitalWrite(ledPins[0], LOW);
    digitalWrite(ledPins[1], HIGH);
    delay(1000);
    digitalWrite(ledPins[1], LOW);
    digitalWrite(ledPins[2], HIGH);
    delay(1000);
    digitalWrite(ledPins[2], LOW);
    digitalWrite(ledPins[3], HIGH);
    delay(1000);
    digitalWrite(ledPins[3], LOW);
    }
    else
    {
    digitalWrite (ledPins[0], LOW);
    digitalWrite (ledPins[1], LOW);
    digitalWrite (ledPins[2], LOW);
    digitalWrite (ledPins[3], LOW);
    }
    }

    ReplyDelete
  101. hi gaurav,
    is it necessary to set fuse bit setting for fresh avr microcontroller? when it is connected to external crystal (say 20 MHz), and programmer is usbasp. little help will be appreciable, thanks.

    ReplyDelete
  102. i had made this burner. when i connect to my pc its show that"unknown device"...how can it show "Usbasp".....unbelievable..pc is not recognize the device...how can i install driver....there so many of my friend face this problem...i had tried on every platform of windows for installing it...bt its not working at all...plz hlp

    ReplyDelete
  103. explain me the use of slow clock and self proggramming, please

    ReplyDelete
  104. hi there. can we use this programmer with arduino ide ? thanks.

    ReplyDelete
  105. This comment has been removed by the author.

    ReplyDelete
  106. I used your new Firmware for 89S52 + AVR
    and programmed to atmega8 HFUSE=0xC9 LFUSE=0xEF. But it is working for programming 89S52 only. I used progisp168. kindly help me to use for both

    ReplyDelete
  107. The Programmer is working for both MCU's
    It's OK now

    ReplyDelete
  108. hi :)
    Signed new drivers :)

    http://www.protostack.com/download/USBasp-win-driver-x86-x64-v3.0.7.zip

    ReplyDelete
  109. @Gaurav Chaudhary

    I so few extra parts on the PCB design that are not in the schematic and the original design.Can you please upload your PCB design Eagle files ?

    ReplyDelete
  110. how to read serial communication on terminal through usbasp

    ReplyDelete
  111. can anyone send me pcb layout of atmega8 without usb connnection?/
    thanks

    ReplyDelete
  112. Enter your comment...can it be used to program atmega 328p chip?

    ReplyDelete
  113. hi sir....
    one small clarification how dump firmware in atmega8 while using the topwin 2005+ programer.

    ReplyDelete
  114. what vendor id and product id did you use? I flashed the code in atmega32 and made a usb device but the PC is not able to recognize the device.

    ReplyDelete
  115. hello sir,
    i have made programmer. that burn 8051 but when i try to burn atmega8,atmega16,atmega328 with progips 1.7 its show chip enable program error.
    i have tried with 4hmz/8mhz both type external crystal.
    please help me to identify what an i doing wrong.
    thanks.

    ReplyDelete
    Replies
    1. Hi,
      I have made new my version of USBASP, it can burn 89S5X and 24Cxx and 93Cxx EEPROM with ProgISP 1.7 without any error!
      My Programmer have smart ZIF soket to insert any DIP chip from pin 1 to 1 ZIF and programmer automatically detect inserted chip and provide power supply and program signals. it is generate CLOCK signal for microcontroller on ZIF socket and ISP connector.

      please send your firmware link to here, for help to you.

      Delete
  116. anything.plz give me ur cell non. For discuss ...

    ReplyDelete

  117. hey i made the circuit as per your description i also update firmware but there is one issue that in my PC driver does not update that means every time when i connect the circuit it saws me a USB not recognized i tried all types of USB driver but doesn't work plz help how can i solve this?

    In my pc a os is windows 7

    i heard some roumers that currently windows doesnt support virtual usb is that true or not?

    ReplyDelete
  118. Acabo de probar en un protoboar programando con el firmware que compartiste (main.hex)y no funciona, no reconoce el usb con el circuito de USBasp. Tambien he visto tu programador el cual diferente al Usbasp por que lleva 2 electroliticos y los botones no se para que sirven, si vas a publicar cosa engañosa mejor no publique, digo por que tu programador es diferente al de https://www.fischl.de/usbasp.
    Pero cuando cargo el firmware de https://www.fischl.de/usbasp/ para ATmega 8 si funciona.
    sabes cual es el problema ?

    ReplyDelete