ESP32-S3 CSI Firmware v0.4.3.1 — Watchdog Fix
Patch release for v0.4.3 that fixes a task watchdog crash on Core 1 (#266).
What's Fixed
Task watchdog starvation on Core 1 — The edge DSP task (biquad filters, Welford stats, BPM estimation, multi-person vitals) was CPU-intensive enough to starve the IDLE1 task, triggering the watchdog timer every 5 seconds. The firmware kept running but spammed error logs and could cause instability.
Fix: The DSP task now yields to IDLE after every processed frame (vTaskDelay(1)). At 20 Hz CSI rate this adds ~1 ms per frame — negligible for vitals extraction.
Verified on real ESP32-S3: 0 watchdog triggers in 60 seconds of live WiFi CSI (was every 5 seconds before).
Includes all v0.4.3 fixes
- Fall detection threshold 2.0 → 15.0 rad/s² (#263)
- 3-frame debounce + 5s cooldown for fall alerts
- 4MB flash support (#265)
Flash Instructions
Same as v0.4.3 — see v0.4.3 release notes for full instructions.
8MB boards:
python -m esptool --chip esp32s3 --port COM7 --baud 460800 \
write_flash --flash_mode dio --flash_size 8MB --flash_freq 80m \
0x0 bootloader.bin 0x8000 partition-table.bin \
0xf000 ota_data_initial.bin 0x20000 esp32-csi-node.bin4MB boards:
python -m esptool --chip esp32s3 --port COM7 --baud 460800 \
write_flash --flash_mode dio --flash_size 4MB --flash_freq 80m \
0x0 bootloader.bin 0x8000 partition-table-4mb.bin \
0xF000 ota_data_initial.bin 0x20000 esp32-csi-node-4mb.bin