This software supports programming of Atmel microcontrollers
89Sxx ('51),
ATtiny,
ATmega and
90Sxx (AVR). It can erase built-in Flash and EEPROM memories as well as read and program them. ISP Programmer also supports serial Atmel DataFlash memories. Communication with devices is made serially in system (
ISP - In-System Programming) without the need to pull the chip out of the socket or desolder it.
Full source code now available on
SourceForge(link is external).
The microcontroller you want to program needs to be connected to the printer port (LPT) of the computer (directly with wires, without STROBE signal), according to this list:
Microcontroller LPT port LPT port
signal signal pin number
[STROBE] ---- STROBE 1
RESET ---- AUTOLF 14
MOSI ---- INIT 16
SCK ---- SLCT-IN 17
MISO ---- ACK 10
GND ---- GND 25
STROBE signal connected to pin 1 of LPT port is used to control enabling of 3-state buffers of programming serial bus (SCK,MISO,MOSI). Using it is optional. But in case of connecting LPT port directly to microcontroller pins, you should use the same logic levels (ground / 5V) as LPT port in host and verify that programming would not brake the normal operation of the peripherials connected to this microcontroller. For example programming signals should not be connected to the enable pin of the LCD.
Below you can see the example schematic of the programming cable using 3-state buffer:
Connection of the programming cable to the microcontroller pins depends on the type of MCU, see the documentation at the
Atmel's website(link is external).
With the ISP Programmer you are able to use any programming cable pinout, including AT-Prog, SI-Prog, UISP, STK200/300 and AEC ISP. You can choose any pins of the LPT port for programming signals, as well as define arbitrary RESET signal level.
WARNING: In case of programming Atmel DataFlash memories, RESET signal defined in pinout must be connected with ChipSelect (/CS) line of the chip.
Supported microcontrollers:
- AT89S2051, AT89S4051, AT89S51, AT89LS51, AT89S52, AT89LS52, AT89S53, AT89S8252, AT89S8253
- AT90S1200, AT90S2313, AT90S2323, AT90S2333, AT90S2343, AT90S4414, AT90S4433, AT90S4434, AT90S8515, AT90S8535, AT90CAN32, AT90CAN64, AT90CAN128, AT90PWM2, AT90PWM3, AT90USB646, AT90USB647, AT90USB82, AT90USB162, AT90USB1286, AT90USB1287
- ATtiny12, ATtiny13, ATtiny15, ATtiny24, ATtiny25, ATtiny26, ATtiny44, ATtiny45, ATtiny84, ATtiny85, ATtiny261, ATtiny461, ATtiny861, ATtiny2313
- ATmega48, ATmega48P, ATmega8, ATmega88, ATmega88P, ATmega8515, ATmega8535, ATmega16, ATmega161, ATmega162, ATmega163, ATmega164P, ATmega165P, ATmega168, ATmega168P, ATmega169, ATmega32, ATmega323, ATmega324P, ATmega325, ATmega328P, ATmega329, ATmega64, ATmega128, ATmega640, ATmega644, ATmega644P, ATmega645, ATmega649, ATmega1280, ATmega1281, ATmega1284P, ATmega2560, ATmega2561, ATmega3250, ATmega3290, ATmega6450, ATmega6490
Supported serial Flash memories:
- AT45DB011B, AT45DB011D, AT45DB021B, AT45DB021D, AT45DB041B, AT45DB041D, AT45DB081B, AT45DB081D, AT45DB161B, AT45DB161D, AT45DB321B, AT45DB321C, AT45DB321D, AT45DB642D, AT45CS1282
- AT25DF021, AT25DF041A, AT25DF081, AT26DF081, AT25DF161, AT26DF161, AT25DF321, AT25DF641, AT25F512B, AT25FS010, AT26F004
All the settings of the ISP Programmer are held in system registry, you can also save them into the text file.
This software runs in Windows 95, 98, Me, NT 4.0, 2000, XP, 2003, Vista and Windows 7 (32-bit and 64-bit versions).
The screenshots of ISP Programmer running in Windows 7 64-bit: