DUAL DOMAIN//WEB FLASHER//XIAO ESP32-S3
Install3 steps
1

Plug the board in

Use a real USB-C data cable — charge-only cables won't show up as a serial port. If it's your first flash, hold the BOOT button while plugging in.

2

Click Flash

Chrome, Edge, or Opera on desktop. Your browser will show a list of serial ports — pick the XIAO. The install takes about 30 seconds and wipes the board clean before installing.

Your browser doesn't support Web Serial. Open this page in Chrome, Edge, or Opera on a desktop. This page must be served over HTTPS. GitHub Pages handles that automatically.
3

Listen for the boot melody

The board reboots on its own and plays the Detector's melodic boot tune. Two ascending beeps mean it's ready — join the Wi-Fi below, open the portal, and add your targets.

Wi-Fi
snoopuntothem
Password
astheysnoopuntous
Open
http://192.168.4.1
The DetectorDual Domain Edition
[ BLE ]

Bluetooth domain

Passive BLE scanning with six signature classes: OUI prefix, full MAC, BT SIG company ID, 16-bit service UUID, name substring, and composite filters. Catches Axon body cams and Meta/Ray-Ban glasses even with rotating MACs.

[ WiFi ]

WiFi domain

Promiscuous management-frame scanning for wildcard probe requests and beacons. Time-sliced with BLE — one radio, both domains. Research & I-PRO body-worn camera signatures by DeFlock Joplin.

[ DB ]

OUI Database

One-click vendor signatures in the web portal: RING, AXON, FLOCK SAFETY, DJI, PARROT, SKYDIO, META / RAY-BAN, and I-PRO body cameras.

[ MQTT ]

Home Assistant

Publishes detections to any MQTT broker with auto-discovery — the Detector shows up as a device in Home Assistant, blips on detection, returns to idle after 10 seconds.

[ LOCK ]

Burn-in mode

Lock the configuration and boot straight into scanning for fixed deployments. Hold BOOT 1.5s to clear the lock and return to config mode.

Troubleshootingcommon snags
?

Nothing shows up in the port picker

Try a different USB-C cable (charge-only won't work), install CH340 or CP210x drivers if your OS doesn't auto-detect, or hold BOOT while plugging in to force download mode.

?

Flash finished but I hear nothing

The buzzer may be muted in saved settings. The board is fine — join the snoopuntothem Wi-Fi and confirm the portal loads at 192.168.4.1.

?

192.168.4.1 won't load on my phone

Android deprioritises networks with no internet and routes browser traffic over mobile data. Turn mobile data off, or accept the "stay connected" prompt, then reload.

?

Detector AP disappeared after locking config

That's intentional — locking is a one-way seal. Hold BOOT during power-on to clear the lock and restore the config AP. Reflashing does not unlock it; NVS survives a reflash.