Is this a real and usable project? #79

Open
opened 2026-03-02 11:43:56 +08:00 by AfricanCh · 5 comments
AfricanCh commented 2026-03-02 11:43:56 +08:00 (Migrated from github.com)

I haven't tried it yet, which requires some cost. I have seen many issues with reported issues being closed as' unplanned ', which makes me cautious. Please forgive me if I have offended you

I haven't tried it yet, which requires some cost. I have seen many issues with reported issues being closed as' unplanned ', which makes me cautious. Please forgive me if I have offended you
p20061 commented 2026-03-02 12:09:33 +08:00 (Migrated from github.com)

我也感觉很奇幻,那这么来说蓝牙应该也可以,只是长的电磁波

我也感觉很奇幻,那这么来说蓝牙应该也可以,只是长的电磁波
oki-zon3 commented 2026-03-02 12:36:38 +08:00 (Migrated from github.com)

Philips, with its WiZ smart Wi-Fi products, uses a technology similar to Spacesense, which is Wi-Fi-based motion detection. It works by having at least two products (e.g., smart Wi-Fi lamps) communicate continuously in the same room. When an object moves in the room, a small change occurs in the communication process between the devices. This change is then analyzed by the device firmware as motion detection.

Philips, with its WiZ smart Wi-Fi products, uses a technology similar to Spacesense, which is Wi-Fi-based motion detection. It works by having at least two products (e.g., smart Wi-Fi lamps) communicate continuously in the same room. When an object moves in the room, a small change occurs in the communication process between the devices. This change is then analyzed by the device firmware as motion detection.
36mimu36 commented 2026-03-02 18:08:15 +08:00 (Migrated from github.com)

Yes, it works — tested with real hardware

I deployed the Python sensing pipeline on real hardware and can confirm it detects human presence and motion.

Hardware

  • 2x ESP32-S3-DevKitC (about $10 each)
  • 1x Raspberry Pi (running Debian 13)
  • Standard home WiFi router

What works

  • Presence detection: Correctly identifies person in room (PRESENT_STILL, 80% confidence)
  • Motion detection: Motion Band power rises when person moves (0.33 measured)
  • Multi-node: Two ESP32 nodes streaming CSI simultaneously, cross-receiver agreement boosts confidence
  • Real-time UI: Web UI at http://<pi>:8080 shows live signal field, RSSI, classification

Setup steps (bare metal, no Docker)

  1. Flash ESP32-S3 with the firmware in firmware/esp32-csi-node/ using ESP-IDF v5.2
  2. Set WiFi SSID/password and target IP in sdkconfig.defaults
  3. On Pi: install Python deps (numpy, scipy, websockets, pydantic), run ws_server.py
  4. ESP32 auto-streams ADR-018 binary CSI frames over UDP to the Pi

Total cost: ~$30 (2x ESP32-S3) + a Pi you may already have.

Caveats

  • Breathing detection (0.1–0.5 Hz) does not work yet with the Python pipeline — needs per-subcarrier phase tracking
  • The default mean_amplitude signal is noisy; I switched to subcarrier spread (np.std(amplitudes)) for better results (see my comment on #51)
  • Full DensePose (body mesh) requires trained neural network models not yet available — current capability is presence + motion level classification

It's not magic — it's WiFi CSI (Channel State Information), the same principle behind Philips WiZ Spacesense mentioned above. This project provides an open-source implementation.

### Yes, it works — tested with real hardware I deployed the Python sensing pipeline on real hardware and can confirm it detects human presence and motion. #### Hardware - 2x ESP32-S3-DevKitC (about $10 each) - 1x Raspberry Pi (running Debian 13) - Standard home WiFi router #### What works - **Presence detection**: Correctly identifies person in room (PRESENT_STILL, 80% confidence) - **Motion detection**: Motion Band power rises when person moves (0.33 measured) - **Multi-node**: Two ESP32 nodes streaming CSI simultaneously, cross-receiver agreement boosts confidence - **Real-time UI**: Web UI at `http://<pi>:8080` shows live signal field, RSSI, classification #### Setup steps (bare metal, no Docker) 1. Flash ESP32-S3 with the firmware in `firmware/esp32-csi-node/` using ESP-IDF v5.2 2. Set WiFi SSID/password and target IP in `sdkconfig.defaults` 3. On Pi: install Python deps (`numpy`, `scipy`, `websockets`, `pydantic`), run `ws_server.py` 4. ESP32 auto-streams ADR-018 binary CSI frames over UDP to the Pi Total cost: ~$30 (2x ESP32-S3) + a Pi you may already have. #### Caveats - Breathing detection (0.1–0.5 Hz) does not work yet with the Python pipeline — needs per-subcarrier phase tracking - The default `mean_amplitude` signal is noisy; I switched to subcarrier spread (`np.std(amplitudes)`) for better results (see my comment on #51) - Full DensePose (body mesh) requires trained neural network models not yet available — current capability is presence + motion level classification It's not magic — it's WiFi CSI (Channel State Information), the same principle behind Philips WiZ Spacesense mentioned above. This project provides an open-source implementation.
ruvnet commented 2026-03-02 20:22:21 +08:00 (Migrated from github.com)

I'm no longer actively building the Python version. I should note almost everyone who said it doesn't work didn't actually use CSI compatible hardware.

Thanks for the confirmation.

I'm no longer actively building the Python version. I should note almost everyone who said it doesn't work didn't actually use CSI compatible hardware. Thanks for the confirmation.
rezzorix commented 2026-03-02 20:25:09 +08:00 (Migrated from github.com)

almost everyone who said it doesn't work didn't actually use CSI compatible hardware.

May i suggest you make it more prominent in the initial description or right below the header in BOLD that certain hardware is required?

Bonus: maybe provide an example list of hardware that is working.

> almost everyone who said it doesn't work didn't actually use CSI compatible hardware. > May i suggest you make it more prominent in the initial description or right below the header in BOLD that certain hardware is required? Bonus: maybe provide an example list of hardware that is working.
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: dearsky/wifi-densepose#79