All projects

ESP32 · RF Analyzer

NetworkSniffer

Captures every OOK/ASK transmission in the 433 MHz band — remote controls, weather stations, door sensors, custom nodes — decodes them in real time, and presents the results in a browser-based dashboard served directly from the ESP32. No cloud, no app, no router required.

C++ ESP32 433 MHz OOK RadioHead Web Dashboard ISR Capture Arduino PlatformIO
specifications
chipESP32 DevKit
frameworkArduino
buildPlatformIO
rf_band433 MHz OOK/ASK
rh_rate2000 bps
payload12 B (x, y, z float)
decodeup to 64 bits
dashboardbuilt-in SPA
wifiAP or STA

What NetworkSniffer does

Raw OOK Burst Capture

Pin-change ISR timestamps every edge. Bursts are assembled from the edge stream, quality-filtered, and stored in a ring buffer ready for decoding.

PWM/OOK Decode

Automatically identifies short and long pulse elements from the timing data and decodes up to 64 bits per captured burst. Works without any prior configuration.

RadioHead RH_ASK Decode

Receives RadioHead-framed packets at 2000 bps. A 12-byte payload is interpreted as three floats — the accelerometer x, y, z fields broadcast by companion CrossWave nodes.

Self-Hosted Web Dashboard

A single-page app stored in flash. Auto-refreshes every second. Displays decoded bursts, packet history, and noise floor — all served from the ESP32 itself, no internet required.

Dual WiFi Modes

Starts as a standalone access point (RF-Analyzer / rfanalyzer-433) so you can connect a phone immediately without any router. Set WIFI_USE_STA 1 in credentials.h to join your network instead.

Live Noise Floor

Continuous edge-rate measurement shows ambient RF activity even when no structured packets arrive. Useful for diagnosing interference and antenna placement.

Bill of materials

#ComponentGPIONotes
1ESP32 dev board (any 38-pin)3.3 V logic; USB serial for flashing
2433 MHz OOK receiver moduleGPIO 4XY-MK-5V, RXB6, or similar superheterodyne
3~17.3 cm wire antennaANT padQuarter-wave for 433 MHz; solder to module ANT
433 MHz Receiver      ESP32
VCC  ────────── 5V
GND  ────────── GND
DATA ────────── GPIO 4
                  GPIO 2 ── onboard LED (activity)

Quick start

# clone
git clone https://github.com/mabushi-lab/NetworkSniffer
cd NetworkSniffer
 
# (optional) join existing WiFi instead of AP mode
cp src/credentials.h.example src/credentials.h
# set SSID, password, and WIFI_USE_STA 1 in credentials.h
 
pio run -t upload

Connect to WiFi RF-Analyzer with password rfanalyzer-433, then open http://192.168.4.1/ in a browser.

Serial commands at 115200 baud: s stats · c clear · n noise floor · h help