arrow_back Back to Projects

2026-03-24

[Planning] Soyuz: A Nixie Tube Wristwatch Project

A premium artisan smartwatch upcycling 1950s–70s Eastern Bloc high-voltage discharge tubes (Nixie tubes)


Overview

Soyuz (Союз) is a modular wristwatch project built around two NOS (New Old Stock) Nixie tubes. The goal was to turn the Nixie tube — one of the great feats of Cold War-era technology — into a brand of its own.

Key Specs (Targets)

Item Detail
Display 2× Nixie tubes (IN-17, modular add-on)
MCU ESP32-S3 (BLE 5 / Wi-Fi 2.4GHz)
Power 1000mAh Li-Po, Qi 5W wireless charging
HV boost 3.7V → 165V step-up, 3mA
Case 6061 aluminum CNC (PLA+ for prototype), 35×35 square sapphire window
Interface 8-pin board-to-board

Problem Recognition

There’s no proper Nixie-tube wristwatch brand in Korea, and even overseas brands are hard to get without importing directly. Soyuz aims to be a wrist-worn platform built around a user-swappable Mezzanine module structure, where a single body can accept multiple kinds of display modules (Nixie / Numitron / VFD…).


Design

Form Factor

With a 35mm front sapphire, a Nixie tube roughly 14mm thick, plus the PCB and high-voltage circuitry, the case comes out to 40mm × 40mm × 18mm or larger — very much on the oversized end for a wristwatch. Even so, the goal was to make it feel like an object worn on the wrist, not just a watch.

Case

  • Current design: eSUN PLA+
  • Planned prototype: 6061-T6 aluminum CNC, untreated hairline finish
  • Production options: black/gray/titanium anodizing or SUS304 PVD
  • Front window: 1–2T curved optical-grade sapphire, AR coated
  • Strap: 24mm standard (racing strap)

Module Interface

The front Nixie module currently connects to the main body via a 2.54mm-pitch 8-pin connector, which carries all of the following over one connector:

  • 170V HV (tube anode)
  • 5V logic power
  • SPI (shift-register data) — LE, DIN, CLK
  • (future addition) an I2C line for module status reporting

This structure lets a user pull out a module and swap in a different type (Numitron, VFD) without tools, while the main body can read the driving profile of whichever module is installed.


Circuit Design

Overall Block Diagram

Display Driver

I chose the HV5523 (Microchip, a 32-channel high-voltage shift register rated up to 220V). Rather than a 1970s-style K155ID1/74141 BCD-to-decimal driver, a shift register was chosen for form factor and for driving more than 16 pins.

MCU

The prototype uses an ESP32-S3-SENSE module.

  • BLE 5.0 + Wi-Fi 2.4GHz
  • ~10μA in deep sleep

Charging / Power Management

  • Qi 5W receiver: BQ51013B (TI)
  • Li-ion charging uses the ESP32-S3’s built-in charge/discharge module
  • System LDO: AP2112-3.3 (low-dropout, 600mA)
  • Protection: built-in OVP/OCP plus an external PTC

Sensors

  • IMU: MPU6050 6-axis accelerometer. Triggers an INT pin on jerk (wake-up) gesture detection
  • Mercury switch: an extra switch added as secondary redundancy

PCB

A 2-layer, 1.6mm FR-4 stack-up.

  • L1 (Top): signals, components, 5V power
  • L2: solid GND plane
  • Main body PCB: 38 × 38mm
  • Nixie module PCB: 30 × 18mm

Firmware Architecture

Built on ESP-IDF + FreeRTOS. The overall flow boils down to 5 tasks and 1 ISR.

Task Layout

Task Priority Period Role
display_task 10 5ms HV5523 refresh, on-call, multiplexing, CORE1
power_task 8 1s battery/charging monitoring, low-power mode decisions, CORE0
sensor_task 7 IMU IRQ / mercury switch wake-on-wrist, CORE0
ble_task 6 event-driven GATT server, ANCS/AANS, OTA, CORE1
app_task 5 100ms mode switching, notification visualization, user settings, CORE0

Anti-Cathode-Poisoning

