Here is my version of a VFD clock, running on Arduino (atmega328).
I have researched many of the VFD clock threads out there and this is what came of it.
Ladyada for the ice clock write up. www.ladyada.net/make/icetube/index.html
Haris for the IV-11 write up. www.candrian.gr/index.php/iv-11-vfd-tube-clock-final-design/
Kevin Darrah for his explanation of multiplexing using an Arduino. www.kevindarrah.com
Please note that I am not an electrical engineer, this is just a hobby, so apologies for any scary design :-)
Also if you like my work then please vote for me as I have entered the micro controller contest, Thank you.
Step 1: Board Design
So using the many threads out there I started designing my pcb using Fritzing.
Fritzing also supply a fabrication service which is well priced and very easy to use.
My design was based on the replaceable bulb style, so using separate plugin boards for the VFD bulbs. I thought this would be better than unsoldering stuff if there is a bulb failure.
The clock would use a real time clock ic and a temperature sensor.
There will be three buttons for menu operation.
I also found a nice little touch ic on HobbyTronics website, this will be used as a button to switch the clock mode between time, date and temperature.
I must admit that board design is great fun, it really brings out the OCD side of me ;-)
Step 2: Boards and Parts
Here is a summary of the parts used, this is a work in progress so this isn't finalised.
VFD Clock Board
VFD Driver IC
2x6 Header Female
2x3 Header Female
1x36 Header Male
Low Profile Crystal Caps
Touch Switch IC
28 Pin DIL Socket
8 Pin DIL Socket
Battery Clip 12mm
5v Switching Regulator
1.2v Switching Regulator
Diode Schot 60v 1A
Miniature Slide Switch
DC 2.1mm Socket
Tact Switch Right Angle
Tact Switch Normal
P Channel MOSFET
3mm LED Blue
Various Caps and Resistors
Step 3: Board Fabrication
Here are the lovely boards as fabricated by Fritzing :-)
Step 4: Assembly
Time to assemble the boards.
Each of the VFD bulbs need to be soldered onto there corresponding boards, its tricky to make sure they all end up at the same height.
Then it is just a process of soldering in all the other stuff, trickiest bit is the max6921 VFD driver chip as I could only get these in a wide SO format so it needs surface soldering.
As you can see in the pictures there are 3 right angle buttons on the back for menu operation and an on/off switch on the other side.
The real time clock has a battery backup so nothing is lost when the clock is switched off, also the settings are stored on the ATMEGA328 eeprom.
Step 5: Code Time
Time for the coding.
I have used and abused a multiplex example provided for an 8x8 LED cube, I have used this code before on my own 4x4 cube which I built a while back.
The code is supplied by Kevin Darrah, please do check out his site it is amazing www.kevindarrah.com
Luckily the max6921 vfd driver is just a fancy 20bit shift register, so the code fits lovely.
I have added menus to set the time, date and brightness of the LED's and Bulbs.
You can also set the time format 12/24 hr and the temperature format C or F.
I will attach the code, but it needs a bit of cleaning up first and commenting......
Step 6: Finishing Touches
Well the board is fully assembled, the code is almost finished and I have tasked a work colleague to fashion me a case for the clock.
Sadly I found the touch switch ic after I had submitted the boards for fabrication, so it is bunged onto some strip board and blue tacked on the front.
Thankfully I had broken out most of the spare pins from the micro controller onto the board, so wiring the switch in was easy :-)
When the case is done I can hook up the touch switch to something conductive on the front...
So watch this space.
Step 7: Laser Cut Case
Whilst waiting for my work mate to make me a case I tried my hand at a bit of CAD.
I found a company called Razorlab who will laser cut various materials for you.
This is my first attempt at design and I am very happy with the results, the laser cut parts arrived today.
I have just taped it together to see how it fits.
The coin on the front is my touch switch for changing between date, time and temperature, there are holes in the rear for the menu buttons, on/off switch and power lead and also a hole in the side for the temperature sensor.
The holes aren't quite right but not bad for my first attempt.