Skip to the content
PCBKitNew board
2 layers133.3 × 39 mmNumitron clock, the printed circuit board in 3D

IV-9 & ESP32 based clock firmware and EDA

Size
133.3 × 39 mm
Copper layers
2
Thickness
1.6 mm
Parts
64
Nets
112
Pads
356
Tracks, vias
746, 142
Pours
1
Routed
Yes
KiCad
KiCad 9.0 (file 20241229)
Created
13 Sep 2026
Updated
13 Sep 2026

Overview

Numitron clock is an open-source printed circuit board by mtlevine0, from the mtlevine0/numitron-clock repository on GitHub. It is a 2-layer board of 133.3 × 39 mm with 64 parts on 112 nets, routed with 746 tracks and 142 vias.

It is built around the ESP32-S3-WROOM-1-N8, TLC5916IN and HDC2010YPAR, with the DS3231MZ+, USBLC6-2SC6 and B3DK3BRG-05C000113U1930 among its other parts. Its parts include 18 capacitors, 14 resistors, 11 ICs, 3 diodes and 3 switches. It belongs with the lEDs and displays boards and the ESP32 boards of this library.

Main components

6

README

README.md

IV-9 Numitron Clock

IV-9 Numitron Clock

A WiFi-connected desk clock built around six IV-9 Numitron tubes — vacuum-tube seven-segment displays, driven by an ESP32-S3 over a chain of TLC5916 constant-current shift registers. Time comes from a battery-backed DS3231 RTC (periodically corrected over NTP), with outdoor temperature/humidity pulled from Open-Meteo and indoor readings from an onboard HDC2010 sensor.

Repo layout

  • hardware/ — KiCAD 9.0 board design: ESP32-S3, power (USB-C in, AZ1084-3.3 regulator, USB-C ESD protection), the tube driver chain, buttons, status LED, and the HDC2010 sensor. Hierarchical schematic split across numitron-clock.kicad_sch (main) and tubes.kicad_sch (display).
  • firmware/numitron_clock/ — the main ESP32-S3 Arduino sketch: clock display, WiFi setup portal, NTP sync, and weather fetch.
  • firmware/set_rtc_serial/ — a small utility sketch for setting the DS3231's time over serial.
  • firmware/common/ — the canonical segment bit map shared by the sketches above (each sketch keeps its own copy, since Arduino requires headers to sit alongside the .ino).

Building and flashing the firmware

bash
cd firmware/numitron_clock
arduino-cli compile --fqbn esp32:esp32:esp32s3 .
arduino-cli upload -p /dev/ttyACM0 --fqbn esp32:esp32:esp32s3 .

Requires the esp32:esp32 core and the Adafruit NeoPixel library. There's no serial console on the main sketch, so verification is: compile, flash, and look at the board.

Setup

Hold BOOT (IO0) within a few seconds of power-up to start a WiFi setup portal (SoftAP + captive page) for entering credentials, timezone, display format, and brightness. Settings persist in NVS and survive power loss; the RTC keeps time on battery backup even with no WiFi at all.

See CLAUDE.md for the detailed architecture notes (display/render path, timing constraints, NVS layout, and known caveats).

Parts

