The clock is run by a PIC16C84 microcontroller. I probably could have saved a few supporting components by using a 28-pin or 40-pin MCU, but I had a few of the 16C84s around already, and at the time, the 28-pin MCUs were only available in OTP or CERDIP versions.
Display data is sent out as serial BCD to a series of 74HC594 shift registers. Their parallel output goes to a set of 7441 nixie tube drivers.
In addition to the BCD data, four of the shift register outputs are used to control a set of transistors to switch the tube plates. This allows blanking individual digits for leading-zero blanking, dimming at night to prolong tube life, and flashing the digits for a "cursor" effect when setting the time.
The power line frequency is used as a timebase. The power supply is on a seperate small board. The logic supply is regulated by a LM340T5 regulator. The Nixie plate supply is regulated by an emitter-follower biased by a 180V zener diode.
The unregulated plate supply is provided by using a dual-primary transformer in a somewhat unconventional manner: Line voltage is fed to one primary; the other primary (isolated from the line) is connected as a secondary to feed a voltage doubler for the plate supply. The normal secondary is used for the low-voltage supply.
Other clock projects