ELECTRONS.PSYCHOGENIC.COM NEWS   RAVES & RANTS   GAMES   CONTACT US    
HOME ACCOUNT PRIVATE MESSAGE  
Main Menu

Login

Electrons :: Articles :: AVR :: AVR In-System Programmer
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.

  • 1. AVR In-System 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.

TOC

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:

Psychogenic PPI Programmer schematic

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.

PPI PCB

You may use our PCB artwork (according to the terms set forth in our license) to create a sturdy and professional printed circuit board.

Psychogenic PPI Programmer PCB Trace

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.

Psychogenic PPI Programmer component placement

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:

AVR910 ISP programmer schematic

Click on the image for a larger view of the schematic. Circuit features:

  • Separate, regulated, power supply
  • Both standard ISP headers: 6 pin and 10 pin
  • Activity LED indicator
  • Use of standard RS-232 interface allows for serial cable up to 50 feet long
  • Available printed circuit board (see below)

Downsides include

PCB

A very clean way to produce this circuit is to use our printed circuit board (you are free to use the image to create your own PCB trace, for non-commercial purposes, see our license for details):

AVR 910 Programmer trace

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 layout

Once 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.

AVR910 ISP Prog component placement

Parts List

Part Value Description
C1 1.0 uF Capacitor
C2 1.0 uF Capacitor
C3 1.0 uF Capacitor
C4 1.0 uF Capacitor
C5 1.0 uF Capacitor
IC1 78L05Z5V voltage regulator
IC2 AT90S1200PAtmel AVR uC
IC3 MAX232RS-232 interface
JP1 10 pin header (2x5)10 pin ISP
JP2 6 pin header (2x3)6 pin ISP
LED1 3MM LEDActivity LED
R1 10k ohmResistor
R2 1Meg ohmResistor
R3 330 ohmResistor
X1 power jack2.1mm power jack
X3 F09HFemale 9pin sub-d conn
XC1 Ceramic resonator4MHz freq resonator
VIN Voltage InPower supply input pad
GNDIN GND InPower ground input pad

Programmed uC

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.

Level: Article
Additional Article Data
Level: Article

Comments
The comments are owned by the poster. We aren't responsible for their content.

Jump to section
News

All contents are Copyright (C) 2004-2005 Psychogenic Inc -- All rights reserved