It’s a nice confluence of my fandoms, I love old technology, I love clocks and I love Raspberry Pi’s, so when I found a Luminator 7×90 Flip Dot display on eBay in early January, I bought it. This is the fairly-detailed, well illustrated story of how I brought a 90’s sign together with a low cost but powerful computer.
Last winter, early post retirement, I was tinkering around with one of my many clocks one day and added the chimes of Big Ben to it. Whenever I would visit my grandparents growing up, I would hear their clock that struck the Windsor Chimes and I always thought that would be a fun project.
This was fairly straightforward, I grabbed some sound files from the UK Parliament website and one other source for the 45 minute chime, and did a little editing. Work done implemented via CRON in a couple of hours, fast forward on to other things.
A few months later and I am on the phone with my mother and she hears the chimes in the background. She starts reminiscing about the sounds and her parents clock and I agree to make something for her.
This video documents the major elements of the build but here’s the parts list:
I had all the sound files to go on from my build into my exciting digital clock, so no additional work done there. One tricky bit was to get the hourly chime to trigger at about 59:40 after the hour so the big ben bell would start striking the hour right at the top of the minute. Since CRON works on minutes, I solved that by making a 59 second file. So the file starts at 59 after but plays a silent section for the first 40 seconds before the chime.
How the hourly Big Ben bell plays: CRON is programmed at xx:59 to trigger a shell script that first plays the chimes, this is the file mentioned above. It then triggers the Big Ben bell sound, and loops the appropriate number of times for each hour. Here’s an example of the code for 9 o’clock. There are 12 files, 1 for each hour.
The other element to this was hardening it so it was hands off for mom. With her being 1,000 miles away, I couldn’t do a local install so it had to be right. I had her send me her WiFi info so I could pre-program it on the card. I chose USB powered speakers with an on-cord volume control so she could just lift the touch screen off the case to adjust. Also added a “kill switch” to the back for easy shut down. Finally I included a backup USB card in the case incase the current one is corrupted and I keep an image on my NAS as well if needed.
I did not put a RTC in the Pi. Partially because some of the GPIO ports I wanted we used by the Touch Screen and partly because I had the clock programmed to get NTP time via WiFi so there would be no updating needed.
The Hardware Build
I started with the standard elements I knew the Raspberry Pi 3B+. I chose the B+ because I didn’t need the horsepower of a Pi 4 for a basic display and I had one I had recently swapped out for a Pi 4 on another project. I used the 16 GB Class 10 MicroSD cards in all my Pi projects. They rarely corrupt for me when powered correctly, they offer enough space to power most projects I do, and the are small enough to back up on my NAS without completely killing storage.
I’ve used the Pi Touch Screen in a couple of other projects and it’s very easy to set up and control the display natively. In most cases I also use a commercial Pi Touch Screen stand however in this case I wanted to hide the electronics and let the clock be the focal point.
I tried to build a simple box that would hold the Pi, Screen and Speakers and I accomplished it, but I might do it differently in the future. I assembled the 4 structural elements first, the 2 sides, back and the bottom. Small birch strips held the front out from the back of the box to provide a little extra room.
On the first attempt, I made the face frame from a single piece of plywood cut in 2, so I could notch out the hole to mount the touch screen. I wasn’t really happy with the fit or the structural integrity of that, so I started with another single piece, made a small slat through which I could cut a hole for the screen with my band saw and then used putty to seal the small gap, which worked much better.
Several other holes in the box to allow for air flow, speaker audio to escape and power. I was going to put some grommets on the rough wooden holes I cut in the back but I had to give that up for time so I could get it to Mom by Christmas.
Great news is that it arrived on time and worked perfectly. We plugged it in about 10 minutes to one and by 12:59 it had synced up with the NTP server for a real time update and was playing it’s chimes.
Before it comes up…
I intentionally have not packaged this all up as a GitHub project or some other repository. I don’t own the rights to all the photos or sound files. Hopefully your build will use all the open source stuff!
Other questions on my build? Contact me on Social Media…
I was not paid in any way for this build or post. Some of the links in this post lead to shopping sites, however I make no commission. If this post helped or inspired you, consider dropping something in my tip jar.
During the Blue Ridge Parkway road trip last year I found this mechanical clock with a Russian Submarine design right down to the CCCP in the lower right corner. When I picked it up, it was working OK but seemed to run down quickly until it stopped. I took it in to Bowers Watch and Clock Repair in Atlanta and they ended up restoring it to full functionality for about half of what the original estimate was.
Great, but the fascinating part of the story was talking to the senior Mr. Bowers (it’s a father and son business) who told me that, “no Russian captain would have that poor quality clock on their ship.” He went on to tell me these were made for the tourist trade. Fair enough.
Mr. Bowers went on to tell me about the Ansonia Clock Company, which was started not far from where I grew up in Connecticut, though about 100 years earlier than when I lived there. Eventually Ansonia was sold to Amtorg Trading which moved the machine shop to Russia. According to Mr. Bowers, “one lathe operator said they took everything from the floorboards on up. When they started the steam boiler in Moscow it still had American water in the tank. The lathe had the same piece in it and the trash in the trash can was the same.” Quite a statement! (Note, I typed that quote from memory so there may be a little paraphrasing in it.)
As a watch fan, I have collected a few stop watches and pocket watches but I have struggled on how to display them. Looking at the brass frame I built for the Nixie Clock (See it in the 24 Hours of Clock Videos) I thought I could use the same material to crate a watch holder. It only takes 3 parts and 4 tools:
A piece of wood for the base (and a saw to cut it to size)
I was at a yard sale on Saturday and had the opportunity to grab this 1986 LED clock that looks like it would be perfectly in place in a Pizza Shop that you would watch while waiting to pick up a pie for the family. Primarily the restoration was about reattaching the Coke sign and some minor clean up. Now to decide where this one will live.
I’ve used Github quite a bit to source either partial or complete code for many of my Raspberry Pi projects. Github is a code sharing platform that makes it easy to get and keep software updated on devices like Raspberry Pi’s.
When I first created my Pi-clocks I made one with an LCD display that showed local and UTC time. You can see it in this leap second video from 2015.
Five years later that clock has been long out of commission as I do upgrades and other clock projects, but I missed having the LCD clock. So as I worked on the Chrony project I decided to rebuild one as an LCD clock. This has taken me deep into the world of Python and I am sure when someone looks at it there will be comments like “it’s clunky” or “why didn’t you do it this way.” All valid I am sure, but I made it work and even built in some error handling so I feel pretty good for a start.
Starting with the basic Chrony build, the LCD screen gets added from Adafruit. In the last 5 years they have evolved to a version of python called “Circuit Python” to drive many of their devices, so I went with this as the base code to drive the display.
sudo pip3 install adafruit-circuitpython-charlcd
As part of the new design, instead of using this to be a UTC clock (i have plenty of those), I wanted the clock to display variables. The first one I chose was to display the Stratum of the clock. This assures me if I see “Stratum: 1” that I am getting the time from the satellite data. I get that by running a CRON job to output that data to a text file, then I read that from the text file with the Python program. The CRON line that runs every 2 minutes is:
The second variable is the current IP address of the clock. Always helpful if you want to do some quick editing. That’s a standard python variable, so no additional libraries were needed.
The third variable is the current GPS position. To grab that data I use the gps3 python client to pick up the location of the clock. While this generally won’t change, I might take this on the road in the future to a ham fest or Field Day. There are a bunch of variables I could have pulled, but Lat/Long is just what I needed.
sudo pip3 install gps3
The last variable is a vanity card. I created a file called “msg4.txt” that can be used to display any message in the last 14 second window. Maybe in the future I might make it a YouTube follower counter.
Time to share what I am watching, hope it inspires you to watch something new.
Simone Giertz The queen of shitty robots is awesome. In her most recent video she makes a “proud parent” machine and uses a bunch of dirty words. Which is awesome in so many ways.
Fran Lab Fran has a very similar taste in projects to me. I found a Heathkit GC1005 clock to refurbish at the Orlando Hamcation, back before we had to social distance. Come to find out Fran had recently refurbished one which really helped me. Mine is still in progress but check out Fran’s here.
Mythbusters Jr. I didn’t really jump into this because I was put off by the non-Adam version that they tried to reboot through a reality show. Lots of fun builds here. I was really hyped to find a Breaking Bad episode.
Whose Line Is It Anyway Cocktail Hour Every Monday the cast from Whose Line gets together to preview the show and basically talk s#!t. It’s fun to watch with your feet up. Here’s the video from Monday 4/20.
I have a YouTube Channel too I talk about clocks, ham radio and other nerdy stuff. I just added a video of the Chronometer Raspberry Pi clock I built this week. As they say, please Like, Comment and Subscribe!
I came across a Reddit post by u/rothman857 that made a Raspberry Pi Clock he calls Chronometer with a really unique view of time. They bring in a bunch of different formats like Solar Time and Metric Time. Since I like time and I’m interested in those views, I thought this would be a fun build.
As a net time to make this, it only took me a few hours to get going. I recommend using the screen he specified which is a quick Amazon order. I tried this with another screen I had and it just didn’t work out. Most of that time was learning two functions I haven’t explored before, changing the video settings and console fonts. A few notes on those items if you are building.
Setting Pi Screen Resolution The display uses a unique setting of 480×320 which I couldn’t seem to drive with a default setup. So using the Raspberry Pi Documentation, I made a custom configuration.
sudo nano /boot/config.txt
I commented out all the existing video settings and added these to the end, which worked for me:
Setting a fixed console font My first try was to use this article at stevencombs.com which in hindsight may have worked if I had specified the Latin and VGA font I wanted, but when I went with the instructions as written it didn’t take the way I wanted. As a follow-up I experimented with several of the suggestions in this StackExchange thread. The “.profile” change didn’t work for me, so I tried Eric Woodward’s suggestion of changing in console-setup.
sudo nano /etc/default/console-setup
#custom for Chronometer
That’s it. Install and run the chronometer.py program and run it. You’re good to go.
Final thoughts. I like this kind of project because I learn more about the inner workings of Pi and I feel like it’s something I can go in and tweak later. For instance, I would like to make one of the time displays be similar to the Union Square Metronome. I will share progress if I get there on my project list. Obligatory video below.
I’ve been a fan of having a Stratum 1 time server on my LAN ever since I first read GM8ARV’s page. One of my first ones can be seen in the background on my YouTube video about Leap Second tracking.
I found an article last week where Facebook has been doing analysis on time server software and has come to the recommendation that the Chrony software is better than NTP for performance. I’ve actually been using NTPSEC for a couple of years now, but I am open to change so I’m setting up a Chrony server.