esp-csi-tui-rs
A terminal-based interface for visualizing Wi-Fi Channel State Information using rust and esp32.
The Concept
Traditional Wi-Fi signal metrics (RSSI) only give you "loudness." Channel State Information (CSI) gives you the "texture" of the room. It breaks the signal down into 64 subcarriers, allowing us to "see" how waves bounce off objects and people.
History & Goal
Created during the "Connected Motion" hackathon, this tool was born from a frustration with heavy, Python/C++ frameworks that were unsafe or lacked support for modern ESP32 families.
The Goal: Build a zero-latency, memory-safe monitor that runs directly in the terminal, capable of processing high-frequency CSI packets on embedded systems without crashing.
System Architecture
Ratatui
Rerun.io
Hardware Versatility
The system leverages the ESP32 to capture CSI packets. Depending on your mission profile, the device can be configured in one of three modes:
Sniffer
Passive Intercept. Monitors all traffic on a specific channel.
Station
Network Uplink. Connects to a router and injects ping traffic.
AP Mode
Broadcast Beacon. Acts as an access point to solicit connections.
Powered By
Rust
Memory-safe systems programming for the core logic and serial communication.
Ratatui
The underlying framework for building the rich Terminal User Interface.
ESP32
Hardware target. Supports Sniffer, Station, and AP modes.
Rerun.io
High-performance visualizer for streaming 3D waterfall data and complex histograms.
Visual Intelligence
Live streaming to multiple outputs.
Interface Deep Dive
Interactive walkthrough of the terminal capabilities.

Configuration Settings
Set operation protocols, target specific SSIDs, configure packet injection rates, and toggle hardware flags before initialization.
