About the programmer
This simple microcontroller programmer can progam most of the 89 like Atmel's 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.
Features
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 download the Firmware and circuit
usbasp8051(4 kB )
Please refer to Readme.txt for details on building, installing and using USBasp.
Step 2:-
Buy The parts You need
this programmer use same driver as my privous usb avr programmer use
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:-
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
if sombody face any trouble then please let me know
This simple microcontroller programmer can progam most of the 89 like Atmel's 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.
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).
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 download the Firmware 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 Description Qty
ATMEGA8 Microcontroller 1
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 & Green) 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
Step 4:-
Getting The Atmega8 Microcontroller Ready To be used as a 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 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 |
|
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.
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
Schematic
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
Connectors
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
what are the other supported mcu s. does it support atmega 32 or 32a?
ReplyDeletei 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 :)
Yes it does support atmega32
ReplyDeleteit 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)
thnx 4 ur reply (& bro,no need to say sorry :D)
ReplyDeleteone 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?
yes that usbasp can be converted into this programmer (8051+avr)
ReplyDeleteall 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
Can I use avrdude (CUI)or progisp(GUI) on Ubuntu OS?
DeleteYes
ReplyDeleteit 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
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
Deletestep 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.
Deleteonly 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
and the fuse bit config
Deleteactually have a prog isp usb avr programmer that has an ic base with 40 pins so how do i go about doing things
those fuse bit are for atmega8 ""The Programmer MCU""
Deleteall 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.
I have an chip enable program error while I was trying to connect with at89c51 in progisp please help me out
DeleteI have an chip enable program error while I was trying to connect with at89c51 in progisp please help me out
Deletecan we attach 1 crystal to both atmeg8 and the target mcu ?
ReplyDeleteno
ReplyDeletethe 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
atmega 8 cost 100 to 150 rupee in delhi
ReplyDeleteat89s51 &52 cost 40- 50 rupee
crytal cost around 5-10 rupee
so i can say cost is not more than 250 INR
thnk u sir...u rock
ReplyDeletehi..,i have a few doubts in the circuits..
ReplyDelete1) 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..
j1 is for switch target board power supply on and off which is delivered by the programmer
ReplyDeletej3 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
where should we connect the LED's in the schematic given ?
ReplyDeleteand is it ok if we do not connect the x2 and connect the wires directly ?
+ terminal of led goes to a resistor , then Vcc
ReplyDelete- terminal of led goes to mcu pin
it's fine if you want to connect wires
hi..
ReplyDeletei 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.
hi
ReplyDeletehave 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
Hi Gaurav
DeleteI've made this usbasp with atmega8 according to the circuit you given and while flashing code into at89s52 microcontroller i am getting "Flash verify error" . Please help me....
thnk you for ur reply.
ReplyDeletei'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.
will u please tell me how did u burn ATmega8L?? what programmer did u use for burning..
Deletei dont have a db25 or db9 pin in my laptop.
ReplyDeleteis there an another way to make the serial avr programmer ?
you have burned the firmware that's good
ReplyDeletehave you burned the fuse bits too??
the ponyprog software is only to use with serial port programmer not with usbasp
if you have access to other programmer then there is no need to make the serial port programmer
ReplyDelete..thank you for helping me.
ReplyDeletethen you have to arrange the programmer or make that serial port programmer and use with some older kind of pc
ReplyDeletewhere are you from ?
ReplyDeleteif really have to access then
ReplyDeleteyou send me a atmega8 i can burn the
programmer firmware for you and ship it back to you
for free
i'll see.. here there is access to a lot of programmers .
ReplyDeleteso thank you for ur concern.
1) Can u help me out with that X2 connection,
ReplyDeletewhat 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
i madethe programmer and tried to program AT89S52
ReplyDeletewith 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
hi Faiz
ReplyDeletei 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
Thanks, for consideration .There was problem with progisp i redownloaded it and now it's working .
ReplyDeletedoes this supports all 8051 mcu??
ReplyDeleteYes it does support the 8051s
ReplyDeleteHi
ReplyDeleteIs 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
Gaurav
ReplyDeleteI 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 !
:(
if progisp detect the board then it should work fine
ReplyDeletemay be led placed wrong
Hi,
ReplyDeletecan u give me ur email id ?
i want to send u the ATmega 8 as i cannot burn the file.
thnx.
@Gaurav
ReplyDeleteYou are right, actually i placed a wrong resistor, which pulled the whole 5 volts, not letting LED blink :)
Thank you.
@Gaurav
ReplyDeletein 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..
@Gaurav
ReplyDeleteI 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 !
please try to click verify button
ReplyDeleteif the verification complete successfully then it's fine it should work
Thanks for the reply.
ReplyDeleteThere 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 :(
if the firmware that need to written is very small then the time should be very less
ReplyDeletebut in reading it always read the whole memory
what message you got when the proisp doesn't work
please try to set the j3(slow sck) and try reading writing and verification
ReplyDeletehave you checked the hardware and power connection to the target board
ReplyDeleteplease try to re download the application and re burn the board mcu firmware
yes, i have.
ReplyDeletedamn it's testing my patience.
hmm.. okay i will repeat it.
lets hope for good.
@Gaurav
ReplyDeleteare you on facebook ?
@Gaurav
ReplyDeleteThe 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
Hey Gaurav,
ReplyDeletei 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
hi,
ReplyDeletecan it program at89s4051?
hi,
ReplyDeleteur using rxd &txd from atmega8 to programming pins .For programming rxd and txd is it reqiured to connect it to target mcs?.
@nidhin
ReplyDeletei think it should support89s4051
you have to connect MOSI MISO SCK RESET
,,power VCC and GND
and crystal
to target mcu
dear gaurav,
ReplyDeletethanx 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?.
@nidhin, I read ur post thnx...
DeleteMy query is
1. did u add the external 5V power supply for ATmega8 or just all VCC pins connect to USB Pin no.1 ?
2. how to resolved "CHIP ENABLED PROGRAM ERROR" ?
I am awaiting for ur responce
89C51 is similar with 89S51? is this right? Could I use this usbasp for AT89C51?
ReplyDeletethanks
Gina, Indonesia
Hello Sir
ReplyDeletewhenever 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?
does it support atmega644?
ReplyDelete@PERJALANAN HIDUP
ReplyDeleteno 89c51 and 89s51 are different
89c51 is programmed only serially
while 89s51 can be programmed both serially and parallel
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????
ReplyDeleteNice circuit. I have AT89C51.
ReplyDeleteDoes the circuit support programming of AT89C51/52?
:-)
please explain the connections of x2, i m confused on it.
ReplyDeletex2 is nothing but a connector its a 10 Pin IDC connector as shown in the image at the end of the Post.
Deleteif 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
actualy tell me which pin is connected to which one if i remove the x2.
ReplyDeleteadvance thanks
Total how many capacitors are ther in ckt?
ReplyDeletein schematic and the board u created differ?
ans pls
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".
ReplyDeletei have made this connection between Programmer and At89s52.
MOSI=>PIN6
MISO=>PIN7
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.
ANWEJ have you burned the correct firmware into atmega8 i mean the firmware which do support 8051.
Deleteand 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
Hi Gaurav Chaudhary..!
DeleteThank 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
MOSI=>PIN6
MISO=>PIN7
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.
I have used progisp168 but problem occured remain same..
DeleteHello Gaurav..!! you are patience enough to develop your blog..!! Hope you are the right person to meet..! Thank you for your patience..!!!
ReplyDelete~:.krish.:~
HI,
ReplyDeleteI 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...?
pin20 is vcc and 21 is vref so you can short them if you like
Deleteits not necessary but i recommend you do that
Also can I use usb A type connector instead of B type as you shown in the picture ?
ReplyDeleteuse 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
Deletehello..!!
ReplyDeleteI 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???
as per the datasheet atmega8L can't work up 12Mhz,
Deletebut 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
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.
ReplyDeletedownload the latest driver from the link blow , i have tested them to work with windows 7
Deletehttps://sites.google.com/site/microembededfiles/filejune2011/usbasp-windriver.2011-05-28.zip?attredirects=0&d=1
This comment has been removed by the author.
ReplyDeletehai Gauav... i also make this programmer to connect the system "usb drive not recognized" please help me...........
ReplyDeletemy e-mail id is kumarmohan7@gmail.com
gaurav bro how to burn the firmware to the ATMEGA8 ?? can we burn it in this burner ??
ReplyDeletesure you can
Deletesir 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 .
ReplyDeleteyes!
Deletehello 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!!!!!!!!
ReplyDeletechip 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
Deletewill 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!!!
Deleteno you don't have to connect target reset to the host reset
ReplyDeletethe 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
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!!!!
ReplyDeleteHi Gaurav
ReplyDeleteI 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
Thanks
Sairam
I tried dumping into at89s52 microcontroller using this programmer but it's showing a Chip Enable Program Error .....
ReplyDeleteCan u please help me with this regard to how to solve this issue......
Can I use this programmer to program AT89S8253 with 12MHz crystal?
ReplyDeletehai gaurav....very nice post.....:)
ReplyDeletei 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???
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.
ReplyDeleterespected sir,
ReplyDeletei 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.
i have gone though it, no components are missing.
Deletei 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.
thanks sir for your reply
ReplyDeletei 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
pradeepgoel044@gmail.com
waiting for ur reply
very thanks in advance
there is no capacitor with name c2 , don't worry about this
Deleteatmega8 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.
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?
ReplyDeletehello bro.
ReplyDeletei 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~~
hello sir
ReplyDeletewe 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..
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
ReplyDeleteand pls tell us wat r those leds used for?? wat do it signify??
ReplyDeleteat least read the post and comments before you ask some question
DeleteHello Gaurav,
ReplyDeleteThanks 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.
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
ReplyDeleteI too have the same problem. The hex file is not properly flashed onto the controller.... :-(
Deletesir plz give me reply... i am waiting for ur response
ReplyDeleteHello Gaurau the circuit attached in step1 contains atmega48, does the same circuit will work for atmega8 with same pin numbers?
ReplyDeleteIf not please attach the circuit
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.
ReplyDeletesir 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.
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 ????
ReplyDeleteHi Gaurav,
ReplyDeleteThis 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.
if the hardware is detected by the PC as USBasp then i guess firmware and fuse bits are fine.
Deleteyou have to install proper driver for the USBasp please download proper driver (latest version ) and then install that.
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?
ReplyDeleteOne more thing when install the driver it says driver is successfully installed & it installed as Unknown Device not USBasp.
What to do?
Give me the link for latest driver.
ReplyDeletem doin a project on AT89c51..suggest me a programmer where i can connect even connect input and output port to it...
ReplyDeletethank u in advance
Hello Gaurav,
ReplyDeletei 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.
hi i am new programmer of 8051 series,kindly tell me will it works on windows 7 easily??
ReplyDeleteplease, 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 ?
ReplyDeleteHello gaurav,
ReplyDeleteI went to purchase ATMEGA8L. But I am confused as there as four following types of ATMETGA8L are available.
1 ATMEGA8L-8AU IC AVR MCU 8K 8MHZ 3V 32TQFP
2 ATMEGA8L-8MU IC AVR MCU 8K 8MHZ 3V 32-QFN
3 ATMEGA8L-8MUR MCU AVR 8KB FLASH 8MHZ 32QFN
4 ATMEGA8L-8PU IC AVR MCU 8K 8MHZ 3V 28DIP
Now please guide me which one to buy for making this your USB programmer and why
Prashant Gautam
Hi...
ReplyDeleteI 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.
It is work perfectly.
ReplyDeletenice work bro... thanks :)
ReplyDeleteSir, can the USBasp 8051 programmer work with at89s51 target mcu clocked at 11.0592 Mhz ? Thanks in advance...
ReplyDeleteyes it can
ReplyDeletehi!
ReplyDeletei 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?
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
Deletehi 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'?
Deleteyep fuse bits are 100% necessary
DeleteHi sir, Can I use ATmega8L instead of ATmega8? Because they both have different frequency specification.
ReplyDeletesure you can use ATmega8L instead of ATmega8 for usbasp it will work i have tested.
ReplyDeleteActually 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.
ReplyDeleteHi sayyed,
DeleteI am in same confusion about operating frequency, Is it really works with mega8L? I have some mega8L not mega8 and i want to make this programmer. which crystal do you use 12mhz or 8mhz ? please replay asap.
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 ?
ReplyDeletehello sir,
ReplyDeletei 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
Hello Friends
ReplyDeletei 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,
Regards
Raju
can we use "11.0592 mhz" crystal instead of 4 MHZ for "target micro controller"?
ReplyDeletecan it program at89c52 and p89v51
ReplyDeleteplease at least read the previous comments , answer is there and i guess i have also mentioned same in the post too.
Deleteone more doubt gaurav sir
ReplyDeletewe have to program atmega8 seperately so it can be used as programmer microcontroller
yahoooooooooooooooooo.........
ReplyDeleteits works with 89s51 !!!!!!!!!!!!Thanx @Gaurav Chaudhary!
see my video.
http://www.youtube.com/watch?v=6RT2T9zXtq8
plzz tell me what was crystal value for target microcontroller
Deletecrystal value for target microcontroller is 4 mhz.
DeleteGaurav 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?
ReplyDeletemy email: sayyed.shoaib993@gmail.com
sir can we burn the atmega 8 by using command prompt without setting fuse . i am using old circuit that u mention above.
ReplyDeleteHello! first of all, i would like to thank you for what you are doing for the community :)
ReplyDeletei have some questions regarding the circuit of the programmer.
http://www.circuitvalley.com/2011/06/usb-8051-avr-microcontroller-programmer.html
1. does the jumper J1 need to be switched on (circuit closed) when burning hex onto target?
2. if yes, should it be turned on before connecting target, after connecting target, before connecting the programmer to usb, after connecting or what?
3. what is the use of pins RXD and TXD in the 10-pin IDC connector? according to my limited knowledge, some microcontrollers can be programmed with 6 pin IDC connector as well, implying there is no RXD and TXD pins.
4.Can 89S (89S51,89S52 etc) series be programmed with only 6 pin IDC connector? (not using the RXD TXD pins)
sorry for my lack of knowledge, please answer my questions.
Thanks alot!
eagerly waiting for your reply.
1. j1 is used to switch the power to the target from usb port on/off ,
Delete2. you have to provide power to the target may be from the the programmer(shorting j1) or other external source.
3 only 6 will do the job.
4 same as 3
What is the actual purpose of pins RXD and TXD? if i dont connect them in my PCB layout, will it affect the burning process in any way? And one more question, is it possible somehow to make a UNIVERSAL TARGET BOARD using ZIF SOCKET for all AVR MCs (8 pin, 28 pin, 32 pin and 40 pin)? thanks.
Deleterxd txd pins are not used for programming the target in ISP mode only MOSI MISO SCK RESET power and ground pin are required. please google usbasp zif socket if you wanted to make zif socket,
Deletei advice not to go for zif , zif socket are not very useful these days, you need very few pins to program the target and almost all of the mcu support ICSP , and it's smd word now , so i believe zif socket have a very little use. lot other things are there .
even if you are breadboarding some thing then with zif socket you have to every time plug off the target from breadboard and plug in to zif socket , no good.
if you just have ICSP then directly connect the ICSP wire to breadboard , you will save time , no hassle , no pin damage in the process
Hi Gaurav,
ReplyDeleteyour circuit is working fine with avr controllers, but when i try it with at89s51 then programm is getting written successfully in progisp168, but i am not getting the output of that program. Help me
Hi Rahul,
DeleteI am getting flash verify errors while flashing the code into at89s52 through the progisp software. At the stage of flash verify am getting error.If you have any idea regarding this, please help me out.
hi gaurav, your circuit is working fine with at89s51 but, what problem I am facing is that I have to reset the chip each time I power it up to run the program
ReplyDeleteHi Gaurav ji,
ReplyDeleteI've made this programmer and flashed the firmware of 8051. The programmer was detected in progisp, it is reading the signature id and erasing the chip(AT89S52) successfully. But the thing is after clicking the auto button blank checking, program flash completed, at the stage of verify flash am getting flash verify errors. Please tell me the reasons behind this problem.
Thanks in advance...
Hi, Gaurav I made this programmer i have encountered two problems,
ReplyDelete1. fix voltage on d- d+ pins of usb i.e. 2.25 and 0 respectively
2. unknown device and when i try to update the device driver it says unable to update driver i use windows 7 64 bit i have downloaded the latest usbasp drivers
please give some suggestion
Thanks
hi sir,
ReplyDeletei can't find the atmega8 and 88 in the market so can i use atmega328 instead, will it work? if it will, send me the fuse bit settings. you can send any further axplanation to my email ; npaul511@gmail.com .
hope you reply soon thanks.
It works.. Thanks a lot
ReplyDeleteThanks!! the Tutorial was helpful for me. I used ArduinoISP to program the Atmega8.
ReplyDeleteThanks a lot. The circuit worked for me. The tutorial was very helpful.. I used ArduinoISP to program the Atmega8..
ReplyDeleteHello Gaurav,
ReplyDeleteout of my curiosity, i am planing to develop few embedded projects; so started looking for different projects to start with, but then realized for any chip based project i would need the chip programmer!!!
with limited knowledge of hardware, can i develop this chip programmer by following your instructions? i also have few questions in my mind like,
1) can we have a programmer which can flash all the available chips (like Atmel AVR, pic, ...)!!!
2) how to flash the firmware in to the programming ic, for the first time? i mean can we get the
pre-programmed ic?
please guide me on this,
Thanks,
Anuradha.
1) there are many universal programmer available for purchase on ebay dot com which will program quite a many of microcontroller from many manufacturer .
Deletebut as the number of supported device and manufacturer grow then tend to get a bit costly.
a cheap which will support few avr few PIC and few ST parts would be around 25-30 USD
but a big programmer which support hundreds of microcontroller manufacturer then are quite costly like max up to 200 USD. price vary according to device support
but i don't' recommend you to get one of those universal programmer , they are not good for various reasons. as an hobbyist you have 2-3 different good programmer for different vendor.
2) there are many ways to achieve first programming.
1. you could buy programmed chip from some online shop. if you could find source what you are looking for . or few sites what they do when you purchase a microcontroller IC from them they will ask you to provide some hex file so that they will program it first before shipping. or may be on few programming service provider site you have to ship your micro to them they will ship you back programmed of course they gonna charge for it but charge is as low as INR 200
2. you ask you college or some friend in the industry.
3. or you can ask me i can send you preprogrammed mcu or you send me your mcu i will send it back to you programmed.
Thank you very much for the reply. For now i will start to develop this programmer and mean while i will check with local vendors for pre-programmed chip. if necessary will contact you again.
DeleteOnce again thanks for the response, this forum is a great support for beginners like me.
Anuradha.
Hello Gaurav,
Deletewhile searching for the, so called, universal programmers, i came across 2 products. can you please tell me the difference between these two,
1) http://www.ebay.com/itm/SP300U-USB-Universal-Programmer-Fo-51-AVR-ATMEL-MICROCHIP-SST-STC-IC-Chip-Device-/271441337515
2) http://www.aliexpress.com/item/New-Ep51-AT89-STC-MCU-ATMEL-CHIP-Burner-Programmer-2-in-1-with-USB-Cable/1622156509.html
the detailed description is available for the 2nd product but no such details for the first one.
waiting for the reply,
thanks,
Anuradha.
if i were you i would love to go with the ebay one as second one have very less number of device support
Deletebut it look like the first one also does not support only 1 type of PIC microcontroller which is really bad.
Ok, let me make an attempt to build the PIC programmer (Pickit 2 clone The Universal Microchip PIC Programmer /Debugger) provided by you. In that case i can flash the PIC 18F2550 using "Microchip PIC Serial Port Programmer"
Deleteca v use flash tool progisp for installing program in pic 16f84 microcontroller
ReplyDeletei am really not sure about the software progisp but , the hardware shown in this page can not be used to program to any PIC micro
Deleteon this link you have serial port based hardware and required software to program PIC microcontrollers
http://www.circuitvalley.com/2011/05/microchip-pic-serial-port-programmer.html
thank u sir for ur reply..
ReplyDeletesir my project is propeller clock using pic 16f84a..
am not able to understand what software should be used for programming it..
i used proteus isis and designed the circuit but unable to program it using keil uvision..
and even flash tool progisp do not show the required component..
soo plzzz help me out in choosing software for programming and dumping the program into controller....
you wanted to program a real hardware micrcontroller or that software simulation model ?
Deletereal hardware microcontroller sir
ReplyDeleteso you gonna need a real hardware programmer with a associated software , i have posted two microchip PIC microcontroller programmers one serial and one USB you can use any one you like . refer to these two link
Deleteserial port based , needed software and hardware is mentioned on the page itself.
http://www.circuitvalley.com/2011/05/microchip-pic-serial-port-programmer.html
USB port based , needed software and hardware is mentioned on the page itself.
http://www.circuitvalley.com/2011/07/pickit-2-clone-universal-microchip-pic.html
thanks for ur repl sir..
DeleteHi, would an atmega328P-Pu work instead of the atmega8. Thank you
ReplyDeletedirectly it will not work , but some with some changes in the software it many actually work.
DeleteThank you Gaurav for your swift reply. Do you have any tips on what to do because I have 3 atmega 328P-Pu chips on hand and I really want to incorporate an 8051 into a project.
Deletei would not recommend doing such thing as it may require lots of things to be modified which lead to consumption of time. go with atmega8
Deletesir is this right '''ATMEGA8-16PU PDIP 28P3 28 ''' ???
ReplyDeleteyep this is right
DeleteThank You Sir
Deletesir if i burn the atmega8 by a market readymade burner is it necessary to think about fuse bit ?
ReplyDeletedear
ReplyDeletesir,can i use atmega8L instead of atmega8
please read the post and comments ,this question is already answered.
DeleteNice share.
ReplyDeleteSir what cables have you used for right angle connector?
its simple 0.1 inch pich ribbon cable
DeleteThanks a lot. I have make this programmer and it is working 100% fine..
ReplyDeleteNice place for the elex enthusiast.
ReplyDeleteActually I am seeking help from someone who can program my Atmega8 . Well I tried with a cheap programmer with zif socket from a local shop, also tried with the ISP circuit but to no avail.
I've already lost a week in this.
Can somebody from Delhi help me out with the hex file burning ?
Or maybe can direct me to a suitable place for a kinda paid service ? like Nehru place or somewhere.
I am really hopeful with this forum.
Thanks in advance
I have tried and almost complete and when i connect the programmer with PC it's shows "USB not recognized" on board red Led is ON . how can i rectify this one.
ReplyDeleteThanks in advance.
I have tried to connect in ubuntu 12.04 and here also i am getting error. i have given the error below,
Delete[ 3215.156031] usb 3-1: new low-speed USB device number 2 using uhci_hcd
[ 3215.280024] usb 3-1: device descriptor read/64, error -71
[ 3215.508036] usb 3-1: device descriptor read/64, error -71
[ 3215.724029] usb 3-1: new low-speed USB device number 3 using uhci_hcd
[ 3215.848023] usb 3-1: device descriptor read/64, error -71
[ 3216.132032] usb 3-1: device descriptor read/64, error -71
[ 3216.348076] usb 3-1: new low-speed USB device number 4 using uhci_hcd
[ 3216.760025] usb 3-1: device not accepting address 4, error -71
[ 3216.872022] usb 3-1: new low-speed USB device number 5 using uhci_hcd
Sir,
ReplyDeleteI have a Arduino UNO R3 China made clone (ATmega328P with ATmega16U2) board. Can I upload the firmware via this Arduino? If yes, the please provide some instruction. This will save me from finding a machine with serial port. ATMega328 is cheaper than ATMega8 in some stores in Calcutta, so I need ATMega328 instead of ATMega8, can I use ATMega328?
I also need on-board voltage regulator equipped power supply like my UNO R3 so please give me the detail of power supply.
ProgISP is good but unavailable on linux, how can I use this programmer in linux? Is this programmer STK500 compatible? How can I use it to upload Arduino UNO R3 compatible codes right from the arduino IDE?
hi..Gaurav,
ReplyDeleteplease help me out about the
1. x2 connector
2.jp1
3.jp2
4.jp3
i have read all your posts but i cant figure it out .So,please help me.
thnks in advance...
Sir,
ReplyDeletei have made the above stated circuit. but when i try to program my AT89S51 it says error "CHIP ENABLE PROGRAM ERROR".
please help me out as early as possible as it a part of my project.
thanks in advance........
hiii
ReplyDeletei program atmega8 avr with given hex file and my led is glowing but when i connect my programmer to computer then it shows usb device is not recognized i am using Windows 7 ,32 bit operating system . i install the all driver .what to do i ?......
Dear Mr. Gaurav
ReplyDeleteI am studying your blogs from last few days.I understand all the thing but one small thing i cant understand.
Here the voltage (+5V) and GND coming from the external 5V power adaptor and Target MCU's voltage (+5V) coming from the USB pin no.1 and GND come from Pin no.4. My question is that the voltage source is different I know but can I join the both GND's togather ?
Subhendu Mondal
subhendu.mndl83@gmail.com
if you want to power the traget MCU from USB Power supply , connect USB +5V to target MCU's +5v.
Deleteif you want to power target From external Power supply , connect target MCU's +5v to external supply.
in every condition , all GND will be shorted together.
Hi Mr. Gaurav,
ReplyDeleteI have done the circuit as per ur diagram. configure fuse bit and burn main.hex to ATmega8. but Still I found "chip enable programme error"
I replace the cristal,put a new at89s52 controller. But error not resolved.
please guide me the positivly.
Also I woul like to inform u that I have not used any external 5V power source. the voltage coming from USB
Delete