Hey gang! Here’s a chronicle of my longest-running GF-enabled project. I grew up watching the 1983 film War Games over and over again on VHS, and like many computer geeks now in their 40’s it’s one of my favorite flicks. A recurring element throughout the film is that of nuclear “launch codes” and struggle between man and computer in controlling them. Several times during the movie a launch code display is shown, particularly near the end of the film, with a rapidly changing digit sequence displayed as an out-of-control NORAD computer tries to crack the code and launch missiles without human approval. You can see the end sequence here: https://youtu.be/s93KC4AGKnY , but I’d advise seeing the entire film first!
So I set about building a clock that approximates the appearance of the code display featured in this last part of the film. I had to make some minor changes due to the fact that obtaining 1983-era vacuum fluorescent display hardware and building the required circuitry for it would have put this project beyond my patience level, if not my skill level. Instead, I used some modern LED alphanumeric components that were slightly larger than the orignal ones in the movie; consequently the alphanumeric display is a little larger than the pushwheel switch array. The LEDs and pushweels will mount in this front display panel:
Here’s the main circuit board that will mount behind that front panel:
The pushwheels were the hardest thing to obtain. Generally they are easy to get, but I wanted to match the movie ones as closely as possible. I finally found some made by Hampolt that were nearly identical, but had to import them from China at a not-insignificant cost. They are numeric-only, and since I needed letters to match the movie, I had to crack some open and modify them to include some letters.
The brains behind the scenes is a Raspberry Pi Zero W. Using I2C to control the LEDs, and four of the pushwheels for input, there’s a ~700 line python script that runs the clock. (But I’m a hack and anyone with any python skill could probably do it in half that!) It generates random characters for each position, cycles through the code until it’s “solved”, and then displays date and time before repeating the sequence. The code is solved in sync with the actual movie timeline; in other words, during the final scenes of the movie as the NORAD computer attempts to break the code, each time it solves a particular position, that same position is solved on this clock. Overall it takes about 8 minutes to run through the entire code. You can use the pushweels to toggle a clock-only mode, change brightness, or to shut down the RPi.
The RPi connects to WiFi and syncs time with ntp.pool.org. I also included a DS3231 real-time clock chip to maintain time accuracy when unplugged or when Internet access is not available. Perhaps overkill, but I like my clocks to be more accurate than Doc Brown’s.
The engraved aluminum identification plate on the back is modeled after an actual id plate on a real launch code panel in a nuclear missle silo in South Dakota. You can see it yourself by visiting the Minuteman Missle National Historic Site (which is awesome), or just look at these pictures here:
I also included a bad-ass Switchcraft locking DC power jack and mating cord, which has a nice industrial feel.
Finally, here is the completed clock and a short video of it in operation:
In this video it’s running a demo program that solves the code in under a minute, just so you can see the entire sequence without having to watch for 8 minutes! In normal operation it runs the full 8 minute cycle.
Thanks to Adafruit for having such a great selection of cool things to build with! From there I obtained:
RPi Zero W
DS3231 Precision RTC Breakout
Perma-Proto Full-sized Breadboard PCB
GPIO Ribbon Cable
Quad Alphanumeric Display with I2C backpack
Also thanks to estreetplastics.com for good selection, prices, and service. They saved my bacon at least twice by fixing order mistakes I had made.
And thanks to all of you for your contributions to this forum, from which I’ve absorbed much knowledge and inspiration!