Complete write up on how I built my own fully functional Nixie clock.
Finished product first!
Parts used
There are lots of parts used in this build, and this project was therefore not the cheapest, that’s the least I can say!
Component | Quantity | Bought from … | Price (USD) |
Robotdyn Arduino Mega Pro Mini | 1 | Aliexpress | $8.36 |
DS3231 Real time clock module | 1 | Aliexpress | $1.28 |
USB to TTL UART converter | 1 | Aliexpress | $0.74 |
DC 12V-24V to 85-235V Voltage Power Supply Module | 1 | eBay | $15.99 |
Lot of 9 IN-14 Nixie Tubes | 9 | eBay | $39.00 |
Lot of Twelve K155ID1 Nixie Drivers | 12 | eBay | $20.80 |
Recom Switching Regulator 5V/500ma | 1 | RS Components | $3.13 |
27k, 0.6W Resistors | 20 | RS Components | $0.88 |
100nF Multilayer Ceramic Capacitor | 50 | RS Components | $4.69 |
PEC12R Bourns Rotary Encoder | 3 | RS Components | $3.21 |
10uF Electrolytic capacitor | 2 | Farnell (element14) | $0.08 |
16mm Steel Push Button | 1 | Aliexpress | $1.54 |
Gold 6mm Shaft Guitar Knobs | 10 | Aliexpress | $10.37 |
0.76mm Nixie Tube Pins | 100 | eBay | $9.66 |
30AWG single core wire (black, red and yellow) | 3 | RS Components | $37.20 |
Pannel Toggle Switch | 1 | Farnell (element14) | $2.10 |
IC Socket DIP-16 | 6 | Farnell (element14) | $0.80 |
DC Jack Power Connector, Panel Mount | 1 | Farnell (element14) | $1.24 |
Box feet | 4 | eBay | $4.23 |
Colron Teak Oil | 1 | Home-Fix (local shop) | $29.00 |
Glass domes | 3 | Aliexpress | $10.20 |
3mm laser cut walnut | 1 | SketchLaserCutting.co.uk | $101.00 |
TOTAL | $305.50 |
Bear in mind that about half of this cost is making the encasing for the clock though. The laser cut walnut, glass domes and other miscellaneous hardware add up to quite a lot. It’s also worth noting that I probably forgot lots of other costs and tools you might need to make this build; but still this gives a good idea of what to expect when starting such a project.
A word on architecture
Architecture of the clock is very simple: 6 tubes are controlled by 6 nixie drivers, themselves controlled by a Mega. I picked the Mega very early on the project because driving 6 tubes requires 6×4 = 24 bits, or three 8 bit ports. With all miscellaneous input/output, an ATMega328P would be too small without adding on shift registers.
Additionally, the nixie drivers are old tech and won’t work with 3.3v logic. A Mega is not often the right choice for a project, but in this case it seems very adequate.
Building the clock
I designed the box on TinkerCad, a free online tool which I highly recommend. It is not very complex and you’ll be making stuff in no time.

It’s unfortunately very expensive to get any laser cutting done in Singapore (where I live), and I wanted a nice walnut wood; so I shopped around and SketchLaserCutting.co.uk ended up being the cheapest.



I originally bought 3 glass domes and I left 0.5mm wiggle room for them to be slotted in. However, these things are cheap and clearly not made with military precision. As a result, one of the domes was about 0.5mm bigger than the other two and impossible to fit in. I bought three more, and finally managed to get one more to fit.



The clock is powered by a 12V wall wart (the same kind you can find on your router). Power reaches directly onto a 5V switching regulator that powers the nixie drivers board. I simply connected the Vcc and Ground pins on a stripboard, and added a 100nF decoupling capacitor on it. The 12V also goes directly in the DC/DC high voltage boost converter, then onto a set of current limiting resistors you can see on the right for the nixies.

After completely wiring up one nixe, I controlled that all digits light up by hooking it up with an Arduino Uno that counts all the way to 9. Rinse and repeat for all 6 nixies.


At this point I should mention the rotary encoder used for the knobs:

They are simply rotary encoders which I fitted onto a small piece of strip board. Each output has a resistor/capacitor network so that I don’t have to filter the input in software.

Clearly this is not my proudest work, but this combination of wood glue secured with hot glue is pretty fool proof.

At this point I added the real time module and the Arduino Mega “Pro Mini” to the PC so that I could iterate through the code and resolve bugs faster. There is lots of room left in the box because I had originally intended to fit in a full sized Mega in there. After I started the project, I realized you can also find Megas in a “mini” form factor (e.g.: no USB controller, bare breakout of the chip) and decided to switch to that. So much better.


Spoiler alert: I have absolutely no woodworking experience and I have no idea what I am doing. All I know is that some people think the laser cutting burns look cool, but I wanted to cover them up. I covered the clock with wood putty, sanded it down, then finally oiled up the whole thing with teak oil. Oh, and and I added the feet too of course.

It’s not perfect; and I still don’t know if the wood putty was the correct choice, but I was a bit scared I would sand it down too much so this was the “good enough” stage.

Thanks for reading this far!
11 thoughts on “Arduino Nixie Clock”
Awesome project!
very cool. Has a great look and feel to it.
I love this! I’ve always wanted to make my own alarm clock in this style. Great article!
It’s great work! I am interested in making the same clock. Could I have the schematic and source code of yours?
Thanks!
Source code is available here: https://github.com/tonyp7/ArduinoNixieClock
“Schematics” is included in the .ino file itself showing the parts connected to the Arduino Mega but there’s not really any real schematics.
Have you considered using a CNC mill to mill the wood?
I don’t have access to a CNC mill unfortunately. They’re even more rare than laser services!