Files
nixie-clock/firmware/uniclock
mangavalkandClaude Opus 5.5 5fbae6247c Fix tube flicker and review fixes
- The bit-banged WS2812 update disables interrupts (about 30 us per
  pixel), which made the lit tube stay on longer and flash. neoShow()
  now only sends when the pixels changed (fixed colour was resent every
  second) and waits for the dark gap between tubes; the bit-bang strip
  has no headroom pixels. This also fixed digits that seemed to hang.
- 4 WS2812 on this board, one per tube (not 8)
- Saving the firmware URL in the web UI no longer starts an HTTP
  update; never update from an empty URL
- Restart once after the first switch from AP mode to WiFi, so
  ArduinoOTA and MQTT start on the real network
- Optional web UI password (WEB_USER/WEB_PASSWORD in secrets.h);
  /getConfiguration returns the stored WiFi and MQTT passwords
- Cathode protect: random mode now starts at a random tube (the +-1
  start digits were swapped and then overwritten)
- Apply the unused gamma table to wheel colours
- LOOP_DIAG (off by default): main-loop stalls in /getCurrentInfos,
  which now also reports uptime and free heap

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-25 22:18:39 +01:00
..
2026-10-25 21:37:25 +01:00

ESP_UniClock for the NixieIN12v2 clock

Firmware for this clock, based on ESP_UniClock by Peter Gautier (GPL-3.0-or-later), vendored from upstream commit 1189810 (2026-09-07).

  • ESP32_UniClock2/: the upstream sketch folder (all .ino/.h files and the web UI in data/). It keeps the upstream layout, so it still opens in the Arduino IDE.
  • lib/: the library versions bundled upstream (libraries/*.zip), only those the ESP8266 build needs. The upstream manuals, datasheets, photos and ESP32-only libraries were left out. Exception: arduino-home-assistant is v2.1.0 (upstream bundles 1.3.0, which has no light, number, select or button entities); mqtt.ino was rewritten for it.
  • platformio.ini: PlatformIO build for the ESP-12 (4 MB flash, 2 MB SPIFFS).

Local changes are separate commits on top of the import (git log -- firmware/uniclock).

Build and flash

pio run                      # build
pio run -t upload            # flash the firmware over COM7
pio run -t uploadfs          # flash the web UI (data/) to SPIFFS
pio device monitor           # serial log, 115200 Bd

The CH340C adapter has no auto-reset: before each upload, hold GPIO0 to GND, tap RST to GND, then release GPIO0. See CLAUDE.md in the repo root for the wiring.