Tuesday, March 1, 2011

Programmable LED Lightshow from the 80s

Introduction

This is an old school circuit - I made it (with the help of a friend) in 1987, when I first started out in digital electronics. At the time there were no PCs - or at least not for the average person in Hungary. So all the planning was done in paper. The proof is the following photo :) :

No computers were harmed in creating this circuit :-)
This circuit is an LED lightshow, or LED chaser. There is no microcontroller or microprocessor used in this circuit making it an easy entry to the world of digital electronics.

A short video demonstrating the features of this circuit:



Hardware

The clock/motor of this circuit is a simple astable multivibrator. It generates a 1-2 Hz clock pulse for the 7493 counter/divider. The output of the binray counter is fed into a 2716 or 2732 EPROM. This is a memory device that can be erased by exposing it to UV light and programmed by an EPROM programmer. At the moment I don't have an EPROM programmer, so I am stuck with the programs I programmed when I originally made this circuit. Using a 2716 EPROM it can store 64 programs of 32 steps each - a 2732 EPROM would store twice as many programs, the two are PIN compatible. The output pins of the 2716/2732 cannot directly drive LEDs (or it would be borderline...) so I had to put in an inverter gate (7404 or 7406) which is designed to drive higher current that is suitable for LEDs.


The circuit is made up of some TTL ICs and a few discrete components.
The logic ICs are all TTL, the required 5V is produced with a transistor/zener diode/resistor combo. In the schematics I took the liberty to change this to a single 7805 stab IC alternative for simplicity.

Selecting the desired program is done by grounding one or more of the address lines of the EPROM. These lines are normally at TTL level 1 or high with a pull-up resistor.

Close-up of the DIP switches and potentiometer
The values displayed in the schematics are not critical for most parts. The speed of the lightshow is controlled by the potentiometer R5.

Software/Patterns

Since there is no microcontroller or microprocessor in this project there is not code to be written, although the patterns still need to be stored in the EPROM. I don't have any program at hand anymore, and I am not planning to change what I already have in the EPROM for sentimental reasons..... (and I also don't have an EPROM programmer any more...) However, it's very easy to do if you want to do it yourself. You just start writing bytes in the EPROM one after the other. One program consists of 32 steps.
Let me show you an example:
Let's say you want one LED to "move" back and forth.
The steps may look like this:
00000001
00000010
00000100
00001000
00010000
00100000

01000000
10000000
01000000
00100000
00010000
00001000
00000100
00000010
00000001
... and so on...

Building the circuit

There is not much to it - no SMT or other difficult parts in this circuit - the board can be populated in 20 minutes easily. Some care should be taken at design time to arrange the components on the board in a way that the LEDs, switches and pot are where you want them to be.

The fully populated board

The board pictured above was done at home. Most wires could fit nicely on one side, although 5 or 6 straight wires had to go to the other side. You can see some corrections and extra cables and a connector added later. The white cables were design errors I had to correct after I populated the board and the board didn't work. All the others I added just now to accomodate a "proper" connection to a power supply.


4 white cables are to correct the mistakes at design time

I mounted another piece of PCB, spray painted to black, to be the faceplate with 4 long screws to finish it off. The paint job originally was very good, but after twenty some years of being kicked around in our basement it doesn't look very new any more...


The finished gadget - the black paint doesn't shine as great as in the old days...

Possible improvements

This is a very old project of mine using "old" technologies (EPROM, TTL ICs, ...). All this could be improved, but I like it as it is. The only thing I might mention is that this circuit with minor modifications could be used to drive solid state relays instead of (or next to the) LEDs and then the lightshow would be with "real" lights!