A vacuum-flourescent display (VFD) clock project based on Soviet NOS IVL2-7/5 / ИВЛ2-7/5 tubes. This has been my first somewhat complex hardware project when I got into electronics design in 2020 and grew to multiple iterations over the years.
- vfddriver — updated display board, which can be used over I2C
- sandwich — the original clock design with two boards
- other — links to initial research prototypes and various experiments
This section describes the updated display board design, which I will be using going forward with this project. The original design of course still works but I found it needlessly complex later on due to a few choices I made.
Primarily, you needed to have a lot of IVL2-7/5 specific bits in the firmware and constantly refresh the display contents on the shift register. The mapping of display characters to segment anodes, their mapping to the correct shift-register pin, as well as the necessary anode and grid time-multiplexing all needed to be implemented on the controller board. Which meant that you really couldn't easily swap out the controller for something else. It had originally been a design goal not to require any separate firmware on the display board but I realized that just makes everything more complicated because you can't handle the display as an abstraction.
Instead, in this redesign I opted to include a small AVR ATtiny414 microcontroller, simplify the filament AC driver circuit with an H-bridge and implement the entire board as an I2C peripheral. That newer design, along with firmware and documentation, can be found in vfddriver/.
In these images above you can also see why there is no dedicated "clockdriver v2" yet: now that the VFD is controlled over I2C, you can just use a small CircuitPython board with a Qwiic cable, like the Adafruit QT Py ESP32-S3. :)
What you see in the pictures below is the original "sandwich design" with a pure-logic display driver (more or less a wrapper around the HV5812 shift-register) and an ESP32-based design with an RTC and coin-cell backup for the controller board. You can find all the KiCAD files and firmware for it in sandwich/, together with the original README and more photos.
The research/ directory contains a lot of initial ideas and fundamental information on VFD operation (needed voltages etc.) along with the display datasheets.
The first prototype clock on perfboard can be found in research/protoclock/.
An alternative LCD-based front panel with compatible dimensions, which can also be used standalone in lcddriver.
In experiments/si4706_radio_eval there is an evaluation board based on the Skyworks Si4706 FM receiver with RDS decoding. The idea is that you should be able to get time signal from radio stations without any need for internet synchronization.








