Drone detection software: how Parallax fuses sensors to explain the sky
Parallax is our drone detection software: cameras, microphones, ADS-B and Remote ID fused across three masts. How it reasons, locates and alerts.
AFKzona Group · 6 min read
- The short answer
- What does drone detection software actually have to do?
- How does Parallax work?
- How does triangulation from three masts work?
- How is evidence fused across domains?
- What is subtractive identification?
- How does the PTZ camera decide where to look?
- What is the architecture?
- Every verdict is scored against ground truth
- Work with us on sensing and fusion systems
- Questions
The short answer
- Every sensor reports evidence (a bearing, its uncertainty and class hypotheses), and fusion draws the conclusion where evidence from different domains meets.
- Every published position has passed six geometric gates on bearings from the three masts.
- Identification is subtractive: ADS-B clears cooperative aircraft, Remote ID clears registered drones, and three guards keep every clearance honest.
- The server runs with zero third-party runtime dependencies, on Node's built-in HTTP server and SQLite, with live updates over Server-Sent Events.
Parallax is our own drone detection software: a self-hosted sensor-fusion console that watches the sky over a site and detects, tracks, classifies and records drones, aircraft, helicopters, birds, bats, insects, unidentified aerial objects, unusual sounds, weather and lightning. It combines cameras, a pan-tilt-zoom head, a microphone array, an ADS-B receiver and a Remote ID receiver across three masts. Its alerts go to the aerial machines that nothing else explains.
Every sensor plugs in through one adapter interface, and a built-in digital twin scores every verdict against ground truth. This case study describes how the system reasons, how it locates what it sees, and how it is built.
What does drone detection software actually have to do?
Drone detection software has to answer one question: of everything in the sky right now, what is unexplained and worth a person's attention? The hard part is not seeing objects. It is not raising an alarm for every bird, airliner and registered drone, while still catching the machine nobody accounts for.
So Parallax weighs every sensor's evidence and states, for every object, how sure it is and why.
How does Parallax work?
Parallax runs a strict pipeline in which each layer hands its output to the next: sensors, then observations, tracks, fusion, classification, events and, last, alerts. Every conclusion is drawn in fusion. Each sensor emits a bearing, an uncertainty (sigma) and class hypotheses, and fusion is where evidence from different domains meets.
Sensor fusion is combining readings from several different sensors into one estimate that is more reliable than any one of them alone.
What each sensor contributes
The station roster has 20 sensors across 3 nodes, each connected through the same adapter interface.
| Sensor | What it contributes |
|---|---|
| Fixed wide-angle cameras (N, E, S, W, plus one on each satellite mast) | Visual bearings and class hypotheses across the whole sky |
| Pan-tilt-zoom head | A close look at one target at a time: 32× zoom, 90°/s slew, tilt from −15° to 90° |
| 8-microphone array on a 1 m circle | Acoustic bearing within ±7°, and unusual sounds |
| ADS-B receiver | Identity and position broadcast by cooperative aircraft, used to clear them |
| EU Remote ID receiver (Wi-Fi NAN / BLE) | Beacons from registered drones at 1 Hz, used to clear them |
| Weather station | Conditions that adjust how likely each class is, never whether something is detected |
| Lightning detector | Strikes, with an alert for lightning within 10 km |
| Air-quality sensor | Environmental context for the site |
A sensor's health is judged by how long it has been silent, with a separate threshold for each sensor type.
How does triangulation from three masts work?
Parallax places a contact by crossing bearing lines from masts at different points, which is where the name comes from. There are three masts: the primary on a roof, one in an east field and one on the west boundary, with baselines of 113 m, 118 m and 205 m. Every published position has passed six gates.
The six gates are:
- both bearing lines point forwards to the crossing, not behind a mast;
- the lines are not close to parallel, judged by a relative determinant;
- the parallax is significant, at a ratio of at least 1.5;
- the error ellipse is no larger than 0.8 times the nearest range;
- the nearest range is at least 25 m;
- with three or more lines, the residual passes a check; with two, the fix lies within 600 m.
Parallax never writes a guessed number: a two-line fix stores its residual as null, never as a zero that would claim a perfect fit. Every fix uses nodes whose clocks sit within the allowed skew.
In one captured run, a track was placed by all three masts with an error ellipse of 23.2 × 0.2 m, a crossing angle of 48.8°, a significance of 4.35× and a residual of 11 m.
How is evidence fused across domains?
Tracking associates observations by bearing and keeps tracks separate until the evidence shows they are one object, then joins them. Fusion then combines evidence in two ways:
- Existence uses a noisy-OR, pooled per domain, so ten cameras agreeing count as one domain's evidence.
- Class uses a weighted log-opinion pool, shrunk towards the prior. A verdict passes 0.9 when a second domain corroborates it, for example sound agreeing with sight.
Weather adjusts the prior for each class but never blocks a detection. Every number fusion produces carries a reason string, and the object detail screen shows them under "why the station reached this conclusion". An operator can see how a verdict was reached, not only what it is.
What is subtractive identification?
Subtractive identification means clearing what can be explained and alerting on what is left. ADS-B clears cooperative aircraft, which broadcast their identity and position from on-board systems without being interrogated, as EUROCONTROL describes. Remote ID clears registered drones. What alerts is an aerial machine that neither channel explains while both are listening.
Remote ID has been mandatory in Europe since 1 January 2024 for drones in the specific category and for class-marked C1, C2, C3, C5 and C6 drones in the open category. They broadcast the serial number, operator registration number, pilot or take-off position and the drone's location, according to EASA. The underlying rules are Regulations (EU) 2019/947 and 2019/945.
Parallax keeps "nothing heard" apart from "no receiver", so the evidence has three states: no receiver listening; receiver up and heard nothing; and a match with a specific identifier. Three guards keep every clearance honest:
- beacons expire;
- a beacon is checked against the cameras and microphones independently, never against the track's own bearing;
- one beacon clears one object only.
In the captured run, two drones fly at once. The unregistered one raises an ALERT as "unexplained". The registered one is logged as INFO, with the Remote ID receivers listed among its sensors.
How does the PTZ camera decide where to look?
A scheduler steers the pan-tilt-zoom head from a priority queue with hysteresis, so the camera holds steady on each target. Unidentified objects rank above confident drones: the camera spends its time where a closer look changes the answer.
Alerts are decoupled from delivery. Detection decides that something deserves an alert; delivery channels are registered by name and send it. The alert rules cover a probable drone, an unidentified aerial object, lightning within 10 km and a sensor going offline, with severities from INFO through INTERESTING, ATTENTION and ALERT to CRITICAL.
What is the architecture?
The server has zero third-party runtime dependencies. Its only dependency is the project's own core package. It runs TypeScript directly on Node 24 or later, serves HTTP with Node's built-in module and its own router, pushes live updates over Server-Sent Events per channel, and stores data in Node's built-in SQLite in WAL mode. Health and readiness are separate endpoints.
The front end is React 19 and Vite with no UI framework, chart library or icon set. The radar compass, sky profile, mesh, acoustic and camera views are drawn on canvas. Colours come from design tokens, and a check script measures contrast in both light and dark themes. Deployment is Docker with blue/green releases behind an nginx switch, plus a rollback script. The codebase is more than 21,000 lines of TypeScript.
Every verdict is scored against ground truth
Parallax ships with a digital twin: a world that holds ground truth, observed by each sensor on its own. The Simulator screen grades every verdict the pipeline reaches against that ground truth.
That turns accuracy into something measured rather than claimed. In the captured run, both drones and the airliner were identified correctly, and the unregistered drone was the only ALERT. Because each sensor is one line in the station configuration, the pipeline that is scored is the same one every mast feeds.
Work with us on sensing and fusion systems
The kinds of sensing and data-fusion systems we build are described under sensing systems, and Parallax's screens are on our work page. To talk through a detection or monitoring problem of your own, book a free 30-minute call.
Common questions
How does drone detection software tell a drone from a plane or a bird?
In Parallax, fusion decides. Cameras, microphones and receivers each give a bearing and class hypotheses, and fusion combines them across domains. A verdict passes 0.9 confidence when a second domain corroborates it, for example sound agreeing with sight. ADS-B then clears cooperative aircraft, and Remote ID clears registered drones.
What role does Remote ID play in drone detection?
Parallax uses the EU Remote ID broadcast to clear registered drones. Each beacon is checked against the cameras and microphones independently, beacons expire, and one beacon clears one object. The alert goes to the aerial machine that neither Remote ID nor ADS-B explains while both are listening.
How do you locate a drone without radar?
By triangulating bearings from masts some distance apart. Parallax uses three masts with baselines of 113 m, 118 m and 205 m. Where the bearing lines cross gives the position, published after six gates pass, including an error ellipse no larger than 0.8 times the nearest range.
How do you know a drone detection system is accurate?
Score it against ground truth. Parallax includes a digital twin: a world with known objects, observed by each sensor on its own. The Simulator screen grades every verdict against that ground truth. Every sensor connects through the same adapter interface, one line per sensor in the station configuration, so the pipeline being scored is the pipeline that runs.
What sensors does drone detection software use?
Parallax runs 20 sensors across 3 nodes: fixed wide-angle cameras covering the whole sky, a pan-tilt-zoom head with 32× zoom, an 8-microphone array, an ADS-B receiver, an EU Remote ID receiver, a weather station, a lightning detector and an air-quality sensor. Every sensor connects through the same adapter interface.
