Close

Designing the TCD PCBs

A project log for Back to the Future Time Circuits Display (TCD)

Screen accurate with fully functional keypad, sounds, and NTP clock

johnJohn 06/09/2021 at 17:230 Comments

One thing that has come a long way since 1985 is electronics. The original TCD in Back to the Future no doubt had much bulkier electronics. While the 14 segment month displays were, as previously mentioned, just gels with bulbs behind them, the 7 segment displays actually functioned and were controlled off screen. 

The Original TCD when first seen in Back to the Future

Controlling the LEDs

Today we can fit the control of the LEDs for all 116 LEDs needed in each display, in a single IC. That is, if you don't mind a bit of multiplexing.

Others, like the displays by Dave Madison, and John Monaco have used the Holtek HT16K33 16 x 8 matrix driver in the past for their TCD projects, and I decided to use it here with mine. It's simple to use, and there's already libraries available for it. Furthermore, it uses I2C to communicate, so only 2 wires are needed, which means the displays can be daisy chained. Why make things harder than they need to be? Exactly. 

So, to summarize the pros of the HT16K33:

Cons:

Measurements

I began by loading the original TCD in Fusion 360 to measure everything. This process wasn't too hard since you can calibrate an image to a known size. Since we know the original LMB boxes are 8.5 inches wide, that provided a good starting point.

I should mention that, although I ended up using the measurements from the present time display, all 3 displays were slightly different. I bet you couldn't tell just by looking at them!

Laying out the PCB

Using Eagle, I started to lay everything out that would be needed. This included using the custom (sample ordered) segment displays datasheet as a guide.

The displays are common cathode, meaning that all LEDs in the displays share a ground, and when a pin is given current, it lights up. In other words, the ground stays the same, while the other pins are what is turned on and off. 

The 7 segment displays use pins 3 and 8 as grounds, while the 14 segment has 3 characters natively multiplexed, meaning pins 16, 11, and 3 are the grounds for characters 1, 2, 3 respectively.  The positive pins are all hooked together internally. Depending on which ground is activated by the IC determines which character's LEDs are getting lit up. 

Note the spacing of the holes for the 14 segment 3 character is taller than the 7 segments. I almost didn't catch this at first. I could reuse footprints for the 7 segments, but the 14 segments had to be custom made, since nothing similar exists anywhere.

Spacing The Segments Correctly in Eagle

This is what it looks like in Eagle with just the measurement layer on:

I measured things in mm and in. since most things in Eagle are metric by default, and I had measured the original display in inches. 

Final PCB

After some fiddling, a few revisions to make things fit better, and not light up the decimal on some displays, this is what it looks like: 

I added 2 footprints on the back of the board for SMD JST 4p plugs, which are the for the power, and I2C. There are 2 so that they can be daisy-chained instead of running 1 set of wires to each display. There are solder jumpers for I2C line pull-ups and address selection for the Holtek HT16K33. The mounting holes are also spaced the same as the LMB Boxes, so they can be mounted to them if wanted.

It's funny to think that the original displays probably had over 100 wires going to each of the 3 displays in some kind of level shifting setup! We have certainly come a long way, and are using less copper in the process! 

Discussions