Introduction: Single Digit Numitron Clock

Picture of 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

Picture of 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

Picture of 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

Picture of 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
Or order it with the .BRD file.

Step 4: Populating the PCB

Picture of 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)
-4MHz crystal
-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

Picture of 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.


edb1984 (author)2014-03-04

Hey there, nice guide -did you got the idea from Jon Stanley's website Electronixandmore? - on there if you read a few of his posts the accuracy of the crystal is addressed with two 24pf capacitors to ground.

if you want to make a watch why not try my design? its made from the same schematic you are using but forgeting the idea of a PCB. runs from one 18350 with a boost circuit to bring it up to 5v. it has the option to turn the LED's on and or off. with LED' on the battery will last about 20 hours, with them off it lasts about a day and a half. please note its not finished yet, and if your wondering the case is 3D printed.

pinomelean (author)edb19842014-03-04

Yes, the software and schematic came from there, i also forgot to use capacitors, but in the secod version (a pocket watch) i've added them an it keeps time a lot better.

You can comment using the "i made it" button, Nice watch though.

My new one is smaller, only 2x3.5x4.5cm with battery and case :)

edb1984 (author)pinomelean2014-03-08

Cool, did you get anywhere with trying to program it to show the time at the press of a button?

pinomelean (author)edb19842014-03-08

I need to learn a bit more about programming, i'm new in this.

The nerdling (author)2014-02-10

i slightly modded the board so now it is a proper watch :) i added a different button and capacitors to the crystal as mentioned in a comment below

here is a link to a 3d model of the board

pinomelean (author)The nerdling2014-02-10

I'm planning to make a second version, a pocket watch with a battery and so, i'm editing the software so it only shows the time when you push a button, to save energy. It will also use tiny incandescent bulbs instead of LEDs.

Maybe i'll post an instructable about it, but i need time.

Meanwhile you can take a look to the files below, they could be usefull for you!

zogmeister (author)2016-06-25


Could you update the schematics in the original instructable. I made this and then had to troubleshoot the board layout in the embedded PDF only to find the crystal was not connected to the PIC.....

DuaneJ1 (author)2016-02-22

Hi Cool new update, it is really amazing with the steam punk strap/housing. With this update the feature of tilting it on it displaying time, is the board layout still the same or is there an addition to it or is it software based? Hmmm or is this based on the numitron w2 board? Thanks for the inspirational work of art!

Mechromancer (author)DuaneJ12016-03-28


The board is pinomelean's original board; it is unaltered. However, you need to solder two mercury switches to the board, which is really easy, and also use the modified software.

If you like, I can send you a picture. It's alot easier than trying to explain. ;)

Again, a BIG thanx to pinomelean for this rockin' instructable!

DuaneJ1 (author)Mechromancer2016-03-30

Hi Mechromancer, sorry for the late reply been away. If you would not mind sending a picture that would make things a lot easier. Thanks.

DuaneJ1 (author)Mechromancer2016-03-28

Hi. Yes if you would not mind sending a picture. Thanks.

pinomelean (author)DuaneJ12016-02-23

I forgot to edit it, but as i now explain, that is the work of another user, who made a few software modifications and a steampunk wristwatch. Be sure to read his description.

Mechromancer made it! (author)2015-08-19

Great Instructable!

Finally got around to it and decided to make a steampunk watch out of it.

I went with OSHPARK to make me the board. $10.50 for 3 boards, professionally made and with a solder mask. Made the job soooooooo easy. I also opted for SMD LEDs.

I'm using a 3.6v AA Li-Ion rechargeable battery and a micro 5v voltage booster to get the filaments a little brighter.

Looking forward the next version that mention in this thread. Hopefully, it will have a memory back up so you can turn the clock/watch on/off and not lose the time. Or can you add that to this clock somehow??


DuaneJ1 (author)2015-07-23

Hi, I was wondering, with the new numitron w2.brd & .sch will the old hex work with the new design? If not could I get a copy of the new .hex program. Thanks & your projects are really cool.

pinomelean (author)DuaneJ12015-07-24

Sorry, but i ended up not using that board design.

I've made a new one with it's own software, which i'm still testing, but i'll probably post soon.

