Ever since I build my first nixie clock using old 74141 drivers that aren’t produced anymore, I’ve wanted to build a new one using a more modern design. A lot of people design Nixie clocks with multiplexers and high voltage transistor arrays but these introduce a complexity of their own:
- Multiplexing introduces dimming issues.
- Multiplexing introduces high frequency noise at high voltages.
- Transistor arrays are both expensive and cannot fully drive nixies (voltage clamps)
In my first nixie clock project, I used an Arduino Mega so that I could use 3×8 bits ports driving all 6 nixies directly through 74141. You can get away with this due to the massive amount of IO of the ATMEGA chip, but again this isn’t the best.
So I thought about having simple 74HC595 serial-to-parallel chips daisy chained, each driving a high voltage transistor (MMBTA42).
And this is how “Serial Nixie Driver” is born:
As you can clearly see on the schematics above, the drive circuitry is extremely simple: 10 transistors drive the 10 digits of the tube. Since a shift register only provides 8 bit, you need two of them to drive all digits. This “wastes” 6 bits that are left unconnected but this isn’t really a problem. Shift registers are incredibly cheap (about 5c each in bulk quantities)
From the start I wanted to have the nixie driver daisy-chainable, so the driver has a left side matching the right side, allowing possible mating of two or more boards through headers.
It’s not easy to route the PCB while keeping the board compact, so the transistors (SOT-23) are mounted on the back. This frees up a tremendous amount of board real estate that makes this routing not too hard in this end.
Serial Nixie Driver was honestly a very fun experiment that was produced from start to finish in about two weeks. It works great and I’m very happy with the result.
This was also a proof of concept at the same time that I can build a complete clock face around this architecture. Missing accomplished!