Make your own, ultra simple, universal AVR programmer !!
Posted by Omkar on October 15, 2007
Two types of AVR programmers can be built :
PARALLEL PORT :
————————–
Following circuit diagram shows ultra simple AVR microcontroller (SOURCE: unkown). It requires very few components and its very simple to build on general purpose matrix PCB. You can use PonyProg2000 software to program your AVR using this programmer.
CIRCUIT DIAGRAM :
LIST OF COMPONENTS :
| 1)Resistors | 220Ohms ,1/4W | 4 |
| 2)Capacitors | 27pF,disc | 2 |
| 1µF , electrolytic | 2 | |
| 3)Crystal | 4Mhz OR 8Mhz | 1 |
| 4)Voltage regulator | 7805 | 1 |
| 5)Connector | D25 Male | 1 |
| 6)Grid PCB | 3″ x 3″ | |
| 7)Connecting wires | - | - |
approximate cost : 55 Rs
• As programmer circuit is very simple, u can use substitutes if particular component is not available at your place.
• You will not get 3”x 3” GPCB ready made, you have to cut standard sized PCB. 3” x 3” is just rough estimate
SNAPS :
Following photograph shows programmer I have made for 40Pin and 20Pin AVR µCs. MISO, MOSI, SCK, RESET, X1, X2 , VCC and GND pins of both 40pin and 20pin sockets are connected together.
CONFIGURING AND USING PONYPROG2000 :
- Open PonyProg2000
- Select menu : Setup>Interface Setup
- Now select menu Setup>Calibration. A dialog box will appear , click YES.
- Now PonyProg2000 is configured and ready to use.
- To burn your .Hex file into micro, select File>Open Program(FLASH) file.
- Select appropriate microcontroller from the list of devices at top-right. e.g >
- Connect your programmer ckt to PC, then place your micro into programmer ckt and turn on its power supply.
- Now click on the encircled icon :
- When device is programmed you will get “Program succesful” message.
Serial port programmer(reference: At-Prog) is shown here. Main advantage of using serial port is you can have cable length upto 2m. You can use PonyProg2000 software to program your AVR using this programmer. Serial port generates +- 12V on its pins, thus diodes and zener diode is used to clamp +12V to +5.0V(4.7V due to zener + 0.3V due to bat85) and -12V to -0.3V (due to lower Bat85). You can substitute Bat85 with 1n4148, however it is not recommended because, this diode will clamp +12V and -12V to +5.4V and -0.7V which are not desirable, as per datasheet of microcontroller. Its not that micro will burn if you use 1N4148 diodes, but why to take risk !!.
CIRCUIT DIAGRAM :
LIST OF COMPONENTS :
| 1)Resistors | 1K,1/4W | 4 |
| 2)Capacitors | 27pF,disc | 2 |
| 1µF , electrolytic | 2 | |
| 3)Crystal | 4Mhz OR 8Mhz | 1 |
| 4)Voltage regulator | 7805 | 1 |
| 5)Connector | D9 Female | 1 |
| 6)Diode | Bat85 | 8 |
| 7)Zener Diode | 4.7V | 1 |
| 8)Grid PCB | 3″ x 3″ | |
| 9)Connecting wires | - | - |
approximate cost : 90 Rs
CONFIGURING AND USING PONYPROG2000 :
- All steps are same as described in parallel port programmer section, However during third step do the following settings :
select “serial”, from list select “SI prog I/O”, select “COM1″( usually serial port is at COM1, if your computer have more than one serial ports multiple options will be active. Select appropriate, if you know, else do trial&error), check “Invert Reset”. Click on OK.
COMMENTS :
• Circuit diagrams shown above are generic and suitable for any AVR µC which supports ISP (almost all AVR, you can refer to www.atmel.com)
• Connect pins (e.g. MISO,MOSI, etc…) of AVR to appropriate points shown in circuit diagram.
• You can built programmer for more than one AVR devices by using different IC sockets for each device and doing appropriate connections of all above signal lines ( MISO,MOSI,SCK,RESET,X1,X2) and Vcc,Gnd of each AVR.
• Prefer using ZIF socket with IC base(refer: How to use ZIF socket in circuit without re-drilling holes on PCBs). Though It is bit costly, it proves extremely helpful.
paschal said
i am very greatful for the information it helps me a lot and i hope you can be able to help me someother time
Sunil said
Hello..
I cant find BAT85 in local market…
So can u plz suggest any option??
Plz give name and number of part..
Thanx in advance…!!
syakira said
can i used it with avr atmega 128?
sabin shr said
hi
can i program at89s51 using pronyprog programmer
can i make chage in bat85 diode using max232
dd said
i want program Mega88.. and i thought you oly need #CS,SI,GND,VCC,SCK,SO
to program why do you have X1,X2? are those necessary?
Mrunal Ahirrao said
Sir I tried to burn .hex in PIC by using other kit but i am getting error ‘verify failed at 0000h’ sir please help… Though this question is out of this discussion but please help me!
Mrunal Ahirrao said
Thankyou sir.I am very much thankful to you for designing such circuit and sharing with us! As such kits are much costlier in market.I will be completing this kit soon!
Mrunal Ahirrao said
Sir can we use uC other than AVR like PIC on this kit?
Omkar said
No this kit is meant specifically for AVR mega16/32 devices.
Pulkit said
i did not find the bat45 diode….can it be replaced by any other diode??please reply…i have an urgent need for this programmer
Omkar said
diode number is BAT85 not bat45. You can use any schottky barrier diode.
Rabin said
It do not need crystal for AVR to program the flash.
Rabin said
It works well on Attiny 26.
I just powered up the VCC from the computer’s supply.
Shashank Patil said
bro i am using atmega8L and want to kno abt fuse bit setting and i aslo gone throug ur article but didnt understand ?????????
Omkar said
you can use fuse bit setting same as mega8. mega8 and mega8L are essentially the same. Just speed is different. ‘L’ is slower.
pete said
Hello guys,
does anyone know how to connect the following signal lines ( MISO,MOSI,SCK,RESET,X1,X2) and Vcc,Gndto 20 pin socket for invading ATtiny2313 chip?
Thank you in advance.
Pete
mayank (india) said
get datasheet from internet
praneet said
Can I use 16 Mhz crystal instead of the 4 Mhz mentioned above for burning the uC? Also what ZIF socket should I buy? I have seen some have 40 pin slots,20 pin(and that to in 0.3 in and 0.6 in).Please help !
praneet said
Hi omi or anyone else, anyway i bought 4 mhz crystal and 40 pin zif. when i use ponyprog i get the error commn port not available -16.when i go to i/o setup and select parallel+avr isp i/o ALL my LPT are disabled although when i go to device manager it says PCI_LPT(LPT3)working properly in the properties! Now i dont know what to do..Iam trying to program atmega8 in xp.please help!
Arun said
I want to program AT89S52. but it not in the device list. Hence to program AT89S52 which option should be selected? AT89s53 or AT89s8252 because only two option is there in AT89s series.
Atma Ram Neupane said
you can use ISP software to burn 89s52 microcontroller.
AVR – Input / Output « Innovation Center said
[...] and test them on your development kit . – To know, how to burn code into uC using PonyProg2000, click here. – If you don’t have development kit, simply connect 8 LEDs to PB (i.e port b). – In [...]
Srijit Misra said
Can this be made to program AT89c51/52…if so what is the pin out mapping required?Also do you know of any programmer software which supports configurable serial/parallel interface with support for AT89c51/52?
Thanks.
Omkar said
This can be directly used to burn AT89S52 microcontroller using PonyProg software.
Srijit Misra said
I was talking about AT89C51/52 not AT89S51/52….
Omkar said
You can try, Adam Dybkowski’s ISP programmer. Go to SETUP and configure it according to this circuit diagram.
Srijit Misra said
Hello Omkar..thanks for the simple but awesome ckt.
I made the parallel port version…used 4 Mhz crystal as described in the ckt.
Made all the other connections(MOSI,MISO,SCK,RESET,VCC,GND) as described.
I calibrated the Pony Prog…selected AVR ISP I/O….loaded the hex file.
I want to program AT89S52 … but not having found that I selected AT89S8252 both having similar
SPI.
But it gives ‘DEVICE NOT RECOGNIZED’…same with AT89S53.
So I tried with Asim Khan’s ISP software…
It gives the message: “No Response from uc..” and mismatch of device signature…
Kindly help.Thanks.
Omkar said
Device signatures for 89S52 and 89S8252 are different as they are two different devices. Pony prog verifies the device signature before continuing. If you want to use Asim Khan’s programmer you have to make sure that parallel port pin configuration of the ISP programmer’s circuit and that used in Asim Khan’s programmer is same. Alternative is to use “ISP programmer” developed by “Adam Dybkowski”. This software has provision to configure parallel port pins. You can change the settings in that software according to the schematic shown on the blog. It works if properly configured.
Srijit Misra said
I tried with Adam Dybkowski’s Isp programmer version 1.2.0.55 and configured the same according to the schematic given above.Reset–pin9 , Mosi–pin7, Sck–pin6,Miso–pin10.
This time it reads the device signature and recognizes the same as 89s52 but still cannot program the flash coming up with the error :
Error at 00000000 Byte written 0C read 00
or sometimes
Error at 00000000 Byte written 02 read 00
What to do next???
Plz help.Thanks.
Omkar said
It means there is some issue with the programming cable or the device itself. Have u given 5V supply to the uC ? Try inverting the RESET line from software.
bluedazzblaze said
Yes and many thanks,it is working
…only problem is that it is loosing the device signature often and is requiring repeated reads of the same for a single write or verification…otherwise it is working fine.
P.S. I tested with another device with the same result.
Do you have a comparatively easy usb compatible programmer schematic for SPI programmable devices?
Thanks again
Omkar said
USB compatible programmer is “USBasp”. Some people have posted modified firmware of USBasp which enables burning 89S52 devices. See the comments on USBasp related posts on this blog.
Omkar said
USB compatible programmer is “USBasp”. Some people have posted modified firmware of USBasp which enables burning 89S52 devices. See the comments on USBasp related posts on this blog.
Srijit Misra said
Do you know of a programmer with software configurable serial port terminal like Adam Dybkowski’s parallel port programmer?
Bishshoy Das said
I am a newbie at these. So please help me clear a confusion. I have read in other websites that you require a MAX232 in between the Female D9 connector and the avr interface to convert the signals correctly. But the circuit for the serial connector does not have any such approach. Does the circuit compensates for that? Please clear my confusions.
And if someone had made it working plz drop in a confirmation comment, that this works. I want to be absolutely sure coz i dont want to burn the atmega32, i have, instead of burning the code !
bishshoy.scientific@gmail.com
Omkar said
Yes, this circuit compensates for the MAX232 through the use of diodes. This circuit absolutely works on PC serial ports (not sure about laptops since USB2Serial converter will create timing problems). And if you want to be on the safe side, you can always buy low cost USBasp programmer mentioned on the products page.
2010 in review « Electronics – Tuts, tips and much more … said
[...] Posts How to make simple Infrared Sensor ModulesAVR : Tutorial 2 : AVR – Input / OutputMake your own, ultra simple, universal AVR programmer !!Anode and Cathode of LED !AVRDude Tutorial : Burning hex files using USBasp and AVRdudeUSBasp [...]
Nat said
Thank you so much. I used this with ATTiny2313 worked perfectly. I didn’t need to have the crystal. In pony prog make sure you select your chip type from the drop down. Thanks again.
Divyam Chhaya said
I am getting this error “Device missing or unknown device” !!! I just have no idea what to do…Everything is connected properly…But still !!!And above that, write failed….
Omkar said
If you are using brand new microcontroller, you will have to put USBasp in slow clock speed mode, by closing the “slow clock” jumper on USBasp.
Divyam Chhaya said
Bro, what u said,just went above my head..!
Whats Whats USBasp..??
Omkar said
Ohh … I am sorry. My mistake. Anyways, in your case check these things : Check whether u have connected crystal or not and uc is getting power supply or not. Which programmer you have made ? serial/parallel ?
Divyam Chhaya said
I have made a parallel programmer.Will the computer detect the LPT port as soon as I insert the device in…?.
Look.Il tell you.I completed the circuit, inserted in my PC’s printer port, made a hex file copied it to pony prog,, and clicked on the icon which u said, to write into the microcontroller.Then it says “Device unknown, or missing”….:O
If this is made, I have a lot of stuff to be done..
Omkar said
When u use Pony Prog for the first time, you have to calibrate it. Also, you have to specify ur parallel port (LPT1) in PonyProg settings. Wire length should be less than a meter. If still it doesn’t work, then may be parallel port itself has some issues, so you should check it with another computer.
Ravi Singh said
i am having windows & as my Os and i bought a usb to serial programmer to program my atmega 16 development with no boot loader on it.as serial cant program the atmega board can i use a serial to isp and use both usb to serial and serialplease reply soon
to isp in combination on my laptop.will it work.
http://www.nex-robotics.com/products/usb-and-ethernet-interfacing/usb-to-rs-232-converter.html
Omkar said
It is observed that Serial-to-ISP doesn’t work on laptops, when you use common USB-serial converters. You will have to get USBasp programmer or any other similar device.
mahesh said
hello sir,
i m doing it serialy it require any baud rate setting?
Omkar said
No, Buad rate is configured automatically by pony prog.
Sandeep Kumar said
thanks…nice one…
sha said
elow. omi or any other.. want to know if this programmer will work for my chip AT89c2051.. pls reply. thanks a lot..
Omkar said
It depends on the software. Pony Prog doesn’t support AT89C2051. Best way is you can go for AT89S52, it is compatible.
sha said
thanks for that. ISP programmer i think supports at89c2051 but i can’t find any MOSI and MISO pins in AT892051. is has only RXD and TXD pins. pls help…..
shanchathuranga said
thanx a lot
Basharat said
It is really a simple and effective progreammer… wow
Starting with Microcontrollers « E.O.L.E.R. said
[...] Making you own programmer serial and parallel, very good reference: http://elecrom.wordpress.com/2007/10/15/make-your-own-ultra-simple-universal-avr-programmer/ [...]
nugroho said
is it possible to combine the serial port programmer with serial communication circuit (eg. MAX232 circuit) ?
thank’s in advance
Omkar said
Yes possible, but with some switches and shorts.
shasha said
Where can i get the schematic for combined programmer and serial communication for AVR?
John Karavas said
Is this programmer compatible with ATMEGA8535/16PU ?
Omkar said
yes. This programmer can program any AVR.
Sumon said
But in pony prog 2000, i cant find AT89S52 uC.There are only AT89S8252 and AT89S53, so Which programmer i will use??
Omkar said
u can use Asim khan’s ISP programmer software. It work with this parallel cable schematic.
SHERGILL said
Kindly tell me whether the parallel port programmer given here can erase the program already on AT89S52 or not???
SHERGILL said
My correct email is this.
Omkar said
ya. Parallel port programmer shown on the page can erase the existing program on AT89S52. Use Pony Prog.
Sumon said
can i burn AT89S52 by this programmer???? plz reply.
Omkar said
Yes very much. You can burn AT89S52 with this programmer.
Sumon said
How can i erase a micro controller program? plz..reply as soon as possible?
Omkar said
see the PonyProg’s help file.
Sumon said
How can i erase a micro controller program? plz..reply as soon as possible.
Debashis said
I don’t have any serial/parallel port on my laptop, only has usb port,so can I use any USB to parallel port converter with the “parallel port programmer of avr”?
will it work?
plz reply her or plz mail me.plz it’s urgent.
WinCrazy said
Yes, but make sure the parallel port side has “full 2-way bidirectional” communication abilities. Many/most cheap USB/parallel adapters do *not* have this capability. If the unit is not advertised to have this then it probably does not.
SUNIL said
helo i need to glow LED by the c or java program or any how will i do it………….
SUNIL said
I HOPE U CANT DO
PAVAN said
hey elecrom..
i am totally new to robotics and microcontrollers…
well to program my atmega 16/32..wat to do??
well i don hav parrallel and serial port..then how to burn program on to it??
pls..reply to my id feelpavan@yahoo.co.in
pranav said
hi omi
the cable u provide for the serial interface between pc and max232 …
is this cable a rs232…
dh@v@l said
i want to use the atmega 8 for my projedts than which pins i have to for load program in to controller?
dh@v@l said
Is it neccesary to have a d25 female port in your computer?
Omi said
Yes, absolutely !! It is printer port based programmer. If you don’t have printer port you can try serial port based programmer. If you don’t like that also, you can try USBasp.
Benski said
i built this circuit but it only would set pins either on or off. was wondering if the reset needed to be differently hooked up? (programming a AT90S1200)
Omi said
>>Benski
Connect 47K pull-up for reset and make sure that your uC supports In system programming. I didn’t understand : “i built this circuit but it only would set pins either on or off”
Rony said
i will like to know if i can use this to program at89s51, i need a working one badly. thank you
Supreetha said
Rony, a nice programmer for Atmel 89series with serial or usb support is available at http://www.united77.com/89programmer.htm
It can program any Atmel device which starts from AT89.
Good luck
Omi said
>>Mize
Reset line should be pulled high on target board using 47K resistor. No other things are required. When you finish the programming and want to run your program, be sure to remove ISP cable from target board, or your uC might be kept in RESET condition, by pony prog.
Mize said
I was wondering about the reset line, and if you can setup some kind of switch, and if so will that work since it’s directly from the programmer. As well, do you have an recommendations for target boards, or sites that have good designs for target boards that can utilize your ISP. Thanks again.
Aldrin said
Hi …can u pls tell me wht OCR2=49 means…
actually m trying to get an interrupt of 160Khz using 16Mhz clock
so m using da clock without prescaling it by setting TCCR2=0×09
den if I set OCR2=49 will u pls help me out in knowing what will happen…?
Aldrin said
Thanks a lot…
Omi said
>>Aldrin
AVR, I will recommend you two books :
- Programming and Customizing AVR – Dhanajay Gadre
- AVR microcontroller primer programming and interfacing
- and of course … exact and to the point information is available in datasheet of the respective controller
#asm, #endasm is used to insert inline assembly code into your program. It is specific to CodeVisionAVR compiler only.
Say for example, in some application you need the delay of exact 500ns. Operating freq of uC is 16MHz. Now to generate this delay you can use 4 NOP instructions in ur programm. 1 NOP takes one clock cycles and so 4 NOPs will produce desired delay. It should be written as follows :
#asm
nop
nop
nop
nop
#endasm
If you want to include only one single instruction in then you can do it with :
#asm(“nop”)
Aldrin said
hey … can u pls explain to me also why #asm and #endasm is used..
Aldrin said
Hi …I dunno if u remember me…hw u doin..?…can u pls tell me a gud book on internal Architecture and programming of Atmel32 if u knw
Omi said
>>Mize
Whatever you have mentioned is correct you can use capacitors from 20pf to 30pf. However after going thorugh few microcontroller datasheets and some application notes here is what I follow :
As a thumb rule : for crystals between 1MHz to 4MHz use 33pf capacitor as a load for crystals having freq more than 4MHz upto 8MHz use 27pf and for crystals having freq more than 8MHz use 22pf.
Mize said
I have been very interested in building this myself but am a little confused when I go to choose a crystal. There are many that specify a load of 20-30pF and some that say series. I was wondering if you could tell me which one I need to build the serial ISP. Thanks, and great site, really has peaked my interest with AVR.
Omi said
>>Siddi
Are you sure you have already set mega16 to internal 8MHz oscillator ? Whenever you buy brand new IC from a shop, it is by default set to internal 1MHz oscillator. If you would have set the fuse bits to use external crystal then, uC will not function until you connect crystal to it.
ATmega doensn’t need anything special for programming. Everything is handled by the ponyprog. If your setup is not working, then there can be problem with uC or problem with parallel port converter. I have already mentioned that is it not guaranteed that such converter will work for uC programming.
Siddi said
I just connected the following signals between controller and the parallel port
1. MISO
2. Vcc
3. SCK
4. MOSI
5 RESET
6. GND.
(all signals are directly connected, no pull-ups or pull-downs)
I just have 7805 with capacitors and am using the default internal 8MHz oscillator)
Parallel port is under bi-directional mode (I tried also all other possibilities).
I used all default values at PonyProg:
Interface setup: Parallel: Avr ISP I/O
I get Probe test:OK
Calibration test: OK
But when I tried to program the atmega16 I always get this errror:
DEVICE MISSING OR UNKNOWN DEVICE (-24).
It doesn’t even erase, neither writes program in it. I always shows the same error like above
Does atmega16 need some special initialization command tho make the isp programing possible or am I missing something here?
Can anyone help me please?
Omi said
>>Siddi
Fuse bits:
- For fuse bits setting refer to another post regarding the fuse bits on this blog.
Programming:
- No. Same header files won’t work for AVR studio. Examples shows are for CodeVisionAVR. You can download evaluation version from : http://www.hpinfotech.ro/html/cvavr.htm
Laptop parallel port:
- I’m not very sure, but as I got feedback from others, it is not guaranteed. Such converter generally do not work.
Siddi said
I am a newbie to electronics and have now spent days collecting information and downloading software’s from internet. Can someone please tell me how to change the fuse bit settings wen i use and external clock?
I have understood the programming as explained in the “Avr tutorial 2″. Does the same header files and the same programming terminology get compiled if i work in AVR Studio 4…?
I work on my laptop, so is it ok if i use a USB to parallel converter too burn the programs in the uC through my laptop…?
Please reply as soon as possible
Command Line Interface (CLI) For AVR « Ashish’s Weblog said
[...] Make your own, ultra simple, universal AVR programmer !! [...]
yashin said
Sir,
I have done this hardware using the parallel port .I have few problems please help me.
1 :Will the ponyfrog works on vista.
2 :Can I use this software for AT89s52 and AT89s 2051 because these are not in the device list.
3 :What is the message mean communication port missing(-16). Is this mean my hardware is faulty.
Omi said
>>Kister
Yes. You have to make sure that when you are programming the uC, its VCC&AVCC pin gets +5V. Otherwise it won’t get programmed. I don’t know how it worked,in your case, with PIC without powering it up with +5V supply. Whenever you program any chip, you must give appropriate supply to chip.
Kister Jimenez said
Ah! ok. Thanks.
Do I really need to plug my circuit on when I program it?
Because when I use my sercon2 for ISP of PIC I didn’t have to supply any external power source and it worked.
Omi said
>>Kister
Yes it is taken from sercon2 mini. I have given the reference too. Only thing I added is I made it more complete by adding crystal and supply connections. Sercon2 Mini assumes that all things required for uC to run(like correct supply and crystal) are already in place. I have specifically shown them in this diagram to avoid confusion. If you have those things already in circuit (i.e. if you are doing In System Programming) then of course you can omit them.
To make sure that your programmer works, keep wire length less than a meter. And construct the programmer on the grid PCB. Don’t solder any components hanging in air.
Kister Jimenez said
Oh, I found this link which has the same hardware except for the X1,X2, and VCC part.
Can I use it to program an AVR in circuit with 20MHz xtal?
Can I use your serial version without the crystal and VCC?
What’s the consequences?
Kister Jimenez said
How can I check if the serial version programmer is working? Is there a tool in the ponyprog that detects the connected programmer?
Omi said
>>Shyam
Yes you can get 8MHz from internal RC oscillator of mega8. However the problem is, this frequency is highly unpredictable and dependent on supply voltage and temperature. 8MHz is nominal freq. It can deviate by as much as 10%. So this option will be of no use if you want accurate timing in your program. Also you cannot use UART with this RC oscillator. Since actual operating freq. is very difficult to find out and it keeps on changing.
Shyam said
Thanks…Omi
btw my last question is that without using an external crystal can i get a frequency of 8Mhz from RC oscillator(internal) by changing the fuse bits ??
In case i face any prob i will get back to you with my prob…thanks for helping.
Omi said
>>Shaym
NO !!!
You are saying u want to use 16MHz crystal, this implied that fuse bits settings has to be changed from internal oscillator to external crystal. Once you do that, ur uC will run only if crystal is connected. In order to burn the program into uC, uC must get the clock. Therefore you will have to connect crystal. It is better that you follow the circuit exactly as given, and connect 4MHz crystal. Whereas in your system(or on breadboard) you connect 16MHz crystal.
Shyam said
If I do not connect any crystal in the burner circuit then also it would be fine ?
Omi said
>>Shyam
If your program is written considering 16MHz crystal, then you should use 16MHz crystal while running the program on uC and apply fuse bit settings accordingly. You have to configure fuse bits for external crystal more than 8MHz. It doesn’t matter which crystal you use for burning the program into uC. So you can safely connect 4MHz on ur burner circuit.
Shyam said
I am in totally confused state with those fuse settings.
I am using a 16MHz crystal for the main program on my MC.So while burning the MC would i require a 16Mhz crystal in the programmer circuit or a 4Mhz crystal or none at all.What fuse settings should i follow ?
Please reply soon if possible with the fuse settings.
Omi said
>>Shyam
>>I am new to programming of MCs.I would burn Atmega8 through that parallel programmer.
>>I want to ask that in the circuit you have used a 4Mhz crystal,so for that do i need
>>to change the fuse settings ?
When you buy ATmega8 from shop, its fuse bits are configured to use internal 1MHz RC oscillator. So while burning the code you don’t need any crystal as such. And you can use the uC without connecting any crystal.
However, if you decide to change the fuse bit settings from internal RC oscillator to external Crystal then you will have to connect the crystal. Means, Suppose :
You Want to change the fuse bits settings so that uC uses external crystal Then —
- You need not connect crystal first while setting the fuse bits for external crystal configuration. Because, whenever fuse bits are re-written, new settings are applied after uC is resetted.
- So for changing the fuse bits settings, you don’t need crystal. But once you execute the command for changing the fusebits from pony prog, then, from that time onwards your uC will not work, until you connect the the crystal
- Thus best way is keep crystal connected in the programmer circuit. It will be simply ignored by the uC when internal RC oscillator is selected.
>>Second query is that after burning for the first time how to burn the MC for
>>the second time and how many times it can be programmed(at max)?
You can simply execute the programming sequence mentioned above. There is no difference between burning the uC for 1st time and for 2nd time(and so on …). uC’s internal flash memory gets wear out after reprogramming it for certain number of times. For ATmega8, you can safely reprogram it upto 10,000 times. This is mentioned in the datasheet of every AVR on the very first page. It is written as : “Endurance : 10,000 write/erase cycles”
Shyam said
I am new to programming of MCs.I would burn Atmega8 through that parallel programmer.I want to ask that in the circuit you have used a 4Mhz crystal,so for that do i need to change the fuse settings ?
Second query is that after burning for the first time how to burn the MC for the second time and how many times it can be programmed(at max)?
Omi said
>>Mantu
I have posted the diagrams on this blog post. You can download them from this page itself. and The PonyProg 2000 you can easily download from the net.
mantu said
i need AVR burner so u kindly send the ciruit diagram of the burner and the program to the following email address:
maddy_mantu@yahoo.com
rashmi_bista@hotmail.com
Omi said
>>Jan
If your uC is brand new, it will get programmed without crystal. This is possible only in certain AVRs which have internal RC oscillator. Once you change the fuse bits to enable external crystal, then you will have to use crystal from there onwards.
Jan said
Is necessary use crystal or can I use internal oscilator?
Binu said
Nice stuffs, keep doing
Omi said
>>Er
Yes it can program any AVR which supports SPI programing.
er said
Can it program a Atmega8? Need a cheap programmer.
Omi said
>>Sayed
you should use the serial cable only. USB to serial cables doesn’t work for this purpose.
Sayed said
thx for the circuit . i’ve done serial one but i’ve question . i connect all circuit and connect D9 female from here can i get serial\USB cable and connect this cable to PC and download program or serail\serial cable?? . thx and excuise me for stupid question bcz im new in electronics
.
arun said
hey guys can dis programmer be used for ATMEL ATTINY84 microprocessor …….
buddies reply soon guys……..
Omi said
>>Krishna
This programmer can burn all AVRs, 89s52, I2C EEPROMs using PonyProg2000 software.
krishna said
can we burn all the microcontroller using this programmed? . I have interested in this project. please let me know
anshul said
>>Omi
thanx Omi…
Omi said
>>Anshul,
Yes … It can program any AVR which supports ISP ( almost all AVRs support ISPs). It can also be used to program 89s52, and EEPROMs using ponyprog2000.
anshul said
Is these programmer can be used to program ATmega16 controller…
simple AVR programmer « xiaolabaDIY said
[...] http://elecrom.wordpress.com/2007/10/15/make-your-own-ultra-simple-universal-avr-programmer/ [...]
elecrom said
@ARUN
Yes you can use this circuit to burn uC again. For fuse bits setting refer another post on fuse bits on this blog. There you will find settings for “ATmega16/32 – external xtal upto 16MHz, full oscillator swing, slow rising power (65ms), JTAG disabled” Use these settings.
Better use 16Mhz xtal for your mega32.
Arun said
Hey thats a great circuit……….
I want to know 1 thing…………..I hav burnt a code in to microcontroller
-> now i want to write another program & burn in to the same microcontroller……………so will this circuit work or do we need something else to fuse the bits.
and also Hey I am using ATmega32 so which crystal should I use
Tachometer using AVR Atmega16 « Ashish’s Weblog said
[...] Make your own, ultra simple, universal AVR programmer !! [...]
AVR : Tutorial 1: Introduction to AVR « Blog of illumination…!! said
[...] To program(or burn !) our code into uC. We need to use programmer hardware and programmer software. We will use simple parallel port programmer hardware and PONYPROG200 programmer software. To know how to build simple AVR programmer hardware and how to use PONYPROG2000 see Ultra simple AVR programmer. [...]
AVR : Tutorial 2 : AVR - Input / Output « Blog of illumination…!! said
[...] and test them on your development kit .- To know, how to burn code into uC using PonyProg2000, click here.- If you don’t have development kit, simply connect 8 LEDs to PB (i.e port b).- In [...]