Home Spectrum Awareness

RF Observatory

Multi-sensor RF awareness across 87 MHz – 6 GHz. SDR spectrum scanning, passive WiFi monitoring, BLE device tracking, Zigbee inventory, and FAA Remote ID drone detection.

Approach

The system learns what "normal" looks like for each frequency band, then flags deviations — applied to radio spectrum. Welford's online algorithm builds rolling per-bin baselines (mean, variance, time-of-day patterns). Anomalies flagged at 3σ. Drone alerts via FAA Remote ID BLE beacons + WiFi SSID pattern matching. No cloud dependency — all processing local on Raspberry Pi 5.

Band Coverage — SDR Spectrum Scanner

Band Range (MHz) Use Case
FM Broadcast 87.5 – 108.0 Reference signals, calibration baseline
VHF Air 118.0 – 137.0 Aviation comms, ADS-B cross-reference
VHF Marine 156.0 – 163.0 Marine radio, AIS cross-reference
ISM 433 430.0 – 440.0 IoT devices, weather stations, key fobs
FRS/GMRS 462.0 – 467.0 Walkie-talkies, neighborhood radio
ISM 915 902.0 – 928.0 LoRa / Meshtastic mesh correlation
ADS-B 1085.0 – 1095.0 Aircraft transponder monitoring
Cell 700 698.0 – 756.0 LTE Band 12/17 — stingray detection
Cell 850 824.0 – 894.0 LTE/3G Band 5 — stingray detection
Cell 1900 1850.0 – 1990.0 PCS Band 2 — stingray detection

2.4 GHz — BLE, Zigbee & Drone Detection

BLE Device Scanning

Pi 5 built-in Bluetooth via bleak library

Async BLE scanning using the bleak Python library. 10-second scan windows every 30 seconds capture advertisement packets from all nearby BLE devices. MAC addresses are hashed with a local salt for privacy.

Zigbee Inventory

Home Assistant REST API → device census

Polls Home Assistant every 10 minutes to enumerate all Zigbee devices via ZHA/Z2M. Captures IEEE address, model, manufacturer, area assignment, LQI, and RSSI for each device.

Device Classification

Apple, Google, Samsung, Tile, HID, sensors

Classifies devices using BLE service UUIDs (heart rate monitors, environmental sensors, HID devices, COVID exposure) and manufacturer IDs (Apple=76, Google=224, Samsung=117, Tile=272).

FAA Remote ID (ASTM F3411)

Drone BLE beacons — mandatory since 2024

Detects the ASTM F3411 Remote ID service UUID (0xFFFA) broadcast by all compliant drones. FAA mandated since March 2024. Also detects Open Drone ID (0x0D00) for Bluetooth 5 long-range broadcasts.

DJI Protocol Detection

Manufacturer ID 9250 + WiFi SSID patterns

Identifies DJI drones via BLE manufacturer ID 9250 and WiFi SSID pattern matching (DJI-, MAVIC, PHANTOM, SPARK-, MINI-SE). Also matches Skydio, Autel, Parrot, and other consumer drone brands.

Drone Alert Dashboard

Real-time alerts with RSSI + sighting history

Drone sightings are logged with WARNING level, synced to the D1 API, and displayed on the RF dashboard with an orange alert banner showing device name, signal strength, detection source (BLE/WiFi), and timestamp.

Key Capabilities

> Stingray Detection

Live

Baseline cellular bands to flag rogue base stations / IMSI catchers

Monitors Cell 700 (Band 12/17), Cell 850 (Band 5), and Cell 1900 (PCS Band 2). Welford's algorithm builds per-bin baselines by hour-of-day. A new high-power signal in a cellular band that deviates >3σ from baseline triggers an anomaly — characteristic of IMSI catcher deployment.

> Drone Awareness

Live

FAA Remote ID + DJI BLE/WiFi detection with real-time alerts

