github ruvnet/RuView v0.4.0-alpha-esp32
ESP32-S3 CSI Firmware v0.4.0-alpha — AMOLED Display + Stability Fixes

pre-release7 hours ago

What's New

v0.4.0-alpha adds AMOLED display support (ADR-045), stability fixes, and the CHCI protocol.

Changes since v0.3.0-alpha

Change Description
AMOLED Display (ADR-045) LVGL-based HUD for T-Display-S3 AMOLED boards — real-time CSI metrics on-device
CSI Rate Limiting Backpressure with ENOMEM backoff prevents UDP send crashes under high frame rates
TDM Provisioning `provision.py` now supports `--tdm-slot` and `--tdm-total` flags for multi-node setups
CHCI Protocol (ADR-042) 24 new edge processing modules for advanced on-device classification
8MB Flash Layout Custom partition table with 2×2MB OTA slots + 1.9MB SPIFFS for larger firmware

Binary Details

File Size Description
`esp32-csi-node.bin` 1.18 MB Application firmware (44% free in 2MB partition)
`bootloader.bin` 21 KB ESP-IDF v5.2 bootloader
`partition-table.bin` 3 KB 8MB flash layout (NVS + 2×OTA + SPIFFS)
`provision.py` 6.7 KB WiFi + TDM provisioning tool

Flash Instructions

# Flash via esptool (replace COM7 with your port)
python -m esptool --chip esp32s3 --port COM7 --baud 460800 \
  write_flash --flash_mode dio --flash_size 8MB \
  0x0 bootloader.bin \
  0x8000 partition-table.bin \
  0x20000 esp32-csi-node.bin

# Provision WiFi + TDM (no credentials in firmware)
python provision.py --port COM7 \
  --ssid "YOUR_SSID" --password "YOUR_PASSWORD" \
  --target-ip 192.168.1.100 --target-port 5005 \
  --tdm-slot 0 --tdm-total 2

Multi-Node Setup

For 2+ ESP32 nodes, assign unique TDM slots:

  • Node 1: `--tdm-slot 0 --tdm-total 2`
  • Node 2: `--tdm-slot 1 --tdm-total 2`

Known Issues

  • Binary requires 8MB flash (most ESP32-S3 dev boards have 8MB+)
  • AMOLED display features require T-Display-S3 AMOLED board (CSI works on any ESP32-S3)

Stability Tips

If you experience flickering/jumping skeleton detection, use the Adaptive Classifier (ADR-048) for room-specific calibration — see issue #141 for step-by-step instructions.

Don't miss a new RuView release

NewReleases is sending notifications on new releases.