Home > Electronic Tutorials > Microcontroller Based Schematics > Atmel AVR and 8051 series ISP programmer Ver 3.0

Microcontroller Based Schematics, Projects, Tutorials

Atmel AVR and 8051 series ISP programmer
Ver 3.0

Author: M Asim Khan


This ISP Programmer can be used either for  in-system  programming  or  as a  stand-alone spi programmer for  Atmel   ISP   programmable   devices.  The   programming   interface   is   compatible   to   STK200   ISP programmer hardware so  the users of STK200 can also use the software which can program both the 8051 and AVR series devices.


Figure 1 shows  the  circuit diagram of the in-system programmer interface,  the  power to  the  interface  is provided by the target system. The 74HCT541 ic isolate and buffer the parallel port signals. It is necessary to use the HCT type ic in order to make sure the programmer should work with 3v type parallel port.


Figure 1: Circuit Diagram of the ISP Programmer Interface

Figure 2  shows  the  circuit  diagram  of  the  stand-alone  spi  programmer, the  power  to  the  interface  is provided  by  the PC USB  port  which can supply a  max of 100mA  current. Get a cheap USB  cable, cut the cable other end connector and attach a crimp shell connector  to this end,  red wire is 5v and  black is 0v.

The  printer  port  buffer interface is same  as shown in figure 1. For the u-controller a 40 pin ZIF socket can be  used.

This  programmer  circuit  can be use to program the 89S series  devices and the AVR series devices which are  pin  compatible  to  8051, like  90S8515.  For  other AVR  series devices the user can make an adapter board  for 20, 28  and 40  pin devices. The  pin numbers shown in  brackets  correspond to PC parallel port connector.


Figure 2: Circuit Diagram of the SPI Programmer


The ISP-3v0.zip  file contains the main program and the i/o port driver for windows  2000 & XP. Place all files  in the same folder, for win-95/98 use  the  "ISP-Pgm3v0.exe" file, for win-2000 & XP use the "ISP-XP.bat" file. The main screen view of the program is shown in figure 3.

Also   make   sure   do   not   program    the    RSTDISBL    fuse   in   ATmega8,   ATtiny26  and  ATtiny2313 otherwise  further  spi  programming  is  disable  and  you  will  need  a  parallel  programmer  to  enable  the spi  programming.  For  the  fuses setting consult the datasheet of  the respective device.

For  the  auto  hardware  detection  it  is  necessary  to short pin 2 and 12 of DB25 connector, otherwise the software uses the default parallel port i.e. LPT1.

I  have  only  included  the devices  which I have  in hand, and verified their correct programming, when I will get the other devices the software will be updated.

Following are the main features of this software,

  • Read and write the Intel Hex file
  • Read signature, lock and fuse bits
  • Clear and Fill memory buffer
  • Verify with memory buffer
  • Reload current Hex file
  • Display buffer checksum
  • Program selected lock bits & fuses
    • Auto detection of hardware


    The  memory  buffer  contains  both  the  code  data  and  the   eeprom  data  for  the   devices  which have eeprom  memory. The  eeprom  memory  address  in   buffer  is   started   after  the  code  memory,  so it  is necessary the hex file should contains  the eeprom start address after the end of code memory last address i.e. for 90S2313 the start address for eeprom memory is 0x800.

    The  software   does   not    provide    the     erase    command     because    this    function    is performed automatically  during  device programming.  If  you are  required to erase the controller,  first  use  the  clear buffer command then program the controller, this will erase the controller and also set the AVR device fuses to default setting.


    ISP-Flash Programmer Software   ISP-3v0.zip

    SPI Programmer Schematic        SPI-sch.pdf

    SPI Programmer Partlist              SPI-partlist.pdf

    ISP Flash Programmer 3.0

    Figure 3:   Main screen of the program ISP-Pgm3v0

    Contribution to ISP-Flash Programmer

    ISP_FJH_.pcb : designed by Homan Falahati , edited by Farshid Jafari Harandi from Iran using
    Protel Pcb.

    isp_programmer.zip: Schematics and PCB designed by Farshid Jafari Harandi from Iran using Eagle cadsoft.

    Purohit.zip: Layout in Post Script file format made by Prahlad J. Purohit from India.

    Note: To report broken links or to submit your projects please send email to Webmaster