Skip to content

ESPGeiger v0.10.0

Choose a tag to compare

@steadramon steadramon released this 08 May 10:36
· 786 commits to main since this release

Generic HV builds land for any stock ESP8266 / ESP32 board (esp8266_hv, esp32_hv, plus OLED variants), the ESPGHW module is renamed to HV, and the PWM duty range goes 10-bit (1-1023, was 1-255). ESPGeiger-HW users will need to roughly quadruple their saved duty to keep the same voltage, see the breaking changes below.

Important

HV duty rescaled to 1-1023 (was 1-255). Saved duty prefs migrate verbatim, so an ESPGeiger-HW running on duty=70 will read ~7% PWM after upgrade instead of the previous ~27%. Remove your tube. Multiply your saved duty by ~4 (70 -> 280) and re-tune to your target voltage. A multimeter probe is strongly recommended.

Enhancements

  • New HV builds: esp8266_hv, esp8266oled_hv, esp32_hv, esp32oled_hv. Wire your own boost converter to any GPIO and pick the PWM pin at runtime via /egprefs
  • Closed-loop HV trim: set a target voltage and the firmware auto-corrects duty by ±1 LSB every 10 s, bounded to ±5 duty LSB from your saved duty so a feedback fault can only walk PWM 5 steps in either direction
  • HV ADC runtime disable via ratio = 0 (decouples ADC from PWM, supports external HV monitor)
  • OLED auto-detect via I²C probe at boot, skips display init when no panel detected
  • Pushbutton refactor: pin runtime-configurable via /egprefs, composes freely with OLED
  • OLED dirty-gate, CPM cache (cpm5f/cpm15f on secondticker boundary)
  • External blip LED brightness across builds
  • Counter hot path: divides removed in favor of shifts, gated lookups, clamp() helper
  • Build-time module-registry overflow check; build pinning (ubuntu-24.04, platformio==6.1.9)
  • Module names lowercased (arduinoOTA to ota, *Prefs to *prefs)

Bugfixes

  • HV PWM range explicitly set to 1023 on ESP8266
  • OLED SDA/SCL prefs now actually take effect on first boot (was running before EGPrefs::begin() loaded saved pins)
  • Activity log counts reflect attempts, not response timing (fixes radmon/gmc/thingspeak/webhook/uradmon 0/2 jitter)
  • HV gating: only submitted across WebAPI/MQTT/HA-discovery when both ADC and PWM are active

Full Changelog: v0.9.6...v0.10.0