Summary of EPROM Display using ULN2308A microcontroller
This project repurposes old 27C256 EPROMs to create an animated 8×8 LED display capable of storing up to 4096 frames. The system uses a crystal oscillator and counters to generate timing signals, driving the display lines via a decoder and driver IC while controlling columns through transistors. A DIP switch allows users to adjust the frame rate between 8, 16, or 32 fps.
Parts used in the Animated EPROM Display:
- 27C256 EPROM
- 8×8 LED matrices
- 74*238 3-to-8-decoder
- ULN2308A darlington driver
- 2N2907 transistor
- 32768 Hz crystal oscillator
- Inverter gate
- 4040 12-stage ripple counter
- DIP-switch
Due to university and work it has been a while since the last post. But I just completed a little project that’s worth posting.
Several old 27C256 EPROMS were lying around unused. So I thought about a purpose for them. As I also had some 8×8 LED matrices, a little animated display came to mind.
With each frame consisting of 8×8 pixels the 32kByte EPROM can hold 4096 frames. Each byte holds one line of the display, eight bytes one frame.
The lower 3 addressbits of the EPROM have to by switched synchronously with the corresponding line on the display. This is achieved by wiring them to a 3-to-8-decoder (74*238) which in turn switches the lines. As up to eight LEDs can light up at once per line. To handle the current an ULN2308A darlington driver is used.

The clock is generated by a crystal oscillator circuit consisting of a 32768 Hz crystal and an inverter gate.
The 32kHz squarewave from the oscillator is then divided by a 12-stage ripple counter (4040). The seventh to ninth stage are used for the line-addressing and are wired to the A0-A2 inputs of the EPROM and to the A,B,C inputs of the 74*238.

Only fourteen addresspins of the EPROM are used, the fifteenth can be set to high or low via a jumper. For more Detail: EPROM Display using ULN2308A microcontroller
- How many frames can the 32kByte EPROM hold?
The 32kByte EPROM can hold 4096 frames. - What component switches the display lines synchronously?
A 74*238 3-to-8-decoder switches the lines. - Which driver handles the current for up to eight LEDs per line?
An ULN2308A darlington driver is used to handle the current. - How are the LED columns directly controlled?
The columns are directly controlled by the data-output of the EPROM. - What frequency does the crystal oscillator circuit generate?
The crystal oscillator circuit consists of a 32768 Hz crystal. - How is the clock signal divided for line addressing?
The clock is divided by a 12-stage ripple counter (4040). - Can the frame rate be adjusted on this display?
Yes, the frame-rate is selectable from 32fps, 16fps, and 8fps. - How many addresspins of the EPROM are utilized?
Only fourteen addresspins of the EPROM are used.

