As first instructable of the year I managed to finally complete my age-long nixie clock project.
Nixies are neon valve tubes, where ten cathodes have shape of digits and are lighted up by plasma when high voltage flows through them. I love these old era displays, which have been employed in last century before I was born.
In last year I've been slowly collecting components and knowledge to build some nixie clocks as Max Pierson's beautiful creation, I like the old style, the roundness of glass tubes, the rough wood case, the simplicity of the design. That clock has definitely inspired my project. Even though I really love vertical digits arrangement I keep that original feature for my next clock.
Therefore this first born is a six digits horizontal wood desk clock, with six big round Russian IN-4 nixie tubes, no dots, no visible buttons, no LED illumination, only a big massive rosewood block and the power of plasma ;-)
I have to explain you what the title means:
simple because it can be entirely built with common tools and from common components, you only have to order six IN-4 nixies and one nixie driver
user-adjustable because it's predisposed for many external sensors and additional features (as neon dots between digits, alarm, etc.)
DIY since you neither have to buy external shields or to pay for pcb manufacturing, just follow my instructable ;-)
WARNING: this circuit raises the voltage to deadly 300V so you must avoid to touch contacts while working, I'm not kidding, please BE CAREFUL!
Step 1: The schematic and working principle
Lately, after some research and a fast designing, I attained this functional high voltage power source circuit. Since there is a full step to step guide about the hv power source section of my clock, I will pass over that explanation. There is only something to say about the input voltage for the clock: to increase the universality of the project I decided to give the possibility to power the clock with a voltage from 9 to 35V. The best solution (in terms of efficiency and thermal dissipation) is to connect a 9V DC PSU (500 mA or more), but if you want to power the device with a voltage from 12 to 35V you only have to shift the voltage switch in direction of the ON-OFF switch (which has a center ON position between two OFF ones).
With the pot you have to set the voltage (read next step for high voltage pins) to the about 190V needed to power the IN-4 nixies (in multiplexing displays is better to use a bit more than the 180V needed to light a single nixie tube). You can of course set up the proper voltage for any other nixie tube.
The other section is the logic circuit, where a cheap Atmega8 IC (but you can also use an Atmega168 or Atmega 328), through a nixie driver and some high voltage transistors, controls the digits.
The nixie driver is a K155ID1 which is the Russian equivalent of the 74141N, and it spares you to use 20 more high voltage transistors. This driver is not very expensive, but it's not longer manufactured, so with time it will be more difficult to find, for this reason I wanted to use only one in my project (while there are many nixie clock projects which uses one driver for each digit).
This has been possible thanks to some references I found in the web
but mainly thanks to Jeremy Howa and Brad Lewis for their Arduinix project, which enlightened me about multiplexing power and from where I took the original code.
My schematic is drawn in Diptrace, a simple pcb design software, I divided it into two pats so to show it better, read notes on the image to understand circuit parts.
Step 2: The board design
Diptrace lets you to autoroute the traces, but in my case I had to route them manually since I wanted to keep the board as small as possible.
The clock is composed by two different boards: the bottom part contains all the power source and logic sections, and the top board is to connect the tubes, each one with a proper resistor. Indeed since different tubes could need different resistor values, I decided to leave 10K resistors on the clock board and add a second resistor for each tube on the tube shield, so that you can easily transfer the same main board from a clock to another. To calculate the total value or resistors I referred to Threeneuron's great explanation.
To set the right voltage set the right position of the 9V / 12-35V switch depending on your PSU, then plug the jack and connect your multimeter to a GND pin and to the "+180(TEST)" pin. Calibrating the potentiometer you will see voltage varying from about 140 to 300V, set it to 190V.
Actually the pcb you see here is an new version of my clock board, since I improved the component arrangement and I still have to etch the new board, so maybe you will note some minor differences.
If you look the "top silk" pdf file you'll see that I marked on the board top surface all the info to place components, such as name and polarity, so you should be able to solder them easily with the help of the b.o.m.
Furthermore in the other documents you find the traces ready to print and to transfer on the copper board, for both clock circuit and tubes shield. Top-silks are mirrored for this purpose.
Step 3: B.o.m.
The bill of material is the longest I've ever needed for one of my electronic projects. I know it's far from to be professional and there should be many imperfections, but I tried to be more exhaustive I could.
L1 is a fixed radial inductor (avoid toroidal chokes) 100 uH 1A. On the board you can find space to place a stocky or slender inductor, just ignore the hole you don't need. R17 and R18 should be 1% accuracy metal film resistors, to achieve a better voltage stability. D1 has to be a ultra-fast 400V diode, as BAV21, UF4004, UF4007, MUR140, or MUR160.
Step 4: The code
The code I used in this clock version is taken from the open source material available on Arduinix website, and I really suggest you to go looking Brad Lewis "Sloth Furnace" impressive projects (he's an instructables member too).
I modified the code to use only one nixie driver instead of two, since I don't need to run more than 6 digits, and I prefer to save drivers. There is a parameter which you can change if you have problem with your displays, it's the delay, but 2 ms works fine for me. You can try 3 or 4 ms but more will flicker the digits, since software has to go through all digits before lighting a digit again.
To burn the code to the Atmega IC I used Arduino. Just remove the Arduino chip, insert your Atmega8 (or better), change board and serial port under "tools" menu, paste my code and upload it. Take out the IC and insert in the socket on the clock board. Please notice that your Atmega IC could need to be burn with bootloader before you upload the code, you can find instruction on this page. I used a USBtinyISP programmer, but you can buy IC already burned with the bootloader.
Step 5: Toner transfer
Ok guys, you're certainly happy that theory section is ended and we can now see something concrete.
As I usually do I've etched two boards at the same time, so to reduce the chance to make a faulty pcb.
First thing to do is to polish the copper surface with a sponge (the one for dished on the scratching surface) and then clean it with a strong soap. After that step absolutely avoid to touch the surface or to dry it with a dirty towel, toner has to find a perfectly degreased surface to adhere at 100%.
Now join printed paper and copper board and keep them together with paper tape pieces, put them with paper up under a clean towel, set your iron at maximum temperature and pass over the paper to make the toner adhere on the copper surface. Now pour into water, wait some minutes and when paper is all wet remove it with the help of a soft brush (maybe a toothbrush).
This is a pretty damn process and the success mostly depends by the type of paper, in this case I've tried a cheap inkjet photographic paper. I definitely need to switch to photoresist method.
Step 6: Etching
When you're absolutely sure there is no remain of paper between tracks, and after retouching every interrupted track with permanent marker, you can pour the board into ferric chloride solution for about 40-50 minutes (it depends by many factors as the percentage of solution, the temperature, how much often you agitate the basin, etc.). You see in the picture that I always use the pcb holder I built. I suggest to shake gently the container every 10 minutes and check the traces every 5 minutes when 30 minutes or more has passed. When you see there is no more copper on areal clean from toner you can wipe the board with a paper towel and wash it in abundant water. Dispose of the exhaust acid in proper centre.
Step 7: Finishing the main pcb
To remove the toner from the copper traces use a metal sponge or sand paper. If you're not sure about the electrical conductivity of some traces you have to check them with the multimeter and fix any mistake soldering a bit of tin.
Then make holes where needed using 0.8 mm drill bit and a precise column drill (if you want to build one look here).
Step 8: Etching the tubes shield
To build the tubes shield the process is the same as the main circuit. Also in this case I made two boards at the same time. Both came out well, except near the edges where I had to fix some toner lack with the permanent marker.
As before, remove toner after etching and drill holes for components.
Step 9: Top silk
If you wish you can transfer the top silk on the board with the toner transfer method. This helps you placing the components and also adds useful information to connect external sensors and to act on the switches.
Then you can begin to solder the main components on the board.
Step 10: Solder
Step 11: Pin rows
Since the pin male headers are on the same side of the copper, the process to solder them in place is a bit more complexed compared to all the components on the opposite side.
I suggest you to push the pin heads hard into the holes (0.8 mm is the better size in my opinion) and solder them on the pads. As in first picture you have now the rows upside down. Remove the plastic holder with little pliers, flip it and insert again with the groove toward the copper, then with your nails or the pliers push the plastic against the tin, that will cover pads and any soldering sign.
Step 12: Find the right case
I've been lucky and I found a case almost perfect to fit my circuit. Obviously it's much better to design the pcb referring to the exact measures of an existing case, so go looking for it at once ;-)
The same instant I've seen this box I loved it. I bought it a the Christmas Fair in my city and it was last piece, made in India from a single rosewood block. I chose the rougher side to become the front of the clock, since I like the irregular edge on the front top edge.
Step 13: Drill holes
You can mark the center of the holes with a ruler or to attanch a print of the circuit top side on the wood, then mark the dots with an awl.
Step 14: Perfect the case
To drill the holes avoiding wood cracks formation, push a wood block on the inside surface of the board, and try keeping it pressed with shims or clamps, then drill the holes until you reach it. Also try to leave at least a pair of millimeters of space between holes. My first shield was too short, and I had to make a little longer shield to match the holes.
Step 15: Fix the lacks
Step 16: Straighten the sockets
Step 17: Test the circuit
If everything works you can continue with the assembling.
Step 18: Assembling nixies
Place the shield inside the case and insert back the tubes into it. Pay attention to not let any pin going out from his socket, you can look from the inside to check them.
You see that you can connect the main circuit to the tube shield with no trouble. This is very useful since you are now able to build a new clock and test it with the original clock circuit.
Step 19: Find cool case stands
I had four rubber tips, to arrange four nice old style stands I decided to use them upside down glued to screws' heads.
With some gimlets drill the four holes, paying attention to not crack the wood. To be sure begin with a small gimlet and then pass to a bigger one, until you reach the desired hole diameter.
Step 20: Adjust them
These stands are very handy because you can screw them until they're perfectly aligned with a planar surface, and the wood box will have a very precise support, although it's very rough.
Glue the rubber tips with cyanoacrylate glue in the exact centre of the screw heads. Now you'll note that there is enough space to keep the power plug inserted under the clock and let the wire coming out from the rear.
Step 21: Build a bottom
I also drilled holes for on-off switch, power plug, and time buttons. At the end I polished the cover with dark wax to give it a better color. Now the led is no more visible, but since the cover is snap-fit I can remove it or add another hole under the light.
Step 22: Extend buttons
I found some plastic supports for shelves with a brown cylindrical part, so I cut it and glued to the buttons. I also had to glue a washer so that some space remained between bottom cover and buttons body.
Step 23: Connect the clock
Assembling is finally completed, you can connect your clock and admire your work!
There is enough space behind the pcb inside the case to keep a 9V power source, maybe 6 AA alkaline batteries or a Li-ion rechargeable battery-pack. I have to design a circuit to charge it via the power plug. I will add to the improvements list ;-)
Step 24: Place it
The top viewed nixie displays as these beautiful IN-4 have usually a narrow angle of view. It means that if you place your clock on a low table or cupboard you'll hardly see the digits. I suggest to keep it on a shelf or near the TV so you can see it when seated.
You can also decide to insert tubes deeper in the case, so that only the half sphere glass surface protrudes, but consider that one of the best features of a nixie display is that digits lie on different planes, and you can see them much better from the side of a tube.
Step 25: Improvements list
This is not the end of the project, since there are some features to add to this new clock, maybe you can suggest more improvements:
- add a RTC (Real Time Clock) module so that the clock keeps the time also when PSU is disconnected
- add a cathode poisoning prevention routine to extend tubes life
- add a sensor to only turn the clock when you are near (sound sensor, ultrasonic proximity sensor...) and save tubes life
- add an alarm function using the multi-tone speaker
- substitute the push-button with a rotary encoder, to simplify surfing among the new functions
- remove in some way the wood knurl that seems a push-button on the lower left of the case ;-)
- add an internal 9V battery to keep the clock running wit no power-cord done, looking the pdf files you will see two pads marked to that purpose!
- add a bottom to protect the circuit and maybe cover the led light, or bend the led if light is annoying done!
- test the new crossfade code from Arduinix done!
- polish with dark wax the inside surface of the holes.
- as well explained on Threeneuron's page, multiplexing needs blanking intervals to avoid ghosting, and when I'll go deepen in the code I'll examine this function
- in my next version the third position of the ON/OFF switch will set the sleep function, so to turn off the displays leaving the controller working done, attached pdf files are updated!