|AVR In-System Programmer|
|Description: AVR In-System Programmer. Here we provide details on our version of the Atmel AVR In-System Programmer (ISP). We provide schematics and printed circuit board (PCB) art to allow you to construct your own programmer.|
|AVR In-System Programmer|
|Copyright (C) 2003,2004,
Psychogenic Inc. All Rights Reserved.
Here we provide details on our version of the Atmel AVR In-System Programmer (ISP). We provide schematics and printed circuit board (PCB) art to allow you to construct your own programmer.
This document details the construction of Psychogenic's two versions of an AVR ISP programmer--it's focus is on the schematics, components and construction of the programmers. A good deal of details on the actual programming process is available in our AVR Programmer HOWTO page.
As mentioned in our AVR Programmer section, a quick and easy solution for beginners is the the parallel port programmer described on the avrdude site. It uses nothing more than a 25 pin parallel port connector, ceramic resonator and a ZIF socket.
Here we present two distinct programmers. Both are used to program AVR chips using the low voltage serial programming interface. The first uses AVR Dude's parallel port interface (PPI) while the second uses the computer's serial port in the standard AVR910 configuration.
Psychogenic PPI AVR Programmer
In this section, we will detail the construction of our PPI AVR Programmer. It connects to your computer's parallel port and implements a good deal of avrdude's features (e.g. status LEDs). Features we've added include an independent power source and voltage regulator (to protect your microcontroller and parallel port/motherboard), a 40 pin socket to allow you to program AT90S8515 chips directly as well as a standard 6 pin ISP header so you can program all other serial programmable chips, in circuit.
Downsides of this programmer are the fact it uses the parallel port (and thus requires a more expensive 25-wire cable) and only provides the 6 pin ISP header.
Psychogenic PPI Programmer Schematic
Here is the schematic for our PPI programmer:
Click the image for a large view of the schematic. This programmer uses an independant power supply, regulated down to +5V, and adds a buffer between the parport and microcontroller. It also sports a number of LEDs for visual feedback and the standard Atmel 6 pin ISP header, to program all types of AVR microcontrollers in circuit.
You may use our PCB artwork (according to the terms set forth in our license) to create a sturdy and professional printed circuit board.
Do not use the image above (it is low-res and won't be quite to scale), download instead a high-resolution (400 dpi) PCB and have it printed at 400 dpi. Be sure to check our PCB creation technique and hints on our Printed Circuit Board (PCB) HOWTO.
PPI Component Placement
Once you've created your PCB, use this diagram and the parts list below to complete the PPI Programmer circuit.
PsychoISP: AVR910 ISP programmer
This is our version of the AVR910 serial programmer.
Psychogenic AVR910 ISP Schematic
A slightly more sophisticated home-brew programmer would be to build our solution, a serial ISP programmer with both 6- and 10-pin header outputs based on the programmer described in the AVR910: In-System Programming app note:
Click on the image for a larger view of the schematic. Circuit features:
Do not use the above image as it will not be the exact size required, click instead on the image to download a 400dpi (hi-res) version of the PCB. Print that image at 400 dpi to get a "life size" inverted image of the PCB that can easily be transfered to a copper board for etching. If you are new to PCB creation (or want to see if you can learn a few new tricks), have a look at our PCB Creation Tutorial. As always, be careful when playing with the outside world.
PCB layoutOnce your PCB has been etched and drilled (read the disclaimer), components should be placed as in the following image. Make sure to note the orientation of the ICs, polarized capacitors, LED and other components.
Although this ISP programmer is a great solution it's main issue is bootstrapping: you need a programmed AT90S1200 chip in order to use it to program other microcontrollers... To break this circular dependency, you can use a temporary construction of the parallel port programmer from the avrdude site or a friend's programmer to write a compiled version of this AVR910.ASM file (a slightly modified version of the Atmel ISP programmer code) to an AT90S1200 microcontroller or you can order a pre-programmed device from us.
|Additional Article Data|
The comments are owned by the poster. We aren't responsible for their content.
|Jump to section|