Browse over 10,000 Electronics Projects

Eprom Programmer Mark 1

Eprom Programmer Mark 1

The unit is powered from an external PSU, since this is cheaper than buying the individual parts! One of the low cost unregulated types with an integral mains plug is suitable, providing it is capable of supplying between 10 and 18 Volts DC at 500mA without too much ripple, the voltage regulator U21 will run cooler if the voltage is nearer the lower end of this range. The types sold for powering electronic keyboards appear to be the most suitable. The prototype is powered by an old Sinclair ZX81 PSU (type UK1200).
The programmer itself is dumb and is fully controlled by the host computer via the serial port. Control software can be written in BASIC, and a suitable listing for IBM PC compatible computers is given later. Additional software listings are given for initial testing, and to convert to and from standard Intel-HEX files. A disk is available from the author (downloadable as a zip file from this website), containing these programs, as well as comprehensive menu driven control software and a few useful utilities.

Please note that the programming algorithms used may not be exactly as specified in some EPROM manufacturer’s data sheets. Because of this the unit cannot be guaranteed to program every device successfully, however no problems have been experienced to date.

Circuit Operation.

The circuit may appear complicated initially, however it comprises of several relatively straight-forward sections. It is not necessary to understand the operation of the circuit to build and operate the unit with the software given, however a good understanding is most useful if you wish to write your own control software.


Note that when a number is followed by an “h” in the following description, for example 27h, it is a hexadecimal number, and when a number is followed by a “b” it is binary, other numbers are decimal. Any signal name which is followed by a “-“, for example STROBE-, is active low, on the circuit diagram this will be shown with a bar over the name.

Useful information on EPROM pin-outs and programming requirements can be found on pages 498-499 of the 1993 Maplin catalogue, the project was designed around this data (note that the Maplin programming information for the 2732 is incorrect).

U2 and surrounding components generate the Baud Rate clock signal (CLOCK1) for U3, with the rate selectable by LK1. The CLOCK2 signal is used to produce the programming timing pulses, see later. U3 is a CDP6402 (Maplin QQ04E) “Universal Asynchronous Receiver/Transmitter” (UART). In this application it is configured for 8 data bits, 1 stop bit, no parity checking. Note that unused pin 2 is taken low, this pin is used on the RCA CDP1854 to select standard operation mode, this device is otherwise pin compatible can therefore be used in place of the 6402. U3 is reset by U4:A and associated components.

When serial data is received on pin 20 of U3, it is converted to a parallel output on pins 5-12 (R0-R7), and pin 19 goes high. A short time later (set by R4 and C8) pin 18 is taken low, which clears the high on pin 19. The pulse so generated on pin 19 is referred to as the STROBE signal, and indicates to other parts of the circuit that data has been received and is valid.

If pin 23 of U3 (SEND) is pulsed low, data on pins 26-33 (D0-D7) is transmitted in serial form on pin 25.

Visit Here for more.