ESP32 CSI getting started — and how it differs from router CSI

2026-10-11 · 1 min read

If you just want to touch real CSI for a few dollars, ESP32 is the best entry point. If you need whole-home coverage and higher resolution, the router route wins. Here is the honest comparison.

Fastest paths in

Path Project Best for
Official examples espressif/esp-csi [1] seeing raw CSI quickly
Capture tool ESP32-CSI-Tool [2] datasets and algorithms
Smart home ESPectre (ESPHome) [3] presence/motion in Home Assistant

Typical scale: 20 MHz, 30–64 subcarriers, single point, packet-rate-limited sampling.

Router CSI (this project) vs ESP32

ESP32 Router (MT7986 + mt76 CSI)
Bandwidth / subcarriers 20 MHz / 30–64 80 MHz / 256
Chains 1–2 8 (2 Tx × 4 Rx)
Coverage single point whole home
Deployment extra power + place the board the router is already there
Setup effort low medium (OpenWrt + driver patch)

What to watch when migrating

  1. 256 subcarriers instead of 30–64 — model input shape changes;
  2. router CSI needs a dedicated interface plus MAC filter (see the reproduction guide);
  3. two known performance traps on this platform (firmware ATF and 40 MHz clients) — see the troubleshooting article: Wi-Fi slows down after CSI.

References and data sources

Every external claim carries a source and an evidence grade (grading scheme). Grade E marks first-party, reproducible measurements from this project.

  1. Grade C · official docs espressif/esp-csi — Applications based on Wi-Fi CSI
    Espressif Systems
    github.com/espressif/esp-csi · verified: GitHub API 2026-10-11 (stars 1,679) · The official README states: "All ESP32 series support CSI, including ESP32 / ESP32-S2 / ESP32-C3 / ESP32-S3 / ESP32-C5 / ESP32-C6 / ESP32-C61."
  2. Grade C · official docs StevenMHernandez/ESP32-CSI-Tool — active/passive CSI extraction for ESP32
    S. M. Hernandez
    github.com/StevenMHernandez/ESP32-CSI-Tool · verified: GitHub API 2026-10-11 (stars 571, MIT, last push 2024-07-16)
  3. Grade C · official docs francescopace/espectre — Wi-Fi CSI motion sensing for ESP32 (ESPHome)
    F. Pace
    github.com/francescopace/espectre · verified: GitHub API 2026-10-11 (stars 9,505)
  4. Grade C · official docs NTUMARS/Awesome-WiFi-CSI-Sensing — curated papers and resources
    NTU MARS Lab
    github.com/NTUMARS/Awesome-WiFi-CSI-Sensing · verified: GitHub API 2026-10-11 (stars 1129, MIT, last push 2025-07-19)

This page contains affiliate links (rel="sponsored"). Buying through them costs you nothing extra and earns this site a small commission.