OUI-SPY · Volume 1

OUI-SPY Volume 1 — Overview, Brand & Decision Graph


Figure 1 — The OUI-SPY ecosystem logo, reused across the detector, foxhunter and unified builds. Image: colonelpanichacks (GitHub).
Figure 1 — The OUI-SPY ecosystem logo, reused across the detector, foxhunter and unified builds. Image: colonelpanichacks (GitHub).

1.1 About this Volume

This is the orientation map for the OUI-SPY family — a set of passive surveillance-detection firmwares published by the GitHub author colonelpanichacks (handle “colonelpanic”; the author’s real name is not published, and this series does not assert one). The goal of the volume is to answer four questions before any hardware or methodology detail arrives in the later volumes:

  1. What is OUI-SPY — one brand, many firmwares, one deliberately narrow mission.
  2. What are the pieces — the repository list, what each one does, how many people have starred it, and under what licence it ships.
  3. What is the Blue/Red split — why everything covered in depth here is passive, and why a small offensive corner is quarantined to a category-level mention only.
  4. Where does it fit — against the three sibling detectors already on the Hack Tools bench (SquachWatch, Nyan Box, HaleHound), and which OUI-SPY firmware to reach for which job.

Everything in this volume is written to the project’s public GitHub READMEs and store as of 2026-10-16. Hardware specifics (the Seeed XIAO ESP32-S3, the finished OUI-SPY board, the alternative boards, and the full “Where this firmware runs” supported-hardware table) live in Volume 3 — this volume points down to that table rather than duplicating it. The detection methodology — the OUI union, the wildcard-probe IE fingerprint, the five-tier confidence model, and the BLE signature set — is the subject of Volumes 4 through 6.

Voice note. This is a reference account of a tool that has not been built or operated on this bench. Nothing here is written as first-hand experience. Where a later volume would benefit from a build log or a field session, a JEFF'S STORY GOES HERE marker flags the gap rather than inventing one.

1.2 What OUI-SPY is, and where the name comes from

OUI-SPY is a brand covering a growing collection of ESP32 firmware images whose single shared purpose is to detect fixed and wearable surveillance hardware by listening to the 2.4 GHz band — Wi-Fi management frames and Bluetooth Low Energy (BLE) advertisements — and matching what it hears against a hand-curated, forensically-sourced set of radio signatures.

The name is a two-layer pun. OUI is the Organizationally Unique Identifier: the first 24 bits of every Ethernet/Wi-Fi/BLE MAC address, the block the IEEE assigns to a manufacturer. Those 24 bits are exactly what the firmware keys on first — a camera, a battery pack or a body camera gives away its maker in the top half of its MAC long before it says anything else. Read aloud, “OUI-SPY” is also “we-spy” — the detector that watches the watchers. Both readings are deliberate.

The mission is narrow on purpose. OUI-SPY is not a general wireless scanner, a Wi-Fi auditing suite, or a kitchen-sink multitool. The flagship firmware, flock-you, exists to answer one question — is there a Flock Safety automated licence-plate-reader (ALPR) camera, or one of its accessories, within radio range right now? — and to answer it on a headless US$7.50 board with a piezo buzzer and no screen. The other firmwares widen that question (other vendors, drones, Axon gear) or change its shape (direction-finding, raw packet capture), but each one stays single-purpose. The design thesis of the whole family is depth and minimalism over breadth and UI.

 OUI-SPY in one paragraph
 ═══════════════════════════════════════════════════════════════════════
 a $7.50 XIAO ESP32-S3 listens to matches against
 ┌──────────────────┐ 2.4 GHz air signature sets
 │ Wi-Fi promisc RX │◀── 802.11 mgmt frames ───┐ ┌──────────────────┐
 │ BLE passive scan │◀── BLE advertisements ────┼──▶│ OUI union (34) │
 └─────────┬─────────┘ │ │ probe-req IE sig │
 │ │ │ SSID patterns │
 │ a match, graded by confidence tier │ │ BLE GATT / names │
 ▼ │ │ BLE company IDs │
 ┌──────────────────┐ │ └──────────────────┘
 │ GPIO3 piezo buzzer│ tone + cadence encode the tier (0–4)
 │ GPIO21 LED │ no screen, no phone needed to get the alert
 └──────────────────┘
 │ optional: JSON over USB-CDC → Flask map, or on-device AP page
 ▼
 ═══════════════════════════════════════════════════════════════════════

