Arduino Nixie Clock

11 comments

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.

Front and back view of the Nixie Clock on Tinkercad
Front and back view of the Nixie Clock on Tinkercad

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.

The box assembled for laser cutting, and an early prototype made of 3mm foam.
The box assembled for laser cutting, and an early prototype made of 3mm foam.

 

Glass domes are held in place by simply placing them on slots.
Glass domes are held in place by simply placing them on slots.

 

Test fit of the glass dome: yup, all good!
Test fit of the glass dome: yup, all good!

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.

 

I drilled holes for the pins according to a custom blueprint built with Illustrator.
I drilled holes for the pins according to a custom blueprint built with Illustrator.

 

First tube in! It's starting to look exciting already!
First tube in! It’s starting to look exciting already!

 

The clock's internal: power supply and Nixie drivers
The clock’s internal: power supply and Nixie drivers

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.

 

Testing the first tube
Testing the first tube

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.

 

Almost done... There's seriously over 10m of wire in the final thing!
Almost done… There’s seriously over 10m of wire in the final thing!

 

Wiring of the nixies: completed!
Wiring of the nixies: completed!

 

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

The rotary encoders ready to be fit in.
The rotary encoders ready to be fit in.

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.

 

Rotary encoders fitted in.
Rotary encoders fitted in.

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

 

Debugging the code.
Debugging the code.

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.

 

Final picture of the internals of the clock!
Final picture of the internals of the clock!

 

Covered laser burns with wood putty.
Covered laser burns with wood putty.

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.

 

Finished clock!
Finished clock!

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.

 

Found a spot for the clock on the booze shelf.
Found a spot for the clock on the booze shelf.

Thanks for reading this far!

Leave a comment

Your email address will not be published. Required fields are marked *

11 thoughts on “Arduino Nixie Clock”