github francescopace/espectre 2.7.0
v2.7.0 - ESPectre configuration over BLE and subcarrier normalization

6 hours ago

Highlights

  • BLE control unlocks standalone integrations: ESPectre can now be used even without Home Assistant by building custom BLE clients.
  • Runtime threshold is now configurable via BLE: the current BLE command channel enables live threshold updates and can be extended to additional runtime parameters.
  • Web game moved from Serial to Web Bluetooth: docs/game is now an example BLE client instead of a Web Serial-only path.
  • CSI normalization supports more payload variants: runtime handling now covers 256->128, 228->114, and 114->128 remap paths before HT20 processing.
  • Behavior and validation are aligned across stacks: ESPHome/C++ and Micro-ESPectre/Python follow the same CSI-length normalization logic, with dedicated tests for 128/256/114/228.

Fixed

  • Extended CSI normalization paths (ESPHome/C++ and Micro-ESPectre/Python): runtime now consistently handles 256->128 (double HT-LTF), 228->114, and 114->128 remap paths before HT20 processing, reducing packet drops on short/double CSI payload variants (#93).
  • Cross-stack alignment for CSI length handling: Micro-ESPectre normalization behavior and runtime logs are now aligned with ESPHome component behavior.

Added

  • Unit tests for new CSI payload scenarios: added coverage for 114-byte and 228-byte CSI handling in C++ (test_csi_manager) and dedicated Python tests for 128/256/114/228 normalization paths (micro-espectre/tests/test_utils.py).

Changed

  • Web game transport migrated to BLE: docs/game now uses Web Bluetooth (desktop Chrome/Edge) with a custom ESPectre BLE service for telemetry (movement, threshold) and sysinfo notifications, replacing the previous Web Serial path.
  • BLE control channel opened to generic clients: docs/game is now an example client built with the Web Bluetooth API, but ESPectre can be controlled by any standard BLE client implementing the same commands.
  • Legacy USB serial monitor path removed from firmware loop: USB Serial/JTAG attach detection for game sysinfo emission has been cleaned up as it is no longer needed with BLE transport.
  • Practical BLE benefits documented in this release: the game/channel flow is now compatible with standard ESP32 boards (no native USB serial/JTAG required), does not require an active wired serial connection, and enables runtime threshold tuning over BLE from any compatible BLE client (not only docs/game).

Don't miss a new espectre release

NewReleases is sending notifications on new releases.