Skip to content

Instability in sensing preview and cannot start training (single ESP32-S3-DevKitC-1) #302

@Sann32

Description

@Sann32
Image Image Image Image

Hi everyone,

I’m trying to get RuView running with a single ESP32-S3-DevKitC-1 (8MB flash). I followed the instructions from the v0.5.0-esp32 release and the main README. The firmware is flashed correctly, provisioned with my WiFi credentials and the server IP, and the sensing server (Rust version) receives data from the ESP32.

However, I’m facing two main issues:

Sensing preview is very unstable
In the Observatory UI, the “Sensing” section (the mini preview) constantly flickers/jitters. The detected persons appear and disappear, and the skeleton is not stable. Sometimes it shows two persons even though I only have one ESP32 and I am alone in the room.

Cannot start training
I tried to record a dataset for training, but the Rust server does not have a --record flag (my binary was built from the latest main). I attempted to use the Python scripts to capture data, but I’m not sure how to structure the dataset for the --pretrain or --train commands. When I run
./sensing-server.exe --pretrain --dataset recordings/my_session
I get errors about missing files or unsupported format. I suspect the data I captured is not in the expected format (MM-Fi / Wi-Pose).

My setup:

Hardware: ESP32-S3-DevKitC-1 (one unit, no mmWave attached)

Firmware: v0.5.0-esp32 (8MB flash)

Server: Rust sensing-server built from main (latest commit)

OS: Windows 10

Server command: sensing-server.exe --source esp32 --udp-port 5005 --http-port 3000 --ws-port 3001

UI accessed at http://localhost:3000/ui/index.html

What I’ve tried:

Re-flashing the ESP32 several times, verifying provision parameters.

Checking the UDP packets with Wireshark — they seem to be coming in regularly.

Looking for a --record flag in the Rust server (not present) and trying the Python capture scripts.

What I’d like to know:

How can I stabilize the sensing output with a single ESP32? Is the instability normal for a single‑node setup, or does it indicate a configuration problem?

What is the correct workflow to record CSI data and then run self‑supervised pretraining (or supervised training) using the Rust server? Should I use a different branch or a specific tool?

If the Rust server doesn’t have --record, how do I capture a dataset that the training pipeline accepts?

I’ve attached a screenshot showing the UI with two persons detected (though only I am present) (But there's a sister in the next room.). Any guidance would be greatly appreciated. Thanks in advance!

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions