Introduction: Gottlieb Pinball Inspired VFD Clock

I have a passion for pinball and electronics... so I decided to combine them to make a nice little timepiece for my bedside. You'd agree too once you have made one for yourself...

Supplies

You will need the following:

  • A printed circuit board for the clock
  • A Futaba 4-LT-11 vacuum fluorescent display (can be purchased at Marco Pinball for cheap)
  • Two 1µF electrolytic capacitors
  • Two 1k resistors
  • Two 1.5k resistors
  • Two 10k resistors
  • Two BC327 PNP transistors
  • Two BC337 NPN transistors
  • An LD33V 3.3V regulator
  • An L7805 5V regulator
  • A boost converter capable of outputting 40V
  • A 5.5mm×2.1mm DC barrel jack
  • A tip positive 9V 2A supply (typically used for Arduino)
  • A DS1307 I²C RTC module
  • A CR2032 battery (usually included with the RTC module)
  • An Arduino Pro Mini, ATMEGA328P 5V 16MHz
  • An FTDI board with USB cable to upload the code
  • A 74LS48 TTL BCD to seven segment decoder
  • Two UDN6118A fluorescent source drivers
  • Wire
  • 5.25"×12" pine wood planks (purchased from Michael's, have many at hand in case of accidents!)
  • A saw
  • Acrylic paint (colors vary depending on the design)
  • Something to cut the hole for the DC jack
  • Hot glue and hot glue gun
  • Sticker paper (for labels)
  • Transparent blue acrylic
  • Hobby knife
  • Cardstock (for stencils, may also 3D print the stencils for longevity)
  • M2 and M3 screws
  • Precision screwdriver set
  • Multimeter

Step 1: Choosing Your Design

First off, think about the design of your case. There are sixteen different options for the case design, so think hard about the design you want...

The sixteen game-based designs available are all from Gottlieb System 1 pinball tables. Choose which one you want and miniaturize a stencil for your clock's case (ideally 5.25"×2" for the side art).

Stencil PDFs available below.

Step 2: 3D Printing Stencils

Alternatively, you can 3D print the stencils or have them 3D printed by a 3D printing company. STL files for 3D printing are available below.

Step 3: Build the Case

Cut out the following pieces of wood:

  • 1× 1.5"×5.25"
  • 2× 2"×5.25"
  • 2× 5.25" square

Also cut a 1.5"×5.25" window out of the transparent blue acrylic.

Carefully cut a hole in the 1.5"×5.25" piece of wood for the barrel jack.

Paint all of the wood pieces with the background color paint as specified:

  • Cleopatra: white
  • Sinbad: orange
  • Joker Poker: white
  • Close Encounters of the Third Kind: white
  • Dragon: white
  • Charlie's Angels: white
  • Solar Ride: yellow
  • Count-Down: blue
  • Pinball Pool: red
  • Totem: yellow
  • Genie: yellow
  • The Incredible Hulk: lime green
  • Buck Rogers: black
  • Roller Disco: fluorescent yellow
  • Torch: purple
  • Asteroid Annie and the Aliens: black

Then, simply follow the color guide for the stencils for each layer of detailing paint.

Once the paint dries, assemble the clock case with M2 self-tapping screws. Use hot glue around the edges of the acrylic (not ton the top though, we need to load the electronics through there).

Apply hot glue feet to the case (or, if you can, apply proper rubber feet).

Print labels on sticker paper, cut them out, and apply them to the case. Labels are provided in the PDF.

(The red label goes under the top, and the appropriate black label goes at the bottom of the case.)

Step 4: The VFD

The VFD itself, Futaba model 4-LT-11, was used in Gottlieb's pinballs from 1977 to 1985 to show the ball in play, the number of credits, and the match number at the end of a game. Here, we are going to "hack" it to show something different... the time of day!

The challenge here would be driving our VFD from an Arduino. We need 3V RMS on the filament and 40V on the grids and segments... how is that possible? In the next few steps we will see how this all works.

Step 5: Using Voltage Regulators

To step our 9V supply down to safe voltages for our logic and filament, we need to use a voltage regulator.

The LD33V will drop it down to 3.3V and the L7805 down to 5V.

To use the LD33V, connect the positive to pin 3 and ground to pin 1. Pin 2 is your 3.3V output, with grounds tied.

The L7805 is the same concept, except the input is on pin 1, ground is tied on pin 2, and 5V outputs at pin 3.

Step 6: The Boost Converter

Boost converters step lower voltages up to higher voltages using special circuitry. Pictured above is an example.

The boost converter we need needs to reach 40V for our VFD. Be sure to get one that can do so!

Once acquired, power the module with 9V, then while measuring the output with the multimeter, turn the screw on the trimpot to increase the voltage until you see a reading of 40V.

Step 7: Making the Filament Driver

You should be familiar with VFDs, and know that a VFD needs AC or PWM on its filament to run properly, so we can't just run the filament straight off the 3.3V DC line.

This approach is easy and uses common components that you can find in your parts bin!

Gather up two each of the following:

  • 1k resistor
  • 1.5k resistor
  • 10k resistor
  • 1µF capacitor
  • BC327 PNP transistor
  • BC337 NPN transistor

Then wire them up as shown in the image above. With 3.3V power we should have approximately 3V RMS out from the transistors' collectors to power our filament.

Step 8: The Logic

This clock will use the 74LS48 IC for decoding binary data from an Arduino, as well as two UDN6118A ICs to boost all of the 5V signals to 40V.

The truth table for the 74LS48 is as follows:

 # | A B C D E F G
---+--------------
0 | 1 1 1 1 1 1 0
1 | 0 1 1 0 0 0 0
2 | 1 1 0 1 1 0 1
3 | 1 1 1 1 0 0 1
4 | 0 1 1 0 0 1 1
5 | 1 0 1 1 0 1 1
6 | 0 0 1 1 1 1 1
7 | 1 1 1 0 0 0 0
8 | 1 1 1 1 1 1 1
9 | 1 1 1 0 0 1 1
10 | 0 0 0 1 1 0 1
11 | 0 0 1 1 0 0 1
12 | 0 1 0 0 0 1 1
13 | 1 0 0 1 0 1 1
14 | 0 0 0 1 1 1 1
15 | 0 0 0 0 0 0 0

The tails on the "6" and "9" are not present, as stated by the truth table.

Step 9: Getting to Know the UDN6118A

The UDN6118A is a source driver specially made to drive VFDs. Pictured above is a typical UDN6118A.

To boost our 5V logic signals to 40V, we need to reference the chip to 40V. Connect pin 10 to +40V and ground pin 9. Any of the eight inputs that get a 5V signal will have its corresponding output go high at the reference voltage of 40V. With a ground input, the output is pulled to ground.

Step 10: The DS1307 Module

This module will help the clock keep and tell time. It uses a CR2032 battery for backup, so you don't need to worry about resetting the time through your computer until the battery needs replacing.

The SDL and SCA pins of the module will be used for I²C communication with the Arduino. Power will be supplied from the L7805.

Step 11: The Circuit Board

Click on this link to view the circuit provided for the clock. You should be able to go into the editor and download the Gerber file for PCB purchase from JLC, PCBWay, wherever you purchase PCBs.

Step 12: Soldering

Solder all the discrete components onto the board first, as marked in the schematic.

Solder the pins onto the Arduino Pro Mini and the DS1307 module, then solder them into the appropriate spots on the board.

Solder all the ICs into the appropriate spaces, then solder the VFD.

Wire up the barrel jack and solder it in.

Solder the boost converter and bolt it down with M3 screws.

Secure the main board to the bottom of the case with M2 screws.

Step 13: The Finishing Touches

Hot glue the barrel jack in and plug in your clock. Nothing happens until you put in some code... Once coded, the clock should set itself.

The code is provided below.

Step 14: Completion

Once finished, close off the top and have a look at the masterpiece you made.

Enjoy your new clock!