RayEltekController
ESP32-S3–based controller for Eltek shelves (HM / V / J series, Flatpack families) with dual networking—Ethernet preferred with Wi-Fi fallback—plus I²C shelf control, isolated alarms, and a cross-platform Qt desktop app for monitoring and configuration.
Overview
RayEltekController interfaces the Eltek shelf via the 20-pin ALARMS connector to read telemetry, manage alarms, and write setpoints (e.g., Vset 54.00 V). The controller runs on an ESP32-S3 DevKitC-1 with native Wi-Fi and optional RMII Ethernet PHY; when a wired LAN link is present it is preferred automatically, with Wi-Fi as fallback. For Flatpack2 shelves, the controller also supports shelf communication over the ESP32-S3 TWAI/CAN peripheral.
A pluggable device profile system (JSON/YAML) makes the platform scalable across HM/Flatpack/V/J models, while a Qt desktop app provides dashboards, editors, logs, and a commissioning wizard for quick setup.
At a Glance
- • Dual networking: Ethernet preferred, Wi-Fi fallback
- • 20-pin ALARMS/I²C shelf connector
- • Table-driven protocol engine (read/write V/I/OVP)
- • Qt desktop app (Win/macOS/Linux)
- • Profiles for multiple Eltek families
- • OTA updates and event logging
Key Features
Dual Networking
- Ethernet via RMII PHY (LAN8720A / DP83825I)
- Wi-Fi 802.11 b/g/n on ESP32-S3
- Auto-select wired LAN when link is up
- REST/WebSocket/MQTT over both transports
Shelf Interface
- 20-pin ALARMS connector (I²C SCL/SDA, alarms, Disable)
- I²C 400 kHz, 2.2–4.7 kΩ pull-ups, cable ≤ 0.5 m
- Flatpack2: shelf comms over CAN (via TWAI), per-profile mapping
- Opto/TVS protection; debounce on alarm inputs
- Failsafe Module Disable not asserted at boot
CAN Bus (Flatpack2)
- ESP32-S3 TWAI (CAN 2.0) interface
- Configurable bitrate (e.g., 125/250/500 kbps)
- Isolated transceiver recommended (e.g., SN65HVD23x/TJA1051)
- Maps FP2 telemetry & setpoints via profile
Protocol Engine
- Table-driven commands & telemetry map (I²C or CAN per profile)
- Write Vset/Ilimit/OVP with range enforcement
- Transactional writes with verify/rollback
- Profiles mirrored in firmware & Qt app
Qt Remote App
- Dashboard (per-module V/I, alarms, shelf banner)
- Editors for Vset, Ilimit, OVP (apply-to-all)
- Commissioning wizard & log viewer/export
- LAN over secure WebSocket/REST; USB-CDC fallback
Security & OTA
- Token or mTLS pairing; rate-limit writes
- Signed OTA images; dual-bank rollback (if available)
- Watchdog & safe defaults on fault
Profiles
- Profiles: HM34 + H2500A2-VB; Flatpack2; other V/J series
- Interchangeable harness SKUs per shelf
- Profile editor and update channel
Quick Specs
- MCU: ESP32-S3 DevKitC-1 (Wi-Fi/BLE; TWAI/CAN capable)
- Networking: RMII Ethernet PHY + RJ-45 (preferred), Wi-Fi fallback
- Shelf I/F: 20-pin ALARMS (I²C, alarms, Module Disable)
- Bus: CAN (TWAI) support for Flatpack2 shelves
- I²C: 400 kHz; support for 1–4 rectifier addresses (LOC0–LOC2)
- API: REST / WebSocket / optional MQTT
- Remote App: Qt (Windows / Linux / macOS)
- Safety: range limits, verify/rollback, watchdog
Downloads
Coming soon: wiring guide (HM34 20-pin), profile samples (JSON/YAML), and firmware flashing/OTA guide.
Gallery
Placeholders for controller PCB, network diagram, and Qt app dashboard.
PCB Board for Eltek/Valere J-Series


Interested in RayEltekController?
Working with Eltek HM34 or Flatpack2 rectifiers? If you need network control, telemetry, or integration support for your power system, I’d be glad to help. Early adopter feedback is shaping the next-generation firmware and UI.
