RF discovery, wardriving & network exploration for ESP32-C5.
Discover Wi-Fi and Bluetooth LE devices, inspect networks, map observations, and save captures for analysis. Run standalone, connect to a phone app, or expand coverage with coordinated scanning nodes.
Install in your browser · Latest release and downloads
Stock UMBRAVOX theme, native 480×320 production-renderer previews using synthetic demonstration data. These are not hardware photographs.
![]() CVLT OF BAPH0MAU5 animated radar clip |
![]() COSMIC MUFFIN animated radar clip |
![]() SLICK live radar sweep |
Waveshare 3.5-inch SCAN screen, rendered by the same shared drawing code the firmware uses, with synthetic demonstration data (not hardware photographs). COSMIC MUFFIN and CVLT OF BAPH0MAU5 play their clips as built in.
| Board | Native UI | Current hardware evidence |
|---|---|---|
| Waveshare ESP32-C5-Touch-LCD-3.5 (reference board) | 480×320 | Browser installation, all four image hashes, and boot confirmed; the current source is also tested on this board |
| Waveshare ESP32-C5-Touch-LCD-2.8 | 320×240 | Browser installation, all four image hashes, and boot confirmed on the earlier prerelease; the current source is compile-checked only |
| NerdMinder NM-CYD-C5 | 320×240, the original UI | Current source flashed with PlatformIO, 12 of 12 clean boots; the browser install of this image is not yet run |
Each release's firmware packages carry the commit they were built from and a source snapshot
(manifest.json, SHA256SUMS.txt); the release notes say which commit that is. The evidence in the table above is
from the earlier prerelease published by slickrick773. Hardware testing of the current source so far: the
Waveshare 3.5-inch handheld with a XIAO ESP32-C5 node and a Waveshare ESP32-C5 dev-kit coordinator (flashed with esptool;
the browser installer has not yet been run on the current build), and the NM-CYD-C5 (original UI, flashed with PlatformIO). The 2.8-inch image is compile-checked only.
See node validation and
GPS recovery for boundaries.
Use desktop Chrome or Edge, a USB data cable, and the browser installer. Select your exact board: Waveshare 3.5″, Waveshare 2.8″, or NM-CYD-C5 (which keeps the original UI). After all four images verify, press RESET without holding BOOT.
First native-UI installation on a Waveshare board replaces the partition table with two 6 MiB app slots. The NM-CYD-C5 keeps its single 3 MiB slot. Back up needed internal flash data first; existing internal filesystem data may become inaccessible. External SD is not written. No full-chip erase is performed. OTA is not implemented.
See Waveshare partitions, NM native engine, and installer details.
- Dual-band Wi-Fi discovery: scan 2.4 GHz and supported 5 GHz channels, with selectable active/passive scanning and configurable dwell timing. Active mode transmits probe requests; hidden network names are not guaranteed to resolve.
- Bluetooth LE discovery: observe nearby advertisements alongside Wi-Fi scanning, with configurable scan allocation.
- SCAN: live Wi-Fi/5 GHz/BLE counts, channel activity bars and a theme-aware signal field. The SCAN field visualizes signal activity, not measured direction or distance.
- CODEX: browse discovered devices, sort APs by signal strength, and open full AP details including SSID, BSSID, channel, RSSI and security information.
- Deeper AP details: vendor/OUI lookup, signal history, first/last observation ages, advertised PHY capabilities and channel width, country, beacon interval and WPS information when available in received frames.
- DOMAIN: browse located APs with a geographic view, adjustable range and access to full AP details. Locations require available location evidence; unknown positions are not invented.
- Clients and probes: inspect observed station/AP relationships and requested network names. Hidden-name resolution uses captured evidence; a probe alone does not prove association.
- Alerts: review signature matches with evidence and confidence, plus a clearly labeled test alert. A vendor or signature match is an indication, not proof of a device's owner or purpose.
- WiGLE-compatible Wi-Fi CSV recordings.
- GPX tracks from valid GPS fixes during recording.
- Client and probe CSV companion files.
- Raw 802.11 PCAP capture for inspection in Wireshark, controlled separately from normal recording.
- A dedicated POI action for marking points of interest.
- Organized session and capture folders on SD, with a Files browser, access to legacy recordings, and protection against deleting files that are still in use.
- WarDriveGo and Biscuit BLE bridge: stream Wi-Fi observations to the selected phone app. Toggle the bridge from the header; the phone supplies location for its own records. This is not a BLE-device or raw-PCAP export stream.
- Coordinated scanning nodes: distribute channel work and configure scanning mode/dwell from the handheld.
- Nodes diagnostics: inspect applied versus requested settings, report freshness, queue occupancy/drops and delivery failures.
- Bridge streaming, local scanning and SD recording have separate controls. Stopping recording does not stop discovery.
- Native landscape layouts at 480×320 and 320×240.
- Persistent navigation, scrolling lists and full AP detail pages.
- Header GPS, Nodes, bridge, SD and battery indicators; absent batteries do not display a fabricated charge level.
- Dedicated Scanning, Recording, Bridge and Nodes settings pages.
- Separate display/touch controls for brightness, idle behavior and touch testing.
- Bundled general and crew themes, plus SD theme-pack support. The release screenshots use the stock UMBRAVOX theme.
Active Wi-Fi scanning transmits probe requests. BLE bridges and node reporting also transmit; this firmware is not receive-only. Scan mode, recording and bridge state are separate controls.
Local GPS-dependent recordings need a valid board GPS fix. Phone GPS supplies the phone app's records and is not assumed to feed back into the board. Native portrait mode and direct WiGLE / WDG Wars / Wardrift API uploads are not included. The XIAO ESP32-C5 node is available as a separate download on the latest release. See XIAO node installation for flashing and enrollment.
The native UI lives in ui/, with device integration under device/, host tests
under sim/, and the browser installer under web/native/.
make -C sim test
node --test web/native/test/*.test.mjs
bash tools/build-designer-wasm.sh
npm testDesigner tests require the Emscripten version pinned in tools/emsdk-version.txt.
See flashing tools for the validated CLI version and
setup. See platformio.ini for board-specific build environments. Choose the native
engine target for your board; legacy build targets remain in the source tree.
GPL-3.0-or-later — see LICENSE.
The device-signature tables and their confidence grading are derived from SquachWatch-CYD (GPL-3.0); see NOTICE for details and credit.
Porting the project to the Waveshare C5 display was done by slickrick773.



