Building a Nixie Clock

Finally, it's there: my own Nixie clock:

Nixie clock

The Story

In summer 2007, we visited a friend called Holm who just finished assembly of his Nixie clock, using beautiful tubes with figures as high as 30 mm each. When my son (aged 6 then) saw the clock, he immediately told me: "Papa, I'd also like to have such a clock." When Holm heared this, he got me an old metal frame carrying a number of small PCBs: four display boards with Z573M Nixie tubes, interleaved with four BCD counter decades, based on discrete transistor flip-flops, and two power supply boards (one for the Nixie supply, one for the semiconductor supply). Few of the parts on the boards carry date codes, indicating the entire unit must have been built originally around 1975.

Technical Details

Both, the Z573M itself, as well as all the boards and the final device have once been built in the Werk für Fernsehelektronik Berlin (WF), the leading GDR manufacturer for special tubes like CRTs. The displays boards consist of 11 transistors SS202 (rated 120 V collector-base voltage), plus a BCD decoder logic using diode-resistor circuitry. The decoder required the BCD signals to be delivered with both, direct and inverted logic, so for example the signals for digit 0 switched the even and odd transistors each, respectively.

Display, homemade
Homemade display PCB

After some consideration, I decided to reuse the mounting frame including the sockets (and consequently, the PCB plugs), as well as the original Nixie driver boards. As the original device only consisted of four digits, but the clock was going to have six digits (Holm gave me a couple of other PCBs with two more Z573M tubes), I first had to clone the display driver PCB, and produce two more of them.

Broken digit display
Digit 6 with faulty driver

One problem quickly became evident. By the time this display unit has been designed, semiconductor manufacturers still had troubles producing transistors that could withstand high voltages. When tube and semiconductor technology met with the Nixies, this was quite a challenge for the semiconductors. The anode voltage of the Nixie tubes was about 180 V, which was completely beyond the voltages that could be handled by 1970s transistors. So the driver circuits utilized the difference between the ignition and dropout voltage of the Nixies: while the ignition requires voltages of 160 V and above, the glow discharge ceases at voltages of about 130 V. So the trick is to keep the anodes at a level of about 180 V, but switch the cathode between 0 and +70 V.

Even though the SS202 was one of the transistors with the highest voltage rating of all the GDR-manufactured transistors of that time, they frequently failed. This causes unrelated figures to be activated. The digit here ought to be a "6", but the "4" is lighted as well.

In the end, I eventually decided to replace all the SS202 by modern 2N5551 transistors which are rated 160 V. Quite a tedious work to bend the pins of 66 transistors into shape...

Display WF
Original WF display PCB
Display WF, back side
Bottom side of WF PCB

Reconstruction Work

Metal frame
Metal frame with sockets

The old metal frame with the PCB sockets looked like a useful and suitable mechanical base for the new clock. However, the original wiring had to be removed. Instead, a backplane PCB was designed to be mounted behind the metal frame. Since each digit decoder requires 8 signals to be supplied (four BCD bits, non-inverted and inverted signals each), a full parallel control from the microcontroller would have required 48 signal lines.

74HC595 on backplane
74HC595 on backplane (bypass capacitor bent away)

This was considered to be impractical, so instead a driving circuitry was designed that uses 6 shift registers 74HC595. These registers can be easily driven using the hardware SPI engine of an AVR microcontroller, and each of them generates the eight signals for a single display board. In order to integrate them into the backplane PCB, and place them as close as possible to each digit, the SMD version (SO-16) was used which can be placed nicely beneath each display board socket.

180 V power supply
180 V power supply

Since the clock was going to be left in a kid's room, generating the required approximately 180 V directly from a mains transformer was not considered an option. Instead, a "wall-wart" style plug power supply for 12 V DC output was obtained which is considered to be compliant with all the relevant electrical security regulations. Thus, the high-voltage supply for the tubes had to be generated inside the clock itself. The implemented solution is a flyback converter using a small transformer (that happened to be around "as is") rather than a single boost converter, since maintaining the flyback converter appeared to be simpler for an input vs. output voltage ratio of about 1:15. A modern switching mode power supply controller has been chosen, the MAX15004. In addition to the +180 V anode voltage, this IC also contains an internal +5 V low dropout regulator that is capable of delivering up to 32 mA into external circuitry, so no separate +5 V regulator is needed. On the same PCB, a traditional Z-diode/transistor based voltage regulator is provided to supply the output driver bias voltage of about +80 V.

Controlling the clock

Clock controller
Clock controller with ATmega16

Implementing a basic clock algorithm into a microcontroller is close to an "Hello world!"-style firmware program, so about any microcontroller is capable of handling that. Since the output data are going to be shifted into a series of 74HC595 shift registers, a controller with hardware SPI is quite helpful. Also, in case the primary power supply vanishes, the controller should be able to run off a battery with minimal power supply, using a standard 32.768 kHz watch crystal as the time base.

An ATmega16 AVR microcontroller has been chosen for the purpose, mainly since it just happened to be around when designing the clock. The external circuitry around that controller is really minimalistic: a CR2032 lithium backup battery, a 32 kHz watch crystal (on the bottom side of the PCB), a connector to program and debug the controller.

In order to manually adjust the clock, a simple rotary encoder (with a pusbutton) is mounted to the back of the clock. The firmware polls that encoder each 10 ms within a timer interrupt, debounces the mechanical contacts, and then acts upon any operator requests.

View at the back side
Back side of the clock: backplane, rotary encoder, DCF-77 ferrite rod antenna, DCF-77 receiver, power supply jack
Shielded +180 V PSU
Shielding of the +180 V power supply unit

A DCF-77 receiver has been added to synchronize the clock automatically from the radio signal. Unfortunately, it turned out the flyback converter for the anode voltage was generating way too much EMI noise for the receiver. Reluctantly, the power supply module has been wrapped into one U-shaped brass plate, and another U-shaped piece of flexible PCB material (copper plating on polyimide) as a shielding. That way, DCF-77 reception works well enough again.


Once the PCBs were ready for the clock, they looked impressive enough to warrant a transparent case. Thus, PMMA plates ("Plexiglas®") have been ordered, and glued together to form a case for the clock. That way, both the Nixies as well as the remaining electronics can be viewed from outside, while providing a good protection to the electronics itself.

Digits in the dark

Back to main page
Last modified: Sat Feb 20 21:35:39 MET 2010