ma35tr0 made it! (author)2015-03-14

I made it and it perfect works! Thank you! But I have one wish - can you add 1Hz blinking led out PIN12 (RB6) ?
I'm used one 7seg led with AC. Dimensions 40x62mm. Powered by one li-ion 3.7v/2200mAh battery. Here is my PCB photos:

mikoto0931 (author)2014-10-27

Thanks for detailed instruction. And I wonder if I can get .hex file that allows to display time when only a switch pressed, not periodcally.

pinomelean (author)mikoto09312014-10-27

I'm currently working ond that and many other upgrades to make a numitron watch.
I will probably publish an instructable when i finish it.

Ploopy (author)2014-06-23


florinc made it! (author)2014-05-08

I made a similar one, using Arduino Pro Mini:

Suraj Grewal (author)2014-03-16

ihart (author)2014-02-24

Awesome project!

pewtu (author)2014-02-16

In reply to g4ipz in UK you can get a free non restricted schematic and pcb drafting software Designspark given away by RS components. Are the files available for the redesign which includes the 2 extra capacitors and new layout?

pinomelean (author)pewtu2014-02-16

The .SCH and .BRD files are available in ''The circuit'' and ''PCB design'' steps, you can edit them and modify all you want, but that, without comercial purposes :)

g4ipz (author)2014-02-12

Hi Pinomelean. A nice little instructable.

Out of interest which schematic diagram and PCB drafting software do you use for your designs please as I like the end results better than what I use at the moment.

pinomelean (author)g4ipz2014-02-12

I use cadsoft eagle, with this softare you can open and edite the schematic and board files.

g4ipz (author)pinomelean2014-02-12

Thanks for that but I just checked the price and even the hobbyist version is well out of my price range. Thanks anyway.

pinomelean (author)g4ipz2014-02-12

If you mean the hobbist version of eagle, it's free!

That's why i use it.

Culito (author)pinomelean2014-02-12

This page shows $169 bucks, $69 for the "light" version...

pinomelean (author)Culito2014-02-13

Enter in the ''download'' tab and click on download eagle, choose your os and when you've intalled, choose the free version, it has limitations, but for hobbists is enough.

shizumadrive (author)2014-02-11

Id say it more retro than steampunk but its a very cool project. Id like to to see make a case and turn it into a watch

pinomelean (author)shizumadrive2014-02-12

Yeah, a case would make it look better, as i said to the nerdling (comments) i'm designing a pocket clock, just like this but with mini incandescent bulbs, portable with battery and much more features.

zaphodd42 (author)2014-02-12

Had to vote! Had to print it and put it in my "to-do" folder! Great 'ible! Thanx for the work!

luckylulujoe13 (author)2014-02-11

When you say single digit, does that mean it gives the time serially? Flashing min, then tens of min, then hours, then tens of hours?

I flashes tens of hour, then hours, then tens of min, then min. Just like reading the time from left to right.

The LEDs indicate the digit being displayed.

uhclem (author)2014-02-10

I am surprised the micro is able to sink/source enough current to light the filaments.

pinomelean (author)uhclem2014-02-10

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 this clock it isn't a problem since each segment draws 20mA.

andrea biffi (author)2014-02-09

I LOVE this watch!

pewtu (author)2014-02-08

Gaining 3 minutes a day seems quite a bit. How about putting a couple of 22pf capacitors, one from pin 15 to ground and the other from pin 16 to ground to load the crystal an see if it helps. Like the neat layout.

mettaurlover (author)pewtu2014-02-08

Says one minute every three days, not three every day; though the latter is still more accurate than the average non-professionally-adjusted mechanical clock mechanism.

pinomelean (author)pewtu2014-02-08

Thanks, i will try it in future projects.

Hardwired22 (author)2014-02-08

I like it!!

kyle brinkerhoff (author)2014-02-08


Thanks, when i discovered them (and nixies) i couldn't think in LEDs anymore, retro displays rule!

About This Instructable




Bio: I love electronics and all about DIY.
More by pinomelean:IN-12 nixie clockLi-ion battery chargingMini line tracer
Add instructable to: