Single Digit Numitron Clock

34,722

311

48

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

Supercharged Contest

Participated in the
Supercharged Contest

123D Circuits Contest

Participated in the
123D Circuits Contest

3 People Made This Project!

Recommendations

  • The 1000th Contest

    The 1000th Contest
  • Battery Powered Contest

    Battery Powered Contest
  • Hand Tools Only Challenge

    Hand Tools Only Challenge

48 Discussions

1
edb1984
edb1984

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

watch.jpg
1
pinomelean
pinomelean

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

0
edb1984
edb1984

Reply 6 years ago on Introduction

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

1
pinomelean
pinomelean

Reply 6 years ago on Introduction

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

1
The nerdling
The nerdling

6 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
https://skfb.ly/wNYS

eagleUp_.png
0
pinomelean
pinomelean

Reply 6 years ago on Introduction

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!

brd2.jpg
0
WalterK168
WalterK168

7 months ago

hola
sin caracter ofender
aqui dejo unos archivos HEX y ASM de 12hrs y 24hrs
que andan con una muy buena precisión y desempeño
mantenido el mismo conectado:

24 horas Numitron Clock
24hrclock.asm (archivo .ASM)
24hrclock3.hex (archivo .HEX) 3.57 MHz
24hrclock4.hex (archivo .HEX) 4MHz

12 horas Reloj

numérico 12hrclock.asm (archivo .ASM)
12hrclock3.hex (archivo .HEX) 3.57MHz
12hrclock4.hex (archivo .HEX) 4MHz

también se debe implementar los 2 capacitores de 22pF o 33pF al xtal (pinos 15 y 16)

0
ma35tr0
ma35tr0

Question 1 year ago

Hi there,
Can anybody revamp a code for the common cathode 7 segment tube?
I know, it needs just invert output ports and recompile a HEX file. But I have absolutely no skillsi in Assembler programming.
I will be infinitely grateful if someone can help me.

0
WalterK168
WalterK168

Answer 7 months ago

hola
si no logras corregir el HEX
tambien puedes usar 2 74LS04 para asi usar catodo comun en lugar de anodo comun

1
RafaelR21
RafaelR21

Question 2 years 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

0
WalterK168
WalterK168

Answer 7 months ago

hola, yo lo estoy probando en protoboard, con display de 7 segmentos con resistores de 820r para limitar y en 48h adelanto 15 "lo cual conecte copacitores de 27pF (22pF a 33pF es aceptable) en pin 15 y pin 16 a tierra para lograr la presicion

0
CRTstuff
CRTstuff

Question 9 months ago on Step 3

Do you have the PDF of the old board with four resistors for the LEDs?

0
wfnlb
wfnlb

Question 1 year 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

0
zogmeister
zogmeister

4 years ago

Hi

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

0
DuaneJ1
DuaneJ1

4 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!

0
Mechromancer
Mechromancer

Reply 4 years ago

DuaneJ1,

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!

0
DuaneJ1
DuaneJ1

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

0
DuaneJ1
DuaneJ1

Reply 4 years ago

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

0
pinomelean
pinomelean

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

0
DuaneJ1
DuaneJ1

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