Confirm
Connecting to device...
Rebooting...
Please wait while the device restarts
🚨
DRONE DETECTED
Acoustic signature identified
N S E W
DIRECTION
--%
CONFIDENCE
--m
DISTANCE
-- -- Hz --
🗣️
VOICE DETECTED
Heuristic detection — no ML
Node--
Type--
----
WiFi Connection --
Drops0 Session--
--%
--
Heap Memory --%
🔊 Speaker Test Mode OFF
NO DRONE
Detection has a ~2-4s delay (temporal confirmation + ML processing)
Sub-Bass • Bass • Low-Mid
20Hz150Hz400Hz
--
Hz
Listening...
0
--
--
Harmonics
0
Duration
0
SNR
Temporal
Audio File Upload
Upload an audio file to run through the detection pipeline as if from the microphone.
📁
Drop audio file here or click to browse
WAV · MP3 · OGG · FLAC
Audio Analysis
Spectrogram
1st
--
2nd
--
3rd
--
4th
--
Spectrum Analysis
0 Hz8000 Hz
Audio Calibration
Calibrate noise floor, max level, and environment characteristics.
Not calibrated
Noise Floor --
Max Level --
Flatness ≤ --
Detection History
60s agonow
Signal Quality
--
SNR
--
Noise Floor
--
Audio Level
Live Thresh
Flatness
----
Kurtosis
----
Autocorr
----
Comb
----
Modulation
----
FrequencyHz
--80-800
CentroidHz
--0-2000
Harmonics#
--0-4
H2: --
H3: --
H4: --
Pipeline Timeline
T0 T1 T2 T3 TMP RES
T0 T1 T2 T3 TMP RES
T0
Hearing Something?
Filters out silence and very quiet background noise.
Single check - pass or skip analysis:
Audio Peak: --≥--
T1
Quick Rejection
Rejects wind noise, traffic sounds, explosions, and speech.
Must pass 2/3 checks:
Flatness: --≤--
Flux: --≤--
Low-Freq: --≤--
T2
Drone Signature
Matches drone sound patterns and calculates confidence score.
All gates must pass + confidence threshold:
Frequency: --∈--
SNR: --≥--
Confidence: --≥--
-- --
Total: --/95 = --%
Criteria: -- | Jitter: --
T3
AI Verification
Uses AI to verify uncertain detections.
Only runs if T2 is uncertain (35-60%):
ML Score: --≥--
AI trained on real drones says?
TMP
Time Consistency
Prevents false alarms from glitches and random noise.
All 3 checks must pass:
Detections: --/--
Heard X times in window?
Hit Ratio: --%≥--%
What % of samples passed?
Freq Jitter: --≤--
Pitch stable or jumping around?
Peak: --
Conf: --%
ML: --
CFAR: --
NoiseFlr: --
MidBand: --%
Detection Charts
Tier 0 · Signal Presence
PEAK LEVEL
-- 1000
SENSITIVITY
-- 1.0x
NOISE FLOOR
--
CFAR
--
ADAPT NOISE
--
BAND MID
--
RMS
--
T0 CONSEC
0 2
RMS thr:
Consec:
Tier 1 · Noise Rejection
FLATNESS
-- 0.78
FLUX
-- 500k
LOW FREQ
-- 0.60
Tier 2 · Signal Analysis
Detection Mode Conf Min
FREQUENCY
-- 150-800
KURTOSIS
-- 0.8
AUTOCORR
-- 0.30
COMB
-- 0.26
HARMONICS
-- 2
MODULATION
-- .02-.80
SNR
-- 5.0
JITTER
-- 0.70
MIN CONF
-- 35%
Criteria Gate
Kurtosis Autocorr Comb 0/3
Tier 3 · ML Inference
ML THRESHOLD
-- 0.65
⏱ Temporal Confirmation
WINDOW
-- 4s
MIN DETECTIONS
-- 3
Requires 3 detections in 4s window
Environment Preset
Ambient Auto-Calibration
One-button calibration. Device listens to your environment and auto-tunes thresholds. No drone needed.
Adaptive Noise Gate
Continuously adjusts T0 gate based on ambient noise floor. Reduces false positives in changing environments.
Verify Detection
Play drone audio on your phone at ~3-5m to validate detection works.
sec
Search "drone sound effect" on YouTube and play at max volume. Hold phone 3-5m from device.
Import Parameters
File Size--
Parameters--
🛰️Map loading...
Mesh Nodes
No nodes discovered yet
Endpoints
Network Status
--
LoRa Radio
0
Nodes Online
0
Total Discovered
0
Active Alerts
RF Recon
RSSI Topology Map
Asks all nodes for their RSSI to peers, then builds a relative map without GPS
This Node
Node ID--
Firmware--
Uptime--
WiFi Clients--
WiFi Mode--
LoRa RX Packets--
Last RX--
Display
WiFi
BLE
Map
Network Stats
Messages Received0
Last Ping RTT--
Avg Signal (RSSI)--
Broadcast
Event Summary
Device Log
Waiting for logs...
Message Log
No messages
Settings
General
WiFi
Location
Radio
Battery
Temperature
Storage
Modes
Audio HW
Update
Cloud
Params
Logs
System
Dashboard Mode
Advanced mode shows technical parameters, hardware details, and debug tools.
Quick Start
Run the hardware verification wizard
Location Manual
Coordinates--
Source
Open Google Maps, long-press your location, tap coordinates to copy
🔧 Device Mode
Set whether this device operates as a sensor (mics + detection) or monitor (TFT display).
Currently running as: --
🕐 Device Time
Timezone offset applied to device clock. Sync button pushes browser time if NTP is unavailable.
Remote Support
WebSocket tunnel (30 min session)
Home WiFi
Connect to your home network to access the dashboard while keeping internet.
StatusChecking...
Home IP--
Hostname--
Home WiFi
Connect to saved network (disabling stabilizes AP channel)
STA-only Mode
Drop AP, dedicate radio to home WiFi (more stable)
Hidden AP
SSID won't appear in WiFi scans
Connection Timeline --
Status
Waiting...
Drops
0
~10 min agoNow
No connection events yet
📍 Location Manual
Coordinates--
Altitude--
🔘 Allow [B] Alerts
When OFF, pressing the physical button won't trigger drone alerts.
📡 Simulated RSSI
Override RSSI with GPS-distance path loss model. For desk testing only.
🧭 North Offset
📡 LoRa Region
Select the frequency band for your region. Changing this will reboot the device.
📶 LoRa TX Power
Transmit power in dBm. Lower power saves battery and reduces risk when no antenna is connected.
22 dBm
2 dBm (low) 22 dBm (max)
📊 Telemetry
Push telemetry data to the backend server. Use this to test the connection.
Data Intervals
How often telemetry is pushed to the cloud and how frequently local device logs are saved.
Battery Status
--%
--V
Unknown
Charge state based on ~30s voltage trend
☀️
Solar
🔋
Battery
Node
🔋 Battery Status Live
--%
--V
Unknown
Charge state based on ~30s voltage trend
☀️
Solar
🔋
Battery
Node
Battery (1 min)
-60s ━ Battery % Rate bar → now
Tier Pipeline (1 min)
T0 T1 T2 T3 TMP RES W
T0 T1 T2 T3 TMP RES W
Rate (1 min) mV/min
-60s
▲ charging ▼ discharging
now
History (10h) --
-10h
charge discharge WiFi
now
Tier Pipeline (10h)
T0 T1 T2 T3 DET
-10h bar height = count per interval now
Usage Statistics
Tier Triggers
T0: --%
T1: --%
T2: --%
T3: --%
TMP: --%
Total: --
Energy by Tier
Idle: --%
T0: --%
T1: --%
T2: --%
T3: --%
Latency (µs)
T0: --
T1: --
T2: --
T3: --
Tot: --
--
WiFi On: --% of time
Impact: --
Session Usage
--
Est. Current
--
Trend
--
Time Remaining
--
Battery metrics are trend-based (voltage delta over ~30s) — may lag actual state changes
Energy Balance
No solar detected yet Session: 0s
Voltage
Est. Energy
Time
Solar
+0 mV
~0 mAh
0s
Drain
-0 mV
~0 mAh
0s
Stable
--
--
0s
Net Balance
0 mV ~0 mAh
Solar inferred when charging without USB. mAh estimated from voltage using linear LiPo model.
Estimated Power by Module
📶 WiFi ~80mA
🤖 ML Inference ~15mA
🧠 CPU ~20mA
Base~8mA
T0 (Signal)~2mA
T1 (Noise)~3mA
T2 (Algo)~5mA
Temporal~2mA
📡 LoRa Radio ~15mA
🎤 Audio/I2S ~5mA
📺 OLED Display ~10mA
Total Estimated ~150mA
Based on typical ESP32-S3 + SX1262 power profiles
Field Deploy
Active
Battery Consumption Test
Run field mode for a set duration, then auto-restore WiFi and generate a power report.
Duty cycle: 10% active. Saved to device (also used by Field Deploy). Lower = longer battery.
V4 boards (4.9x divider): 30+ min recommended for accurate results. Short tests (<10 min) may show unreliable data due to ADC resolution (~5mV/step).
or
Battery Details
Percentage--%
Voltage--V
Cell Health--
Flow Direction--
Power Source--
ADC Reading--
Status--
🌡️ Board Temperature
100 80 60 40 20
--°C
Reading...
Min
--
Avg
--
Max
--
🌡️ Temperature History (1h)
60 min ago45m30m15mnow
💾 Flash Memory
Flash Layout (--)
NVS app0 app1 SPIFFS Unused
Running (--)
--%
-- / --
OTA Slot (--)
0%
-- available
SPIFFS
--%
-- / --
Unused
--%
--
RAM Usage
--%
USED
USED
--
FREE
--
LARGEST BLK
--
MIN FREE
--
FreeRTOS Tasks
💾 SD Card --
💾
No SD card detected
Insert a MicroSD card and reboot
📂 Flash Storage (SPIFFS) --
Used
--
Free
--
Click refresh to load files
🔑 NVS Storage --
Click refresh to load NVS entries
📡 Node Mode
Choose how this node operates in the mesh network.
Current Mode --
🔋 Field Mode
Low-power mode for field deployment. WiFi disabled, display off (flashes on detection).
Field Mode --
Sampling --
⚠️ Reboot required after changing
🔌 Cable Test — Mic 1
Test each I2S wire by touching it to the LED test point.
When a pin is active, the LED should light up.
🔌 Cable Test — Mic 2
Mic 2 shares SCK/WS with Mic 1 (Y-wired). Only the SD (data) line is separate.
SCK — shared with Mic 1 (GPIO5)
WS — shared with Mic 1 (GPIO6)
🔍 Mic Diagnostics
📁 Local Upload
Upload firmware (.bin) or dashboard (.html) file
🌐Remote Updates
Current Version
--
Or enter unlisted version
Recovery
Running--
Rollback Available--
Rollback reverts to the previously installed firmware. Only available after at least one successful OTA update.
🔑 OTA Access Token
Override the default token used for OTA downloads. Stored in NVS.
⚙️ Device Parameters
Runtime parameters stored in /params/device.json. Changes take effect immediately unless reboot is required.
Click "Load" to fetch current device parameters.
Import / Export
Remote Node Params (via LoRa)
Fetch or push parameters to a remote mesh node. The diff is sent over LoRa (encrypted).
Diagnostic Bundle
Collects all system logs, configuration, and status data into a single file for troubleshooting or sending to support.
⚡ Quick Controls
Toggle display and WiFi. Both reset to ON after reboot.
Aux detection features. Persisted across reboots.
⚙️ System Tools
System tools and testing.
Mock Detection Mode
Simulate detection activity when no microphones are connected
Format SPIFFS
Erase all files from SPIFFS filesystem. This will remove the dashboard, presets, and patches. Device will reboot after formatting.
Terminal
Remote debug console. Type "help" for commands.
Terminal ready. Type "help" for commands.
Serial Console
Wireless serial monitor — no USB cable needed.
📶 WiFi Monitor Idle
Structured WiFi diagnostic test — tracks connectivity, RSSI, heap, and handleClient timing
Lucid Halo
Drone Audio Detection System
Device
Node ID--
Board--
Chip--
CPU--
MAC--
Flash--
PSRAM--
Firmware
Version--
Dashboard--
Partition--
Encryption--
Uptime--
Network
WiFi Mode--
IP--
RSSI--
LoRa Band--
Mesh Nodes--
Memory
Free Heap--
Min Heap--
SPIFFS--
Power
Battery--
Voltage--
Charging--
USB Power--
Quick Start

