Wednesday, November 12, 2008

In circuit AVR programmer (ISP)


Perhaps this circuit is the simplest AVR programmer you can build. Its great advantage is the ability to program almost any AVR microcontroller, without the need to remove it from the circuit in which is connected (in circuit programming).

Details

Actually the circuit is a simplified version of the older SIProg programmer. For more details read the article A simple SI-Prog.


Components

  • Two Zener diodes at 5.1V (low Watt).
  • One 10KΩ resistor (1/4 Watt).
  • Two 4.7KΩ resistors (1/4 Watt).
  • One 15KΩ resistor (1/4 Watt).
  • One BC547 npn bipolar transistor.
  • A female 9 pin DSUB connector (for PCB).
  • A female pin header (5 pins. If you have one with more pins, just cut it).
  • A small piece of a Veroboard.
  • Wire for connections.
  • Solder and soldering iron.

You don't need any external power supply.

Schematic Diagram

Here is the schematic diagram of the In circuit AVR programmer


Attention: In order this programmer to work, the circuit in which the microcontroller is connected, must have a 10KΩ (or 4.7KΩ) pull-up resistor on AVR's reset pin.
Generally we call pull-up resistor any resistor connected between the power supply and one of the I/O pins of the microcontroller. On the other hand pull-down resistor is a resistor connected between the I/O pin and the ground (GND).

 
Settings

In order to succesfully program the microcotrollers, you will also need the appropriate software. You can find a lot of free software compatible with this circuit. However in this article, I will show you the settings only for icprog (www.ic-prog.com) and PonyProg (www.lancos.com/prog.html).

For ic-prog you can see the necessary settings in the following picture

If your computer isn't fast enough, increase the I/O Delay. With a Pentium II 333MHz, I didn't have any problems with the delay.
Attention: In order to use the Direct I/O interface setting in Windows XP, you need to download the appropriate driver from the icprog's website (www.ic-prog.com).

For PonyProg the settings are just like the next picture

 
Pictures

In the following pictures you see the programmer build on a small piece of a Veroboard (StripBoard).

 

No comments: