Skip to the content
PCBKitNew board
2 layers67.8 × 55 mmVFD Watch, the printed circuit board in 3D

Portable VFD based on IVL2-7/5 and ESP32

Size
67.8 × 55 mm
Copper layers
2
Thickness
1.6 mm
Parts
67
Nets
113
Pads
331
Tracks, vias
632, 142
Pours
6
Routed
Yes
KiCad
KiCad 5 (file 20171130)
Created
30 Nov 2018
Updated
14 Mar 2021

Overview

VFD Watch is an open-source printed circuit board by Pakue95, from the Pakue95/VFD_Watch repository on GitHub. It is a 2-layer board of 67.8 × 55 mm with 67 parts on 113 nets, routed with 632 tracks and 142 vias.

It is built around the ESP32-WROOM-32, DRV8837CDSG and FT231XS-R, with the MCP1663-E/OT, TBD62783APG and MIC5219-3.3YM5 among its other parts. Its parts include 19 capacitors, 19 resistors, 10 ICs, 4 switches and 2 connectors. It belongs with the lEDs and displays and wearables boards and the ESP32 boards of this library.

Main components

9

README

README.md

VFD Watch Project

This project was originally inspired by Johngineer's ChronodeVFD project. However no concrete design information were available therefore this project was born.

The goal was to create a mobile driver circuit for the common IVL2-5/7 vacuum fluorescent display, that is powered by a single cell battery. The datasheet of the display can be found on the Loststreak blog.

Circuit elements

Microcontroller

An ESP32 WROOM-32 module is used as a microcontroller for the display and wireless communication. It is interfaced fo r programming via a FT231XS USB-Serial converter.

Battery voltage regulation

The choice for the battery driver IC fell on the MP3120 single cell 1.2A step up module as it can handle very low battery voltages and still start up. If wireless communication is used during the power up of the display the step-up module won't be able to supply enough power from a normal Alkaline cell to the ESP32 and a brownout reset will occur. Primary lithium cells, 2 Alkaline batteries or LiIon should be sufficient to power all functions at the same time.

Schematic of the 3.3V supply

VFD driver

The display is driven by a 24V rail from a MCP1663 step-up converter and high-side switches (TBD62783A) to power the segments. The filament is driven from the 3.3V rail and pulse-modulated from a motor H-bridge driver (DRV8837C) to achieve an equivalent to the 2.4V @ 60mA power conditions described in the datasheet. The H-bridge design allows an equal brightness of the characters without the use of a complex center-tapped AC circuit.

Schematic of the 24V supply

Software

Functions

cpp
void begin(uint8_t dutyCycle, uint32_t freqMultiplex, uint32_t freqHeat)
  • dutyCycle sets the PWM duty cycle of the heating filament. 0-255; typical 120.
  • freqMultiplex sets the rate at which the characters are cycled though (1kHz -> 200Hz total refresh of the display). The timing is controlled in the background by an interrupt function that calls for an update of the currently displayed character. This process runs on core 0 of the ESP32, therefore during WiFi use the display can flicker a bit.
  • freqHeat sets the frequency of the heating filament PWM. The value should be in the kHz range.
cpp
void deactivate()

Turns of the heating filament and the 24V rail to preserve power.

cpp
void activate()

Turns the display back on after a deactivate().

cpp
void setHours(uint8_t hours)

Sets the first two digits. Range 0-99.

cpp
void setMinutes(uint8_t minutes)

Sets the last two digits. Range 0-99.

cpp
void setCharacter(char character, int pos)

Displays a char (a-z; 0-9; '-') at position pos (0-3)

cpp
void print(char* text)

Similar to setCharacter() but it displays the first 4 chars of the array.

cpp
void setSegment(uint8_t segments, uint8_t pos);

Sets specific segments of a digit through the use of a byte mask (least to most significant bit). E.g. 0b00101000 would set segments d & f. pos declares the digit to be changed (0-3).

Parts