If a Nixie tube displays the same digit for too long, an insulating film forms on the unused cathode surfaces (spotting/poisoning), causing misfires. To prevent this, a daily “nuking” routine cycles through all digits (00–99). This runs as a routine executed once per day.

Time Sync

  • When BLE-connected: synced to the phone’s clock at 1-second resolution
  • Offline: ESP32’s built-in RTC (±20ppm) — roughly ±50 seconds of drift per month

OTA

Uses ESP-IDF’s esp_https_ota API. The partition table is a dual-slot layout — factory + ota_0 + ota_1 — with automatic rollback on boot failure. The Flutter phone app downloads the ROM file from a server and pushes it to the watch, which verifies the checksum before applying it.

Power Profile

State Average Current Notes
Display ON (tube lit) ~500mA includes HV boost
Display OFF, BLE advertising ~2mA 1-second wake interval
Deep sleep ~150μA only RTC + IMU interrupts active

At 100 wakes of 15 seconds per day, runtime is roughly 72 hours.


Assembly

Soyuz is built from 3 subassemblies.

1. Nixie Module (front, detachable)

  • 2× Nixie tubes (socket-mounted, user-replaceable)
  • HV5523 driver
  • 8-pin, 2.54mm connector

2. Main Module (body)

  • ESP32-S3-SENSE
  • MAX1771 HV boost
  • BQ51013B
  • MPU6050
  • 1000mAh Li-Po cell

Assembly Sequence

  1. SMT the Nixie module PCB → hand-solder the Nixie tube pins
  2. SMT the main PCB → flash firmware → test power/charging/BLE pairing
  3. Seat the main module + battery in the lower case → apply a silicone gasket
  4. Attach the front module → sapphire window + upper case → fasten with a torque driver
  5. Final functional test: time display, BLE connection, wireless charging, IMU wake-on-wrist, anti-poisoning routine

Roadmap (as of May 2026)

Trademark registration for “Soyuz” is currently complete.

Phase Timeline Key Deliverable
1st prototype circuit build Aug '26 – Oct '26 validate custom HV boost / wireless charging circuit
MVP complete Nov '26 full assembly verified working
Module design IP secured Nov '26 – Jan '27 Mezzanine design filing
Crowdfunding prep Dec '26 – Jan '27 ads, influencers, campaign page
Crowdfunding Jan '27 – Apr '27 goal: 1,000 units
PCB mass production + KC certification Apr '27 – Jun '27 PCB SMT, certification complete
CNC case mass production Apr '27 – Jun '27 1,000-unit run
First shipment Jun '27 – Aug '27 assembly, QC, shipping
Additional modules (Numitron/VFD) Sep '27 – Nov '27 next-generation module production

Closing — What’s Next for the Modules

The plan is to keep any display module compatible as long as it matches the main body’s interface (18-pin, 170V/5V/SPI/I²C), and I’ll close this out with the two candidates under consideration for the next module.

Numitron (IV-9, IV-16, RCA Numitron 3015)

The Numitron is a 7-segment incandescent display tube developed around the same era as the Nixie tube. A tungsten filament is shaped into 7 segments, giving it the same familiar letterform as the 7-segment digits on a typical digital clock.

Circuit-wise, it’s much simpler than a Nixie tube:

  • No HV boost (170V) needed — drive directly at 4.5V or with a simple 5V boost
  • The main body interface stays the same

Power draw is higher than a Nixie tube (the filament must stay heated continuously), but with the HV circuitry gone, overall system efficiency ends up about the same.

VFD (IV-18, IV-22)

A VFD (vacuum fluorescent display) glows cyan: electrons emitted from a heated cathode are accelerated toward a grid and strike a phosphor-coated anode, producing light. Since the voltage differs, a voltage-switching mechanism keyed to an EEPROM setting would need to be added.

Circuit-wise:

  • Filament: 2.5V AC or PWM driven
  • Grid/segments: roughly 30V (HV5523) — just needs the MAX1771’s output voltage lowered
  • Supports multiple digits (8-digit, 16-digit) → extended usability like alarm time, date, or short message display

Coming Up

Circuit design, firmware development logs, and the production process will keep being shared as a series on this blog.