Skip to the content
2 layers175 × 45.8 mmNixieclockin12 V2-1, the printed circuit board in 3D

Nixieclockin12 V2-1

broedschroed/NixieClockUltra

ESP32-S3 powered Nixie tube clock with direct-drive IN-12A tubes, web UI, IR remote, and RGB ambient lighting

Size
175 × 45.8 mm
Copper layers
2
Thickness
1.6 mm
Parts
169
Nets
252
Pads
608
Tracks, vias
1,907, 137
Routed
Yes
KiCad
KiCad 10.0 (file 20260206)
Created
12 Jul 2026
Updated
13 Oct 2026

Overview

Nixieclockin12 V2-1 is an open-source printed circuit board by broedschroed, from the broedschroed/NixieClockUltra repository on GitHub, published under the MIT licence. It is a 2-layer board of 175 × 45.8 mm with 169 parts on 252 nets, routed with 1,907 tracks and 137 vias.

It is built around the MCP23017-E/SO and WS2812B. Its parts include 76 resistors, 60 transistors, 10 ICs, 10 diodes and 4 capacitors. It belongs with the lEDs and displays and home automation and IoT boards and the ESP32 boards of this library.

Main components

2

README

README.md

Nixie Clock Ultra

A handcrafted Nixie tube clock built around an ESP32-S3, combining the warm, unmistakable glow of six IN-12A Nixie tubes with modern connectivity: a full web interface, IR remote, RGB ambient lighting, and automatic NTP time sync.

🌐 Project website: https://broedschroed.github.io/NixieClockUltra/

Highlights

  • Direct drive, zero ghosting — every cathode is switched by its own transistor (via MCP23017 I/O expanders), so there's no multiplexing and no flicker or ghosting between digits.
  • Web interface — full control from any browser on the local network, no app required.
  • IR remote — seven learnable functions (set time, brightness, animation, slot effect, colon toggle, ...).
  • RGB ambient lighting — 10x WS2812B NeoPixels with rainbow, static, and pulse animation modes, plus a slot-machine digit-shuffle effect.
  • Night mode — dims the tubes via hardware PWM on the anode voltage, triggered by a schedule or an onboard light sensor (LDR).
  • Soft digit transitions — smooth crossfade between digits instead of an abrupt switch.
  • DS1302 RTC with automatic NTP sync when connected to WiFi.

Hardware

  • ESP32-S3 (native USB)
  • 6x IN-12A Nixie tubes, driven directly through 4x MCP23017 I2C expanders
  • ~170V HV supply for the tubes, switched via a TLP627 opto-coupler for hardware-PWM dimming
  • DS1302 RTC
  • 10x WS2812B NeoPixels
  • VS1838 IR receiver
  • 4 physical buttons (Set / Up / Down / Light)

KiCad sources for the logic board and the Nixie display board are included under docs/system/.

Repository layout

  • *.ino / *.h — firmware (Arduino/ESP32 sketch)
  • test/ — host-side unit tests for the fade math
  • docs/manual/ — user manual
  • docs/system/ — system documentation and KiCad hardware sources
  • docs/website/ — source of the project website (deployed via GitHub Pages)

Building

Open the sketch in the Arduino IDE (or arduino-cli) with the ESP32 core installed, board set to an ESP32-S3 module with USB CDC on Boot: Enabled, and the required libraries (ArduinoJson, ESPAsyncWebServer, IRremoteESP8266, Adafruit NeoPixel). Flash and connect to the NixieClockCS WiFi hotspot (or your home network once configured) to reach the web interface.

License

Released under the MIT License.

Parts

