Choosing a scan tab starts that mode. Camera and Settings leave it running. Hold BOOT for 1.5 seconds to restore the hotspot.
SCANNING FOR ALPR EVIDENCE...
Signal
-- Hz
Duty Cycle
-- %
GPS Fix
--
Satellites
--
Position
no fix
Camera
-- fps
microSD
--
Detections
0
ALPR focus
OPT101 timing
Waiting
Camera pattern
Waiting
Flock BLE
Waiting
Flock WiFi / OUI
Waiting
Waiting for evidence...
Evidence is combined within 3 seconds. Multiple sources increase support for a camera candidate; nearby radio and light may come from different devices. No recent evidence does not rule out a camera.
ALPR mode runs OPT101, camera analysis and only ALPR / Flock radio rules. Field scan hops priority channels 1/6/11. Enable OPT101 below after wiring. The radio shares time between WiFi and BLE.
Flock-You OUI, probe and BLE rules run alongside optical detection. Other device types are in Scanner. Tier 1 is a weak hint; signatures can be shared or spoofed.
Signal scope (live)
Brightness of the brightest spot in view. A flat scope can mean no visible pulse,
poor aim, saturation or missed flashes between frames. The OPT101 measures faster pulses independently;
a camera pattern alone cannot identify an ALPR.
IR photodiode sensor
OPT101 pulse timing: VCC to 3V3, GND to GND, OUT to
D1 (GPIO2) on the XIAO. Pi builds use MCP3008 CH0. See HARDWARE.md -
then flip this on. Status: off.
Timing profile: 8–12 Hz, 10–30% duty, 8–35 ms pulses,
four consecutive matching intervals at a target 1,000 samples/sec. Optical and radio evidence within three
seconds is logged together; co-occurrence does not prove they are the same device.
Near-IR view (640×480 on XIAO) with fixed exposure for detection. This is
a near-infrared view - bright blobs are IR / light sources. Point it at a suspected ALPR and watch
for a fast-flickering hot spot. Refreshes a few frames/sec so detection keeps running.
OFFLINE
Records to SD as MJPEG AVI (plays in VLC). "With audio" also
writes a matching WAV from the onboard mic (same name) - combine them in any editor. Recording
is the NIR view, same as above.
Recordings
-
SCANNING FOR DEVICE SIGNATURES...
General scan
ALPR / Flock, Axon, Ring, Meta glasses, Flipper Zero, WiFi Pineapple, Biscuit and drone signatures. Each has an editable sound in Settings.
Pineapple Pager is covered only when it advertises a recognizable Pineapple-family network name. This cannot identify the Pager model, silent devices or renamed networks. Biscuit uses its advertised name; matching name + service is stronger evidence.
General mode scans WiFi / BLE signatures, watchlists and drone Remote ID. Optical analysis runs in ALPR mode.
Field mode turns off the hotspot and hops the selected channels. Hold BOOT for 1.5 seconds
to restore this dashboard. Radio coverage does not change the selected scan mode.
OUI and company IDs are shared by unrelated devices. RSSI indicates received signal strength, not distance.
An IR timing match plus a nearby radio candidate does not establish that they are the same device.
Continuously listens for Axon Bluetooth advertisements. WiFi detection, camera analysis, OPT101 sampling, wardriving and other device alerts stop in this mode.
An Axon vendor match means a possible nearby Axon device; it does not prove a body camera or that it is recording. Silent devices cannot be detected. RSSI is signal strength, not distance.
5–60 seconds. Stops after 3 seconds without a matching advertisement. Change the Axon sound in Settings.
Wardrive only: nearby 2.4 GHz WiFi networks and Bluetooth Low Energy advertisements go to /wardrive/wigle_*.csv. Detection rules, automatic sounds and optical analysis are paused. The ESP32-S3 supports BLE, not Bluetooth Classic.
Use FIELD SCAN above for all-channel WiFi coverage (1–11); BLE continues. With a phone connected to the dashboard, WiFi reception stays on its current channel. Leaving this tab for another scan tab stops wardriving.
Rows require a fresh GPS fix, UTC, altitude and HDOP. Accuracy is an HDOP × 5 m estimate. Repeat observations are saved every 15 seconds per address; device names with line breaks are normalized for WiGLE.
Choose a sound for each device type or detection method. ALPR candidates use a retro blaster;
Axon uses a siren; Ring and Meta use questioning tones. Use a
passive piezo buzzer on GPIO1 (D0) to GND. Tones are stored on the device.
Custom tone library — select one of these slots in any sound assignment above.
Test plays a preview, even when automatic alerts are muted.
RTTTL format:name:d=4,o=6,b=180:notes -
d default duration, o octave, b BPM; notes like
8c6, 16g#, p (pause), . dotted.
Hit Test to preview any tone through the buzzer.