ESP32 · RF Analyzer
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.
Pin-change ISR timestamps every edge. Bursts are assembled from the edge stream, quality-filtered, and stored in a ring buffer ready for decoding.
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.
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.
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.
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.
Continuous edge-rate measurement shows ambient RF activity even when no structured packets arrive. Useful for diagnosing interference and antenna placement.
| # | Component | GPIO | Notes |
|---|---|---|---|
| 1 | ESP32 dev board (any 38-pin) | — | 3.3 V logic; USB serial for flashing |
| 2 | 433 MHz OOK receiver module | GPIO 4 | XY-MK-5V, RXB6, or similar superheterodyne |
| 3 | ~17.3 cm wire antenna | ANT pad | Quarter-wave for 433 MHz; solder to module ANT |
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