Dual-mode detection: BLE scanner catches FAA Remote ID beacons (ASTM F3411) and DJI manufacturer advertisements. WiFi scanner catches drone hotspot SSIDs (DJI-*, Skydio-*, etc). Sightings are deduplicated by MAC hash and tracked with first/last seen timestamps.

> IoT Tracking

Live

Monitor ISM 433/915 for new or disappeared device signatures

The ISM 433 band (430-440 MHz) covers weather stations, key fobs, and home automation. ISM 915 (902-928 MHz) covers LoRa, Meshtastic, and smart meters. New persistent signals or disappearances of known devices are flagged as anomalies.

> Aircraft Monitoring

Live

Cross-reference ADS-B spectrum with decoded transponder data

RTL-SDR sweeps the 1090 MHz ADS-B band during spectrum scans and cross-references power levels with decoded transponder data from the dedicated ADS-B receiver (ultrafeeder container). Unusual power levels without matching transponder data could indicate spoofing.

> Mesh Correlation

Live

Correlate LoRa 915 MHz activity with Meshtastic node telemetry

The RF Observatory scans the ISM 915 band where Meshtastic operates (918.5 MHz for MeshOregon). Spectrum activity is correlated with known mesh node transmissions to distinguish expected mesh traffic from unknown signals in the band.

> WiFi Awareness

Live

Passive 802.11 monitor — device counts, SSIDs, radar HUD

ALFA MT7612U adapter in monitor mode captures probe requests, beacons, and data frames across 2.4/5 GHz. Tracks unique device counts (5/15/60 min windows), SSID inventory, AP-client associations, and estimated distances via RSSI. Real-time radar HUD on port 8075.

> Signal Intelligence

Live

Detect new transmitters, unusual power, time-of-day anomalies

Every 30-minute sweep cycle scans ~3000 frequency bins across 10 bands. Welford's online algorithm maintains running mean and variance per bin per hour-of-day. Anomaly types: power spikes, new signals, signal disappearances, and time-unusual activity (e.g., FM broadcast power changes at 3 AM).

> BLE Census

Live

Neighborhood Bluetooth device inventory with type classification

Maintains a rolling inventory of all BLE devices within range. Each device is classified by type, tracked with best/last RSSI, first/last seen timestamps, and sighting count. Hourly device counts are aggregated and synced to the cloud API for dashboard visualization.

> 2.4–6 GHz Spectrum

Planned

Full spectrum analysis of WiFi, BLE, and drone control bands

Requires HackRF One (~$350) to cover 2.4–6 GHz at the raw spectrum level. Would enable detection of non-standard drone control protocols, WiFi deauth attacks, and Zigbee interference that can't be seen at the protocol level.

> Drone Flight Tracking

Planned

Decode Remote ID location data and plot flight paths

FAA Remote ID beacons contain latitude, longitude, altitude, speed, and operator location. Parsing the ASTM F3411 payload would enable real-time flight path visualization on the dashboard map and historical track logging.

Infrastructure

Hardware

  • Raspberry Pi 5 (8GB)
  • RTL-SDR v3 (24–1766 MHz)
  • ALFA MT7612U (WiFi monitor)
  • Built-in BT 5.0 (BLE scan)

Operation

  • 30-min spectrum sweep cycles
  • 10s BLE scan every 30 seconds
  • WiFi passive capture (continuous)
  • Zigbee poll every 10 minutes

Storage & Sync

  • Local SQLite (no cloud dep.)
  • Welford's online statistics
  • D1 cloud sync every 5 min

Roadmap

Now

  • 10-band SDR spectrum scanning
  • WiFi passive monitor + radar HUD
  • BLE device scanning + classification
  • Zigbee inventory via Home Assistant
  • FAA Remote ID drone detection
  • Anomaly detection (3σ baselines)

Next

  • HackRF One (2.4–6 GHz spectrum)
  • 5 GHz WiFi drone control detection
  • Remote ID location decoding
  • Drone flight path tracking

Future

  • Multi-node mesh RF correlation
  • SDR-based drone fingerprinting
  • Automated alert → Slack pipeline