Single Digit Numitron Clock




About: I love electronics and all about DIY.

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
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)
-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

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.

3 People Made This Project!


  • Tape Contest

    Tape Contest
  • Trash to Treasure

    Trash to Treasure
  • Arduino Contest 2019

    Arduino Contest 2019

43 Discussions


5 years ago on Introduction

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.

3 replies

Reply 5 years ago on Introduction

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 :)


Reply 5 years ago on Introduction

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

The nerdling

5 years ago on Introduction

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

1 reply

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!


Question 6 weeks ago on Step 6

I have built design on breadboard and I am using a 16F628A pic. I have also made on separate breadboard a led 7 segment digit. I have tested connections and all leds r good an connected to chip. I used mplab IPE to upload .HEX to pic. When I turn on only abcdg light up. On test mode only abcd light and flash on off. Tried to use .asm to .hex using mplab and same results. Could use some help on which direction I need to go in. THX


Question 11 months ago

Hi, i am trying to do this project but i am having a problem with the PIC. i cant program the hex files in the microcontroller and when i am able to do that the only function it does is the test one. i never worked with microcontrollers so i dont know if i am doing something wrong. if someone could help me it would be great thanks


2 years ago


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


3 years ago

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!

4 replies

Reply 3 years ago


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!


Reply 3 years ago

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.


Reply 3 years ago

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


Reply 3 years ago

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.


3 years ago on Introduction

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.

1 reply

Reply 3 years ago on Introduction

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.


4 years ago on Introduction

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.

1 reply

Reply 4 years ago on Introduction

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.