IV-18 Vacuum Fluorescent Display NTP Clock
This clock uses an interesting old Russian Vacuum Fluorescent Display (VFD) tube, the IV-18 which was also used by Adafruit in one of their designs, the "Ice Tube" clock. It is a quite attractive 8 digit, 7 segment display with 2 additional symbols, used here for status information. Some eBay retailers still have a few in stock.
The MCU is an ESP8266 based Wemos D1 mini. This runs the Network Time Protocol (NTP) software and feeds an HV5812 20bit shift register which drives the display tube. Since the ESP8266 is a 3.3 volt device, a level shifter SN74HCT14N is used to provide the three 5 volt signals needed for the shift register. Because the SN74HCT14N's buffers are inverting, 2 are cascaded together for each signal.
The IV-18 is a standard VFD seven segment construction. Each digit is made up of 7 segments plus a decimal point. The same segment in each of the 8 digits are connected together in parallel as in any typical multiplexed 7 segment display. These are driven at +35 volts in this application. For each digit, there a dedicated grid and this is used to determine which digit is currently displayed. The grid of the selected digit is again driven at +35 volts. There is also a heater, a pair of fine wires spanning the entire display. This driven at 5 volts and also forms the display cathode. Display dimming in low ambient light is managed by running blank cycles within the multiplexing schedule.
Special in this design is the use of a dedicated VFD filament driver chip, the LM9022. This chip is obsolete but available from some eBay retailers. The LM4871, which is more readily available, is reported to be a valid substitute. These use a bridge to alternate the polarity of the 5 volt heater supply at, with the components selected in this design, a frequency of 25kHz. The idea is to reduce the impact of a luminosity gradient across the display, which may be caused by the cathode being 0v at one end and +5V at the other end. I also did an experiment driving the heater with 5 volts DC and noticed only a very slight dimming at one end of the display, so this additional complexity may not actually be necessary. However, there are also reports of a noticeable luminosity gradient with some samples of the IV-18. There is also a potential software solution which would be to vary the multiplexing 'on' time to increase the perceived brightness of the affected digit positions.
The boost converter and filament supply are switched on by a load switch (TPS27081ADDCR) which has a selectable slew rate. Without this, the high inrush current to the boost converter could cause a problem for a PC USB port (usually limited to 500mA). Standard 5 volt smart phone chargers however had no such difficulty. It is recommended that if you decide, however, to dispense with this load switch, that you have a jumper to isolate the boost converter so you can still, without difficulty, connect the clock to a PC USB port for programming or troubleshooting etc.
An optional real time clock (RTC) chip has been specified, the DS3231 together with a backup battery, and is used if a time cannot be obtained via the WLAN. This is really only of benefit where the power supply and WLAN are unreliable. These can simply be omitted without any software or configuration changes. It would then also be possible to omit the 2 pullup resistors on the I2C lines, however, that would then require a software change to prevent I2C transactions hanging. If you decide to use a ready made DS3231 type module, and you use a standard (non-rechargeable) CR2032 cell, you should disable this module's charging circuit by removing a resistor (see the description in the speaking clock link below). The clock automatically compensates for DST changes. There is a configuration option to enable the date to be displayed periodically, scrolling across the screen.
An optional buzzer is also specified for future development. No supporting software routine to drive it is supplied here.
The design uses 2 printed circuit boards (PCB), one for the IV-18 tube with the HV8512 driver chip. The other for all the remaining components. The benefit of having the driver chip on the tube board is that only 8 interconnections are then needed between the two PCBs. The layout was done using Kicad and the PCBs produced by A..L..L..P_C_B . com
The software is very similar to that of other NTP clocks I have published. The differences are mainly in the display driver routines. In the case of this clock, an image of the grid and segments for the currently displayed digit is pushed out to the shift register display driver, with a period of 1 mS, to reduce visible flicker. For a fuller description of the software and a user manual including how to configure it with the WLAN credentials, time zone etc., see a similar example which has complete documentation:
micro clock Arduino ESP8266 based micro NTP Clock - Exhibition / Gallery - Arduino Forum
speaking clock Arduino ESP8266 Speaking Clock - Exhibition / Gallery - Arduino Forum
nixie clock Six Digit Nixie Clock - Exhibition / Gallery - Arduino Forum
The software and schematic diagram appear as attachments below.
VFD_IV-18_V0_01_Schematic.pdf (76 KB)
clock_esp_IV_18_v0_02P.zip (30.3 KB)