A
Test Microphone
Mic LucidHalo GND 3V3 5 6 7 SCK WS SD ⚠ Don't swap Kills mic permanently
Tap Check Connection to verify mic wiring — no sound needed
Optional: record & play back audio
Audio Level 0%
Speak near the mic (~20 cm away) — the bar should move
3 s
Tap Record, speak for a few seconds, then tap Play to listen back
B
Connect to Internet
Optional — connect to your home WiFi for map tiles and OTA updates. Detection works fully offline.
C
Set GPS Coordinates
Acquire from GPS
Place device outdoors with clear sky view, then tap Acquire GPS Fix. First fix takes 1–5 minutes.
or
Enter Coordinates
Open Google Maps, long-press your location, tap the coordinates to copy. Paste below and tap Save Location.
D
Test LoRa
WiFi HALO-123ABC THIS NODE XXXXXX
  1. Keep the first board connected
  2. Connect a second board to USB power
  3. Wait ~20 seconds for boot, then tap Scan Network
Waiting for mesh nodes...
E
OTA Update
  1. Make sure the board is connected to the internet (step B)
  2. Tap Check for Updates below
  3. If a new version is available, tap Install Update
Not checked yet
F
Test SD Card
  1. Insert a FAT32-formatted micro SD card
  2. Tap Test SD Card below
Not tested yet