This short tutorial will show you how to setup a breadboard with an Atmel AVR microcontroller to be programmed using In System Programming (ISP). This allows you to program and re-program your chip whilst in your own circuit, without the need to be constantly removing it and placing it in a dedicated programmer.
You will need an ISP compatible programmer. These typically plug into the parallel port of your computer and have a 10 Pin IDC connector like the one shown below.

In this example, I'm using a ATMega8 on a breadboard.
Parts:
- ATMega8
- 8MHz crystal
- 2 x 22pF Capacitors
- 7805 Voltage Regulator
- 2 x 10uF Electrolytic Capacitors
The pinout of the majority of atmel programmers is exactly the same and is can be seen below. Take note of the the location of the polarising pin. We need to connect this programmer to our breadboard. My programming header is simply 2 rows of 5 pin 0.1" spacing headers I had lying around.
Cut 6 short lengths (approx 100mm) of coloured hookup wire. Each of these represents one of the following control signals necessary to program the mega8.
- MOSI
- MISO
- SCK
- RESET
- +5V
- GND
Simply strip about 5mm of insulation off each wire and connect the respective pins of the Mega8 and the programmer.
You have now finished setting up the hardware reqired to run your
ATmega8. It's as simple as that.
http://www.itee.uq.edu.au/~cse/_atmel/Atmel_AVR_Resources/
Some more tutorials on how to setup your software
http://homepage.sunrise.ch/mysunrise/pfleury/avr-devtools.html
http://www.prioria.com/docs/PonyProg2000Tutorial.rtf
http://www.avrfreaks.net/Tools/showtools.php?ToolID=376
DK 19/08/04
