Love retrotech? Think nixie tubes are totally rad, and you want to make a thing out of them? Well, have I got news for you! You're in luck - because that's exactly what we're going to do!
You will need the following for the clock itself:
- 1x Arduino Uno (or clone like this)
- 4x Arduino Compatible Nixie Tube Modules (find them here) (or usually found here)
- Male to Male and Male to Female Wire (buy some of these if you don't have any)
- .18 AWG Wire - stranded is best, solid also works (like this)
- Header Pins - you'll need this for the .18 wire to make a solid connection to the nixie modules (like this)
- 1x 5V 2A DC Power Adapter (like this)
- 1x Terminal strip (like this)
- 1x ChronoDot RTC Module (like this)
Optionally, you can build a simple box to enclose your clock! This tutorial will not go over that - but I will give you some tips at the end.
You can find links to the code on my github project page, here.
Original Hardware design: Yan Zeyuan
Original Library design: Weihong Guan
Initial Code Tweaks: Bob Edmiston
Step 1: Preparing Power Supply & Wires
- Take the 5V 2A DC Power Adapter, and strip off the ends exposing the wire.
- Screw them into the terminal strip, clearly distinguishing between positive and negative.
- Strip 2 .18 gauge wires on both ends. On one side, solder some male header pins. These will be used to carry enough power to our power-hungry arduino nixie modules.
- Attach the .18 gauge wire and a male to male wire on the other side of the terminal strip for both positive and negative - so wires on the positive screw, and 2 wires on the negative screw. (see picture above).
- Plug the DC Power Adapter into the wall, and test the voltage using your favorite multimeter. You should have ~5V. Make sure your polarity is correct.
Step 2: Connecting Arduino Components
- Attach wires from Arduino to ChronoDot.
- A4 <--> SDA
- A5 <--> SCL
- 5V <--> VCC
- GND <--> GND
- 13 <--> SHCP
- 12 <--> STCP
- 11 <--> DIN
- 10 <--> OE
- Attach male lead wires from terminal block (the thin ones, not the .18 ones) directly into the arduino board.
- Positive wire from terminal strip <--> VIN
- Negative wire from terminal strip <--> GND
Reference screenshots for idea of pin-outs if you're lost.
Step 3: Uploading Code to Arduino Components
Unfortunately, this is not a how to use Arduino tutorial. Please be sure you understand how to properly communicate with your board via the Arduino IDE. If you understand these steps, please proceed. If not - I recommend watching some youtube videos to catch up in order to proceed beyond this point.
- Be sure to have the arduino libraries from the github repository installed. You will need NixieTube and RTClib libraries installed, as they will be used by our sketches.
- Open both the RTC_Set_Time_ds1307.ino sketch, as well as the Nixie_Clock.ino sketch in two separate windows.
- With power going to the arduino and the ChronoDot module (should be how you have it at this point), connect to your arduino with USB - which will turn on the board and the ChronoDot, but not the nixie modules at this time.
- Upload the RTC_Set_Time_ds1307.ino sketch to the board. Once it has completed without errors, immediately remove the VCC and GND pins from the ChronoDot, and plug them into the 5V and GND pins on the rightmost Nixie module. This will give it enough juice to be programmed properly.
- Open the Nixie_Clock.ino sketch, and upload it right away. You will not see the numbers yet at this point (until we've plugged in all the power). Ideally, you will have to do this within a split second of uploading the RTC sketch.
The first sketch sets the time of the ChronoDot to that of the computer you're using. The second sketch is the actual logic behind the clock, and pulls the time from the ChronoDot. Do it fast enough, and you'll have a very accurate clock.
Step 4: Connecting Everything - IT'S ALIVE!
- Take the power and ground back out of the Nixie Tube, and put it back where you had it into the ChronoDot.
- At this point, you're ready to plug everything in. DO NOT PLUG THINGS IN HOT. Set up all your connections first, then plug in the DC adapter.
- Plug the positive .18 wire into the 5V pin on the leftmost nixie module (reference picture). This should be the bottom pin.
- Plug the negative wire into the GND pin on the leftmost nixie module.
- Your wiring should now look something like the picture above.
- At this point, you should have no USB connections.
- Plug in the DC adapter.
If everything has gone correctly, you should see the current time! Please note there is currently no distinguishing between AM and PM. This is standard time, not military time (i.e. the left-most tube will only say 0 or 1).
Step 5: (Optional - Extra Credit) Build a Box!
Woodworking isn't something that comes naturally to most electronics geeks. I chose to buy some cheap oak plywood and design a simple box with finger joints using a design I drafted on graph paper. I used a scroll saw, some wood glue, clamps, a sander with fine grit (#120) and some velcro to design the box you see in the pictures above. There are tons of great tutorials on creating simple wooden boxes right here on Instructables, as well as YouTube. Good luck - and safety first!
Runner Up in the
Arduino Contest 2016