The payoff of keeping it headless is cost and deniability: the whole instrument is a thumbnail-sized board on a USB cable that beeps. There is no touchscreen to light up, no mascot, no log that has to be read on-device. Anything richer — a map, an export, a device history — is bolted on at the host side (a laptop running a small Flask app) or served from a tiny on-device web page, and is strictly optional. Volume 3 covers the board; Volume 6 covers the companion software.

A short vocabulary is worth fixing now, because the whole series leans on it:

Table 1 — A short vocabulary is worth fixing now, because the whole series leans on it

TermMeaning in this series
OUIOrganizationally Unique Identifier — the top 24 bits of a MAC, the IEEE-assigned maker block. The first thing the detector keys on.
Probe requestAn 802.11 management frame in which a Wi-Fi client asks “what APs are out there?” A wildcard probe names no network (zero-length SSID).
IE / Information ElementA tagged field inside an 802.11 frame. The ordering and contents of a probe’s IEs form a device fingerprint (Volume 4).
GATT / service UUIDThe Bluetooth LE attribute model; a device advertises service UUIDs that identify what it is (Volume 5).
Company IDA Bluetooth-SIG-assigned 16-bit maker identifier carried in a BLE advert’s manufacturer-specific data.
TierOUI-SPY’s 0–4 confidence grade for a hit; the piezo tone encodes it (Volumes 4, 6).
Foxhunt / DFDirection-finding — using signal strength and a directional antenna to walk to an emitter (Volume 8).
Blue / RedPassive detection (Blue, this series) versus offensive transmit (Red, §4 and Vol 9).

1.3 The ecosystem at a glance

OUI-SPY is not a single repository. It is roughly a dozen repositories under the same author, most sharing code and a common signature philosophy. The table below is the whole published family as of 2026-10-16, with the GitHub star counts at the time of writing as a rough popularity signal. The flock-you flagship is an order of magnitude more starred than anything else in the family, which is a fair indicator of where the project’s centre of gravity sits.

Table 2 — 3. The ecosystem at a glance

RepositoryRoleSideStarsCovered in
flock-youCore passive Flock ALPR + accessory detector (flagship)Blue~1480Vols 4–6
oui-spyBase OUI-SPY detector firmware / board firmwareBlue552Vols 1, 7
oui-spy-unified-blueAll-in-one build: boot-selector over 7 modesBlue223Vol 7, 10
Sky-SpyPassive drone Remote ID detector / mapperBlue177Vol 9
ouispy-detectorDual-domain general surveillance detector (8 filters)Blue64Vol 7
ouispy-foxhunterRSSI direction-finding / proximity trackerBlue29Vol 8
axeoffHeadless Axon (body-cam / Taser) detectorBlue7Vol 7
ouispy-pcapPassive Wi-Fi packet capture + dashboardBlue7Vol 7
ouispy-blesniffPassive BLE-advertisement capture + dashboardBlue5Vol 7
Remote-ID-SpooferOffensive drone-RID transmitterRed41Vol 9 (category only)
Oui-Spy-UniPwnOffensive ESP32 port of the UniPwn Unitree exploitRed38Vol 9 (category only)

Two things to carry forward from this table. First, the family is almost entirely Blue — passive detection; only two repos are on the offensive “Red” side, and those are handled at category level only (Section 4, and Volume 9). Second, the star distribution is a map of the mission: the Flock detector dominates, then the base OUI-SPY firmware and the unified multi-mode build, then a long tail of focused tools (drone RID, dual-domain detector, direction-finder, Axon, packet/advert capture).

[FIGURE SLOT — Vol 1 §3] A screenshot of the colonelpanic.tech store front and/or the GitHub profile showing the repository list, to anchor “this is one author’s ecosystem, sold as finished boards.”

1.4 Blue Edition and the coming Red Edition

The project frames its own firmware in two “editions,” and the distinction is the single most important posture fact in this series.

Blue Edition — the current, shipping firmware — is all-passive detection. It listens. It puts the ESP32 Wi-Fi radio into promiscuous (monitor) receive and runs a BLE scan, compares what arrives against signature sets, and signals a match on a buzzer and LED. In its pure form it never transmits anything that would make a target react. (The one honest asterisk: the general dual-domain detector firmware and the foxhunter both use BLE active scanning, which does transmit scan-request packets — that nuance is called out where it occurs, in Volumes 5, 7 and 8. It is a world away from an attack.)

