A pocket Wi-Fi will-o'-the-wisp. A battery-powered ESP32 handheld that locks onto an access point — or a specific device — by MAC and lets you walk it down by ear: a buzzer ticks Geiger-style, faster as you get closer, with a dBm / signal-bar / warmer-colder / peak-hold readout and a radar "getting closer" animation. Built for finding rogue APs on site.
01 // not a screen full of graphs
Pick a target — an AP or a single client — and Wisp throws away every other frame in the air. From then on it does exactly one thing: tell you, by sound, whether you're getting warmer or colder. You find it the way you'd find a buried wire: walk, listen, narrow.
Lock onto an access point — or a specific device — by its hardware address. Wisp follows that one radio, even when the SSID is hidden, spoofed, or shared by a dozen other APs.
A buzzer ticks Geiger-style and speeds up as you close in — eyes on the room, not on the screen. A radar "getting closer" animation and a peak-hold marker back up your ears.
Made for walking a site and physically locating a rogue AP, a beaconing device, or an unknown client — the handheld sibling to the Warlock deck, its AP-locator shrunk to a wand.
02 // how it finds it
No association, no handshake, nothing transmitted. Wisp listens in promiscuous mode and reads the signal strength off every frame in the air — then keeps only the ones from your target.
# the whole idea, in one line → ESP32 promiscuous mode reads each frame's RSSI, → filtered to the target's transmitter MAC # wlan.ta → only that one radio drives the meter.
Because the readout is locked to the transmitter address, a stronger AP next to your target can't fool it — the needle only moves for the radio you picked.
03 // what it shows you
Four ways to read the same signal — pick the one that gets you to the source fastest, or run them at once.
| Readout | What it tells you |
|---|---|
| Geiger buzzer | Audible ticks that speed up as the signal climbs — homing by ear, no glance required |
| dBm | The raw RSSI number for the target MAC, frame by frame |
| Signal bars | A coarse strength gauge for a read-at-a-glance fix |
| Warmer / colder | Direction of change — is the last step taking you toward the source or away? |
| Peak hold | The strongest reading seen so far, so a brief spike isn't lost as you move |
| Radar | A "getting closer" animation that tightens as you approach |
04 // the build — build-your-own
Wisp runs on off-the-shelf ESP32 handhelds you can hold in one hand. No deck, no Linux — flash the firmware and go.
| Component | Detail |
|---|---|
| Handheld | ESP32 — M5StickC Plus, M5 Cardputer, or LilyGo T-Display-S3 (built-in screen + battery) |
| Radio | ESP32 Wi-Fi in promiscuous (monitor) mode — RX only; Wisp never transmits |
| Buzzer | Piezo for the Geiger-style homing tone (faster as you close in) |
| Power | Onboard LiPo — pocket-sized, all-day field tool |
| Display | Built-in LCD for dBm, bars, warmer-colder, peak-hold, and the radar animation |
| Firmware | Arduino / ESP-IDF; build-your-own from the documented source |
Same posture as everything under the umbrella: receive-only, nothing transmitted, no association with the target — Wisp listens and points, it never touches.
Wisp is the Warlock AP-locator, shrunk to a pocket tool — the same idea (lock on a transmitter MAC, follow its RSSI) in something you can sweep a building with in one hand. Build the deck for everything; carry the wisp to walk the rogue AP down.