VFD And Nixie Clock Twofer


Sometimes the stars align and we get two somewhat similar builds hitting the Hackaday tip line at the same time. Recently, the build of note was clocks using some sort of display tube, so here we go.

First up is [Pyrofer]’s VFD network time clock (pic, above). The build started as a vacuum flourescent display tube he salvaged from an old fruit machine – whatever that is. The VFD was a 16 character, 14 segment display, all controlled via serial input.

The main control board is, of course, an Arduino with a WizNet 5100 Ethernet board. The clock connects to the Internet via DHCP so there’s no need to set an IP address. Once connected, the clock sets itself via network time and displays the current date, time, and temperature provided by a Dallas 1-wire temperature probe.

Next up is [Andrew]’s beautiful Nixie clock with enough LEDs to satiate the desires of even the most discerning technophile. The board is based on a PIC microcontroller with two switching power supplies – one for the 170VDC for the Nixies, and 5V for the rest of the board.

A battery backed DS1307 is the real-time clock for this board, and two MCP23017 I/O expanders are used to run the old-school Nixie drivers

All this is pretty standard for a Nixie clock build, if a little excessive. It wasn’t enough for [Andrew], though: he used the USB support on his PIC to throw a USB port on his board and wrote an awesome bit of software for his PC to set the time, upload new firmware, and set the color fade and speed. With this many LEDs, it’s not something you want in your bedroom with all the lights on full blast, so he implemented a ‘sleep’ mode to turn off most of the lights and all the Nixie tubes. It’s a great piece of work that could easily be successfully funded on Kickstarter.

18 thoughts on “VFD And Nixie Clock Twofer

  1. Hi, one thing I’d like to see someone build is a POV display using those linear tubes.
    It would be trivial to use three of them and put a colour filter on each, even OYG (orange yellow green) would be impressive.
    A good trick is to use Highlighter ™ pen liquid coated onto the tube, covered in UV glue then set and masked over using black CD marker.
    For some reason the minute UV emission from these makes it light up like a neon sign, the makers of the orange EL wire use a similar method.

  2. Adding LED ruins the “classic” look of it. It make the whole thing look
    like cheap Chinese electronics.

    If you want something different, why not try to light up some of the old gas
    discharge “Lamp Starter” for fluorescent lamps. They give a whitish blue

  3. You’d think with the number of pointless Nixie projects on here, the editors would stop posting more. Are we going to get articles for anyone who manages to connect a LCD to a microcontroller too?

    1. Seriously? That clock has amazing design and a great PCB, it also features USB for setting it. There is so much different about this to most other builds and that is all you have to say? Follow the link and see the work he put in. Even even wrote a dedicated PC app. It is not “just another Nixie” project.

  4. Thanks for posting my clock. I would like to add though that it also has HTTP and SNMP so you can monitor the time/temp via a web page or poll by SNMP. I use cacti to graph the temperature. Standard SNMP oids are supported and all SNMP code was written from scratch to squeeze into very limited memory. Daylight savings time is also automatically adjusted. The only thing missing is an SNMP oid to set the timezone rather than assuming it’s in England and setting the time/daylight savings accordingly.

      1. First, after power on you need to do a reset pulse. Make it nice and long :)
        I set reset low, clock high, wait, then reset high. Device should now be ready.
        To send a byte I start with clock high, set data bit then pull clock low. Repeat for 8 bits.
        Before you see anything you need to set the duty cycle/brightness. On my display this was done by sending a byte of 255.
        There are documents on the chips detailing the command/data structure but on mine the first bit sent is the data/command bit followed by 7 bits for the value.
        Hope this helps.

  5. fruit machine = slots, you know those things in casinos where people shovel quarters and pull a handle in the vain hope that they can beat the house odds of less than 70% return for your money, sounds like the model used for sub-prime :-D

  6. is there source? did I miss the link?

    snmp is cool ;) I work with snmp (a lot) and so this made me smile. I also do arduino work and so I would love to be able to see what kind of snmp code you put together that can run on an arduino.

    personally, I would have gone with a raspi or beaglebone and just used net-snmp and the native ip-stack on linux. cost of the boards are similar enough that its just as easy to use linux as a controller.

    anyway, nice project. even if you do call it a ‘fruit machine’ ;)

    1. but 800mhz and all the peripherals is overkill for this project, it’s definitely easier for a beginner but I reckon anyone once they’d built something like that with a pi, as soon as the next project comes along, a pi would get broken down to be re-used.

      Whereas with a cheap atmel chip + the ethernet board, you’d be happy to leave as a working project.

    2. I simply grabbed and sent UDP packets in SNMP format. I check a few key bytes of incoming packet to see if its get/set and which oid then edit that packet slightly to format the reply.
      It is not a full SNMP stack but does work fine for SNMP get/set and Cacti graphs the data fine. I check for the standard system oids as well as my own for the temperature. The device name oid is set from the hostname in the DHCP reply and as such is get only. Location and contact are get/set. The rest of the system oids are get only including uptime.

  7. for simple controller things, I do like arduinos (etc) but once you start networking, linux has a REAL ip-stack, security (iptables), ssh interface, and an easy SNMP layer instead of trying to fit snmp (et al) into an arduino’s mem space.

    the cost is not much diff between an arduino board and BBB or raspi, really. an itx box is another matter, but small boards are so convergent these days, once you start talking networking, I would automatically choose linux with a real ip-stack and not that wiznet hack (I bought a wiznet and found it to be quite poor, overall).

    1. Knock-off Arduino board on eBay is <£5 even with the Wiznet module it's at least a third the cost of a Pi.
      I have buckets of AVR/PIC etc boards and only one Pi.
      Also, if you are building something from scratch why not write as much code as you can rather than using Linux? Isn't that half the point of doing it yourself in the first place?
      Also, power consumption and size are lower with this solution.

Leave a Reply

This site uses Akismet to reduce spam. Learn how your comment data is processed.