EEPROM programmer

Introduction. |
On this page you are offered the EEPROM programmer “Chameleon”. The programmer allows programming memory chips that have a serial interface. The main difference of this programmer from the majority of similar programmers is that PROGRAMMING ALGORITHMS ARE COMPLETELY DEFINED BY EXTERNAL PROGRAM MODULES. To write a module, you only need the simplest text editor, since an external module is just a text file. The file compiler is built into the programmer.
In general, the programmer programs those chips that were available to the author for checking and debugging modules.
Support for new chips does not require changing the program. It is enough to write an external module or modify an existing one. When new types of chips fall into the hands of the author and documentation for them is available, modules for their support will be posted on the site. If you create a module yourself and greed does not choke you, send your module to me, I will post it on the site and the whole country will know the name of its hero. |
Program. |
The current version of the programmer is 0.5. Compared to version 0.4, some errors have been fixed (including in module files). You can see screenshots of version 0.5 here . Version 0.5 works under Windows 98, 2000, NT, ME (and even under XP, I think).
Changes compared to the previous version:
1. New modules have been added.
2. Templates have been completely redesigned.
3. Old errors have been fixed and new ones have been added.
4. Archive size has been increased.
So far(!) version 0.5 supports programming of the following chips:
Series 24Cxx | 24C01, 24C02, 24C04, 24C08, 24C16, 24C32, 24C64, 24C128, 24C256, 24C512. X2404, X2400 (manufactured by Xicor). |
Series 93Cxx | 9306, 93C46, 93C56, 93C66, 7002NM10, X2444 |
SDA/SDE Series | SDE2516, SDA2506 |
ITT Semiconductor | NVM3060 |
Car radios | Module for selecting a code for the PHILIPS GAMMA 3 radio, both X2402 + X2404 and X2404+X2404. Step-by-step instructions are provided here |
AT89SXX Microcontrollers | Modules for programming microcontrollers AT89S51, AT89S52 and AT89S8252 via SPI interface. |
AVR microcontrollers | Modules for programming microcontrollers AT90S1200 and AT90S4414 |
Programmer circuit diagram. |
The programmer is connected to the parallel (printer) port of the computer. In principle, there is no such thing as a programmer circuit. The circuit is simply a dozen wires connected to the printer port of your computer and several resistors and diodes that connect these wires in a certain way. Conventionally, the programmer circuit can be divided into two parts. Here is the first of them:

Resistors R1-R4 are connected to the control register terminals and serve to supply the supply voltage to the microcircuit if the internal supply voltage is used. This solution does not provide sufficient power for all types of microcircuits, so the possibility of supplying external power to the programmable microcircuit is provided. External power is supplied as usual, through a stabilizer of the KR142EN5A type. Switch J1 allows you to select the desired power source.
The control lines of the programmer are combined into a BUS0…BUS7 bus. The BUS3…BUS7 lines are bidirectional. Information can be transmitted both from the computer and to the computer via them. The BUS0…BUS2 lines are unidirectional. Information is transmitted via them only from the computer.
Programmable microcircuits are connected to the BUS0…BUS7 lines. In total, the programmer has four panels for connecting various types of EEPROM microcircuits.
The operation of the circuit is described in more detail in the programmer’s help file.
Owners of OrCAD 9.1 and newer can download the SPROGPCB.ZIP PCB file (25 KB). The bravest can simply see what the programmer board
looks like .
Microcircuits with the I2C bus (24СХХ series) in most cases allow programming without desoldering the microcircuit from the device. In this case, you can use a simplified programmer circuit for these microcircuits:

Scheme of the programmer for microcontrollers via SPI interface. |
![]() |
As you can see, the SPI adapter circuit is very complex and requires a lot of attention during manufacturing and careful adjustment (Joke.) The use of such a circuit assumes that the programmable controller is already in the device and the controller is powered and clocked from this device. This is called in-circuit programming. The resistor values can be in the range of 200…560 Ohm. |
![]() |
Connection diagram of the SPI programmer to the AT89S51, AT89S52, AT89S8252 and AT90S4414 microcontrollers. |
![]() |
Connection diagram of the SPI programmer for AT901200 microcontrollers. |
Most Motorola microcontroller programmers (MOTOR5, MOTOR11, MOTOR2) use an adapter assembled on the MAX232 chip or its analogs. This adapter can also be used with the Chameleon programmer. I use an adapter assembled on transistors. Although it has certain drawbacks, it has never let me down. Here is the adapter diagram:

The adapter is connected to the serial port of the computer. The signals marked in blue are connected to the corresponding pins of the controller. The MC68HCXX family of controllers have many types of cases, so the connection diagram of the TXD, RXD, RESET pins should be specified for a specific controller. I can recommend a very useful database located on the site http://a-number.com , which contains a lot of useful information, including types of cases for Morotola controllers and the location of the pins used in programming.
Download files. |
Currently the latest version is 0.5. Before using the program, read the help file, it will answer many questions.
VERSION 0.5 File CHAMEL05.ZIP (1220 Kb). |
CHAMEL05.ZIP |
Printed circuit board in OrCAD 9.1 format (25 KB) |
SPROGPCB.ZIP |
From the author |
Dear users! Remember that you got this programmer absolutely free. Therefore, be indulgent towards the errors that are sure to be in the program. For the same reason (free of charge), the answer to your letters may come with a big delay, or may not come at all. Requests like “And I would also like this…” because the programmer is free of charge are also completely meaningless. You use the programmer at your own risk and the author does not owe you anything at all.