Red Edition — stated to be in development — is the offensive side. Two repositories already exist on that side and are explicitly separated from the Blue tools:

  • Remote-ID-Spoofer — a tool in the class of drone Remote ID transmitters: firmware that emits fabricated ASTM F3411 Remote ID beacons. It is the inverse of Sky-Spy (Volume 9), which only receives them.
  • Oui-Spy-UniPwn — an ESP32 port of the publicly-disclosed UniPwn exploit class targeting Unitree robots.

Scope rule for this series. The Red tools are described only at the level of what class of thing they are, why they are kept separate from the detectors, and where the legal and ethical line falls. This series contains no attack steps, no command sequences, and no reproduced menus for them. Everything else in the family — every detector — is passive or near-passive and is covered in full engineering depth. The reasoning: a detector you point at your own neighbourhood to see what is watching you is a categorically different act from a transmitter you point at someone else’s aircraft or robot. Volume 9 draws that line explicitly and stops there.

 Blue (this series, in depth) Red (category mention only, Vol 9)
 ──────────────────────────────── ──────────────────────────────────
 flock-you ouispy-detector Remote-ID-Spoofer (RID transmit)
 oui-spy ouispy-foxhunter Oui-Spy-UniPwn (Unitree exploit)
 Sky-Spy axeoff ─────────────────────────────────
 ouispy-pcap ouispy-blesniff "Red Edition in development"
 oui-spy-unified-blue (all 7 modes) NO procedures reproduced here
 ──────────────────────────────── ──────────────────────────────────
 RECEIVE / LISTEN / DECODE TRANSMIT / INTERFERE
 (active BLE scan on a couple builds) legal line: see Vol 9 §legal

1.5 The licensing is mixed — read it per repo

A common shorthand — “OUI-SPY is MIT” — is wrong, and this series states the licence per repository. The family grew organically and its licensing is not uniform. Treat the table below as authoritative over any blanket claim.

Table 3 — 5. The licensing is mixed — read it per repo

RepositoryStated licenceHow it is stated
flock-youMITnamed MIT in the README
axeoffMITnamed MIT in the README
ouispy-pcapMITnamed MIT in the README
ouispy-blesniffMITnamed MIT in the README
oui-spyOpen source”open source, modifications welcome” — no SPDX
ouispy-detectorOpen source”open source, modifications welcome” — no SPDX
ouispy-foxhunterOpen source”open source, modifications welcome” — no SPDX
oui-spy-unified-blueOpen source”open source, modifications welcome” — no SPDX
Sky-SpyApache-2.0 (inherited)“as-is, educational”; inherits Apache-2.0 from OpenDroneID
Remote-ID-SpooferNot statedoffensive repo — no licence stated
Oui-Spy-UniPwnNot statedoffensive repo — no licence stated

The practical consequences:

  • The four MIT repos (flock-you, axeoff, ouispy-pcap, ouispy-blesniff) are the ones with an unambiguous, permissive, reuse-friendly licence — relevant if any signature table or code path is to be lifted into another project.
  • The four “modifications welcome” repos declare open-source intent but carry no SPDX identifier, so the exact legal terms are not pinned. Reuse of those should be treated conservatively (ask, or confine to personal use) until an explicit licence is added.
  • Sky-Spy is best described as Apache-2.0 because it is built on OpenDroneID, whose Apache-2.0 licence it inherits; the repo itself frames its own additions as “as-is, educational.”
  • The two Red repos state no licence at all — a further reason this series keeps them at arm’s length.

Callout — do not claim “the ecosystem is MIT.” It is a mix of MIT, unspecified-but-open, and Apache-2.0, with two unlicensed offensive repos. When citing a licence, cite the repository, not the brand.

1.6 The finished boards — OUI-SPY and the Earrings

