Introduction: Single Digit Numitron Clock
Numitrons are neat display devices similar to nixie tubes but designed for much lower voltages. Numitrons are basically incandescent displays in which filaments create the segments.
They have a retro look that i liked so much. I bought 6x IV-9 russian numitrons in ebay, they were about 3$ each, they're pretty cheap!
At that time i didn't know what to do with them, but then i thought about a clock. Using software from a single LED display clock i made this impressive numitron clock.
Step 1: Program the PIC
The original purpose of the software was to drive a single common-anode LED display rather than a numitron, but either way works.
The software was modified to flash the digits so the HHMM LEDs wouldn't be necessary. Also the software was modified so if the tens of hours is 0 then it is not displayed.
Moreover, the software does not check the input values so entering the wrong time such as 67:85 would be accepted, but eventually the clock will start resetting the digits correctly.
The clock operates off a PIC 16F84A using a program written by David Tait (software is further down this page). The crystal oscillator for the clock is a 4MHz crystal.
I think another microcontroller such as PIC16F628A could also work fine.
Step 2: The Circuit
After testing on the breadboard, the clock works fine, with the current crystal the clock comes forward a minute each 3 days, with a precision one it can be solved, but it's good enough for me; because setting time is easy.
You can see the test video below and download the eagle schematic to modify it.
Since numitron displays are just complex bulbs, it could be a problem to drive them from the processor, but in this case, it's not a problem:
The PIC16F84A can source or sink 25mA per I/O pin.
But each port has a limit:
Maximum current sunk by PORTA-80 mA
Maximum current sourced by PORTA-50 mA
Maximum current sunk by PORTB-150 mA
Maximum current sourced by PORTB-100 mA
With IV-9/IV-16 each segment draws 20mA, but be careful if you choose another numitron!
Step 3: PCB Design
The board measures about 4x3cm (1.6x1.2inches).
it could be way smaller with all components in smd version and onto a double-layer board; but the design i made is the easier/cheaper one.
The board i made the clock with was later modified and optimized.
I used 4 resistors for the HHMM LEDs when a common resistor would do the trick.
I also used a header jumper to switch on or off the numitron, but it turned out that the microcontroller sank the current through ''off'' pins, dimly lighting up some segments.
You can use the PDF to make the circuit with the toner transfer method (see https://www.instructables.com/id/PCB-making-guide/)
Or order it with the .BRD file.
Step 4: Populating the PCB
After drilling the holes and tinning the pads, it's time to populate The PCB.
You'll need the following components:
-PIC16F84A microcontroller (or compatible)
-18 pin DIL socket
-IV-9 or IV-16 numitron (or one of your choice, but check pinout!)
-4 LEDs (just check if they fit)
-2x 470ohm 1206 SMD resistors
-1x 1K5 1206 SMD resistor
-2x male header, or the power input you want
-An SMD capacitor, just for filtering, no matter the value.
First solder the wire jumpers and the SMD components, then the rest. Do it as shown in the diagram (the .BRD file)
Solder just the socket without the PIC in!
If you're using IV-9 or IV-16 numitron, bend the leads as shown in the picture. If you use another numitron, see the datacheet and check if it is pin-compatible, if not, you can edit the PCB or bed the leads as needed.
Step 5: Ready to Use
After plugging it, it should display 12:00, set the time by pressing the button when the digit you want to change is being displayed.
If you press the button during power on, it will enter in test mode.
I can't wait to see how you've done.
If you have any problem or doubt, feel free t ask me.
If you've liked this instructable, please vote me for the Supercharged, 123D Circuits and Spring's Coming contests.
Step 6: Software Update
The user [Mechromancer] made an awesome steampunk wristwatch with this circuit design. He also edited the software to have the following features:
Now you can turn on/off the display by long pressing the button when the display is in between cycles. When you hold down the button, you will see the display cycle between the numbers "1", "2" and ''3''. Just release the button when the desired number is showing.
Additionally, when the display is "off", you can press the button until the time starts to display; if you release the button when the display starts, it will show the time and go back to "off" mode, so basically, you can check the time only when you want. If you keep the button pressed until AFTER the time displays, it will again go back to the "1" - "2" - ''3'' toggle so you can turn it back on.
The draw back is that I had to remove the "Test" cycle because, apparently, the PIC would not accept the new length of the program.
So the new version has 3 settings: (long press to cycle through the options, 1-3)
-1: Numitron and LEDs ON
-2: Numitron ON, LEDs OFF
-3: ALL OFF; long press button for time
In case anyone is interested in how he modified the circuit to work like ge shows in the video, here's his explanation:
Well, since the numitron and LEDs' on/off status can be controlled through the existing button, I found myself left with PORTB,6 open...and I just couldn't leave it unused.
I attached two mini mercury switches (yes, there is a reason I used two) to PORTB,6 in series and attached the other end to the "hot" side of the existing button. So basically, when BOTH mercury switches close the circuit, it's like a button press on PORTB,6. Now, when the watch is horizontal and at a 35%-40% angle (i.e., when you hold it up to view the time) the mercury switches close the circuit and I send the program to the "show time" subroutine and the time displays. No need to press the button anymore. Also, I found a slight work-around for holding the time while you switch the main battery. It's a simple hack involving 2 tiny Schottky diodes and a coin battery. All of this fits neatly under the existing board on my watch.