A low cost AVR Programmer based on AVR910.
History
Somewhere back in time (i think it was 1997) Atmel started the family of AVR processors, small RISC based, easy to program and cheap.
The first evaluation board i used was the A96021000C (AT89/90 series flash micro controller kit). To be honest i bought it because the AT89S8252 was a 8051 core with ICP/ISP programming 🙂 , OK i bought it for programming the AVR processors 🙂 me laughs.
On the same year the Atmel released the famous AVR910 In System Programming based on a AT90S1200 (obsolete now) (original atmel pdf) (local copy)
Finally the vendor himself has released all the information you needed in order to create programming boards on the cheap.
The years has passed, and internet grew to a huge number of sites but we still cannot find a way to manage all the information we need in order to create something. Everybody has a different opinion, a new design and so on, this is something i don’t like, but on the other hand some times i do the same (take this page as an example). That’s why you are reading this instead of some links to different sites.
The information should be organized and I am trying to do it with the page that you are reading.
It is the same reason why the arduino succeeded which is based on AVR, more on that on a different page.
Standardization -> Hardware
What Atmel did from the beginning was to standardize the method of ISP that they will use on their family, and the famous ISP 10 pins was born.
On the new designs they suggest that you use the 6 pins version.
Standardization -> Software
Atmel has done it again with the release of the AVR Studio. One program to rule them all.
And all means all their boards, and all their processors.
On the other hand again for all the linux guys like me their is avrdude.
Schematics
The board is based on the work of Klaus Leidinger with a couple of changes.
Change list:
- Redesigned using Altium Designer (not big deal).
- Small PCB ready to be etch at home.
- It has 2 ISP/ICP connectors, one is the standard 10 pin the other one is the new 6 pins. (Important for me at least)
- TTL to RS232 levels is being done using a Dallas/Maxim DS275 (Yes, it works without issues with laptops and USB2serial converters)
The schematic is self explanatory.
- A small power supply arround the 7805 in order to convert the input voltage to 5V.
- 2 different connectors
- Crystal with the capacitors
- DB9 connector
- Power/Program LED
PCB
The PCB dimensions are 7×5 cm. It is designed in a way to be etched at home. The are only 3 jumber wires, 2 on the top and one in the bottom.
Jumbering the 2 pin header enables programming for the programmer from a different programmer 🙂 (I am not 100% sure that this expressions exists in English, it is the best translation from the Greek language)
Software
You can use the programmer with avrdude. This is what exactly i am using. Have in mind that the baud rate is 115200 bps firmware. The firmware is from Clauss.
In order to make our life easier use this version of avrdude 5.11 Patch 7610
avrdude-5.11 with an updated avrdude.conf for this programmer.
In order to program your devices you could use the following standard ISP/ICP cable. I admit i forgot to add a ZIF socket my bad.
BILL OF MATERIALS
|
Total cost around 10 Euros.
Programming the ATTINY2313
You need a ATTINY programmed for the programmer (chicken egg problem), if nobody can program the chip for you send me an email and we will find a solution 🙂
Correct fuses for avrdude (example command line):
avrdude -p attiny2313 -u -U lfuse:w:0xed:m
Operation
- Power up the board. The LED should go from RED to Green. If not remove the power and start troubleshooting
- Connect the DB9 with a straight cable to your PC comm port and check with avrdude that it can speak to the board. The command line is: avrdude -c avr910 -P com1 -b 115200 (replace com1 with the correct com port)
Complete ZIP file with the above
Plans for Version 2:
- Make it USB ready
- Powered from the USB
- Add a 20 pin ZIF socket
References:
ATMEL original version
Last update: Apr 2012
Leave a Reply