OUI-SPY is primarily firmware, but the author also sells finished boards at the store colonelpanic.tech, so a buyer need not source a bare XIAO and solder a buzzer. Two product forms are published:

  • The OUI-SPY board — a finished, pre-flashed detector built around the reference hardware. The retail price is not published on the store page as captured, so this series does not quote one; the build-your-own bill of materials in Volume 3 (a ~US$7.50 XIAO plus a piezo and a cable) is the honest floor on what the hardware costs to reproduce.
  • The “OUI-SPY Earrings” variant — a wearable form factor with a 100 mAh LiPo and no buzzer (the buzzer being impractical in an earring). Without a buzzer, the Earrings rely on the LED/NeoPixel and the optional web dashboard for the alert channel rather than the audible tiered tones.

The hardware detail — why the XIAO ESP32-S3, the pinout, the buzzer/LED wiring, the antenna options and the full supported-board matrix — is all in Volume 3; see Volume 3 for the full “Where this firmware runs” supported-hardware table, which is the canonical answer to “what can I flash this on.”

[FIGURE SLOT — Vol 1 §6] A product photo of the finished OUI-SPY board and, if available, the Earrings variant, from colonelpanic.tech — to show the two retail forms next to the bare-XIAO reference build.

1.7 Where it sits next to SquachWatch, Nyan Box and HaleHound

Three sibling surveillance-detector tools are already documented on this bench. OUI-SPY is a deliberately different point in the design space from all three. The matrix below is the fast orientation; the detailed head-to-head is repeated as a cheatsheet in Volume 10.

Table 4 — 7. Where it sits next to SquachWatch, Nyan Box and HaleHound

AxisOUI-SPYSquachWatchNyan BoxHaleHound
Primary formHeadless $7.50 XIAO + buzzer$15 CYD touchscreenESP32 handheld, OLED$7 CYD + plug-in radios
UIBuzzer + LED (+ optional web)Full color touchscreen, mascotSmall OLED menuTouchscreen
RadiosWi-Fi + BLE (2.4 GHz)Wi-Fi + BLE (2.4 GHz)Wi-Fi + BLE + sub-GHz/2.4 (NRF24)Wi-Fi + BLE + CC1101 + NRF24
Signature styleForensic: firmware-dump OUIs + IE fingerprint + tiered gradingBroad named-signature catalogue, gradedHidden-camera + RemoteID focusModular; one module is a Flock detector
Direction-findingYes — Foxhunter RSSI DFNoNoNo
Drone Remote IDYes — Sky-SpyYesYes (a focus)Module-dependent
BreadthNarrow + deep per targetBroadMediumBroad (many modules)
LicenceMixed (see §5)GPL-3.0Open (MIT)Proprietary firmware

Read it as a spread between two philosophies:

  • SquachWatch and HaleHound are breadth + screen tools: a wide catalogue of named signatures presented on a touchscreen, meant to be glanced at. SquachWatch adds a HUNT gauge, LoRa/GPS wardriving and a BLE mesh; HaleHound adds plug-in CC1101/NRF24 radios and dozens of modules.
  • OUI-SPY is the depth + minimalism + direction-finding tool: it knows far fewer device classes, but it knows the Flock signature forensically — including two OUIs pulled from an actual Flock camera firmware dump and a wildcard-probe Information-Element fingerprint that nothing else here uses — and it is the only one of the four that can walk you to the emitter via its RSSI foxhunter.
  • Nyan Box overlaps most on the drone-RemoteID and hidden-camera axes, but has no Flock-specific forensic signature set and no DF.

The one-line positioning: reach for SquachWatch or HaleHound to see what kinds of surveillance gear are around; reach for OUI-SPY/flock-you when the question is specifically is a Flock camera watching this spot, and can I walk to it — and accept a buzzer instead of a screen as the price of a $7.50 instrument.

A relationship worth stating precisely: OUI-SPY/flock-you is the upstream, single-purpose open-source origin of the Flock-detection technique. HaleHound ships a “Flock You”-named detector module among its many modules. Whether HaleHound forks the flock-you code or independently reimplements the signatures is unverified — so the correct framing is shared technique / upstream origin, not a confirmed code fork.

1.8 Which firmware for which job — the decision graph