169
QtyValueFootprintReferences
643k3Resistor_SMD:R_0805_2012Metric_Pad1.20x1.40mm_HandSolderR1, R2, R10, R11, R12, R13, R14, R15, R16, R17, R18, R19, R20, R21, R22, R23 +48
60SMBTA42MyLibrary:MyTSOT-23Q1, Q2, Q10, Q11, Q12, Q13, Q14, Q15, Q16, Q17, Q18, Q19, Q20, Q21, Q22, Q23 +44
622kResistor_THT:R_Axial_DIN0207_L6.3mm_D2.5mm_P7.62mm_HorizontalR65, R66, R67, R68, R69, R70
6MyTLP627Package_DIP:DIP-4_W7.62mmU5, U6, U7, U8, U9, U10
6~MyLibrary:My-IN-12BNX1, NX2, NX3, NX4, NX5, NX6
5100ΩResistor_SMD:R_0805_2012Metric_Pad1.20x1.40mm_HandSolderR71, R72, R73, R74, R75
5WS2812BLED_SMD:LED_WS2812B_PLCC4_5.0x5.0mm_P3.2mmD2, D3, D4, D5, D6
4100nFCapacitor_SMD:C_0805_2012Metric_Pad1.18x1.45mm_HandSolderC1, C2, C3, C4
4MCP23017-E/SOPackage_SO:SOIC-28W_7.5x17.9mm_P1.27mmU1, U2, U3, U4
4WS2812BMyLibrary:YF923D7, D8, D9, D10
11k5Resistor_SMD:R_0805_2012Metric_Pad1.20x1.40mm_HandSolderR76
16x WS2812B-SMDLED_SMD:LED_WS2812B_PLCC4_5.0x5.0mm_P3.2mmD1
1AnodeSWConnector_PinHeader_2.54mm:PinHeader_1x08_P2.54mm_VerticalJ3
1HVConnector_PinHeader_2.54mm:PinHeader_1x04_P2.54mm_VerticalJ2
1LogicConnector_PinHeader_2.54mm:PinHeader_1x08_P2.54mm_VerticalJ1

More from broedschroed/NixieClockUltra

1
  • 2 layers175 × 45.8 mmNixieclocklogic V2-2, the printed circuit board in 3D

    Nixieclocklogic V2-2

    broedschroed/NixieClockUltra

    ESP32-S3 powered Nixie tube clock with direct-drive IN-12A tubes, web UI, IR remote, and RGB ambient lighting

    37 partsMIT

Similar boards

  • 2 layers100 × 100 mmMacropadultra, the printed circuit board in 3D

    Macropadultra

    LimesOrLemons/Macropaduno

    An ESP32-S3 handheld controller with a custom PCB and 3D-printed enclosure for numerous programmable functions.

    67 parts
  • 2 layers135 × 90 mmCable tester, the printed circuit board in 3D

    Cable tester

    Mykola2/uart-cable-tester

    design.py is the single source of truth: parts, footprints, pin-to-net map and positions. Everything else is generated from it.

    66 parts
  • 2 layers99 × 65.5 mmVik playground, the printed circuit board in 3D

    Vik playground

    sadekbaroudi/vik

    This is a VIK module designed to mount a PER56 scroll ring, with a 35mm Cirque Trackpad and optional WS2812B LEDs.

    40 parts220CERN-OHL-P-2.0
  • 2 layers208.8 × 396.9 mmFerris, the printed circuit board in 3D

    Ferris

    pierrechevalier83/ferris

    A low profile split keyboard designed to satisfy one single use case elegantly

    145 parts1.3k
  • 4 layers103.5 × 90.6 mmEVE PCB V4, the printed circuit board in 3D

    EVE PCB V4

    vishhvaan/eve-pi

    The EVolutionary biorEactor (EVE)

    102 parts15MIT
  • 4 layers82.5 × 82.5 mmPVDX ADCS PMB, the printed circuit board in 3D

    PVDX ADCS PMB

    BrownSpaceEngineering/PVDX-ADCS-PMB

    Avionics files related to ADCS and Perovskite schematics, pcb design, and documentation

    114 parts1
  • 4 layers100 × 100 mmBedberry, the printed circuit board in 3D

    Bedberry

    DarwinInnovation/bedberry

    Open source PCB for bed/chair control

    88 parts1MIT
  • 4 layersStereo heli, the printed circuit board in 3D

    Stereo heli

    Kronos3/stereo-heli

    Stereo Vision Quadcopter

    173 parts1Apache-2.0

Questions

How big is the Nixieclockin12 V2-1 PCB?

It measures 175 × 45.8 mm and has 2 copper layers, 1.6 mm thick.

What parts does the Nixieclockin12 V2-1 use?

169 parts, built around the MCP23017-E/SO and WS2812B. 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 Nixieclockin12 V2-1 KiCad files?

From the broedschroed/NixieClockUltra repository on GitHub, at the commit this page was made from: the board is docs/Leiterplatten/IN12-Board/nixieclockin12_V2-1.kicad_pcb and its schematic docs/Leiterplatten/IN12-Board/nixieclockin12_V2-1.kicad_sch. PCBKit opens the board in the browser, with nothing to install.

Can I use the Nixieclockin12 V2-1 design in my own project?

Its repository publishes it under the MIT licence: you may reuse it on that licence's terms (keep the author's notice, and for a copyleft licence share your changes alike).