Introduction: AVR ISP Programmer

Picture of AVR ISP Programmer

     Making your own DIY Arduino board is interesting and challenging amusement. The biggest complication is always the burning of the bootloader. Such kind of "Catch 22 : http://en.wikipedia.org/wiki/Catch-22_(logic)" acts - you can not program your board through the USB because it is not preliminary programmed. The solution is known - the board must be initially programmed through its ISP interface. You can find a lot of cheap or expensive ISP programmers in the electronics stores, Ebay, Amazon...etc, but my experience learned me that the universal relatively cheap programmer able to program wide range of AVR (or PIC) chips does not exist. I have tested USBTinyISP. It had problems with Arduino Mega (ATmega 2560), I have tested USBasp bought in Ebay. It was also not working with Arduino Mega. I updated the firmware with the last version - the same result....
    I have decided to try to find some simple and very cheap programmer to try with it. My experience with the PIC chips told me that may be the best solution would be to find a circuit of serial programmer, working on the RS232 computer port. ATTENTION: This will work only on PC having real RS232 serial port. USB to RS232 adapters could not work. If the port has TTL levels - it would not work also. Searching in the Internet I found the following circuit. (Copyrights : Olimex). It is very simple and I hoped that it will be reliable.

Step 1:

Picture of
The parts needed:
  1. 1 x RS232 9-pin female connector - my had plastic housing
  2. 1 x 6 or 10 pin ISP connector (depends on the type of your ISP cable)
  3. 2  x zenner diodes 5.1V
  4. 1 x diode 1N4148 or similar
  5. 1 x NPN BJT  2N2222, BC864B...or similar
  6. 2 x 10 KOhm resistors
  7. 2 x 4.7KOhm resistors
  8. 1 x 33 Kohm resistor
  9. flat cable (6 wires)
For the assembling of the programmer I have used a piece of veroboard.
It had the metal pattern shown on the picture.

Step 2:

Picture of

I decided to embed the whole programmer inside the housing of the RS232 connector. I cut a small piece of the veroboard. I shaped it by sanding. For the circle cuttings I have used a round file. The process of the manufacturing can be followed on the series of the pictures. How to connect the parts can be seen there also.

Step 3:

Picture of

   After assembling and inserting the board inside the RS232 housing, i filled the whole housing with hot glue to fix the parts and the cable and to prevent some short circuit caused by binding of some part pins. To connect the ISP header (connector) to the other side of the flat cable I used a very small part of the veroboard. My connector was 6-pin, but also 10-pin connector could be soldered. The pin correspondence can be seen on the picture.

Step 4: Finished!

Picture of Finished!

   Now the AVR ISP programmer is ready!

Step 5: Time to Test...

Picture of Time to Test...

It is now time to test it!
   I have used the "Ponyprog" software. It can be downloaded here.
I decided to try the programmer on some more simple AVR chip, instead on ATmega2560, because if a problem appears it will difficult to find what the source is - or the microcontroller, or the programmer. For the test I have used ATmega32.
   How to connect the ATmega32 to program it the the ISP can be seen on the picture. 
To program it I have used a breadbord with supply board. 
In opposite to the USB AVR programmers, which can provide the power supply for the programmed chip, this programmer requires that the chip is supplied by an external power supply. Even more... this supply also must be connected to the "VTG" pin of the programmer.

Step 6: The Programming...

Picture of The Programming...

After assembling of the breadbord and supplying the chip is time to start the test.
The programmer is inserted in the RS232 port.
"Ponyprog" is started.
First the connection ports and the type of the programmer must be defined.

Step 7: Calibration ...

Picture of Calibration ...

Calibration must be done and the type of the chip must be selected.

Step 8: Let's Try to Communicate...

Picture of Let's Try to Communicate...

Now we can try to communicate with the AVR chip. Let's read the device...
We can read also the fuses.


It works!
Now we have for less than $2 a working AVR ISP programmer which fits easy in our pockets.

Comments

tsaltzman (author)2017-01-18

Does this programmer require its own microcontroller to work? The Atmel application note specifies a AT90S1200-4sc. I didn't see one listed here.

No, i doesn't need aditional controller. It works with rs232 port.

you can also check this at

https://steephightech.blogspot.in/2013/05/serial-p...

Milen (author)tsaltzman2017-01-19

