ESP32 CSI

WiFi sensing on ESP32 hardware

A focused walkthrough of using ESP32 and ESP32-S3 for CSI-based AI sensing.

What is ESP32 CSI?

ESP32 CSI is Channel State Information exposed by Espressif's WiFi stack — per-packet, per-subcarrier amplitude and phase data.

Why ESP32 is used for WiFi sensing

ESP32 is cheap, ubiquitous, hacker-friendly, and has well-documented CSI APIs via ESP-IDF.

ESP32 vs ESP32-S3

ESP32-S3 adds vector instructions, more RAM, and AI acceleration — making on-device inference practical.

Beginner hardware setup

Connect one ESP32 to USB, flash CSI firmware, point it at your router on a fixed channel, and start logging.

CSI signal collection

Set the WiFi to a fixed channel, log raw CSI to serial or MQTT, and convert to a structured dataset for training.

Common issues

Mismatched channels, IDF version drift, antenna noise, and overlapping WiFi networks are the top causes of bad CSI.

Best practices

Use a dedicated AP, capture baseline empty-room data, and validate model accuracy against known ground truth.