Skip to content

ADR-110: ESP32-C6 firmware extension (Wi-Fi 6 CSI, 802.15.4 mesh, TWT, LP-core) #762

Description

@ruvnet

Tracking issue for ADR-110 — extending firmware/esp32-csi-node with a parallel ESP32-C6 build target that exploits four C6-only capabilities not available on the production S3 node.

Why

Confirmed on hardware (COM6, ESP32-C6 rev v0.2, MAC 20:6e:f1:17:27:8c):

  • Wi-Fi 6 / 802.11ax CSI — HE-LTF gives 242 subcarriers per HE20 frame vs 52 for HT-LTF; no prior work has published WiFi-6-CSI human pose
  • 802.15.4 mesh time-sync — cross-node clock alignment over a separate radio, frees the WiFi channel for sensing (relevant to ADR-029/030 multistatic)
  • TWT (Target Wake Time) — deterministic CSI cadence negotiated with the AP, replaces today's opportunistic capture
  • LP-core + ~5 µA hibernation — always-on motion gate for battery-powered Cognitum Seed nodes

S3 production path stays untouched — every C6 module is #ifdef CONFIG_IDF_TARGET_ESP32C6 gated.

Design

ADR-110 in docs/adr/ADR-110-esp32-c6-firmware-extension.md — covers the dual-target build, the ADR-018 frame extension for HE PPDU metadata, the 802.15.4 beacon-based time-sync protocol, TWT negotiation, and LP-core hibernation.

Phases

  • P1 Multi-target build support (sdkconfig.defaults.esp32c6, partition selection)
  • P2 HE-LTF CSI tagging in csi_collector.c
  • P3 TWT setup helper (c6_twt.c)
  • P4 802.15.4 init + skeleton time-sync (c6_timesync.c)
  • P5 LP-core hibernation stub (c6_lp_core.c + lp_core/main.c)
  • P6 Build, flash COM6, capture boot telemetry, S3 regression SHA check
  • P7 Benchmark C6 vs S3 (CSI fps, RAM, TWT jitter, power)
  • P8 Witness bundle update, CLAUDE.md / README hardware tables

Each phase will be reported as a comment on this issue and reflected back into ADR-110.

Related

  • ADR-018 (CSI binary frame format) — being extended
  • ADR-028 (ESP32 capability audit) — the original audit that flagged C6 as a research target
  • ADR-029 (RuvSense multistatic) — direct beneficiary of 802.15.4 time-sync
  • ADR-030 (RuvSense persistent field model) — same
  • ADR-031 (RuView sensing-first)
  • ADR-061 (QEMU CI) — will need to add C6 target
  • ADR-081 (adaptive CSI mesh kernel)
  • ADR-097 (rvCSI adoption) — follow-up question: does rvCSI want an rvcsi-adapter-esp32c6?

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