Or you can simply order clock from Heathkit!*
Fran demonstrates how it (sort of) worked.
*No you can't simply order one of these from Heathkit
I think he offered a kit but provided the schematic for free on the website.
If you want to drive the displays manually, you put in a bunch of shift registers and bit-bang the segments. The other way, which is much simpler, is to use a driver chip like a MAX7219 which handles the multiplexing of up to 8 digits x 8 segments on its own, and you just send serial data/clock to it from your microcontroller's GPIO pins.
I have a four-digit display (with huge 1.2" LED digits) and a driver chip.
At this stage of the build it's displaying a free-running software clock.
The accuracy is terrible, but since I will be picking up WWVB all day long it's not an issue. I could always toss in an RTC if I wanted to, or even go back to my original idea of using the 60 Hz AC power as a timing source.
In the future I want to build a GPS driven clock as well, but that one will have a 16x2 LCD display.
Surprisingly, nearly all LCD text displays use the exact same interface, based on the Hitachi HD44780 controller. I'm thinking that one will probably be built on a Raspberry Pi instead of an Arduino, so it can be attached to Ethernet and used as an NTP server.
When I made the decision to keep all of my personal computing needs off of my work computer, I started with a Raspberry Pi. Then I moved to an Intel NUC that Ragnar gave me a few months ago, and that's what I'm using now. And now that I have the latest Kubuntu running on my big LG ultrawide monitor, it looks soooooooo good that it made me decide...
I want a computer.
A real computer. A "main" computer. One with a nice fast processor and room for several disks so I can retire the old laptop with external drives hanging off it in the garage that I'm using as a NAS. One that can sit on my desk and be THE computer. One that I can mount an LCD onto the front panel to display the date and time from the attached GPS puck because it's also my NTP server.
It's been too long.