A compact handheld variant with built-in display and buzzer alerts. Passively detects surveillance devices using WiFi promiscuous mode and Bluetooth Low Energy scanning.
- WiFi Scanning: Promiscuous mode detection of probe requests and beacons
- Bluetooth Low Energy: Active scanning for device names, MAC addresses, and service UUIDs
- Pattern Matching: Identifies devices based on SSID patterns, MAC prefixes, device names, and service UUIDs
- Buzzer Alerts: Internal buzzer tones for startup and detections
- Status Display: On-screen startup and scanning state with current WiFi channel
- JSON Telemetry: Structured event reporting via serial output
- Event-Driven Architecture: Modular design for easy extension
- M5StickC PLUS2 (ESP32 V3 Mini) device
- USB Cable for programming and power
For Arduino IDE installation and ESP32 board support, see Getting Started.
Install via Arduino IDE Library Manager:
- M5Unified by M5Stack
- Select board: Tools > Board > M5Stack > M5StickC Plus2
- Upload speed: 115200
- CPU frequency: 240MHz (WiFi/BT)
- Partition scheme: Default 4MB with spiffs or Huge APP (3MB No OTA/1MB SPIFFS)
- Connect via USB
- Select port: Tools > Port
- Click Upload
Open at 115200 baud. See Telemetry Format for the JSON schema.
- Power on the M5StickC Plus2
- The system will:
- Show
starting...on the display with short beeps - Initialize WiFi sniffer and BLE scanner
- Begin scanning for targets
- Show
Scanningand current WiFi channel on the display
- Show
- Startup: Short beeps when the system boots
- Alert: Two beeps on threat detection
flocksquawk_m5stick/
├── flocksquawk_m5stick.ino # Main orchestrator
├── README.md
└── src/
└── RadioScanner.h # Variant-specific RF scanning
Shared headers (EventBus.h, ThreatAnalyzer.h, Detectors.h, etc.) are in common/.
- Configuration -- WiFi/BLE tuning, detection patterns
- Architecture -- pipeline, detectors, thread safety
- Extending -- adding detectors, patterns, new variants
- Build System -- Makefile and Docker builds
- Troubleshooting -- common issues
- Inspired by flock-you
- ESP32 community for excellent hardware support
- NimBLE-Arduino for efficient BLE scanning
- ArduinoJson for flexible JSON handling