Files
nixie-clock/firmware/uniclock
mangavalkandClaude Opus 5.5 0d3e878051 Run ESP_UniClock on the NixieIN12v2 clock
Adds CLOCK_90 and the nixie595.ino driver: two 74HC595s on hardware
SPI (GPIO13/14, latch GPIO15), multiplexed from an IRAM-only timer1
ISR. Neon dots on P1; P2 is the decimal-point line on this board.

Also:
- NeoPixel on any ESP8266 pin via bit-bang (GPIO12), and take the pin
  back after SPI.begin() claimed it as MISO
- ArduinoOTA (USE_ARDUINO_OTA), with an OTA upload env in platformio.ini
- DST: EU end date (last Sunday of October) instead of the first Sunday
  of November, and recompute the time from the rules when DST is
  toggled instead of shifting it by 1 h
- forward declarations so PlatformIO's .ino conversion compiles
- FIRMWARE_SERVER can be overridden; empty for CLOCK_90

Verified on the clock: tubes, order, dots, LEDs, LDR, NTP time with DST.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-25 21:23:10 +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.
  • 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.