Recycled VFD Clock

An old vfd display driven by an arduino nano into a simple clock

Public Chat
Similar projects worth following
Turn an old vfd display into a clock.

Found this old vfd display in a box a recovered old components, a Noritake FG520A1. The back view shows most of the wiring to the segments. Probing around it was easy to find which was the cathode, while putting 3v to this and grounding the opposite pin, probing the other pins with around 12v enabled me to build up a map of the pins and segments. Not having used one of these before, I thought it might be a simple mapping of segments to pins to switch them on/off. It seems these displays can only address one digit at a time, so it would need some kind of multiplexing and persistence of vision to make them all look to be on at the same time.

I had a couple of Arduino Nanos already, so this was an easy choice of what to use to drive the display. The pins on this work at 5v, so I would need some way of switching the 12v (or more) to the segments. I don't have much electronics experience, but I though some kind of transistor might work for this. A quick search of the net finds lots of similar projects and an idea of transistor type that might work, a BC547. On writing some simple code to switch on all segments from the arduino, nothing displayed. Just cycling through each digit and enabling the segments as fast as possible in sequence did not work. I found that displaying each digit in turn but leaving each lit for a short time worked best. This caused the brightness to drop off a lot. Increasing the anode voltage to around 30v solved the brightness issue when multiplexing the display. It was simply a matter of finding a sweet spot between flickering and brightness. A pause of around 4ms while displaying each digit seemed to work quite well, but I settled on 2ms to make sure there was no flicker, brightness was fine too.

While this worked fine, I came across the ULN2803 darlington transistor array which looked like it might fit nicely with this build, halving the resistor count and making the wiring a little simpler. I have since found there there are also dedicated vfd drivers which make the whole thing far easier, but that's not always the point of these projects.

A DS3231 was used for the realtime clock. I quickly realised I was running out of pins on the arduino. I have used pins 2-15 to address each segment pin on the display, the rtc would have to use pins 18 & 19 (SCA/SCL). Buttons to set the time used pins 2, 16 and 17.

There are quite a few ways to attack the code for displaying the segments and keeping the clock up to date, I opted for just a simple main loop that had the required delays after displaying each digit with an additional check as to whether the clock set button has been pressed, the time spent in this section is short enough not to have an effect on the display. The first button just puts the clock in or out of 'setting' mode. The second increments the current digit, the third button moves to the next digit.


Arduino code for my simple vfd clock.

x-arduino - 6.59 kB - 03/07/2019 at 19:25


  • pcb arrived

    bug03/07/2019 at 18:40 0 comments

    The pcb finally arrived, built up the board only to find I had made a mistake with the pinout of the realtime clock module. I had used a different footprint on the pcb to that used on the schematic as it was different to the one I had, I renumbered the pins but forgot to do the same on the other part. Easily fixed by removing the module, using the pinout on the other side of the module and flipping it around. A little filing of the edge so that it fits next to the voltage regulator and it's up an running.

    Just need to adjust the voltages to the vfd a little to remove what looks to be a some brightness on a couple of adjacent segments.

    I haven't decided on a case, probably just design up a simple box and 3d print one.

  • todo

    bug02/17/2019 at 19:37 0 comments

    todo: design a pcb and possibly a design for a 3d printed case.

View all 2 project logs

Enjoy this project?



Ken Yap wrote 07/24/2019 at 11:35 point

Mmm, VFDs are nearly always muxed due to the number of pins required if you bring out every segment. You only had to search HAD for other projects using VFD for driving information. For example this one: or Some general advice here:

  Are you sure? yes | no

Martin wrote 07/23/2019 at 08:58 point

In my experience the segments and grids are often driven with about 25V and the cathode normally with AC to give even brightness over it's length. Normally 3-5V depending on the length of the display and at best with a center tapped transformer winding.

I used a negative voltage of about 20V, connected to the center tap and PNP transistors (like BC557, or BC857), emitter connected to +5V to be able to switch the segments and grids with 5V signals from the controller.

There also exist shift registers and stuff like that which can handle 30 to 60V

  Are you sure? yes | no

Similar Projects

Does this project spark your interest?

Become a member to follow this project and never miss any updates