64
QtyValueFootprintReferences
140.1uFCapacitor_SMD:C_0805_2012MetricC4, C6, C7, C8, C9, C10, C11, C12, C13, C14, C15, C16, C17, C18
81kResistor_SMD:R_0805_2012MetricR1, R10, R12, R13, R14, R15, R16, R17
6TLC5916numitron-clock:TLC5916DRU5, U6, U7, U8, U9, U10
6~numitron-clock:iv-9-numitronV1, V2, V3, V4, V5, V6
410KResistor_SMD:R_0805_2012MetricR2, R3, R6, R9
210uFCapacitor_SMD:C_0805_2012MetricC1, C3
25.1KResistor_SMD:R_0805_2012MetricR4, R5
11uFCapacitor_SMD:C_0805_2012MetricC5
122uFCapacitor_SMD:C_0805_2012MetricC2
1AMPHENOL_USB_C_1240201E212Anumitron-clock:AMPHENOL_12402012E212AJ1
1AZ1084-3.3Package_TO_SOT_SMD:TO-252-2U1
1B3DK3BRG-05C000113U1930numitron-clock:B3DK3BRG_HVKLED1
1BOOTnumitron-clock:3x4_spst_smd_buttonSW5
1Battery_CellBattery:BatteryHolder_LINX_BAT-HLD-012-SMTBT2
1Battery_Cellnumitron-clock:coin-batteryBT1
1DS3231MPackage_SO:SOIC-16W_7.5x10.3mm_P1.27mmU11
1ENnumitron-clock:3x4_spst_smd_buttonSW4
1ESP32-S3-WROOM-1RF_Module:ESP32-S3-WROOM-1U3
1GREENLED_SMD:LED_0805_2012MetricD2
1HDC2010YPARnumitron-clock:BGA6C100X50P2X3_HDC2010YPARU2
1REDLED_SMD:LED_0805_2012MetricD1
1SELnumitron-clock:3x4_spst_smd_buttonSW3
1UARTConnector_PinHeader_2.54mm:PinHeader_1x04_P2.54mm_VerticalJ2
1USBLC6-2SC6Package_TO_SOT_SMD:SOT-23-6U12

The 59 most common of 64 parts.

Questions

How big is the Numitron clock PCB?

It measures 133.3 × 39 mm and has 2 copper layers, 1.6 mm thick.

What parts does the Numitron clock use?

64 parts, built around the ESP32-S3-WROOM-1-N8, TLC5916IN, HDC2010YPAR and DS3231MZ+. 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 Numitron clock KiCad files?

From the mtlevine0/numitron-clock repository on GitHub, at the commit this page was made from: the board is hardware/numitron-clock.kicad_pcb and its schematic hardware/numitron-clock.kicad_sch. PCBKit opens the board in the browser, with nothing to install.

Can I use the Numitron clock design in my own project?

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

Similar boards

  • 4 layers74 × 56 mmAtmos, the printed circuit board in 3D

    Atmos

    HearnChristian/atmos-sense

    ESP32-based atmospheric sensing node: BME280 environmental sensing and AS3935 lightning detection over I2C, designed for drone integration. KiCad hardware plus firmware.

    73 parts1MIT
  • 2 layers55 × 32 mmHA Sensor Node, the printed circuit board in 3D

    HA Sensor Node

    AlexD717/HA-Sensor-Node

    Sensor node featuring a temperature, humidity, and mmWave sensor

    15 parts1
  • 2 layers89 × 44 mmPeanut, the printed circuit board in 3D

    Peanut

    WYVERN2742/Peanut

    Pinenut-01S BL602 Motherboard

    58 parts1
  • 4 layers42.9 × 16 mmWeather pill, the printed circuit board in 3D

    Weather pill

    freder202/weather_pill

    An ultra low power weather data logger

    66 parts
  • 2 layers76.5 × 78 mmEmonTH, the printed circuit board in 3D

    EmonTH

    openenergymonitor/emonTH3

    Hardware for the emonTH3 temperature, humidity, and pulse sensing node

    56 partsCC-BY-SA-4.0
  • 8 layers50 × 50 mmStella Ignis, the printed circuit board in 3D

    Stella Ignis

    roquemt/STeYe

    Flight computer for rockets

    113 parts
  • 2 layers46 × 21 mmUsb, the printed circuit board in 3D

    Usb

    efogdev/nrf54l15-module

    nRF54L15 module with full IO set and external DC-DC regulator for maximum efficiency

    28 parts12
  • 2 layers12.5 × 11 mmAmbient, the printed circuit board in 3D

    Ambient

    PolygonHJ/xihe

    Xihe is a self-sustaining, ultra-low-power sensing platform designed for long-lifetime deployments with zero maintenance.

    9 parts2