Making ESP32 radio firmware observable
A practical state model for radios, storage, an LCD, and a browser interface sharing one constrained device.
OUI-Spy C6 turns a compact dual-radio board into a focused field instrument with on-device controls and a responsive local web console.
BLE surveillance detection, proximity tracking, and Remote ID decoding have very different data shapes and feedback needs, yet must share constrained memory, radios, display hardware, and operator controls.
Engineering approachPure ESP-IDF C keeps the runtime close to the hardware. Mode-specific pipelines feed a consistent state model used by the LCD, status outputs, storage, WebSocket updates, and the embedded browser UI.
Passive BLE and Wi-Fi observation with protocol-specific decoders and bounded contact stores.
A compact LCD workflow pairs with a mobile-optimized local HTTPS console.
Optional microSD logging and offline map tiles keep useful context on the device.
Related writeups document implementation patterns, tradeoffs, and recovery considerations from this work.
A practical state model for radios, storage, an LCD, and a browser interface sharing one constrained device.
Public repository metadata and source are included where the project is available for review.