67
QtyValueFootprintReferences
1110kResistor_SMD:R_0805_2012MetricR5, R6, R9, R12, R13, R14, R15, R16, R17, R18, R19
114.7uFCapacitor_SMD:C_0805_2012MetricC1, C2, C5, C6, C8, C11, C12, C14, C15, C16, C17
3100nFCapacitor_SMD:C_0805_2012MetricC9, C10, C18
20RResistor_SMD:R_1206_3216MetricR1, R2
210uHInductor_SMD:L_Taiyo-Yuden_MD-5050L1, L2
227Resistor_SMD:R_0805_2012MetricR3, R4
247pFCapacitor_SMD:C_0805_2012MetricC3, C4
2TBD62783APackage_SO:SOP-18_7.0x12.5mm_P1.27mmU8, U9
11.05MResistor_SMD:R_0805_2012MetricR10
110uFCapacitor_SMD:C_1206_3216MetricC19
11MResistor_SMD:R_0805_2012MetricR7
11uFCapacitor_SMD:C_0805_2012MetricC13
1470pFCapacitor_SMD:C_0805_2012MetricC7
156kResistor_SMD:R_0805_2012MetricR11
1640kResistor_SMD:R_0805_2012MetricR8
1AA BK-92VFD_Watch:BK-92BT1
1B1Button_Switch_SMD:SW_SPST_EVQP7ASW1
1B2Button_Switch_SMD:SW_SPST_EVQP7ASW2
1B_0Button_Switch_SMD:SW_SPST_EVQP7ASW4
1B_RESButton_Switch_SMD:SW_SPST_EVQP7ASW3
1DRV8837CPackage_SON:WSON-8-1EP_2x2mm_P0.5mm_EP0.9x1.6mmU2
1D_Schottky 40V 1ADiode_SMD:D_SOD-323D1
1ESP32-WROOMESP32-footprints-Lib:ESP32-WROOMU6
1FT231XSPackage_SO:SSOP-20_3.9x8.7mm_P0.635mmU4
1I2C_ConConnector_PinHeader_1.27mm:PinHeader_1x04_P1.27mm_VerticalJ2
1IVL2-7_5VFD_Watch:ILV2-5_7U10
1MBT3904DW1Package_TO_SOT_SMD:SOT-363_SC-70-6Q1
1MCP1663Package_TO_SOT_SMD:TSOT-23-5U5
1MCP23017_SSPackage_SO:SSOP-28_5.3x10.2mm_P0.65mmU7
1MIC5219-3.3YM5Package_TO_SOT_SMD:SOT-23-5U1
1MP3120Package_TO_SOT_SMD:TSOT-23-6U3
1USB_B_MicroConnector_USB:USB_Micro-B_Molex_47346-0001J1

The 59 most common of 67 parts.

Questions

How big is the VFD Watch PCB?

It measures 67.8 × 55 mm and has 2 copper layers, 1.6 mm thick.

What parts does the VFD Watch use?

67 parts, built around the ESP32-WROOM-32, DRV8837CDSG, FT231XS-R and MCP1663-E/OT. The full list of its parts is on this page, with links to each part's symbol and footprint where PCBKit's library has them.

Where can I download the VFD Watch KiCad files?

From the Pakue95/VFD_Watch repository on GitHub, at the commit this page was made from: the board is VFD_Watch.kicad_pcb. PCBKit opens the board in the browser, with nothing to install.

Can I use the VFD Watch design in my own project?

Its repository states no licence, so its author keeps all rights: ask Pakue95 before reusing the design.

Similar boards

  • 2 layers101.5 × 25.5 mmVfd, the printed circuit board in 3D

    Vfd

    Jana-Marie/HCS-12SS59T-HW

    Otter

    60 parts2
  • 2 layers79.1 × 129 mmKeyGridBadge, the printed circuit board in 3D

    KeyGridBadge

    dczia/Defcon26-Badge

    DCZia DEFCON 26 KeyGrid Badge - 2018

    98 parts22Unlicense
  • 2 layers48 × 78.2 mmAIS Receiver, the printed circuit board in 3D

    AIS Receiver

    cmbahadir/AIS-Receiver

    Homemade AIS Receiver with ESP32

    73 parts11
  • 4 layers25.9 × 55.9 mmEsp32-dev board, the printed circuit board in 3D

    Esp32-dev board

    noahwhite07/esp32-dev-board

    28 parts
  • 4 layers93.3 × 83.9 mmSd2-node board, the printed circuit board in 3D

    Sd2-node board

    noahwhite07/sd2-node-board

    45 parts
  • 2 layers32V Rail, the printed circuit board in 3D

    32V Rail

    SlugSat/Schematics_PCBs

    PCB Schematics for all of SlugSat

    27 parts1
  • 2 layers300 × 300 mmSAP Extended, the printed circuit board in 3D

    SAP Extended

    cyrillvalentini/SAP-Extended

    Extended Simple-As-Possible Computer based on Ben Eaters video series

    440 parts1
  • 2 layers100 × 99.9 mmUsb display, the printed circuit board in 3D

    Usb display

    Ivansquark/tut

    Some examples for future fast remembering

    115 parts