Introduction: Arduino 4 Tube Multiplexed Nixie Clock

About: Ham Radio operator and electronics hobbyist.

There are lots of Nixie clocks out there, but I my goal was to build one from scratch. Here is my Nixie project.

I decided to build a 4 digit nixie clock. I wanted to save parts so I decided to make it multiplexed. This allowed me to use only a single 74141 chip for all 4 tubes.

This clock is currently set up for 12 hour operation.

I know the code is not pretty or optimized, but it works for me :)

Step 1: Schematic

I designed the schematic and board using EASYEDA https://easyeda.com

Step 2: Component List

ARDUINO NANO 1
K155ID1/SN74141 1
10k resistor 13
MPSA42 transistor 4
1Meg resistor 4
Neon lamp 1
LM7805 voltage regulator 1
10uf 50v capacitor 2
43k resistor 1
Nixie tube 4
DS3231 breakout board 1
PWR Supply - HV nixie power supply 1
330ohm resistor 1
12V PS - 12v power supply 1
MPSA92 transistor 5

Step 3: Circuit Board Design

Step 4: Populating the Board

Populate the board with the components. Start with the small stuff first, like resistors and transistors, and work your way up to the more complex items.

Step 5: HV Power Supply

I bought the power supply off eBay. NK01B. This little supply can power several nixies, I believe 6 or 8 at once.

Very easy to assemble and attach to your board. I used a 330 ohm resistor to set the voltage.

https://threeneurons.wordpress.com/nixie-power-supply/hv-supply-kit/

Step 6: RTC - Real Time Clock

I used a DS3231 Real Time clock Chip. I bought several off of eBay. They were cheap, and they keep excellent time.

https://www.ebay.com/itm/1pc-DS3231-Precision-RTC-Module-Memory-Module-for-Arduino-Raspberry-Pi

Step 7: Testing the Nixie Tubes

Step 8: The Code

Step 9: The Final Product

I put this into a cool project box with a clear lid, so you can see what it looks like inside.

Step 10: Modifications

I added a momentary contact switch between arduino digital pin 2 (D2) and ground, and digital pin 3 (D3) and ground. This allows me to add 2 buttons to adjust the time. The code has been updated to reflect this. I am using polling, with a delay to debounce the switches.

Initially the MPSA92 transistors were backwards, so I had to flip them around. I will update the silkscreen on the next run of boards.

I will need to update the cathodeAntiPoising code to cycle through all nixies, instead of just the first 2.

Initially 15K resistors were selected for the Anode resistors, but with multiplexing, you need a higher average current, so I swapped those out to 10K.

Arduino Contest 2017

Participated in the
Arduino Contest 2017