Wednesday, January 28, 2009

Simple ATMEL AVR – Programmer

In this project we decide to implement simple ATMEL AVR microcontroller programmer for our hobby electronic purposes. We get ideas for this project from and All the credits of this project go to them and creator of the ISP Programmer - Adam Dybkowski.

You can get complete circuit diagram from here

Entire project is based on the 7408 - Quad AND gate chip and it is possible to use any (CMOS/TTL) AND gate chip with this project. During the testing phase we use CD4071 and 7409 quad AND gate chips without any circuit modifications.

During the assembly process make sure to install proper heat-sink to the 7805 voltage regulator.

After constructing the circuit download and install ISP Programmer and follow these steps,

  • Open ISP Programmer software package and press "Setup" button to setup the programmer.
  • Select "AEC ISP" as a "ISP Cable Pinout" and press OK
  • Connect MCU to the programmer and power on the programmer
  • Select MCU type and oscillator (Crystal) frequency from the software
  • Press "Reset ON" button
  • Press "Read Signature" button

If the device and programmer is working properly ISP Programmer automatically detects the chip and flash memory configuration from chips signature bytes.

  • Now specify the hex file to ISP Programmer and press “Erase and Program All” button to start the programming process.
Note : During the testing/usage, some times we got “NOT KNOWN (FF, FF, FF)” as a device signature. If you get this error please check the following,

  • Programmer is connected to the computer and power on
  • MCU Crystal configuration

If ISP Programmer still produces an error, problem is in your MCU software. (Especially your MCU software produces output to the MISO and MOSI related ports.) Then disconnect programmer’s RESET connection from MCU and connect MCU’s RESET pin to the ground (0V) and continue your work. (Ignore the programmers RESET terminal)

This simple programmer support wide range of ATMEL ATtiny, ATmega and AT45x, AT89x and AT90x series MCUs.