With ten-plus firmwares, the practical first question is which one to flash. The graph below routes from the job to the build. The all-in-one Unified Blue image (Volume 7) is the pragmatic default because it carries a boot-time selector over seven of these modes, so a single flash covers most of the tree; the standalone images matter when a mode needs to run leaner or has an extra feature.

 "What am I trying to find / do?"
 ────────────────────────────────────────────────────────────────────────
 │
 ├─ A Flock ALPR camera (or Penguin pack / Raven) nearby?
 │ └─▶ flock-you (the flagship; tiered Wi-Fi+BLE Flock engine)
 │
 ├─ ANY surveillance device — glasses, body-cams, trackers, broadly?
 │ └─▶ ouispy-detector (dual-domain, 8 filter classes, browsable OUI DB)
 │
 ├─ An Axon body-cam / Taser specifically, headless?
 │ └─▶ axeoff (Axon-only buzzer detector)
 │
 ├─ I know the target's BLE MAC — walk me to it physically?
 │ └─▶ ouispy-foxhunter (RSSI direction-finding, buzzer cadence) → Vol 8
 │
 ├─ A drone / its Remote ID broadcast (and the pilot location)?
 │ └─▶ Sky-Spy (OpenDroneID / ASTM F3411 receiver + map) → Vol 9
 │
 ├─ Capture raw Wi-Fi frames for later analysis?
 │ └─▶ ouispy-pcap (passive capture + in-PSRAM pcap download)
 │
 ├─ Capture raw BLE advertisements?
 │ └─▶ ouispy-blesniff (passive BLE-advert capture + dashboard)
 │
 └─ "I just want one flash that does most of the above"
 └─▶ oui-spy-unified-blue (boot-selector: pick a mode at 192.168.4.1) → Vol 7
 ────────────────────────────────────────────────────────────────────────
 (Offensive Remote-ID-Spoofer / UniPwn are NOT on this graph — see Vol 9.)

Pair the graph with the hardware matrix in Volume 3: most of these modes run on the default XIAO ESP32-S3, but Sky-Spy’s dual-band 5 GHz variant needs a XIAO ESP32-C5, and a couple of boards (notably the T-Dongle-S3) are planned but not yet buildable. The supported-hardware table in Volume 3 is the final word on which build runs where.

Three practical notes that keep the decision honest:

  • Unified Blue is the sane default. A single flash of oui-spy-unified-blue boots into a selector (Volume 7) and covers seven of the modes above. Reach for a standalone image only when a mode must run as lean as possible, or needs a feature the unified build does not carry.
  • Two modes are hardware-gated, not just a flash choice. Full 5 GHz drone Remote ID needs the XIAO ESP32-C5 (xiao-c5-5g); serious foxhunting needs a directional/Yagi antenna on the U.FL connector. Both are Volume 3 hardware decisions, not firmware toggles.
  • “Passive” is the default but not absolute. flock-you, the capture firmwares and Sky-Spy are receive-only; the dual-domain detector and the foxhunter use BLE active scan (they transmit scan requests). That nuance is flagged wherever it occurs and does not move those tools onto the Red side.

1.9 How to read this series

Ten volumes, grouped:

Table 5 — Ten volumes, grouped

VolTopicReach for it when…
1Overview, brand & decision graph (this volume)Orienting; picking a firmware
2The threat it detects — Flock, Penguin, Raven, AxonUnderstanding what is being found and why it is detectable
3Hardware — XIAO ESP32-S3, the boards, the support tableBuying / building / flashing-target decisions
4Detection methodology I — Wi-Fi (OUI union, IE fingerprint, 5 tiers)Understanding the Wi-Fi engine
5Detection methodology II — BLE (NimBLE, GATT/company-ID sigs)Understanding the BLE engine
6flock-you in depth — config, buzzer map, Flask + Python companionRunning the flagship end-to-end
7The OUI-SPY module family — Detector, PCAP, BLE-Sniff, axeoff, UnifiedChoosing and switching modes
8Direction finding — FoxhunterWalking to an emitter
9Drones & the Red edge — Sky-Spy, and the offensive lineRemote ID; understanding the Red/Blue boundary
10Build/flash, operations, legal & comparison cheatsheetFlashing; posture; the final head-to-head

The spine of the series is Volumes 4–6: the methodology is what makes OUI-SPY worth documenting next to the broader-but-shallower detectors. This volume and Volumes 2–3 are the setup — what the thing is, what it hunts, and what it runs on.

[FIGURE SLOT — Vol 1 §9] A one-page “family tree” graphic of the OUI-SPY ecosystem (flock-you at the root, the module family and Sky-Spy as branches, the Red tools in a greyed-out quarantined box), suitable as the series frontispiece.

Comments (0)

  1. Loading…

Comments are held for moderation — nothing appears until approved.