ESP32 CSI Toolkit

Photograph of an ESP32 (NodeMCU)
ESP32 model (NodeMCU)

The ESP32 CSI Toolkit provides researchers access to Channel State Information (CSI) directly from the ESP32 microcontroller. An ESP32 flashed with this toolkit can provide online CSI processing from any computer, smartphone or even standalone. These features along with the ESP32's small size gives researchers the ability to perform tasks such as Wi-Fi Sensing and localization with CSI in new ways. All without requiring complicated firmware hacks.

Download Documentation and Toolkit

Features of Toolkit

  • Receive CSI and transmit data through USB serial in real-time to computer or smartphone
  • Record CSI to on-board microSD card for later processing
  • Active Access Point
  • Active Station
  • Passive Receiver

Which ESP32 modules?

The toolkit has been tested with the following development boards, but any ESP32 should work:

  • TTGO T8 (with SD card)
  • NodeMCU (ESP32 Version)

Supplementary Tools

The following code projects use the ESP32 CSI Toolkit to provide further utilities for researchers.


  1. S. M. Hernandez and E. Bulut, “Lightweight and standalone IoT based WiFi sensing for active repositioning and mobility,” in 21st International Symposium on ”A World of Wireless, Mobile and Multimedia Networks”(WoWMoM) (WoWMoM 2020), Cork, Ireland, Jun. 2020. BibTeX
  2. S. M. Hernandez and E. Bulut, “Performing WiFi sensing with off-the-shelf smartphones,” in PerCom Demos 2020: 18th Annual IEEE International Conference on Pervasive Computing and Communications Demonstrations (PerCom Demos 2020), Austin, USA, Mar. 2020 BibTeX


Toolkit developed by: Steven M. Hernandez | MoWiNG Lab

Cite this tool: BibTeX