Intro: Nixie Tube Arduino Uno Driven Thermometer
First off I give credit to the many sources I found right here on Instructables and GitHub to pull this project off. The design of the box and the programming modification to get the Nixie tubes to sequence on start up to help prevent poisoning of the tubes is all mine, but I cobbled a lot of info together to get this thing to work. As we go along, I will point to very good links that helped me greatly as they do a far better job explaining than I could.
1 - Arduino Uno ($10.00 eBay) - (I tried using a Pro Micro actually tried wiring two different units, and could NOT for the life of me get either to work with the DallasTemperature sensor. In frustration, I switched over to the UNO and had zero issues.
1 - Dallas Temperature sensor DS1820B ($5.00 eBay) - Water proof design, bought 3 to get the price discount.
1 - High Voltage Power transformer board (12vdc to 180 vdc). ($8.00 eBay)
1- Wall Plug Transformer (120 VAC - 12 vdc) ($3.00 at Goodwill thrift store).
1 - 120 VAC Wall outlet plug. ($2.00 Home Depot)
3 - IN-1 Nixie Tubes ($2.00 ea. eBay)
3 - Nixie tube Driver Chips SN74141 ($3.00)
1 - Plexiglass panel (front and for back), Perforated steel sheet metal panels
1 - On / Off toggle switch, cord, wire, solder, hot melt glue, etc.
Step 1: Build the Circuit and Test the Heck Out of It.
A great guide / overview of what you will be doing is model your project from Sascha's located here:
Then, you can use his code and modify it as you see fit as I did. Shout out to him for helping me find a bug in my code. Once you have an idea how this will come together, it is time to get into the details...
The core to this project is to understand how the tubes are driven. I suggest you understand and build this instructable first:
to understand how the tube is wired and the driver chip selects the output to obtain a given digit. This is well written and accurate.
Repeat this circuit build for each of the three nixie tubes needed for the display. Program your UNO to drive all three tubes to ensure you have the circuit wiring correct. It is very easy to cross wires and not get the correct bit pattern out of the chip to drive the desired digit. Trouble-shoot this until correct.
For the decimal point I just used a high voltage neon indicator bulb powered off the same high voltage source as the tubes.
One the Uno drives the Nixies correct... build this circuit to understand how the temperature sensor works using the OneWire protocol. Go here to learn about this:
If you have a breadboard and an second Uno, do that code and use the serial port function of the UNO output to convince you understand how that works. Once you got the temperature reading to the UNO, you are almost done!
Step 2: Marry the Programs Together.
Build your code by first getting the temp probe to output on the UNO serial port. Once working, add the lines in for sequencing the nixie tube. I originally did this in the reverse order and had nixie cycling but no temp display...
If the Arduino code freezes after it cycles and gets stuck like this...
Chances are your temperature sensor is not transmitting or the UNO is not converting the data to the serial port. I struggled with this for days... I think my Pro Micro was not working with the OneWire correctly because when I switched over to an UNO, it worked just fine.
Here is my program...
On power up it rolls through the digits to help stop nixie poisoning. Then goes right into displaying the temperature.
Once all was working I had to cram it in the box and add 6 LED lights to light up the interior. I used exotic woods of Zebra and orange agate. The copper and the steel plate were patina'd with muriatic acid and copper sulfate.
officialnerdhut made it!