Atmel AVR
Serial Programmer
This programmer is based on Application
Note AVR910 on techniques for in-system programming. The following
modification have been made to the ap note's design:
-
A MAX232 RS-232 interface chip is used instead of the power-stealing level
shifter.
-
The 10-pin standard ISP connector is used instead of the 6-pin. The 10-pin
appears to be used in more application designs, and it has the advantage
of crimp-on IDC connector availability.
-
An LED has been added to indicate power, CPU health, and programming activity.
-
Over-voltage and reverse power protection has been added.
The programmer uses the AT90S1200 microcontroller to handle the serial
communications and programming signal timing. Of course, this leads
to a kind of chicken-and-egg problem: How do you program the programmer?
There are some simple programmers that require only a parallel port, such
as this
one. Such programmers won't work, however, under advanced operating
systems like NT or Windows 2000 (which was why I built this one in the
first place), but you could certainly bootstrap yourself through an older
system. I can also program the chip for you for the cost of postage,
drop me an email at qsl.net if you want to go that route.
The board above was made through the services of ExpressPCB.
For $62, they will make and ship three 3.8x2.5-inch double-sided PC boards,
and the software to lay out the board is free. The serial programmer
here fits into a third of one of these boards, so you can make nine in
a shot, for a per-board price of $6.89. The layout files below are
in ExpressPCB format, this program and the ExpressSCH schematic capture
application can be downloaded from the ExpressPCB web site.
The circuit will program with the original code from Atmel, but I've
made minor modifications to it for the added LED. The LED will be
turned on when the microcontroller reaches the main command loop, and turned
off again when it exits. This will cause the LED to turn on when
the power-up steps have successfully completed, and flicker during programming.
Schematic for programmer in PDF
Schematic for programmer in ExpressSCH format
PC board layout in ExpressPCB format
Programmer assembly source code
Windows programming application for use with
programmer