Hi,
You simply connect it to the serial port of the PC. (IT MUST BE REAL RS232 PORT). It doesn't require any else except the software.
It uses Ponyprog : http://www.lancos.com/prog.html
In the list of the supported microcontrollers you can find also AT90S1200.

OmaisA (author)2016-08-09

Can I use this programmer for atmega328p?

Milen (author)OmaisA2016-08-09

Hi,
I did not try, but I think that should be possible

alias198 (author)2015-10-09

Hello,

My PC don't have physical serial port, but have serial port header will this programmer work with it???

Milen (author)alias1982015-10-09

Hi,

I hope that it will work.

opeyemi.seun2 (author)2015-09-26

I made it, but the ponyprog keep writing device missing or unknown device (-24)... Need help

Milen (author)opeyemi.seun22015-09-26

Hi,

take a look here;
http://www.edaboard.com/thread199225.html

First check if the chip you want to program is in the list of the
supported by ponyprog chips...
be sure that you have real RS232 port (+/- 15V)
Perform steps 5-8 from the instructable.
Check the correctness of the setup you use.
Using ohmmeter you could check also the correctness of the device you have made - is any short connection inside, or missing connection ?
You can try with other target chip (simple memory or other supported chip only to be sure that the programmer is functional...and after that perform thr previous task.
I hope soon you will find the reason.
Please reply.
Regards
Milen

EmadJ1 (author)2015-05-17

thanx for sharing. my friend it was very helpful

Nadimul Huq Zulas (author)2015-04-24

For more clear about how to load a hex file in microcontroller you can browse this video.
https://www.youtube.com/watch?v=4rHWzO7tqQc

AjayD (author)2014-09-23

Sir,Could you mention the names of the Atmel Chips it's supporting other than Atmega32 ?

diy_bloke (author)AjayD2015-04-20

check here:

http://www.lancos.com/prog.html

Gizah (author)2015-03-11

What's the difference between this one and your other "Parallel AVR Programming Board". Also, will either of these work for ATMega644?

Milen (author)Gizah2015-03-11

There are few differences
1) This one is serial (works on COM1 - real one with +/- 15 V), the programming board works on the parallel port LPT1.
2)The parallel board was dedicated for Atmega328 (if Atmega 644 is pin compatible with the first one - it could work - please check this by yourself).
The software used for this one is "Ponyprog". On its home page is given the list of the supported chips. I saw Atmega644 there - it should work with it.

islkamov (author)2015-02-09

I don't have RS232 on my laptop, is that working with USB to RS232?

Milen (author)islkamov2015-02-09

Hi.I suppose - no.

iqbal12392 (author)2014-11-15

wow, amazing. i'm gonna build that..... thank you... :)

AjayD made it! (author)2014-10-28

Sir,The Programmer Works Perfectly.Thank you!!!..........for Sharing

leninpremkumar (author)2014-06-30

Im going to build it....

Milen (author)leninpremkumar2014-06-30

Good luck !

leninpremkumar (author)Milen2014-06-30

Thank you.....

Giga Flare (author)2013-10-09

Sorry this work on atmega 328 (arduino chip), tanks

Milen (author)2013-09-07

I do not think so. I make a reference in the text to the original source, and I do not use this to earn money. If you look in the ebay, the plenty of proposed programmers coming from China are fully copies od usbtittny, usbasp...etc, and they refer directly to the author sites for driver download, software and etc.

SuperTech-IT (author)2013-09-07

If the circuit is copywritten, aren't we breaking the law by reproducing it in it's unmodified form?

INdek (author)2013-07-20

Does pci expansion rs232 also count? because my computer doesent have one

Milen (author)INdek2013-07-22

I can not tell you... It could work - it needs to have +/- 15V output swing. If you have scope, you can look at the signals. You can check the spec of the card - what RS232 standard it supports (the real or TTL). The last possibility is to look the at the chips soldered on the card. If there is a Maxim MAX232 or similar - it could work.

lean04 (author)2013-06-04

It looks promising, i m building one, i `ll upload pics when i finish.
Thanks

Milen (author)lean042013-06-05

Good luck :-)

About This Instructable

104,728views

63favorites

Bio: Thank you all for following me.
More by Milen:DIY Oscilloscope Kit - Assembling and Troubleshooting GuideParty stroboscope done by recycled partsArduino controlled power supply source
Add instructable to: