wifi-densepose/assets/sensors
arsen 831602b584 docs(sensors): correct hardware mapping — nodes 1/2 are camera boards
Operator clarified: nodes 1 and 2 (.101 / .100) are ESP32-S3 + OV-camera
boards (sensor_06, sensor_07 in the photo set), NOT YD-ESP32-23. Nodes
3-6 (.102 / .104 / .105 / .106) are the YD-ESP32-23 boards with u.FL
external-antenna connectors (sensor_08, sensor_09).

Impact: Pack E.2 (WiFlow camera-supervised retrain) is closer than
previously assumed — the camera hardware is already deployed at nodes
1 and 2. Path becomes:
  1. Extend FW with parallel camera_capture.c → stream MJPEG over UDP/HTTP
  2. Run MediaPipe Pose on server (deps already installed in
     ~/.venv/ruview-train from earlier session)
  3. Time-align with existing scripts/align-ground-truth.js
  4. Retrain via scripts/train-wiflow-supervised.js --scale lite

The 4 PCB-strip antennas in sensor_02 map 1:1 to nodes 3-6 — drop-in
upgrade once each board is power-cycled to swap the antenna feed.

README now lists the per-node board type, IP, camera/u.FL status, and
which photos show each. No code changes.

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2026-05-18 11:13:51 +07:00
..
README.md docs(sensors): correct hardware mapping — nodes 1/2 are camera boards 2026-05-18 11:13:51 +07:00
sensor_01.jpeg docs: import hardware photos + sensor inventory 2026-05-18 11:09:45 +07:00
sensor_02.jpeg docs: import hardware photos + sensor inventory 2026-05-18 11:09:45 +07:00
sensor_03.jpeg docs: import hardware photos + sensor inventory 2026-05-18 11:09:45 +07:00
sensor_04.jpeg docs: import hardware photos + sensor inventory 2026-05-18 11:09:45 +07:00
sensor_05.jpeg docs: import hardware photos + sensor inventory 2026-05-18 11:09:45 +07:00
sensor_06.jpeg docs: import hardware photos + sensor inventory 2026-05-18 11:09:45 +07:00
sensor_07.jpeg docs: import hardware photos + sensor inventory 2026-05-18 11:09:45 +07:00
sensor_08.jpeg docs: import hardware photos + sensor inventory 2026-05-18 11:09:45 +07:00
sensor_09.jpeg docs: import hardware photos + sensor inventory 2026-05-18 11:09:45 +07:00

README.md

Sensor & antenna hardware inventory

Photos of the deployment's 6-node sensor mesh + external-antenna stock, captured 2026-05-18. The fleet splits cleanly into two roles: two camera-bearing nodes (1, 2) that can collect ground-truth keypoints on-device, and four antenna-upgradeable nodes (3-6) that supply spatial coverage.

Active sensor mesh (6 ESP32-S3 nodes)

node IP Board Camera u.FL Photos
1 192.168.0.101 ESP32-S3 + OV camera + microSD + USB-OTG (FFC ribbon) sensor_06, sensor_07
2 192.168.0.100 same as node 1 sensor_06, sensor_07
3 192.168.0.102 YD-ESP32-23 V1.3, ESP32-S3-N16R8 + FTDI USB-serial + dual USB-C sensor_08, sensor_09
4 192.168.0.104 same as node 3 same
5 192.168.0.105 same as node 3 same
6 192.168.0.106 same as node 3 same

External antenna stock (for nodes 3-6)

File What Use
sensor_01.jpeg 5× u.FL (IPEX-1) pigtail antennas, bare cable Direct feed via the u.FL connector on YD-ESP32-23 boards (nodes 3-6). Adds gain over the chip antenna; supports polarisation diversity if mounted perpendicular pairs.
sensor_02.jpeg 4× flat PCB-strip 2.4 GHz antennas with 3M double-sided tape backing + u.FL pigtails Stick-on external antennas — better directivity than the bare pigtail. One per node 3-6 = full set.

Auxiliary modality — mmWave radar (vitals ground truth)

File What Use
sensor_03.jpeg HLK-LD2402 24 GHz mmWave radar (V1.0, chip S1KM0008 2438 batch), TX/RX patch antennas New sensing modality. mmWave gives sub-mm range to a moving target — ideal for vitals (breathing / pulse) ground truth alongside WiFi CSI. UART output @ 256000 8N1.
sensor_04.jpeg CP2102 USB-to-UART bridge (AMS1117-3.3 LDO, USB-A) Powers + reads the HLK-LD2402 from the Mac. Pin map: GND / RXT / TXD / 3.3V / RTS / CTS.
sensor_05.jpeg HLK-LD2402 + USB-UART wired together Plug-and-play setup; module ships with factory firmware, no flashing required.

Suggested next moves

  • External antennas for nodes 3-6 — the 4 PCB-strip antennas in sensor_02 map 1:1 to the 4 YD-ESP32-23 boards. Power-cycle each to attach. Per the ADR-118 audit, nodes near the AP currently sit at sep_ratio ~0.05 — external antennas perpendicular to the body axis should pull more body modulation into the signal.
  • HLK-LD2402 as vitals ground truth — connect via USB-UART, log breathing rate alongside the WiFi vitals detector, compare bias. Later fuse via MultistaticFuser if accuracy delta is material. Would warrant a fresh ADR.
  • On-device camera capture for WiFlow Pack E.2 retrain — nodes 1 and 2 already have OV-cameras. Path is:
    1. Extend firmware/esp32-csi-node/ with a parallel camera_capture.c that grabs frames @ ~10 Hz and streams them to the server as MJPEG over a new UDP port (or HTTP multipart/x-mixed-replace).
    2. Run MediaPipe Pose on the server (we already have it in ~/.venv/ruview-train from this session).
    3. Time-align CSI + keypoints via the existing scripts/align-ground-truth.js infrastructure.
    4. Train via scripts/train-wiflow-supervised.js --scale lite. This is the cleanest replacement for the awkward "laptop is the camera AND the server AND in the sensing zone" workaround.

These are reference photos. Linked from docs/use-cases.md and CHECKLIST.md so future sessions see the available hardware at a glance.