Introduction
DroneTracker watches the sky for you. It finds objects in the air with cameras and on-device AI, tells you what they are, and checks that answer against independent evidence. When something does not add up, it alerts you.
What it does
- Detects and identifies aircraft, helicopters, drones, birds, and objects it cannot explain. The AI runs on the rig itself, on the live camera picture.
- Checks the answer against other evidence. Aircraft broadcast their identity over ADS-B. Many drones broadcast Remote ID. The rig listens for these and other radio sources, and matches them to what the camera sees.
- Keeps the two kinds of information apart. What the AI thinks is shown in amber. What the evidence confirms is shown in green. You always know which is which.
- Alerts you when something needs attention, from a quiet “tracking” state up to “anomalous.”
- Records and reports. Detections can trigger video clips, and the Reporting view summarizes what the rig has seen and heard.
- Runs entirely on the rig. Detection, identification, and storage all happen locally. No cloud service is required.
The main parts of the console
| Part | Where | What it shows |
|---|---|---|
| Top bar | Top of the screen | Live/paused state, connection, pipeline status, Total Active Targets, help, and your user menu |
| Sidebar | Left edge | Buttons that switch the main view and open the side panels |
| Main view | Center | Live video, the map, the 3D view, Reporting, or the RF view |
| Side panel | Right edge | The target card for the object you selected, plus other panels such as Ask the rig |
| Alert level bar | Bottom left | The highest alert level among current targets (0–3) |
| Detection history and event log | Bottom | The last 30 minutes of detections, and a table of recent targets |
Who this guide is for
- Operators who watch the console and respond to targets. Start with the Quickstart, then read The operator dashboard.
- Administrators who set up cameras, radios, users, and alerts. See the Administration chapters, starting with Users and security.
You use DroneTracker in a web browser. You do not need a command line for anything in this guide. If something cannot be done from the console, contact DroneTracker support (Admin → Support Access).
Try the live demo
Want to look around before you sign in to your own rig? Open the public demo.
The demo is public and read-only. It plays recorded camera footage and correlates it with live air traffic, so you can see the target card, the map, and the 3D view with real aircraft.
Quickstart
A two-minute tour of the live demo — no sound.
This chapter gets you signed in and shows you around the main screen in about ten minutes.
Sign in
Open the rig’s address in your web browser. You see the Operator authentication screen.
- Enter your user name in Operator.
- Enter your password in Passphrase.
- Select Authenticate.
If your organization has set up single sign-on, its providers are listed under Single sign-on. Select yours instead of typing a password. If you have registered a passkey, you can select Sign in with passkey.
Your first sign-in
On a brand-new rig, a First-time setup box shows the initial administrator name and password. Select Copy to copy the password.
After the first sign-in with an initial password, you must choose a new one:
- Enter the initial password in Current (initial) password.
- Enter a new password in New password (min 12 chars) and again in Confirm new password.
- Select Change password & continue.
Set up two-factor authentication
Every account that signs in with a password needs a second factor. The first time you sign in, you see Enroll authenticator:
- Scan the QR code with an authenticator app, such as 1Password, Authy, or Google Authenticator. If you cannot scan it, type the key shown under Manual entry into the app.
- Under Backup codes — save these now, store the codes somewhere safe. Each code works once. You need them if you lose your phone.
- Check I have stored these codes in a secure location.
- Enter the 6-digit code from your app in 6-digit code.
- Select Activate & Sign in.
From then on, after your password you are asked for a TOTP code from your app. If you do not have your phone, select Use backup code instead. If you have a passkey, you can select Verify with passkey.
Lost your authenticator and your backup codes? Ask your administrator. If no administrator can sign in, contact DroneTracker support.
Tour the dashboard
After you sign in, you land on the operator dashboard.
Video panes
The center of the screen shows the live camera picture. On a rig with two lenses, you may see a large picture and a smaller one in the corner. Select the small picture to swap them. Select ⊞ Split to show both side by side, and ⊡ PiP to go back.
The top-left corner shows SYSTEM: with the pipeline state, the number of active targets, and the detection model in use. The bottom corners show the local time, UTC time, and the rig’s position (or site not set).
Bounding boxes
When the AI detects an object, it draws corner brackets around it with a label such as AIRCRAFT · 87%: the object class and the AI’s confidence. A small badge inside the box shows the target ID.
| Box color | Meaning |
|---|---|
| Amber | A tracked target |
| Red | An anomalous target |
| Cyan | The target you selected |
A box fades out when the target has not been seen for a few seconds.
The target card
Click a box (or a row in the event log) to open its target card on the right. The card has two main parts:
- Amber, top: what the cameras and AI think. Object class, a make/model guess, and confidence.
- Green, bottom: what independent evidence says. For example, ADS-B flight data that confirms the aircraft’s flight number, route, and registration.
When evidence confirms the target, a ✓ Corroborated tag appears in the card header. See The operator dashboard for every field.
Alert levels
The narrow bar at the bottom left shows the highest alert level among current targets.
| Level | Name | Meaning |
|---|---|---|
| 0 | IDLE | Scanning, no active targets |
| 1 | TRACKING | Known objects being tracked, all corroborated |
| 2 | ATTENTION | An object with low confidence or partial corroboration |
| 3 | ANOMALOUS | A detection that fails corroboration or matches an anomaly signature |
Event log
The table at the bottom lists targets, newest first. When you open the page it shows the last 24 hours, then it updates live. Click a row to select that target and open its card.
Pause and resume
The GO LIVE switch in the top bar freezes and resumes the picture. You can also press Space. While paused, the video shows a ❚❚ paused badge.
View other sources
If the rig has more than one camera or video stream:
- Select ⟲ Source at the top of the video. Pick a source from the Select source list to show it.
- Select the star next to a source to make it your default camera.
- Select ▦ Grid to see every source at once. Click a tile to show that source full size. Select ◱ Single to go back.
- When you are showing a source other than the default, select ✕ Clear source to return.
Bounding boxes are drawn only on the source the rig is running detection on.
Where to go next
| To learn about | Read |
|---|---|
| Every part of the main screen | The operator dashboard |
| The map and 3D views | Map and 3D views |
| Asking questions about what the rig saw | Ask the rig |
| Clips, charts, and reports | Recording and reporting |
| Radio monitoring | RF view |
| Using a handheld | Handheld |
| Users, passwords, and two-factor sign-in | Users and security |
| Alert rules | Alerts |
| Fixing common problems | Troubleshooting |
The operator dashboard
The dashboard is the screen you see after you sign in. This chapter explains each part of it.
Layout
| Area | What it holds |
|---|---|
| Top bar | The GO LIVE switch, the LIVE / OFFLINE badge, the pause button, the connection indicator, Pipeline status, Total Active Targets, Help (?), and your user menu |
| Sidebar (left) | View buttons, side-panel buttons, sensor lamps, and the ALERTS count |
| Main view (center) | Video, map, 3D view, Reporting, or RF, depending on the view you picked |
| Side panel (right) | The target card and other panels |
| Footer | The alert level bar, the detection history bar, and the event log |
On a phone, the sidebar and side panel are hidden. Tap ☰ (top left) to open the navigation menu, and ⓘ (top right) to open the details panel.
Sidebar buttons
The top group switches the main view:
| Button | View |
|---|---|
| ▣ Viewport only | Live video |
| ◫ Split view (viewport + map) | Video and map side by side |
| ◎ Map only | The radar-style map. See Map and 3D views. |
| ⊕ 3D topology | The 3D view. See Map and 3D views. |
| RPT Reporting (recordings + analytics) | See Recording and reporting |
| RF RF spectrum / waterfall | See RF view |
The next group opens a panel on the right:
| Button | Panel |
|---|---|
| ⚙ System diagnostics | Rig health |
| ⚠ Anomaly analysis | Details of the latest anomaly report |
| ⇞ AI upscaler | Image enhancement settings |
| SCN Scene analysis | An AI description of the current scene |
| ASK Ask the rig | Questions in plain English. See Ask the rig. Shown only when the rig has an AI model set up for it. |
To return to the target card from another panel, select Back to target ×.
Sensor lamps
Below the panel buttons, three lamps show whether each sensor is producing data:
| Lamp | Sensor |
|---|---|
| TEL | Telephoto lens |
| WID | Wide lens |
| SDR | SDR / ADS-B radio |
Green means producing. Red means something is using the sensor but no data is arriving, which is a real fault. Gray means nothing is using the sensor right now, so its state is unknown. Hover over a lamp for details. The lamps show state only. You cannot click them.
At the bottom of the sidebar, ALERTS shows how many current targets are anomalous.
Video panes and sources
The center shows the live camera picture.
- Two lenses. On a rig with a wide and a telephoto lens, the main picture fills the view and the other lens appears as a small picture in the corner. Select the small picture to swap them. Select ⊞ Split to show them side by side, and ⊡ PiP to go back.
- Other sources. Select ⟲ Source to open the Select source list. Pick a source to show it. A green dot means the source is online, and ACTIVE marks the source the rig is running detection on. Select the star (☆) next to a source to make it your default camera.
- All sources. Select ▦ Grid to see every source as a tile. Click a tile to show it full size. Activate on a tile makes the rig run detection on that source. Select ◱ Single to leave the grid.
- Back to the default. When another source fills the view, select ✕ Clear source.
Status text on the video:
| Text | Meaning |
|---|---|
| SYSTEM: … [n ACTIVE] | Pipeline state and the number of active targets |
| MODEL: | The detection model in use |
| Tele · Connected (or Wide, Dual) | A camera session is running. Select it to stop the session. |
| NO SIGNAL / AWAITING LIVE FEED | No video is arriving yet. Pick a source from the list shown. |
| No frames — source not producing video | The source is registered but sends no picture |
| Reconnecting… | The browser is reconnecting to the video |
| AI UPSCALE · … | AI image enhancement is on |
| site not set (bottom right) | The rig’s location has not been set. Ask your administrator. |
If no sources are listed, an administrator must add one. See Cameras and sources.
Live and paused
The GO LIVE switch in the top bar controls the picture. When it is on, the badge next to it reads LIVE. Turn it off, select the pause button (❚❚), or press Space to freeze the picture. Each video pane then shows ❚❚ paused. Press Space again, or select ►, to resume.
Detection history bar
Above the event log, the History ⓘ bar covers the last 30 min. Amber bars show how many camera detections there were. Red marks show anomalies.
- Click or drag on the bar to replay that moment on the video overlay.
- Press the left and right arrow keys to step 5 seconds. Hold Shift to step 1 minute.
- Select Resume live to return to now.
Select History ⓘ for a short reminder of these controls.
Bounding boxes and labels
When the AI detects an object, it draws corner brackets around it.
- The label above the box shows the class and confidence, for example
DRONE · 72%. - The badge inside the top-left corner shows the target ID.
- Amber boxes are tracked targets. Red boxes are anomalous targets. The target you selected turns cyan.
- A box fades out when the target has not been updated for a few seconds.
Boxes appear only on the source the rig is running detection on. On a two-lens rig, they appear on the wide lens.
Aircraft markers on the video
When the rig knows where the camera is pointing, it also draws a dashed circle where each ADS-B aircraft should appear in the picture, with its callsign. The color shows where the position came from: green for the rig’s own radio, blue for an internet source, and cyan for a remote radio device. Use these markers to match a box to an aircraft.
RF · 1090 MHz card
When the rig hears aircraft on 1090 MHz, a small RF · 1090 MHz card lists the strongest signals with their message rate. Click the card’s title to fold or unfold it, or drag it to move it. Select a flight in the list to open it on FlightAware in a new tab.
Selecting a target
Click a bounding box to select that target. Its card opens in the side panel. Click empty space to clear the selection. You can also select a target by clicking its row in the event log or its dot on the map.
When a motorized mount is connected, clicking a spot on the video also points the camera at that spot.
Drawing a box around something
Drag a rectangle around anything on the live picture and the rig follows it, whatever it is: a learned tracker locks onto what you outlined, so it works on objects the detector has no class for. The box is drawn in cyan with FOLLOWING and the tracker’s confidence. A motorized mount steers to keep it centered, and a recording starts and stops with it, just as with a detected target. Its card in the side panel is headed OUTLINED BY THE OPERATOR.
If the object leaves the picture or is hidden, the box turns dashed and reads SEARCHING while the rig looks for it around the last place it was seen, then over the whole picture, for up to a minute, with the mount holding still. When the object is found again the box snaps back onto it. After a minute without finding it the box goes away.
Click inside the box to stop following. Drawing a new box replaces the old one. Clicking a spot to point the camera there, or pointing the mount at a flight, also clears the box: while a box is drawn the mount steers to it alone, so the two would otherwise fight. While the rig searches for a lost object the mount holds still. A short click never draws a box, and a drag never points the camera. A box must be at least a few percent of the picture on each side, and it applies to the camera the detector is watching: on another pane the rig refuses it and says which camera to draw on. Administrators can switch the feature off in Admin → System (cv/manual_track_enabled). The same gesture works on the handheld’s feed and on a paired phone’s RIG view.
The target card
The target card is split into sections. Each section has a colored left edge, so you can tell at a glance where the information came from.
Header
The header shows the target ID and its status (TRACKING, VERIFIED, CONFIRMED, ANOMALOUS, or IDLE). A green ✓ Corroborated tag appears when an ADS-B aircraft matches the target. Hover over the tag to see the aircraft’s ICAO code, callsign, distance, and time difference.
What the cameras and AI think (amber)
This section is the model’s own output. Treat it as a guess.
The subtitle shows where the guess came from:
- (LOCAL VISION MODEL): the on-device AI looked at the picture and named the object.
- (MOTION TRIPWIRE): the rig noticed something moving, but no model named it. The class is usually UNKNOWN.
| Row | Meaning |
|---|---|
| OBJECT | The class, such as AIRCRAFT, HELICOPTER, DRONE, BIRD, or UNKNOWN |
| MAKE/MODEL | The AI’s guess at the make and model, or — if it has none |
| CONFIDENCE | How sure the AI is, as a percentage, with HIGH (85% and up), MEDIUM (60–84%), or LOW |
What the evidence says (green)
This section shows independent evidence. It is not the AI’s opinion.
The subtitle shows the evidence source. (ADS-B DATA) is followed by LOCAL SDR (the rig’s own radio), API FALLBACK (an internet flight-data service), or NO SOURCE. If a known satellite explains the track, the subtitle reads (SATELLITE CATALOG).
IDENTITY
The IDENTITY row names exactly what the target is, such as an aircraft type or a drone model, followed by the source in parentheses. Short evidence notes may appear beneath it.
This row appears only when the evidence is strong. The rule is never to guess: if the evidence is weak, the row is left out.
| Source shown | What it means |
|---|---|
| AIRFRAME RECORD | The aircraft registry record for the matched ADS-B aircraft |
| ADS-B TYPE | The aircraft type code broadcast with the ADS-B data |
| REMOTE ID | The drone’s own Remote ID broadcast, matched to this track |
| LEARNED · nn% | Earlier sightings on this rig that were confirmed by ADS-B or Remote ID and look like this one. Shown only when several confirmed look-alikes agree. |
| SPECIES MATCH · nn% | For birds: the bird’s appearance matched against species recorded near the rig this month |
Your administrator controls species matching. See Identity and species.
Flight data
Below the identity, the STATUS row shows the ADS-B lookup:
| Status | Meaning |
|---|---|
| CORRELATING | The rig is still looking for a matching aircraft |
| NO MATCH | No aircraft explains this target |
| TIMEOUT — RETRY | The data source did not answer in time |
| VERIFIED | A match was found. The card also shows FLT ID, ROUTE, REG (registration), and OPERATOR. |
Anomaly (red)
This section appears only when the rig has escalated the target to alert level 3. It explains why the target is flagged:
- SCORE: how strongly the target matches known anomaly signatures.
- SIGNATURE: the closest known signature, if any.
- A short reasoning sentence.
For more detail, open the ⚠ Anomaly analysis panel. It shows the reasoning, the category, and the closest matches. Select Escalate there to escalate a target yourself.
Seen before (blue)
Seen before lists past detections that look like this target, with how long ago each was seen and how similar it looks. When a past detection was linked to a flight or drone, the row reads Looks like followed by that name.
This is visual similarity only. The section header says Looks similar · not an ID. Only close matches from the last 30 days are listed.
| Message | Meaning |
|---|---|
| Not remembered yet | The rig stores a target’s appearance within about 30 seconds |
| Nothing like it in the last 30 days. | No close matches |
The section is hidden on rigs where this feature is not available.
Alert levels
The narrow bar at the bottom left of the screen shows the highest alert level among current targets. The rotated label reads ALERT · n.
| Level | Name | Meaning |
|---|---|---|
| 0 | IDLE | The system is scanning. No active targets. |
| 1 | TRACKING | Known objects are being tracked, and all are corroborated. |
| 2 | ATTENTION | An object was detected with low confidence or only partial corroboration. |
| 3 | ANOMALOUS | A detection failed corroboration or matches an anomaly signature. |
To get notified about alerts by email or other channels, your administrator sets up alert rules. See Alerts.
Event log
The event log at the bottom of the screen lists targets, newest first, one row per target. When you open the page, it shows the last 24 hours from the rig. After that, new targets appear live.
| Column | Meaning |
|---|---|
| Timestamp | When the target was last seen, in your local time |
| Target ID | The target’s ID |
| Class | The AI’s class |
| Model | The AI’s make/model guess |
| Status | The target’s status |
| Action | See below |
- Click a row to select the target and open its card. Anomalous rows have a red background.
- For a confirmed target, Review log opens Reporting with the recordings for that target. For other targets, the column shows Correlate or Analyze anomaly to describe what the card shows when you select the row.
- Select ▴ to make the log taller, and ▾ to shrink it.
- When you scroll down, new rows do not pull you back to the top. Select ↑ Jump to latest to return.
Telescope and camera controls
When a motorized telescope is connected and its picture is on screen, controls appear at the bottom right of the video. They are hidden in the grid and when another source fills the view.
Moving the mount
- Hold the arrow buttons, or the W, A, S, D keys or arrow keys, to move the mount. It stops when you let go.
- On a phone or tablet the arrow buttons become a joystick: put your finger on it and pull in the direction you want the mount to turn. The further you pull, the faster it moves. Let go and it stops. The ⌂ button next to it sends the mount home.
- DEPLOY and STOW raise and fold the telescope.
- LOCK POS saves the current position. It changes to LOCK ● while a position is locked. Select it again to clear the lock.
- REHOME resets the mount’s position reference. Use it only if DroneTracker support asks you to.
- AZ and PITCH show the mount position. ■ HOLD means still, ● SLEWING means moving, and ⚠ NO MOTION means the mount was told to move but did not.
If a game controller is connected, a 🕹 PAD link appears. Select it to see what each button does.
Digital zoom
Use + and − to zoom the picture from 1× to 10×. The current zoom shows below the buttons. This zoom enlarges the picture in your browser only. Select AUTO to zoom in automatically on a tracked target.
Camera settings
| Control | What it does |
|---|---|
| AUTO TRK | Starts automatic tracking. It changes to TRACKING (armed). Select it again to stop. |
| AF | Runs autofocus |
| ◄ / ► (focus) | Steps focus nearer or farther |
| EXP:A / EXP:M | Switches exposure between automatic and manual |
| GAIN:A / GAIN:M | Switches gain between automatic and manual |
If a command fails, a short ERR: message appears for a few seconds.
On a phone
On a phone, or a tablet or phone turned sideways, the controls are arranged to fit a small screen:
- The system status, Grid, Source and Split buttons, and the mount position are grouped at the top left.
- DEPLOY, STOW, LOCK POS and REHOME are in the Mount menu next to the joystick.
- AUTO TRK stays at the bottom right. Focus, exposure and gain are in the Cam menu below it.
- The small second picture sits just above the camera controls. Tap it to swap the two pictures.
Keyboard shortcuts
| Key | Action |
|---|---|
| Space | Pause or resume the live picture |
| ? | Open or close Help |
| M | Cycle through the main views |
| ] | Cycle through the side panels |
| ← / → | Step the history 5 seconds (Shift: 1 minute) |
| W A S D / arrow keys | Move the telescope, when its controls are showing |
The Help window (? in the top bar) also shows how to get support. Administrators see a Support access → button. Other users are asked to contact their administrator.
Map and 3D views
DroneTracker has two ways to see the airspace around the rig: a flat, radar-style map, and a 3D view that shows altitude.
To open them, use the sidebar:
- ◎ Map only: the map fills the center.
- ◫ Split view (viewport + map): video on the left, map on the right.
- ⊕ 3D topology: the 3D view.
Both views need the rig’s location. If it has not been set, ask your administrator.
The map
The map is drawn from above with the rig at the center. North is up.
What is on the map
| Symbol | What it is |
|---|---|
| Amber dot at the center | The rig (the sensor) |
| Amber wedge | The camera’s field of view, pointing where the camera faces |
| Blue dots with callsigns | Aircraft heard on ADS-B |
| Green diamonds | Drones broadcasting Remote ID, labeled with their ID (or RID) |
| Colored dots with target IDs | Camera targets that have a position. The color shows the class: blue for aircraft, purple for helicopters, green for drones, amber for anomalous targets, and gray for others. |
| Small labeled markers | Other registered cameras, streams, and devices near the rig |
Hover over a Remote ID diamond to see its full ID.
Range
The rings mark distance in nautical miles. The range adjusts on its own to fit the farthest contact, so always read the range in the top-left corner:
- ADS-B · n NM: the distance to the outer ring.
- SENSOR: the rig’s position.
- HDG and FOV: where the camera points and how wide it sees.
The bottom line counts contacts, for example 12 ADS-B · 1 Remote ID · 2 CV.
| Message | Meaning |
|---|---|
| No live contacts received. | Nothing is in range right now |
| Live data disconnected — displayed contacts may be stale. | The browser lost its live connection to the rig. The map may be out of date. |
| Distant contacts — check the sensor location. | Contacts are very far away, which usually means the rig’s location is wrong. Ask your administrator to check it. |
Selecting on the map
- Click an aircraft to show a callout with its ICAO code, Alt (altitude), GS (ground speed), and Hdg (heading). Click the same aircraft again to hide the callout.
- Click a camera target to select it. Its target card opens in the side panel. See The operator dashboard.
The 3D view
The 3D view shows the airspace around the rig in three dimensions, so you can see altitude. Two versions are available. Switch between them with the buttons at the bottom right: Cesium and Drone 3D.
Both versions share these controls at the top right:
| Control | What it does |
|---|---|
| L / D / Auto | Light theme, dark theme, or follow your system |
| + / − | Zoom in and out |
| Recenter | Return the camera to the starting view over the rig |
| Flight paths on/off | Show a trail behind each contact for the last few minutes |
Drag to move the camera around and scroll to zoom.
The status line at the top left shows how many contacts are tracked and whether 3D terrain loaded.
The “YOU” marker
A cyan pin labeled YOU marks the rig’s location.
Cesium
The Cesium view places aircraft on a globe with terrain.
- Aircraft heard on ADS-B appear at their real position and altitude.
- Photoreal on/off streams detailed 3D city and terrain models. It needs an internet connection and uses an online service quota, so turn it off when you are done.
Drone 3D
The Drone 3D view is drawn by your own computer. It shows aircraft heard on ADS-B and drones broadcasting Remote ID. Drones get the same trails, selection, and flight card as aircraft.
The sky follows the real time of day at the rig: blue by day, a warm glow toward the sun at dawn and dusk, and dark with stars at night. Distant terrain fades into the sky color. Aircraft bank into turns and tilt as they climb or descend. They show red and green navigation lights on the wingtips, a white tail light and a flashing strobe, all brighter at night. Low aircraft and drones cast a soft shadow on the ground beneath them, which fades as they climb.
Aircraft cruising above about 8 km (26,000 ft) leave a short white contrail.
The ground is most detailed around the rig and simpler farther out, which keeps the view smooth. Hills and valleys are shaded by the sun. At night the map is backlit, so its detail stays visible after dark. Map and elevation tiles are saved in your browser, so a site you have viewed before opens quickly and still shows its terrain without an internet connection. (Your browser saves tiles only when the console is opened over a secure, https address.)
The street map comes from USGS Topo by default: public domain, detailed in the United States and coarse elsewhere. An admin can switch it under Admin → System, in topology/street_map: MapTiler or Stadia Maps with your own key from that provider (topology/street_map_key), your own tile server (topology/street_map_url, an https address with {z}, {x} and {y}, plus topology/street_map_attribution for its credit), or none. The same choice applies to the Cesium 3D view when it has no Cesium ion token. The map’s credit always shows at the bottom of the view.
On fast computers, Drone 3D also shows 3D buildings within about 2 km of the rig, from OpenStreetMap, standing on the terrain at their real heights. Navigation lights and strobes have a soft round halo, strongest at night.
Horizon panorama (Rig view). Rig view can show the real skyline around the rig, the trees, roofs and hills the DWARF 3’s wide lens sees, instead of map tiles at the horizon. An admin takes it once under Admin → Hardware → Dwarf → Horizon panorama: tick the telescope will turn and select Capture. The telescope turns across its travel (about 330°; the mount has a hard stop, so a slice behind it is left out), takes a photo every 30°, returns to where it was, and stitches them. It takes about a minute, and auto-track pauses meanwhile. The sky in the photo is made transparent, so Drone 3D’s own sky, sun and stars show above the skyline. Capture it in daylight under a clear or evenly overcast sky. The DWARF 3 can’t report how high its camera points, so the photo is placed with its centre 8° above the horizon; if its horizon doesn’t meet the 3D horizon, change centre row elevation on the same panel. The panorama shows only in Rig view, because a photo taken from the rig only lines up from the rig.
When a camera mount is connected, Drone 3D shows where its camera points. If the mount reports its elevation, you see the camera’s field of view as a pale blue cone from the rig. If it reports only its bearing (as the DWARF 3 does), you see a pale blue wedge on the ground in that direction instead, because the elevation isn’t known. The wedge is drawn on top of the terrain and stays visible in Rig view.
Extra controls:
| Control | What it does |
|---|---|
| Terrain on/off | Show or hide the ground |
| Compass on/off | Show N, S, E, and W on the ground |
| Cockpit on/off | Show cockpit-style instruments for the selected or chased contact |
| Satellite on/off | Use satellite imagery on the ground instead of a street map. On fast computers it starts on. |
| Night map auto/on/off | A dark street map at night, so the map doesn’t glare out of a night scene; satellite imagery is dimmed instead. Auto (the default) switches it on once the sun is 6° below the horizon at your site and off again at dawn. Tap to cycle Auto → On → Off. |
| Rig view on/off | Look from the rig, in the direction its camera points, with the camera’s field of view. Needs a connected camera mount that reports its bearing. Dragging and pinching are off while it is on; select Rig view — exit at the top to leave. |
| Camera in scene on/off | Show the camera’s live picture in the scene where the camera points. It opens on the wide lens; tap the picture to switch between wide and telephoto. This opens a second video stream, so it is off by default. Until a picture arrives the panel shows Waiting for the camera…; it shows Camera stream unavailable or Camera has no picture if the camera can’t be reached or sends only black frames. The panel and the cone are hidden in Rig view; the bearing wedge stays. |
| Sound on/off | Play a faint engine sound for the nearest aircraft, coming from where they are. Off by default. |
| ⛶ | Full screen. Select × to leave. |
| Q: Auto | Picture quality. Lower it if the view is slow. |
| Enter VR | Opens the view in a VR headset. It shows VR · headset only on devices that do not support it. |
Q: Auto picks a quality level for your device when the view opens. While you watch, Drone 3D also adjusts the picture sharpness by itself to keep the motion smooth, and on low-power devices it limits drawing to 30 frames a second. It stops drawing while the view is hidden, to save battery. In a VR headset it never goes above medium quality, so the headset keeps its full frame rate.
On a phone, + and − stay at the top right and the other controls are in the ⋯ View menu.
If the rig’s location has not been set, Drone 3D shows NO SITE LOCATION instead of a scene.
Flight card
Click an aircraft (or a drone, in Drone 3D) to open its flight card at the bottom right.
The card shows:
- The callsign (or ICAO code) as a link. It opens the flight on FlightAware, or on ADSBexchange when there is no callsign.
- A photo of the aircraft, with credit to the photographer, when one is available.
- ICAO, Altitude, Ground speed, Heading, Position, and SDR (which receiver heard it).
- Flight Plan, when available: Origin, Destination, Type, Reg, Operator, Sched off, ETA, and Status. Otherwise the card says No flight-plan data available.
The photo and flight plan come from online services, so they need an internet connection.
Select × to close the card.
FPV chase
In Drone 3D, the flight card has an FPV button. Select it to ride behind and above the contact as it flies. Drag to look around; the view eases back when you let go. Select FPV · … — exit at the top right to stop.
Game controllers
You can fly the Cesium 3D view with a game controller or joystick connected to your computer. Press any button with the DroneTracker tab open so the browser sees the controller.
| Control | In the Cesium 3D view |
|---|---|
| Left stick | Pan the map |
| Right stick | Turn and tilt the view |
| L2 / R2 | Zoom out / in |
| L1 / R1 | Pick the previous / next aircraft |
| A | Fly to the picked aircraft |
| L3 | Recenter on the site |
| Select | Back to the video |
From the video view, Select switches to the 3D view. The full button layout, including the video view, is on the Game controllers and joysticks page. To open it, select 🕹 PAD on the telescope controls when a controller is connected.
For the handheld, see Handheld.
Heading up and North up
Drone 3D and Astro 3D have two ways to face, like a car’s navigation map. The button beside the zoom controls (top right in Astro 3D) switches between them, and the view remembers your choice.
- ▲ Heading up (the default) turns the view to face where the camera points. On the station that is the telescope’s bearing: from a plate solve or a Lock Pos on a known aircraft when there is one, otherwise the Bearing entered for the device under Admin → Hardware → Dwarf. The telescope does not report where it points by itself, so with only an entered bearing the view faces that way and does not follow the telescope as it turns. On a phone it is the phone’s own compass, and the view follows as you turn the phone.
- N North up faces true north.
With no heading known, Heading up faces north, and the button shows (N). When you drag the view round yourself, the follow pauses and the button shows ↻; tap it to face the heading (or north) again. Zooming and panning do not pause it.
Astro 3D
Astro 3D shows the deep-sky targets as they stand in the sky from your site right now. It appears as a third choice, Astro 3D, on the switch at the bottom right of the 3D topology view, next to Cesium and Drone 3D.
You look around from the rig: drag to turn, scroll to zoom. The horizon, the compass points, altitude rings at 30° and 60°, the bright stars, the Moon and the Sun are drawn where they are. Each target above the horizon sits at its real altitude and azimuth, with a small model of its type (a dense ball for a globular cluster, a spiral for a galaxy, a glowing shell for a planetary nebula), colored by type. Zoomed out, only the brighter targets carry a name, and where two share one spot only one name is shown; zoom in and the rest are named, with their type and brightness. The slider at the bottom keeps only targets brighter than the magnitude you choose, and the type buttons hide or show each kind. Positions refresh every minute. A line at the top shows how many targets are up and whether it is dark yet. To go straight to a target, type its name in the find box (for example M31, Lagoon or Moon) and press Enter. On a phone, the type buttons fold away behind types.
Click a target’s name to open it full screen: a detailed model you can orbit and zoom, with its type, brightness, size and where it is now. The model is an impression of that type of object, shaped from its name, not a photograph of it. Tick Through the DWARF 3 to see the telescope’s telephoto frame (2.95° × 1.66°) drawn at the object’s true size, with the view framed the way the telescope would see it: a large nebula overflows the frame, a small planetary nebula is a dot inside it. Press Esc or close to return.
The real telescope. On the console, Through the DWARF 3 also turns the telescope to the object. It switches the telescope to Astro mode, points it, and makes its telephoto lens the main video picture. The live picture also appears in the corner of Astro 3D: tap it to swap the real view and the 3D render, and tap the small one to swap back. back to VIS returns the telescope to aerial detection. Astro mode stops the watch for aerial contacts, so if the rig is watching the sky it asks first (point it or cancel). It never takes a telescope that another app is using, never points within 30° of the Sun, and refuses objects below the horizon. The Moon works the same way. The telescope then follows the stars, so after a few hours the Moon drifts out of the frame; tick the box again to re-center it. A deep-sky object can look nearly black in the live picture until the sky is dark; the picture is the telescope’s live view, not a stacked image. The phones have no telescope, so there the box only frames the render.
The Moon. The Moon in the sky is the real one: NASA’s Lunar Reconnaissance Orbiter maps, lit by the Sun from where it really is, so tonight’s phase, the shadows of craters and mountains along the terminator, and the faint earthshine on the dark side all show. Zoomed out it is drawn larger so you can find it; zoomed in it is its true size. Click it, or type Moon in the find box, to open it full screen: its phase, how much is lit, its age, distance and size, when it rises and sets, and the next full and new Moon. Drag to look round it. The phase slider runs it up to 15 days either way, and relief deepens the shading of the terrain. Through the DWARF 3 frames it in the telephoto field: the whole Moon fits, at about a sixth of the frame’s width. North is up, as you see it with the eye from the northern hemisphere.
On the phones. DroneTracker Mobile has Astro 3D on the 3D tab: switch between Drone 3D and Astro 3D at the top. It is always on there and needs no rig and no network: the phone works out the sky from its own position, with the same catalog the rig uses. On the handheld, ASTRO 3D in the side rail opens the rig’s Astro 3D.
By default the console offers Astro 3D only while the telescope is in Astro mode. An admin can change that under Admin → System, in topology/astro3d: astro_mode (the default), always, or off.
VIS / ASTRO switch. An admin can also put a VIS | ASTRO switch on the main screen’s top bar: turn on display/show_scope_mode_toggle under Admin → System (it is off by default). VIS is aerial detection, the rig watching the sky; ASTRO holds the telescope for deep-sky imaging and stops the watch for contacts. It does the same as the mode buttons on the Astro page.
The RF view
The RF view shows what the rig’s radios hear. It has three parts:
- the spectrum and waterfall: the radio band right now and over the last few minutes;
- the radar: ADS-B aircraft around the site, with drone-band and Remote ID panels under it;
- the footer: the ATC bar, the SIGINT events table and the Channel Activity tab.
To open it, click RF in the left sidebar. Its tooltip reads “RF spectrum / waterfall”.
Every operator sees the same RF view. That includes an operator at a forwarder node, which is a remote radio that sends its signals to the rig. The rig does all the processing and sends the results back, so the view is identical in both places.
Layout controls
A row of controls sits at the top of the view. They stay visible even when every panel is hidden.
| Control | What it does |
|---|---|
| Spectrum (checkbox) | Shows or hides the spectrum and waterfall. |
| Radar (checkbox) | Shows or hides the ADS-B radar chart. |
| Maximize radar | Hides the spectrum and gives the radar the whole view. |
| Reset layout | Turns both panels back on and returns the radar to its default width. |
| Radar width (slider) | Sets how wide the radar is next to the waterfall. It appears only on wide screens, and only when both panels are on. |
| ATC | Appears on small screens only. It opens the ATC bar and the events table. See Small screens and handhelds. |
If you turn both panels off, the view reads “Enable a panel above to display RF data.”
Spectrum and waterfall
The top of the panel is the live spectrum trace. The scrolling waterfall below it shows history: newest at the top, oldest at the bottom. A frequency axis runs under the waterfall.
Header readouts
The header starts with RF SPECTRUM, then shows:
- Source: which radio you are looking at. When more than one radio feeds the spectrum, this is a drop-down list.
- Center frequency and span of the band.
- floor … dBFS: the measured noise floor.
- … signal(s): how many peaks stand out from the noise. It turns amber when there is at least one.
- DEC …/s: shown only on bands that include 1090 MHz. It is the rate of decoded ADS-B messages. Green is normal. An amber ⚠ means there is signal on the band, but no aircraft has decoded for more than a minute. Common causes are older transponders that don’t send ADS-B, garbled replies, or interference.
Display controls
| Control | What it does |
|---|---|
| MIN / MAX sliders | Set the dB range of the trace and the waterfall colors. |
| Auto | Fits the dB range to the current signal. |
| Hold | Peak hold. Draws an amber line at the highest level seen since you turned it on. |
| Persist | Draws a cyan “phosphor” haze of recent levels. Bursty or frequency-hopping signals leave a visible trail. |
| …× ⤢ | Appears when you are zoomed in. Click it to zoom back out. |
The display range is remembered for each radio source.
Using the mouse
- Scroll over the spectrum or waterfall to zoom in around the cursor.
- Drag to pan.
- Double-click to zoom back out.
- Hover to read the frequency (and the level, on the trace) under the cursor.
- Click to select a frequency.
When you select a frequency:
- Its exact value appears in large digits in the header.
- A level strip appears under the trace. It plots that frequency’s signal level over time.
- You can save the frequency as a bookmark. Type a name in the bookmark name box and click + Bookmark.
- If you click near an existing bookmark, the header offers Remove “…” instead.
- Click × to clear the selection.
The side rail
A narrow rail of sliders runs down the right edge of the spectrum:
| Slider | What it does |
|---|---|
| Zoom | Zooms about the center of the view. |
| Cont | Waterfall contrast. |
| Range | Width of the dB window. Keeps the current center level. |
| Ofs | Center of the dB window. Keeps the current width. |
Range and Ofs change the same window as the MIN / MAX sliders, just described a different way. Click « to expand the rail into wide horizontal sliders, which are easier on a touch screen. Click » COLLAPSE to shrink it again. On touch devices the rail starts expanded.
The Airband panel
Under the spectrum there may be a collapsible ▸ Airband panel. Your administrator decides whether it appears and what it holds. It can have two parts:
- The airband signal meter: one bar per ATC channel, drawn against the squelch threshold. Collapsed, the panel shows a one-line summary of each channel’s level. A
*marks a channel whose squelch is open. - Airband tuning: channels, squelch, gain and Apply. These are the same controls as on the admin page. See Radios: ADS-B, ATC and datalink.
NO RF SOURCE
If no radio is feeding the spectrum, the panel reads NO RF SOURCE. This is a setup state, not a fault. Ask your administrator. If the radio needs to be set up on the rig, contact DroneTracker support (Admin → Support Access).
The radar
The radar is an offline chart, so it works with no internet connection. It shows:
- ADS-B aircraft around the site, on range rings. The chart picks its own range, and the ring labels show the distance in nautical miles.
- Airports and their frequencies.
- Remote ID drones that report a position, drawn as green diamonds.
Click an aircraft to select it. A detail box follows the selected aircraft. Selecting an aircraft from the events table does the same thing (see Callsign chips).
On narrower screens the radar does not fit beside the waterfall. A Chart button appears at the top right of the spectrum instead. It switches between the spectrum and a full-size chart.
Two panels sit under the radar.
Drone-band RF. This panel reports persistent signals in the 2.4 GHz and 5.8 GHz drone bands that don’t line up with Wi-Fi. Each row shows the band, frequency, strength in dB and how many times it was seen. This is evidence that something is transmitting. It does not identify a drone model. It is strongest when it happens at the same time as a camera track that nothing else explains.
- “bands quiet” is a normal, good state.
- “no wideband SDR” means the rig has no radio that can see those bands. A standard RTL-SDR stops at about 1.7 GHz. To add a wideband radio, contact DroneTracker support.
Remote ID. This panel lists drones that broadcast their own Remote ID. Each row shows the drone’s ID, bearing, signal strength and how it was heard. The header shows the state of the Bluetooth Remote ID receiver, if one is fitted (for example “listening”). With no drones in range it reads “No Remote ID broadcasts in range.”
The footer
On a desktop screen, the RF view replaces the usual detection table with a SIGINT footer. It has three tabs:
- SIGINT Events: the ATC bar and the events table. Buttons above the table choose which radios it lists: All, ATC, ADS-B, Datalink or Remote ID.
- ATC: the ATC bar and only the ATC transmissions, with their transcripts and replay. On a busy rig, ADS-B rows would otherwise push them out of the table.
- Channel Activity: which airband channels have been busy.
Drag the top edge of the footer to make it taller or shorter. Click ▴ at the right of the tab bar to make it tall at once, and ▾ to shrink it again. Your browser remembers the height.
The drone-band and Remote ID panels under the radar resize the same way: drag their top edge, or fold them to one line to give the radar the room.
The ATC bar
The ATC bar sits above the events table. Since version 0.2.552 it holds everything the old right-hand ATC pane held. ATC transmissions are now rows in the events table.
From left to right:
| Item | What it shows |
|---|---|
| Airband dongle: Voice ATC / VDL2 datalink | Which job the airband radio is doing. The highlighted button is the mode that is actually running. Only admins can switch it. Everyone else sees the buttons grayed out, with the tooltip “Admins switch the airband dongle”. See Radios: ADS-B, ATC and datalink. |
| ATC VOICE · n | How many ATC transmissions are loaded. |
| ▶ LISTEN | Plays live tower audio in your browser as transmissions arrive. While it plays, the button reads ◉ LISTENING. Click it again to stop. |
| ⚠ no ADS-B track: … | Callsigns the tower is talking to that have no matching ADS-B track. The bar shows the first two and a “+n” count. Hover to see them all. This is often the most interesting thing on the screen. |
| Transcription status | One line that says whether speech-to-text is working. See below. |
If Listen can’t start, a red message appears next to the button with a why? link. Hover the message to read all of it. Even with no error, Listen can be silent: the radio may be misconfigured or the channel may be quiet. Ask your administrator to check the radio setup.
When no transmissions have arrived yet, the bar reads: “No transmissions yet — use Listen to check audio, then the airband settings or troubleshooting.” Both links open the relevant pages.
Transcription status
| Message | Meaning |
|---|---|
| “Whisper on: x of y clips transcribed by the rig” (or “by the forwarder”) | Working normally. |
| “The rig is behind on transcription — some clips have audio only …” | The rig is busy. Some transmissions have audio but no text yet. |
| “Whisper is running but 0 of y clips produced text — usually audio level or squelch; Listen to judge the audio.” | Speech-to-text is running, but the audio isn’t usable. Listen to it, then ask your administrator to check squelch and gain. |
| “Transcription off: …” (red) | Speech-to-text isn’t available on this rig. The message says why and ends “contact DroneTracker support”. |
| “… (forwarder too old to report its Whisper state)” | The forwarder runs an older version and can’t report its state. Counts are still shown. |
The SIGINT events table
The table lists everything the rig’s radios have heard, newest first.
| Column | Contents |
|---|---|
| Timestamp | When it was heard, in your local time. |
| Source | Which radio service heard it (see below). |
| Emitter ID | The identity the transmitter claimed: a callsign, tail number, ICAO hex code or drone ID. |
| Freq (MHz) | The frequency. It is blank for Remote ID, which arrives over Bluetooth or Wi-Fi. |
| Detail | Altitude, speed and heading for aircraft; the message text for datalink; the transcript for ATC voice; position or signal strength for drones. |
| (last column) | A replay button on ATC voice rows that have audio. |
Sources
| Source | What it is |
|---|---|
| ADS-B | Aircraft transponders on 1090 MHz. Each aircraft appears once, as a current contact, rather than once per position report. The radar shows its movement. |
| DATALINK | Text messages sent between aircraft and ground stations: ACARS, and VDL2 when the rig is decoding it. |
| REMOTE ID | Drones broadcasting their own ID and position. |
| ATC VOICE | Transcribed air traffic control transmissions. If a transmission has no transcript, the detail reads “… s — audio only, no transcript”. |
Emitter IDs are claims, not identity. ADS-B, ACARS and Remote ID are broadcast without authentication. A transmitter can say anything about who it is, and nothing checks it. The column header’s tooltip and the line under the table both say so. Treat a callsign or tail number here as what the aircraft said, not as proof. A camera classification is a different kind of evidence: it is the model’s inference from pixels.
History
The rig keeps every event. When you open the RF view, the table loads the rig’s recent history, so it is not empty after a page reload or in a new tab. Live events then merge in as they arrive. The table shows up to 200 of the most recent rows.
Search and Links
Under the table is a search box: Search history (callsign, tail, text)…
- Type a callsign, tail number or any text, then press Enter. The table then shows matches from the rig’s whole history instead of the live list, with a count such as “12 matches”.
- Clear the box to go back to the live list.
- If the search can’t run, “search failed” appears. Hover it for the reason.
The Links button next to the box answers a different question: what has the rig linked to this identifier? It works when the box holds a callsign, tail number, hex code or drone ID. You can also click any underlined emitter ID in the table.
The card that opens shows:
- when the identifier was first and last heard;
- Also known as: other identifiers for the same thing;
- Links: what it has been seen with, with a confidence level and a count.
If nothing is known yet, the card reads “The rig hasn’t linked this identifier to anything yet.”
Replaying ATC audio
Transcripts of clipped, accented or overlapping radio speech are often wrong. Replay a transmission to hear what was actually said.
| Button | Meaning |
|---|---|
| ▶ | Play this transmission. |
| ■ | Playing. Click to stop. |
| — (dimmed) | The audio is no longer kept. The rig stores recent clips only, so older rows show this. |
| ! | The clip couldn’t be fetched or played. Hover for the reason. |
Badges and chips in the Detail column
UAP badge. An amber UAP badge marks an ATC transmission that used UAP-related terms. Those transmissions are kept in Recordings. Hover the badge to see which terms matched. See Recording and reporting.
Callsign chips. ATC voice rows end with small chips for the callsigns heard in the transmission:
- Green chip: the callsign matched a live ADS-B track. Click it to select that aircraft on the radar.
- Amber chip ending “· no ADS-B”: the tower named this callsign, but there is no ADS-B track for it.
Marginal datalink decodes. A datalink message that decoded with errors shows dimmed, with an amber … % parity chip in front of it. Some fields in it may be corrupted.
Long details, such as multi-line ACARS reports, are cut to one line. A ⏎ marks each line break. Hover the detail to read the full text.
Channel Activity
The Channel Activity tab shows which airband channels carried traffic over the last 30 minutes. There is one row per channel, and each cell is 10 seconds.
- A lit (green) cell means the squelch opened: the radio passed audio in that slot. Brighter means stronger.
- A dark cell means the channel was quiet.
- The header shows the squelch threshold in use. An empty row can mean a quiet channel, or a squelch set too high.
- The right side of each row reads n active, silent, or not tuned.
- A not tuned row is a channel the radio no longer listens to. Click its × to remove it.
Use this tab to decide which channels are worth listening to.
If the tab reads “No channel activity recorded yet”, the airband radio is not running with ATC channels tuned yet. It fills in over the next few minutes once it is.
Small screens and handhelds
On a phone-sized screen the footer is hidden. To reach the ATC bar and the events table:
- Tap ATC. On small screens it is in the layout row at the top of the RF view. It also appears at the top right of the spectrum.
- The ATC bar and the events table open over the view.
- Tap Close ATC ×, or tap ATC again, to go back.
On the Android handheld, the RF view has no footer at any screen size. The ATC button at the top right of the spectrum is always there, and it opens the same ATC bar and table. See Handheld and game controllers.
In the RF view, a game controller’s D-pad moves between buttons and A presses the highlighted one.
Ask the rig
Ask the rig lets you ask questions in plain English about what the rig has seen and heard. For example: “What aircraft are overhead right now?”
It is read-only. It can describe what the rig knows, but it cannot change anything. It cannot move a camera, change a setting, or clear an alert.
Open it
Select ASK in the sidebar. The panel opens on the right, under the heading Ask the rig.
The ASK button appears only when the rig has an AI model set up to answer questions. If you do not see it, ask your administrator to set one up under Admin → Reasoners.
Operators and administrators can ask questions. Other users can open the panel but see Operators and admins can ask.
Ask a question
- Type your question in the box at the bottom. It says Ask about aircraft, drones, ATC, alerts… until you type.
- Select Ask, or press Enter.
- Wait for the answer. The panel shows Thinking… while it works.
Before your first question, you can select one of the example questions instead of typing.
You can ask follow-up questions. The rig keeps the recent conversation in mind. To start over, select clear.
Example questions
- What aircraft are overhead right now?
- Anything unusual in the last hour?
- Summarize the ATC traffic.
- Have any drones been seen in the last hour?
- Were any alerts sent recently?
- Is the rig healthy?
Check every answer
AI answers can be wrong. To help you check, every answer has a Rig data: line underneath it. The rig counts these numbers itself. The AI does not write them:
- Drones seen by the camera in the last hour
- Drone Remote ID broadcasts in the last hour
- Alerts sent in the last hour
- Aircraft on ADS-B right now
If the answer and the Rig data: line disagree, trust the Rig data: line.
Where the answer comes from
A short note at the top of the panel tells you which AI answers your questions:
- Answered on this rig. The AI runs on the rig. The panel says Nothing leaves this rig. The first question after a pause can take a couple of minutes while the model loads.
- Answered by an online AI service. The panel says that a summary of the rig’s current state is sent to this provider with each question. Your administrator chooses the service.
If the rig cannot answer, the panel shows the reason in amber, for example that no model has been chosen yet. Pass the message to your administrator.
What it knows
Each time you ask, the rig gives the AI a snapshot of:
- The aircraft it hears on ADS-B right now.
- Camera detections in the last hour, by class, and the most recent detections with their flight information.
- The latest scene description from the camera.
- Radio signals in the last hour, such as ATC, datalink, and Remote ID.
- Recent alerts that were sent.
- The rig’s health.
Limits
- About the last hour. For older history, use Recording and reporting or the event log.
- Read-only. It cannot take any action.
- What was said on the radio. When the AI runs on the rig, it does not see the words of ATC transcripts or datalink messages, only who transmitted, when, and on what frequency. This protects against radio messages written to mislead the AI. Read the transcripts yourself in the RF view.
- Questions up to 1,000 characters.
- Only about the rig’s data. Questions that aren’t about what the rig has seen and heard (aircraft, drones, targets, alerts, radio traffic) get one fixed reply: “I can only answer questions about what this rig has seen and heard.”
- It can be wrong. Answers are AI-generated, and the panel says so. Use the Rig data: line, the target card, and the map to confirm anything that matters.
How it keeps answers consistent
From version 0.2.554, Ask the Rig does several things to make its answers repeatable and tied to the rig’s data:
- Counting questions are answered from the rig’s own counts, with no AI involved: “How many aircraft are up?”, “How many drones?”, “How many alerts?” give the same answer every time for the same data.
- The AI answers with no randomness (its “temperature” is set to zero), so the same question about the same data gets the same answer.
- Repeated questions within two minutes, with the same counts, get the same answer.
- Answers are checked against the rig’s data. If an answer names a callsign, registration, ICAO code or number that the rig has no record of, it isn’t shown. You see “I can’t confirm that from the rig’s data” and what it mentioned instead.
Recording and reporting
The Reporting view is where you review what the rig recorded and see summaries of what it detected and heard.
To open it, select RPT in the sidebar. The view has four tabs: Recordings, Analytics, Drones, and UAP.
What gets recorded
- Video clips. The rig records video to disk when an object is detected. This happens only for sources where an administrator has turned recording on under Admin → Recording. Each source can keep clips for 7 to 30 days. When the disk fills up, the oldest clips are removed first.
- ATC audio. When an air traffic control transmission matches words linked to unidentified objects, the rig keeps that audio as a clip in the uap group.
If recording is off for a source, nothing from that source appears here. Ask your administrator to turn it on.
Recordings
The Recordings tab has a list of clips on the left and a player on the right.
Find a clip
- The list shows each clip’s object class, source, and size. The count of clips is at the top.
- Filter the list with all, video, or uap. video is camera clips. uap is preserved ATC audio.
- Sort with the drop-down: Newest first, Oldest first, Largest first, Smallest first, Longest first, or Object type (A–Z).
- Select Refresh to load new clips.
You can also jump here from the event log. For a confirmed target, select Review log in the event log’s Action column. The list then shows only that target’s clips, with Track and its ID at the top. Select Clear ✕ to show all clips again.
| Message | Meaning |
|---|---|
| No recordings yet. | No clip has been captured. Recording may be off for every source. |
| No recordings for this target. | Recording was off on that source when the target flew through |
Play a clip
Select a clip to play it. The player shows the source, length, and size above the video. Use the video’s own controls to play, pause, and seek.
Below the video:
- SIGINT activity during clip is a chart of radio activity over the same time.
- Correlated detections is a table of detections whose tracks overlapped the clip. Columns: Class, Make / model, Conf, Callsign, Operator, Route, Alt, and First seen. As on the target card, the AI’s columns are amber and the confirmed flight data is green. If none overlapped, it says No persisted detections overlapped this clip.
Analytics
The Analytics tab summarizes activity over a time range. Pick the range at the top right: 24H, 7D, 30D, or ALL.
Summary cards
| Card | What it counts |
|---|---|
| Detections | Camera detections in the range |
| Recordings | Clips, with their total size and length |
| SIGINT records | Radio records received, and the number of batches |
| SIGINT volume | The amount of radio data received |
RTL-SDR activity
A chart of radio receiver activity over the range.
Top-10 charts
Choose what the charts count with the Count buttons:
- Heard by radio: every aircraft and drone the rig’s receivers heard.
- Camera-confirmed: only objects the camera confirmed.
Your choice is remembered in this browser.
The charts are Detections by class (camera only), Top callsigns, Top airlines, Top originations, Top destinations, Top make / models, and Top drone make / models (shown as Top drone makers (Remote ID) when counting by radio).
Drones
The Drones tab shows drones that broadcast Remote ID.
- Live Remote ID broadcasts shows a card for each drone broadcasting now. Each card has a compass that points from the rig toward the drone, plus Proximity, Altitude, Height, Speed, BLE signal, and Operator (the pilot’s broadcast position, when sent).
- Heard in the last 24 h lists every drone heard in the last day, with UAS ID, Type, Broadcasts, Last RSSI, Last proximity, and Last heard.
If no drones are broadcasting, the tab says so. Drones that do not broadcast Remote ID can still be detected by the cameras.
UAP
The UAP tab is for recording observations of unidentified objects.
File an observation
Under File observation:
-
Check each observable you saw:
- Anti-gravity lift
- Instantaneous acceleration
- Hypersonic velocity without signatures
- Trans-medium travel
- Low observability
Each one has a short description under it.
-
Optionally, pick a clip under Link to recording (optional).
-
Describe what you saw in Notes: what was seen, how long, the weather, and any witnesses.
-
Select File observation.
You must check at least one observable or write a note.
Review observations
Filed observations lists every observation filed on this rig, with Observed (the time), Observer, Observables, and Notes.
ATC chatter detections
ATC chatter detections lists air traffic control transmissions the rig flagged automatically because they used words linked to unidentified objects. Each row shows when it was heard, the frequency, and how strong the match was:
- STRONG: a single, very specific term was enough.
- SUPPORTING: two supporting terms appeared together.
The matched words are shown as tags, so you can see why each one was flagged. You decide whether it matters. When the audio was kept, a player lets you listen to it. The same audio is in Recordings under uap.
To get notified when something is detected, see Alerts.
Handheld and game controllers
You can run DroneTracker from a game controller or joystick, and from the Android handheld operator terminal. The controller layout is the same everywhere:
- the handheld’s built-in controls;
- a controller paired with the handheld;
- a controller in the desktop app on Linux, macOS or Windows.
Game controllers and joysticks
Pair the controller with the computer or handheld you are using DroneTracker on, not with the rig.
Supported controllers
- Gamepads: Xbox, PlayStation (DualSense, DualShock 4), Nintendo Switch Pro, 8BitDo, Logitech F310/F710, Steam, and most USB or Bluetooth gamepads.
- Flight sticks and HOTAS: Logitech Extreme 3D Pro, Thrustmaster T.16000M and T.Flight, Logitech/Saitek X52 and X56, VKB, Virpil.
- Camera (PTZ) joysticks, such as the AXIS T8311.
When a controller is connected, a 🕹 PAD badge appears next to the mount controls on the dashboard. Click it to open the button layout.
What each control does
Flight-stick equivalents are in brackets.
| Control | In the video view | In the 3D topology view |
|---|---|---|
| Left stick (stick: the stick) | Move the mount. The further you push, the faster it moves. | Pan the map |
| L2 / R2 | Fine / fast mount speed (handheld) | Zoom out / in |
| Right stick (stick: twist) | Up/down zooms the video | Turn and tilt the view |
| D-pad (stick: hat) | Nudge the mount one step | — |
| L1 / R1 | Step through the flights on the RF · 1090 MHz card | Pick the previous / next aircraft |
| A (stick: trigger) | Point the mount at the highlighted flight | Fly to the picked aircraft |
| L3 (stick: thumb button) | Stop the mount and reset zoom | Recenter on the site |
| R3 | Fold / unfold the RF · 1090 MHz card | — |
| B | Clear the selection / go back | Go back (handheld) |
| Select | Switch to 3D topology (desktop); hide side panels (handheld) | Back to the video (desktop) |
Buttons go by position, not by the letter printed on them. A is always the bottom face button. On a Nintendo controller, that button is marked B.
In the other views (RF, map, reporting), the D-pad moves between buttons and A presses the highlighted one.
On a Dedicated Rig, the sticks drive the head instead (right stick fast, left stick slow), Y sends it home, X changes the thermal palette and LB / RB zoom the telephoto. See The rig view.
Moving the mount needs an operator account or higher. See Accounts and security.
If a controller does nothing
- Browsers only see a controller after you press a button with the DroneTracker tab open. They only read it while that tab is in front and focused.
- The mount stops by itself if you switch tabs, the window loses focus, or the controller disconnects.
- 8BitDo: switch it to X-input (Xbox) mode for the most reliable layout.
- Nintendo Joy-Cons used separately appear as two half-controllers, and they are not supported. Use a Switch Pro controller.
- On a Mac, Chrome or Edge map Nintendo controllers more consistently than Safari.
The Android handheld
The handheld is a handheld operator terminal for a DroneTracker rig. It shows the rig’s live video with a heads-up display (HUD), and it opens the rig’s own views full-screen. The rig does all the detection and correlation. The handheld displays the results.
To get the handheld app, contact DroneTracker support (Admin → Support Access).
Adding a rig
The first time, the handheld asks you to add a rig. The screen reads “ADD A RIG — sign in once to enroll this handheld as a trusted device.”
- Enter the RIG ADDRESS.
- Enter your OPERATOR name and PASSPHRASE, then tap CONNECT.
- If your account uses two-factor sign-in, enter the code from your authenticator app (or a backup code) under MFA OR BACKUP CODE, then tap VERIFY.
After that, the handheld is enrolled as a trusted device. Later connections to that rig need no password.
Certificate check. The first time you connect, the handheld may show UNVERIFIED RIG CERTIFICATE. Before you tap TRUST THIS RIG, ask an admin to confirm that the fingerprint matches the one on the rig, under Admin → Trusted Devices.
If the handheld shows ⚠ CERTIFICATE CHANGED, the rig presented a different certificate from the one this handheld trusted before. That can mean the rig was reinstalled, or it can mean someone is intercepting the connection. Do not tap TRUST NEW CERTIFICATE unless you know the rig’s certificate changed. Tap CANCEL and check with your administrator.
Switching rigs
The RIGS screen lists every rig saved on the handheld. Each rig is tagged:
- ACTIVE: the rig you are connected to now;
- TRUSTED: enrolled, so it connects without a password;
- SIGN-IN NEEDED: you must sign in again.
From this screen you can also:
- tap + ADD A RIG to add another rig;
- use RENAME to give a rig a label you’ll recognize;
- use FORGET to remove a rig. Tap it twice: the first tap changes it to TAP AGAIN TO FORGET.
The HUD
The main screen is the live video feed with the HUD on top.
- Link status shows LINK OK, LINKING…, LINK LOST or AUTH FAILED. AUTH FAILED means the handheld needs to sign in to the rig again.
- The target card shows the current target. CV DETECTION is what the camera models concluded: CLASS, MODEL, CONFIDENCE and SOURCE. RAG CORROBORATION is what flight data confirms: FLIGHT, ROUTE, OPERATOR and a STATUS such as CORRELATING… or NO ADS-B MATCH.
- The RF · 1090 MHz card lists nearby ADS-B flights. Tap its header (or press R3) to fold it to one line. Drag the header to move it anywhere on the video. The handheld remembers where you put it and whether it is folded.
- Drag a box around anything and the rig follows it. Draw a rectangle on the feed with a finger and the rig’s drawn-box tracker locks onto what you outlined, class-blind; the box comes back in cyan as FOLLOWING, dashed as SEARCHING while the rig looks for a lost object. The mount steers to it and a recording starts with it, as on the main station (Drawing a box around something). Tap inside the box to stop. The rig refuses a box drawn on a camera its detector is not watching and says which one to draw on.
- UNKNOWN boxes are motion, not a detection. With the device on a stand or a tripod, or a USB camera fixed in place, anything that moves against a still picture is boxed UNKNOWN within a second or two, before the detector can name it: the same class-blind tripwire the main station runs on cameras without their own detector. Auto zoom and a stand go to it; once the detector names the object, its own box takes over. Swaying branches and flickering edges are learned as background, and a stand turning slowly is followed: the app measures how far the picture slid and moves its learned background with it. Hand-held, the picture is never still enough and nothing is marked. Settings → Detection → Motion cue turns it off, and the Motion cutoff sets how sure the app must be before a box shows.
The side rail
Tap ≡ at the top left to open the side rail. Tap it again to close it.
SOURCES lists the rig’s cameras.
- AUTO follows your default camera if you have set one, or the first live camera if you haven’t.
- A green dot means the camera is online.
- DET marks the camera that detection is running on.
- Tap a camera’s ☆ to make it your default for this rig (★). Tap ★ again to clear it.
- ⟳ refreshes the list.
RIG VIEWS opens the rig’s own pages, full-screen:
| Entry | Opens |
|---|---|
| 3D TOPOLOGY | The 3D view. See Map and 3D view. |
| RF SPECTRUM | The RF view. See The RF view. |
| MAP | The radar map. |
| REPORTING | Recordings and analytics. See Recording and reporting. |
| SOURCE GRID | All camera feeds in a grid. |
| FULL CONSOLE | The complete dashboard. |
Tap ‹ BACK, or use the handheld’s back button, to return to the HUD.
ASK THE RIG › opens a question box. Ask about tracks, flights, ATC or alerts, in plain language. It is read-only, so it can’t change anything on the rig. See Ask the Rig.
FIELD UNIT › shows what this handheld itself captures and sends to the rig. See Field unit.
At the bottom of the rail are the name of the rig you are connected to, ⇄ SWITCH RIG and ⏻ SIGN OUT.
ATC and SIGINT on the handheld
Inside the handheld, the rig’s pages run without the desktop’s side panels and footer. In RF SPECTRUM, tap ATC at the top right of the spectrum. It opens the ATC bar and the SIGINT events table, the same content the desktop shows in its footer. Tap ATC again to return to the spectrum.
The spectrum’s control rail starts in its wide, touch-friendly layout on the handheld.
Field unit
The handheld can also act as a field unit. The FIELD UNIT screen reads: “This phone captures and forwards; the main station does all detection and correlation.”
It shows four things:
| Section | What it shows |
|---|---|
| UPLINK | Link: connected, or “down — holding data”. Then counts for Waiting to send, Sent and Dropped (too old or queue full). |
| BLUETOOTH REMOTE ID | Whether the handheld is listening for drone Remote ID, how many broadcasts it heard and forwarded, and whether it supports Long Range and extended advertising. If it reads Allow Bluetooth and location, grant those permissions. |
| SDR (USB) | Any radio dongle plugged into the handheld. In the side rail, each dongle shows FWD (forwarding), ONLINE or ERR. |
| CAMERA (USB) | A USB webcam plugged into the handheld, and whether it is relaying its picture to the main station. Being watched by counts who is pulling the picture right now. |
A USB webcam as a rig camera
Plug any standard USB webcam into the handheld, through a powered USB-C hub if the handheld also has a radio attached. Android asks whether DroneTracker may use the camera; allow it. The handheld then sends the picture to the main station, which adds it as a camera named after the webcam, for example Field camera · HP HD-4110.
The handheld only captures and sends the picture. The main station does all the detection. To run detection on the field camera, an administrator picks it as the detection source in the console, the same way as any other camera. To watch it on the handheld, pick it in the side rail.
The main station must be able to reach the handheld: on the same local network, or over Tailscale. Unplugging the webcam takes the camera off the main station’s list of active cameras.
THIS PHONE shows the model and whether Battery limits are on. Some phone makers’ battery managers stop background apps on their own. If forwarding stops when the screen is off, tap Turn off battery limits for DroneTracker. Then set DroneTracker to unrestricted in the phone’s battery settings.
Notifications
The handheld adds two notification channels to Android:
- Rig Link: keeps the connection to the rig alive and delivers detection alerts.
- Airspace Alerts: Level 2 and Level 3 detections from the connected rig.
You can change how each one alerts you in Android’s notification settings.
Controllers on the handheld
The handheld’s built-in sticks and buttons follow the table above, and so does a controller paired with the handheld. On the handheld:
- L2 / R2 set fine or fast mount speed.
- B goes back.
- Select hides the side panels.
Accounts and security
This chapter covers who can sign in to DroneTracker and what they can do: roles, user accounts, passwords, two-factor authentication, single sign-on, sessions, and trusted handheld devices.
Admins can change everything described here. Auditors can open every admin page, but they can’t change anything. While an auditor is signed in, the admin console header reads Auditor — read-only.
Roles
Every account holds one or more roles. DroneTracker ships with six system roles. You can’t edit or delete them. On Admin → Access → Roles they carry a ⚿ System tag.
| Role | What it allows |
|---|---|
super_admin | Full system access. This is the break-glass admin account. |
admin | Administrative control over users, roles, SSO, and system configuration. |
operator | Runs the detection pipeline and the camera feeds. |
analyst | Read-only access, plus export and reporting. |
auditor | Read-only view of the admin console for compliance review: users, roles, SSO, hardware configuration, and the audit trail. Can’t change anything. |
viewer | Read-only dashboard access. |
Higher roles include the rights of lower ones: super_admin > admin > operator > analyst > viewer. auditor stands apart. It includes viewer, plus read-only access to the admin console.
Custom roles
If the system roles don’t fit, build your own:
- Open Admin → Access → Roles.
- Click + Add role.
- Enter a Role name and an optional Description.
- Tick the permissions the role should grant.
- Save.
Custom roles appear under Custom roles, with Edit and Delete links. If you delete a role, every user who holds it loses its permissions. The confirmation tells you how many users that affects.
The support role
You may see a DroneTracker support account in the Support Access history. It exists only while you have a support invite open. You can’t assign the support role to anyone. See Support and ideas.
Users
Open Admin → Access → Users. The table lists every account: local accounts, SSO accounts, and accounts created by your identity provider (SCIM). For each account you see the Username, Display name, Email, Auth type, Roles, Groups, and Status.
Status is one of:
- Active: the user can sign in.
- Locked: too many failed sign-ins. The lock lifts by itself after the lockout period (see Sessions and sign-in limits).
- Inactive: the account was deactivated.
Add a user
- Click + Add user.
- Enter a Username and a Display name. Email is optional.
- Set an Initial password, or leave it empty. If you leave it empty, the user must register a passkey the first time they sign in.
- Under Roles, pick one or more roles.
- Click Create.
Edit or deactivate a user
- Click Edit to change the display name, email, roles, or the Active switch.
- Click Deactivate to stop a user from signing in. DroneTracker never deletes accounts. A deactivated account stays in the list, so the audit trail stays complete.
Groups
Use Admin → Access → Groups to give roles to a set of users at once. Each group has a Group name, its Members, and its Mapped roles. Groups that come from your identity provider are kept in sync through SCIM or single sign-on. Local groups are managed entirely on this page.
Passwords
By default, a password must be at least 12 characters long. You can’t reuse any of your last 5 passwords.
To change your own password:
- Open Admin → My Security (under Account).
- In Change Password, enter your Current password, then the New password twice.
- Click Change Password.
- DroneTracker asks you to confirm with your second factor (see Step-up confirmation). After that, the change goes through by itself.
Changing your password signs you out everywhere, including the current browser. Sign in again with the new password.
If a user forgets their password, contact DroneTracker support (Admin → Support Access).
Two-factor authentication
Every account needs a second factor. If you sign in without one, DroneTracker makes you set one up before you can continue.
You can use either or both of these:
- Authenticator app (TOTP). An app such as 1Password, Authy, or Google Authenticator shows a 6-digit code that changes every 30 seconds.
- Passkeys (WebAuthn). A security key (for example, a YubiKey) or your device’s built-in passkey. Passkeys resist phishing, so use one if you can.
Manage your second factors on Admin → My Security.
Set up an authenticator app
- In Authenticator app (TOTP), click Enroll TOTP.
- Scan the QR code with your app. If you can’t scan it, type in the code shown under Manual entry.
- Open Backup codes — save these now. Store the codes somewhere safe, then tick I have stored these codes in a secure location.
- Enter the 6-digit code from your app and click Activate.
Each backup code works once. Use one if you lose your phone.
Other controls in this section:
- Rotate backup codes issues a new set. Every old code stops working. The new codes are shown once only.
- Disable TOTP turns the authenticator off. You must enter a current 6-digit code. Your backup codes are wiped as well.
Register a passkey
- In Passkeys (WebAuthn), type a Name (optional), such as “YubiKey 5 NFC”.
- Click Register passkey, then follow your browser’s prompt. Touch your key or confirm on your device.
- If DroneTracker shows recovery codes, save them. They are the only way back in if you lose every passkey, and they won’t be shown again.
Each passkey shows a tag:
| Tag | Meaning |
|---|---|
| Synced | Your password manager syncs it (for example, iCloud Keychain or Google Password Manager). You can recover it from another device. |
| Sync off | It could sync, but sync is turned off. |
| Device-bound | It lives only on that key or device. If you lose the device, you lose the passkey. Register a second one. |
If DroneTracker warns that a passkey may have been cloned, delete it and register a new one from your main device.
Signing in with a second factor
After your password, DroneTracker shows Second factor required:
- With a passkey, click Verify with passkey.
- To use your app instead, click Use authenticator code instead and enter the 6-digit code.
- If you lost your passkey or phone, click Lost your passkey? Use a backup code or Use backup code instead.
If you lose your authenticator
- Sign in with a backup code, or with another passkey you registered.
- Open Admin → My Security. Remove the lost method and set up a new one.
If you have no backup code and no other passkey, you can’t sign in by yourself. An admin can’t remove your second factor from the console either. Ask another admin to contact DroneTracker support: open Admin → Support Access and choose the support type Accounts, access & security.
Step-up confirmation
Admin work needs a recent proof of your second factor. When you open the admin console, or save a change, and your last proof is too old, DroneTracker shows Re-authenticate to continue:
- click Use passkey, or
- enter a 6-digit authenticator code or a backup code, then click Verify.
The action you started then continues by itself.
By default a proof lasts 30 minutes. Changing your password always asks for a fresh proof. Installing an update or changing a trusted device may also ask for one.
Sessions and sign-in limits
These limits are set under Admin → System Settings → Authentication:
| Setting | Default |
|---|---|
| Session idle timeout (seconds) | 1800 (30 minutes) |
| Session absolute timeout (seconds) | 43200 (12 hours) |
| Max concurrent sessions per user | 5 |
| Admin MFA step-up freshness window (minutes, 1-59) | 30 |
| Failed logins before lockout | 5 |
| Account lockout duration (seconds) | 1800 (30 minutes) |
| Minimum password length | 12 |
| Passwords remembered (no reuse) | 5 |
Notes:
- Changes on this page are saved right away, but they take effect after the next restart.
- Some rows can be pinned by the install. If a row says the install value wins, the value you save stays inactive. Contact DroneTracker support to change it.
Single sign-on (SSO)
DroneTracker can sign users in through your identity provider, using OIDC (OAuth2) or SAML 2.0.
- Open Admin → SSO Providers.
- Click + Add provider.
- Under General, enter a Display name and choose the Provider type: OIDC / OAuth2 or SAML 2.0.
- Fill in the provider details:
- OIDC: Issuer URL, Authorization endpoint, Token endpoint, JWKS URI, Userinfo endpoint (optional), Client ID, Client secret, and Scopes (space-separated).
- SAML: IdP Entity ID, SSO URL (IdP SingleSignOnService), SLO URL (optional), NameID format, IdP X.509 certificate (PEM), Sign AuthnRequests, and Allow IdP-initiated login (legacy).
- Optional settings:
- Default email domain (optional), for example
acme.com, so users type only the part before the @. - Auto-provision users on first login.
- Default provider (pre-selected on the login page).
- Group mapping (JSON, optional). This maps your identity provider’s groups to DroneTracker roles, for example
{"dronetracker-admins":"admin","ops":"operator"}.
- Default email domain (optional), for example
- Save.
Each active provider shows up as a sign-in button on the login page. Client secrets are encrypted at rest.
Admin → Access → SCIM has the steps for letting your identity provider create, update, and deactivate accounts and groups by itself. It also lists each provisioning event.
Trusted devices (handhelds and phones)
The Android handheld and the iPhone app’s Rig view sign in with a device certificate. A device enrolls by itself the first time it completes a full password and second-factor sign-in. After that it signs in without a password, both when it starts and whenever a session runs out.
On the iPhone, the certificate’s key stays in the phone’s keychain and never leaves the phone. The iPhone trusts the rig’s device sign-in certificate by the fingerprint the rig gave it while you were signed in, so it doesn’t ask you to confirm one.
Open Admin → Access → Trusted Devices to see every enrolled device. The page lists the Device, Operator, Status (Trusted, Expired, or Revoked), Last Login, and Expires date.
At the top, the page shows the rig’s Device sign-in certificate fingerprint. The first time a handheld connects, it asks the user to trust a fingerprint. That fingerprint must match the one shown here. If they don’t match, don’t trust it. Contact DroneTracker support.
If a device is lost or stolen, you have two choices:
| Action | What happens | When to use it |
|---|---|---|
| Beacon | The device stays signed in, but it loses video, controls, and SIGINT. All it can do is report where it is. Enter a reason for the audit log and click Set Beacon. Click Restore to undo it. | You’d rather find the device than lock it out. |
| Revoke | The device is signed out within seconds. It can’t sign back in, and it wipes its stored credentials the next time it connects. It also stops reporting its location. | You don’t expect to get the device back. |
Click Location to see where a device last reported from. Beacon and Revoke may ask for step-up confirmation.
For the operator side of handhelds, see Handheld and game controllers.
Video sources and detection models
DroneTracker looks for aerial objects in video. The video can come from:
- Network streams: IP cameras (RTSP), web snapshot or MJPEG cameras, and YouTube live links.
- Local cameras: USB cameras plugged into the rig.
- The Dedicated Rig’s cameras: the day spotter, night spotter, and telephoto. See Dedicated Rig.
This chapter explains how to add each kind of source, and how to choose the detection model that looks at the video.
Network streams
Open Admin → RTSP Streams (under Imagery Intelligence). The table lists each stream’s Name, URL, Resolution, and Status.
Add a stream
-
Click + Add stream.
-
Under Identification, enter a Display name.
-
Paste the Stream URL. DroneTracker works out the type by itself:
You paste What DroneTracker does An rtsp://orrtsps://addressReads the camera’s live stream. An http://orhttps://link to a JPEG or PNG snapshotFetches a new snapshot every 10 seconds. An http://orhttps://link to an MJPEG streamReads it live. A YouTube live link Fetches the live stream and passes it on as a normal feed. If the camera needs a user name and password, put them in the URL (
user:pass@host). They are saved exactly as you type them. -
Optional: add a Description.
-
Under Capture parameters, set the Width and Height that DroneTracker should scale the video to. You can also change the Reconnect delay (ms) (how long to wait after the stream drops) and the Channel capacity. Leave Use TCP transport (recommended) on unless your camera vendor says otherwise.
-
Optional: under Location & ADS-B source, enter where the camera is. You can search by address, or type the Latitude and Longitude. Then choose the ADS-B source for this feed:
- Inherit global default
- External ADS-B API at this location (needs a latitude and longitude)
- Rig-local SDR / forwarder
-
Under Status, leave Active (pipeline ingests this stream) on. Turn on Default (primary feed for single-feed UIs) for the stream that should appear first.
-
Click Create stream.
When you edit a stream, your changes apply the next time it reconnects.
Note: YouTube sometimes refuses automated access to a live stream. When that happens, the feed stays blank. Try again later, or use another source.
Local USB cameras
Open Admin → Hardware → Devices, then the Local Cameras tile. The page has two tables:
- Registered: cameras DroneTracker may use.
- Detected on this host: every camera the rig can see right now. Click Rescan after you plug one in.
The camera list shows the USB port
When two cameras are the same model, their names are the same. To tell them apart, the Label column adds the USB port each camera is plugged into, for example · USB port 2.1. If you move a camera to another port, the label changes to match.
Register a camera
- In Detected on this host, click Register next to the camera.
- Under Identification, enter a Friendly name, such as “Rooftop wide-angle”, and an optional description.
- Under Capture defaults, set the Width, Height, and FPS.
- Optional: under Deployment geometry (optional), enter the camera’s Latitude (°), Longitude (°), Altitude (m MSL), Horizontal FOV (°), and Bearing (°, 0=N). You only need these when this camera drives a detection session. A latitude and longitude here override the rig’s site for ADS-B matching.
- Under Image Orientation, flip the picture if the camera is mounted upside down or mirrored.
- Leave Active (pipeline may open this device) on.
- Click Register camera.
To change a camera later, click its name and then Save changes. Changes apply the next time the camera is opened. To remove a registration, click Delete. The camera itself isn’t touched.
Video format
USB cameras are opened in compressed MJPEG format automatically, at the size closest to what you asked for that the camera actually supports. This keeps the frame rate up and the rig’s workload down. Cameras that don’t offer MJPEG, such as thermal cameras, are opened in their own format.
For the Dedicated Rig’s cameras, the format list shows only the formats the camera says it supports. If a Dedicated Rig camera’s device number changes after a restart or a re-plug, its binding follows the camera by its USB port. See Dedicated Rig.
Detection models
The detection model looks at each frame and finds aircraft and drones. Open Admin → Models (under Computer Vision).
Built-in models
| Model | What it detects |
|---|---|
| AeroDetect 3-class (drone / helicopter / airplane) | Drones, helicopters, and airplanes. This is the default model. |
| AeroDetect + UAP 4-class (drone / helicopter / airplane / UAP) — optional | Drones, helicopters, airplanes, and UAP (unidentified aerial phenomena). It needs more computing power than the default model. |
| YOLOv11n COCO-80 (general — incl. airplane / bird / kite) | A general-purpose model with 80 everyday object types, including airplanes and birds. |
The table shows each model’s Origin (default for built-in, uploaded for your own), Size, and Status.
Choose the active model
Click Activate on a model to use it instead of the default. Click Deactivate to go back to the default. Your choice takes effect the next time a detection session starts. The same list feeds the detector choice on the Dedicated Rig page.
Upload your own model
Click Upload model and pick a model file (.onnx). The page shows how many uploads you have left and the size limit for each one. You can delete uploaded models, but not built-in ones. If you delete the model that’s in use, DroneTracker goes back to a default model.
Secondary detector (adds birds and other objects)
You can run a second, general model alongside the main one. It fills in objects the main model doesn’t know about, such as birds. The main model always wins when both models find the same object.
- Open Admin → System Settings.
- Expand Advanced — device/feature settings, then find Computer Vision.
- In Safety-net secondary detector, choose a built-in model, such as the general COCO model. Leave it empty to turn the secondary detector off. Uploaded models can’t be used here.
- Related settings in the same section:
- Secondary detector confidence threshold (percent, default 45)
- Secondary-vs-primary overlap that suppresses a duplicate safety-net box (percent)
- Drop non-air secondary classes (keeps ground clutter out of the feed) (on by default)
Each network stream can also have its own Secondary detector confidence (%). You’ll find it under Capture parameters when you edit the stream. Leave it blank to use the global value.
Bird species matching needs a detector that reports birds, so a secondary detector like this is one way to get them. See Specific identity and bird species.
Detection confidence settings
At the bottom of Admin → Models, Detection confidence gates has two independent gates:
| Setting | Default | What it does |
|---|---|---|
| YOLO confidence floor, percent | 50 | Detections below this are thrown away before tracking. |
| ByteTrack: minimum confidence percent that may START a new track | 70 | A detection must reach this to start a new tracked target. It must be higher than the low gate. |
| ByteTrack: minimum confidence percent to continue an existing track | 30 | Keeps an existing target tracked. It never starts a new one. |
Small, distant targets fail these gates first. If the video shows an aircraft but no target box appears, lower both the floor and the track-start gate. Expect more false detections when you do. Changes apply the next time you select a source, with no restart.
Video decoder
Admin → System → Capture → Video decoder for RTSP cameras picks how the rig decodes network cameras for detection:
| Choice | What it does |
|---|---|
| auto (default) | Uses the hardware decoder on rigs that have one (Jetson Orin), and ffmpeg everywhere else. |
| gstreamer | Always tries the hardware decoder. |
| ffmpeg | Always uses ffmpeg. |
On a Jetson Orin the hardware decoder uses about a seventh of the processor time ffmpeg needs for the same camera. If a camera gives no picture through it twice in a row, the rig switches that camera back to ffmpeg by itself. Changes apply the next time you select a source.
Detector performance
Admin → Models → Detector performance has two settings:
| Setting | Default | What it does |
|---|---|---|
| Detection frames per second while nothing is tracked | 4 | After 10 seconds with nothing tracked, the detector looks at this many frames a second, and returns to full rate as soon as something is tracked. The live video doesn’t slow down. Set 0 to always run at full rate. |
| Detector precision | auto | auto runs a half-precision (FP16) copy of the detection model on rigs with a GPU, where one ships. It gives the same detections in half the memory. fp32 always uses the full-precision model. |
Per-class confidence floors
Below the gates, Per-class confidence floors sets a floor for one class only: Drone, Helicopter, Airplane, UAP, and Unknown (boxes from the motion tripwire). Each is a percent, and 0 means the class uses the confidence floor above. All are 0 by default except UAP, which starts at 85, because lower UAP scores were mostly noise in the night sky.
- If one class keeps boxing things that aren’t there, such as UAP on edges and lights, raise that class alone.
- To catch distant airplanes or helicopters without letting every class through, lower those classes alone.
A class floor below the track-start gate keeps an existing target tracked but can’t start a new one. Changes apply the next time you select a source.
The Dedicated Rig has its own confidence settings for each camera. See Dedicated Rig.
Radios: ADS-B, ATC and datalink
This chapter is for administrators. It covers the rig’s RTL-SDR radios (“dongles”):
- ADS-B: aircraft positions on 1090 MHz;
- ATC voice: tower and approach audio on the 118–137 MHz airband, transcribed to text;
- datalink: ACARS and VDL2 text messages between aircraft and the ground.
Operators see the results in the RF view.
Most settings are on Admin → Hardware → Devices → RTL-SDR. The RTL-SDR tile is under the Hardware heading. A few airband controls live in the RF view itself, under the Airband dongle switch. Those are shown only to admins.
How many dongles you need
One RTL-SDR can listen to a band about 2.4 MHz wide. ADS-B (1090 MHz) and the airband (118–137 MHz) are about 950 MHz apart, so one dongle can do only one of them at a time.
| Dongles | What runs |
|---|---|
| 1 | ADS-B or ATC voice. You choose under Single-dongle band. |
| 2 | ADS-B on one and ATC voice on the other, at the same time. |
| 3 | ADS-B, ATC voice and VDL2 datalink, all at the same time. |
With two dongles you can also switch the airband dongle to VDL2 instead of voice. See Voice ATC or VDL2 datalink.
ACARS on 131.550 MHz is decoded by the airband dongle in voice mode whenever that channel fits in the dongle’s window.
The RTL-SDR page
Admin → Hardware → Devices → RTL-SDR has these sections:
| Section | Purpose |
|---|---|
| Single-dongle band | Choose ADS-B or ATC voice for a one-dongle rig. |
| Airband tuning | ATC channels, squelch, gain, transcription and band scan. |
| Airband operator controls | Which airband controls operators see in the RF view. |
| Receiver tab | The ADS-B radio: attached device, sample rate, frequency, gain, enabled. |
| ADS-B Feed tab | Local decoding, plus an optional external flight-data service for wider coverage. |
| BLE Remote ID (ASTM F3411) | An optional Bluetooth receiver for drone Remote ID. |
Remote radio nodes (forwarders) are managed elsewhere. See Forwarders.
Single-dongle band
On a rig with one dongle, pick what it does:
- ADS-B (1090 MHz · aircraft positions). When you choose it, the page confirms “Radio assigned to ADS-B. Airband voice is now unavailable.”
- ATC voice (118–137 MHz · controller audio). When you choose it, the page confirms “Radio assigned to ATC voice. ADS-B decoding is now idle.”
The Auto option is shown grayed out. It is not available yet.
With two or more dongles attached, these buttons are disabled. The page reads “n dongles attached — ADS-B and ATC voice are running concurrently.”
With no dongle attached, it reads “No SDR detected. Plug a dongle in and rescan on the Receiver tab.”
Receiver and ADS-B Feed tabs
The Receiver tab sets up the ADS-B radio:
- Attached device: pick a dongle, or leave it on AUTO — first available. Click Rescan after you plug a dongle in. If it still isn’t found, contact DroneTracker support.
- Sample rate: 2.4 MSps is the default for ADS-B.
- Frequency: 1090 MHz for ADS-B.
- AUTO gain (tuner AGC), or a fixed Gain from 0 to 50 dB.
- Enabled.
The ADS-B Feed tab turns on the local SDR feed. It can also add an External API (fallback / wider coverage) with a Provider, an API key and a Query radius (nautical miles). API keys are stored encrypted.
Dongle serials and roles
When a rig has two or more dongles, each one must have its own USB serial number. Out of the box many dongles share the same serial. Two dongles with the same serial can’t be told apart. After a reboot they can swap jobs silently: ADS-B stops decoding and ATC goes quiet, with no error.
The RTL-SDR page warns you when this happens: “These dongles share serial … so ADS-B and ATC voice can swap radios after a reboot, silently.” To give a dongle a new serial, contact DroneTracker support (Admin → Support Access).
Once the serials differ, pin each job to a dongle:
- Open the RF view.
- In the ATC bar, under the Airband dongle switch, open Dongle roles. The summary reads · auto or · pinned.
- Pick a dongle (by serial) for ADS-B, Airband and, if you have a third dongle, VDL2 (3rd dongle). Left unpinned, ADS-B takes the first dongle, airband takes a spare one, and VDL2 is off.
- Click Save roles (restarts the forwarder).
A dongle that is saved but unplugged appears as “(not attached)”.
How to tell it worked: Dongle roles shows both serials, and ADS-B and ATC keep working after a reboot.
ATC voice channels
Set these under Airband tuning on the RTL-SDR page. Operators can also see them in the RF view’s Airband panel if you allow it.
Channels
Enter the Channels (MHz, comma-separated), for example 118.575, 119.250.
- Leave the field empty to use frequencies chosen from the rig’s location.
- Every channel must be between 118 and 137 MHz.
- You can enter up to 8 channels.
- All channels must fit within about 2.2 MHz of each other, because one dongle captures one 2.4 MHz window. If they don’t, the page says so, and channels outside the window would be dropped.
The page explains each problem in red under the field, and Apply stays disabled until it is fixed.
Band scan
Band scan is the most useful tool for picking channels. A facility list tells you which frequencies exist near the site. A scan tells you which ones your antenna can actually hear.
- Click Scan 118–137. The scan takes about 10 seconds and restarts the forwarder. ADS-B is on a different dongle and keeps running.
- The results show the noise floor and up to 8 frequencies with signal. Each frequency shows how far above the floor it is, in dB.
- Click a frequency to put it in the Channels field.
- Click Apply & restart forwarder.
Squelch
Squelch is the gate that decides when a channel carries a transmission.
- Too low: noise gets through. Speech-to-text turns noise into invented clearances.
- Too high: only nearby transmitters open the gate.
A squelch number means nothing on its own. It only matters relative to the noise floor, and the floor moves with gain and with the antenna. Use auto-calibrate:
- Click auto-calibrate (20s). It watches the live signal meter for 20 seconds. It is available only while the meter is receiving levels.
- It reports the measured floor and a suggested squelch value.
- Click use it to put the value in the slider, or discard to ignore it.
- Click Apply & restart forwarder. Nothing reaches the rig until you apply.
If the band was busy for more than half the measurement, the page warns that the value may be too high. Run it again during a quiet spell. If the result was clamped, a transmission probably ran through the whole window, or the receiver can’t hear anything.
Gain and AGC
Tuner gain goes from 0 to 50 dB. Use AGC lets the tuner set its own gain.
- AGC is rarely right on a quiet band. With no strong signal it turns the gain all the way up. That lifts the noise above the squelch, and the gate never closes.
- Too low a fixed gain is worse: the receiver goes deaf. A gain that is too low can miss a station that transmits all the time only 10 km away.
If every squelch setting behaves the same, check the gain before anything else.
Transcription
| Setting | Choices |
|---|---|
| Where speech is transcribed | On the rig when it can (default): the forwarder only sends audio and keeps its memory free. Always on the forwarder: for a node that is often out of contact with its rig. |
| Transcription strictness | Permissive — keep shaky transcripts (default), Balanced — Whisper standard, Strict — drop more filler. |
Stricter settings drop more invented filler, such as “Thank you.” or “Good night.”, on a noisy band. They can also lose faint real transmissions.
Advanced has three numeric thresholds for fine-tuning. Leave them alone unless DroneTracker support asks you to change them.
Apply & restart forwarder
Only the Apply & restart forwarder button saves airband tuning. The page’s other Save buttons do not include it. If you have unapplied changes, the panel reads “Not applied yet.” Your browser also warns you if you try to leave the page.
Applying restarts the radio service, so ADS-B pauses for a few seconds.
- On Linux rigs, Apply takes effect right away. The panel confirms “Saved — the forwarder restart watcher is active. Check the signal meter for the new channels.”
- If the panel reads “Saved, but the forwarder restart failed …”, the change is stored and applies on the next restart. If it doesn’t apply, contact DroneTracker support.
After applying, watch the signal meter. It should show a bar for each new channel.
What operators can see
Airband operator controls decides which airband controls appear in the operator’s RF view:
| Setting | Default |
|---|---|
| Show the airband signal-level meter in the HUD | On |
| Show airband tuning (frequency, gain, squelch) in the HUD | Off |
| Detect UAP-related keywords in ATC transcripts and preserve those transmissions | On |
The signal meter is read-only. It is the quickest way to tell “the band is quiet” from “the receiver is deaf”.
Tuning controls restart the forwarder, which briefly interrupts ADS-B. Only turn them on where operators should be allowed to retune the radio.
The squelch margin over the learned noise floor is also listed here. It is set at install. To change it, contact DroneTracker support.
Voice ATC or VDL2 datalink
VDL Mode 2 (136.975 MHz and nearby) carries the same kind of messages as ACARS. Its messages identify the aircraft by ICAO address, so they attach to ADS-B tracks reliably.
VDL2 needs a dongle of its own:
- A third dongle (recommended). ADS-B, voice and VDL2 all run at once. Pick the third dongle for VDL2 under Dongle roles.
- Or the airband dongle, instead of voice. 136.975 MHz is too far from tower frequencies to share one window, so the dongle does one or the other. It never time-shares. ADS-B keeps its own dongle either way.
To set it up, in the RF view’s ATC bar:
- Click VDL2 datalink on the Airband dongle switch, or pin a third dongle for VDL2 under Dongle roles. The rig decodes VDL2 with its built-in decoder; nothing needs installing.
- Click Voice ATC to switch back.
The built-in decoder forwards each ACARS message: the aircraft’s ICAO address, registration, flight, label and text. Some messages carry a further encoded payload, and the decoder reads those too: CPDLC controller-pilot messages, ADS-C position reports, MIAM messages (compressed ones included) and media advisories, which say which radio link an aircraft just gained or lost. A message split across several ACARS blocks is joined before its payload is read. Airband ACARS on voice frequencies gets the same payload decoding.
Switching restarts the forwarder. You lose a few seconds of airband. ADS-B is not affected. While the switch is in progress, the bar reads “Switching to VDL2 — the forwarder restarts in a few seconds…”.
| Message | What to do |
|---|---|
| “Confirm your identity first (open any Admin page), then switch again.” | Open any Admin page, confirm your identity, then switch again. |
| “Still waiting for the forwarder to restart … — press Restart forwarder.” | Click Restart forwarder. It appears after about a minute. |
| “… the rig paused applying changes after too many in two minutes …” | Wait up to two minutes, then click Restart forwarder. |
| “… this rig can’t restart the forwarder on its own — contact DroneTracker support.” | This rig can’t apply the change by itself. Contact support. |
| “Running voice, not VDL2: …” (or the reverse) | The rig couldn’t do what you asked. The text after the colon says why, for example a dongle that ADS-B or voice is already using. |
VDL2 messages appear in the SIGINT events table as DATALINK rows.
Transcription status
The ATC bar in the RF view shows one line about speech-to-text. The messages are listed in The RF view.
Here is what to do as an admin:
- “Transcription off: …”: the rig has no working speech-to-text model, or it was built without one. You can’t fix this from the settings. Contact DroneTracker support. The message says which case it is.
- “Whisper is running but 0 of n clips produced text”: the audio isn’t usable. Listen first. Then check gain and squelch as described above.
- “The rig is behind on transcription”: the rig has more audio than it can transcribe right now. Some transmissions have audio only.
Listen doesn’t start
Listen opens a live audio session between the browser and the rig. It does not depend on the airband dongle.
If the session starts but you hear nothing, it is a radio problem: check the dongle roles, gain and squelch. If the session itself is refused, the red message next to the button names the step that failed:
| Message contains | What to do |
|---|---|
| “audio channel failed to start” | Restart DroneTracker with DroneTracker Reboot, in the Maintenance section of Admin → System Settings. This stops any running detection session. If it keeps happening, contact DroneTracker support with the message shown. |
| “set remote” or “add audio track” | The browser and the rig had no audio format in common. Try a current Chrome, Edge or Firefox. |
| “no local description after gathering” | The rig found no network address to offer your browser. Contact DroneTracker support. |
Remote ID receivers
Bluetooth (BLE). A dedicated Bluetooth receiver can hear drone Remote ID at longer range than the computer’s own Bluetooth. The receiver needs special firmware before you can use it. To have one flashed, or to order one pre-flashed, contact DroneTracker support.
Once it is plugged in, set it up under BLE Remote ID (ASTM F3411) on the RTL-SDR page, using the device name support gives you. The RF view’s Remote ID panel should read “listening” within about 15 seconds.
| Status | Meaning |
|---|---|
| “not Sniffle firmware” | The receiver doesn’t have the right firmware yet. Contact support. |
| “permission denied” | Update DroneTracker (see Updates). If it persists, contact support. |
| “not present” | The receiver is unplugged, or its device name changed after it was replugged. Plug it back in. If it persists, contact support. |
Wi-Fi. Many drones broadcast Remote ID over Wi-Fi. Hearing it needs a second Wi-Fi adapter that supports monitor mode. The adapter the rig connects through can’t be used. This can’t be set up from the settings pages yet. Contact DroneTracker support.
Forwarders
A forwarder is a remote radio node. It captures radio signals where it sits and sends them to the rig. The rig does all the decoding, transcription and correlation, then sends the results back. An operator at a forwarder sees exactly what an operator at the rig sees.
See your forwarders at Admin → Signals Intelligence → Remote Devices. Each one is a tile showing:
- its name and kind;
- a status light: flowing (data in the last 30 seconds), stale (in the last 5 minutes), offline, or no data yet;
- Host: its network name;
- Heartbeat: when it last checked in;
- Payload: when it last sent data.
The page refreshes every 5 seconds.
To add one, click + Register device. DroneTracker support then sets up the remote node. It appears on this page and starts streaming.
On a rig that receives forwarded audio, the Where speech is transcribed setting decides whether the rig or the forwarder turns speech into text. See Transcription.
Pair a phone
A phone running the DroneTracker app can be one of your rig’s sensors. It sends what its Bluetooth hears (drone Remote ID) and what any radio attached to it hears (ADS-B) to the rig, and shows the rig’s view.
-
On this page, click Pair a phone.
-
Give the phone a name, and check the rig address. It must be one of the rig’s own addresses that the phone can reach on your network or tailnet, such as
https://192.168.1.20or the rig’s tailnet name (https://rig.tailXXXX.ts.net), with no port number and notlocalhost. If the rig’s certificate doesn’t cover that address, the console says so instead of showing a code. -
Click Show pairing code.
-
On the phone, open Settings → Rig → Scan the rig’s code and point the camera at the code.
No camera on the device, such as a handheld? Open this console on the device itself, click Copy code under the QR code, then paste it into Pairing code on the app’s scan screen and tap Pair. Done clears the copied code from the clipboard.
The phone appears on this page as two devices, its Bluetooth and its SDR. While paired, the phone’s own camera AI is paused because the rig does the analysis.
The phone’s HUD then shows the rig’s picture: switch between PHONE and RIG at the top of the HUD.
- RIG shows the rig’s camera, the rig’s detection boxes, the latest ATC transcript, and the rig’s aircraft in the SIGINT panel, placed from where the phone is.
- The RIG view has the console’s controls:
- GRID, SOURCE and SPLIT at the top: show every camera at once, switch the main camera (Detection camera, the one the rig analyzes, then Wide or Tele), or stack two cameras. Otherwise a second camera shows small in the bottom corner; tap it to swap.
- The mount readout under them: AZ and PITCH, and HOLD, SLEWING or NO MOTION (a move was asked for but the mount isn’t moving).
- The joystick: put a finger on it and pull. The direction is where the camera turns and the distance is how fast. Let go to stop.
- MOUNT opens DEPLOY and STOW; ⌂ homes the mount.
- +, − and AUTO zoom the picture on the phone only. AUTO follows the largest box.
- AUTO TRK turns the rig’s auto-tracker on or off. CAM opens autofocus, focus, and automatic or manual exposure and gain.
- Tap a box to show its card and have the rig aim at it and track it.
- Full screen: the controls hide 5 seconds after you last touch the screen, leaving the cameras and the AZ · PITCH line. Tap the picture to bring them back. On the picture itself:
- Tap a box to track it.
- Double-tap to zoom 2× there; double-tap again to go back to 1×. Pinch to zoom.
- Press and hold, then drag to steer, like the joystick: a ring appears where you held, further is faster, and lifting your finger stops. A drag without the hold does nothing, so a stray touch can’t move the camera.
- Two-finger tap stops all motion, including the auto-tracker.
- Swipe in from the right edge for the next camera.
- Cast to a TV: the buttons at the right of the top row send the main camera to a TV on the same Wi-Fi: AirPlay to an Apple TV (iPhone), and Cast to a Chromecast (iPhone and Android). The TV shows the camera without the boxes; to show the boxes, mirror the phone’s screen instead. Leaving the RIG view ends the cast.
- The rig sends its camera only while a phone shows it, and only to paired phones. The first picture takes about 15 seconds; after that, switching tabs or cameras is quicker. Each extra camera on screen is another stream from the camera, so GRID and SPLIT take longer to start.
Paired phones on this page turns steering on or off for every paired phone. A phone can never rehome, reset or calibrate the mount, and each command it sends is logged with the phone’s name.
- Rig view in the phone’s settings still opens the rig’s full console for anything else.
To unpair, use Unpair on the phone. Unpairing, or deleting the phone’s devices on this page, stops its picture within a minute. Pairing the same phone name again replaces its code, which stops the old one from working.
The code holds the phone’s credentials. Don’t share a photo of it.
Alerts and watch rules
Alerts notify people outside the console when the rig sees or hears something. There are two kinds:
- Detection alerts fire when the camera pipeline confirms a tracked object of a type you chose, such as a drone.
- SIGINT watch rules fire when the radios hear something you care about, such as “mayday” on ATC or a drone’s Remote ID broadcast.
Both kinds go out through the same delivery channels. Both appear in the same audit trail.
Open Admin → Alerts. Admins can change everything on this page. Auditors can view it, but can’t edit it. The page reads “Read-only (auditor) — channel settings are visible but not editable.”
Master switch
The Master section has one switch. It reads Alerting enabled or Alerting disabled.
Alerting is off on a new install. Nothing is sent — not detection alerts, and not watch rules — until you turn it on.
Next to the switch, the page shows how channel secrets (passwords, tokens, webhook URLs) are stored:
- 🔒 channel secrets encrypted at rest: normal.
- ⚠ secrets stored plaintext — contact DroneTracker support to enable encryption: contact support before you store real credentials.
Delivery channels
Channels are grouped by type. Each one has its own card.
| Group | Channel | Settings on the card |
|---|---|---|
| SMTP host, SMTP port, Security (starttls / tls / none), Username, Password, From address, Recipients (comma-separated) | ||
| Instant Messenger | Slack | Incoming webhook URL |
| Microsoft Teams | Power Automate Workflows URL | |
| Discord | Webhook URL | |
| Telegram | Bot token, Chat ID(s) — comma-separated for multiple | |
| Signal | signal-cli REST URL, Sender number, Recipients (comma-separated) | |
| Provider (twilio / cloud), Account SID / phone-number ID, Auth token, From number, Recipients (comma-separated) | ||
| SMS | SMS | Provider (twilio), Account SID, Auth token, From number, Recipients (comma-separated) |
| Webhook | Webhook | Endpoint URL, HTTP method (POST / PUT), Authorization header value (optional) |
| ATAK | ATAK (CoT) | TAK server host, TAK server port, Protocol (tcp / tls / udp), Callsign |
| RSS / ATOM & Query API | RSS / ATOM feed | Feed access token (optional) |
| Query API | API access token (optional) |
For Microsoft Teams, use a Power Automate “Workflows” URL. The card’s field asks for exactly that.
Configure a channel
- Find the channel’s card.
- Turn its switch to Enabled.
- Under Fire on object types, tick the object types that should trigger it (see below).
- Fill in the delivery settings.
- Click Save. The card shows saved.
While you have changes that aren’t saved, the card shows unsaved changes.
Secret fields (passwords, tokens, webhook URLs) are password boxes. Once a secret is stored, the field shows dots, with the note “configured — leave the dots to keep it”.
- To keep the stored value, leave the dots.
- To replace it, type a new value.
- To remove it, clear the field.
A secret that has never been set reads “not set”.
Send a test
Click Send test on a card to check the channel end to end. The result appears under the buttons:
- ✓ followed by details: the message was delivered.
- ✕ followed by the reason: it was not delivered.
Send test uses the last saved settings. If you changed something, click Save first. The card reminds you: “Send test uses the last saved settings — save first to test new values.”
Which object types trigger a channel
Each channel has its own Fire on object types list. For example, you can send SMS only for drones, and email for everything.
| Object type | Fires when |
|---|---|
| Airplane | The pipeline confirms an airplane. |
| Drone | The pipeline confirms a drone. |
| Helicopter | The pipeline confirms a helicopter. |
| UAP | The pipeline confirms an unidentified aerial object. |
| Temperature | The rig gets too hot. This is offered only on rigs that support thermal alerts. It comes from the rig’s temperature monitor, not from detections. |
A channel with no types ticked sends no detection alerts. It can still send watch-rule alerts (see below).
Limits on detection alerts
Detection alerts are limited so a busy sky can’t flood your channels:
- each tracked object alerts at most once;
- a detection must reach a minimum alert level (default 1, Tracking);
- there is a cap on how many detection alerts go out per minute (default 20).
The minimum level, the per-minute cap and the temperature thresholds are under Admin → System Settings. Open Advanced, then find the alerts settings. Changes there take effect after the next restart.
SIGINT watch rules
Watch rules alert you when the rig hears something, rather than sees it. They are in the SIGINT watch rules section of Admin → Alerts, and they were added in version 0.2.552.
A watch rule sends alerts only when:
- the master switch is on, and
- at least one delivery channel is enabled.
Add a rule from a preset
Choose a starting point from + Add a watch rule…. Every field stays editable.
| Preset | What it watches | Condition |
|---|---|---|
| Law enforcement — hijack or emergency on the radio | ATC voice + datalink | Phrases such as “hijack”, “unlawful interference”, “squawk 7500”, “seven five hundred”, “squawk 7700”, “lost comms”, “mayday”, “pan pan”, “declaring an emergency” |
| Fire / rescue — mechanical emergency | ATC voice + datalink | Phrases such as “engine failure”, “engine fire”, “smoke in the cockpit”, “emergency landing”, “hydraulic failure”, “fuel emergency”, “minimum fuel”, “souls on board”, “mayday”, “pan pan” |
| Aircraft above 50,000 ft with no callsign | ADS-B | Aircraft at or above 50,000 ft with no callsign. Repeats at most every 60 minutes. |
| Aircraft squawking an emergency code (7500 / 7600 / 7700) | ADS-B | The transponder code is 7500 (hijack), 7600 (radio failure) or 7700 (general emergency). Repeats at most every 30 minutes. Added in 0.2.553. |
| Private security — any drone (with a map link) | Remote ID drones | Anything heard. Repeats at most every 30 minutes. When the drone reports a position, the alert includes a map link. |
| Custom rule | ATC voice + datalink | A blank phrase list for you to fill in. |
Rule settings
| Field | What it does |
|---|---|
| Name | Shown in the rule list and in the alert headline. Required. |
| Watch | Which sources to watch: ATC voice, Datalink (ACARS/VDL2), ADS-B, Remote ID drones. Pick at least one. |
| Condition | Text mentions any of these phrases; Aircraft at or above an altitude with no callsign; Aircraft squawking 7500 / 7600 / 7700; or Anything heard. |
| Phrases (one per line) | Shown for the phrases condition. Add at least one. |
| At or above (ft) | Shown for the altitude condition. 1 to 200,000 ft. |
| Repeat alerts at most every (minutes) | The cooldown. It counts per rule and per source (each callsign, each drone), so one event doesn’t flood the channels. Default 10 minutes. |
| Send to | Which channels to use. None ticked = every enabled channel. A channel marked “(off)” is disabled and won’t send even if you tick it. |
| Rule on | Turns the rule on or off. |
Click Save rule to keep it, or Cancel to throw away your changes.
How phrases match
- Phrases match whole words, in any case. “7500” does not match inside “17500”.
- Punctuation counts as a space, so “pan pan” also matches “pan-pan”.
- A phrase matches when its words appear together, in order, anywhere in the transcript or message.
Transcripts can be imperfect. Speech-to-text on radio audio often gets numbers and callsigns wrong. List the spoken variants too: for example “squawk 7500” and “seven five hundred”. The presets already do this for the common emergency codes.
The altitude condition uses ADS-B altitude, and it fires only when the aircraft broadcasts no callsign. The rig re-checks live ADS-B and Remote ID every few seconds, so an aircraft that climbs past the threshold after it first appears still triggers the rule.
The emergency-squawk condition reads the transponder code the aircraft broadcasts, so it needs nothing from speech-to-text. The code shows in the SIGINT events table too, and an emergency code is flagged in red. Squawk codes come from the rig’s own ADS-B receiver or a forwarder; aircraft known only from the internet ADS-B feed have no code.
The rule list
Each saved rule shows its name and a one-line summary, for example:
ATC voice + Datalink (ACARS/VDL2) · 16 phrases · at most every 10 min per source · all enabled channels
Use the On switch to turn a rule on or off. Use Edit to change it, or Delete to remove it.
Limits
- At most 10 watch alerts a minute, across all rules. Matches beyond that are not sent, so set your cooldowns and phrase lists with that in mind.
- At most 100 watch rules per rig.
What a watch alert says
The headline reads Watch: rule name — emitter. The emitter is the callsign, tail number or drone ID. The body includes:
- the source and why the rule fired, for example heard “mayday” or at 52000 ft with no callsign;
- the frequency;
- up to 400 characters of the transcript or message;
- a map link, when the event has a position.
Audit trail
The Audit trail section is a record of every outbound alert: what fired, to which channel, and whether it was delivered. Click ⟲ Refresh to reload it.
| Column | Contents |
|---|---|
| Time | When the alert went out. |
| Source | What triggered it: detection, temperature, or sigint (a watch rule). |
| Method | The delivery channel, as a short code, for example EMAIL or WEBHOOK. |
| Class | The object type, or, for a watch rule, the rule’s name. |
| Target | The track, or the emitter (callsign, tail number, drone ID). |
| Outcome | Delivered or failed. |
| Detail | The reason, for a failure. It never contains secrets. |
Send test results show on the card itself. Before any real alert has fired, the section reads “No alerts have fired yet.”
By default, audit entries are kept for 90 days. You can change this under Admin → System Settings → Advanced.
Related
- The RF view: where operators see the SIGINT events that watch rules match.
- Radios: ADS-B, ATC and datalink: setting up the radios that feed watch rules.
- Accounts and security: roles, including the read-only auditor.
Specific identity and bird species
New in 0.2.550.
DroneTracker can name a target more precisely than “airplane” or “drone”, for example “BOEING 737-824” or a drone’s maker and serial number. This chapter explains where those names come from and how to turn on the optional sources.
The rule: green is evidence, amber is a guess
The target card on the dashboard has two parts (see The dashboard):
- Amber (top), LOCAL VISION MODEL. What the detection model thinks it sees: OBJECT, MAKE/MODEL, and CONFIDENCE. These are the model’s own guesses.
- Green (bottom). Facts from outside the camera, such as ADS-B data, records, and broadcasts.
A name only appears in green when there is evidence for it. A model’s guess never appears in green.
The IDENTITY row
When DroneTracker has evidence for what a target is, the IDENTITY row appears at the top of the green section. It shows the name, then the source in brackets. The lines under it list the evidence.
If there is no clear evidence, the row doesn’t appear. That’s expected. An empty row means “not proven”, not “nothing there”.
DroneTracker checks these sources, strongest first, and uses the first one that gives an answer:
| Source shown | Where the name comes from | Example |
|---|---|---|
| AIRFRAME RECORD | The aircraft is confirmed by ADS-B. Its make and model come from the aircraft registry. | BOEING 737-824, with evidence such as the ADS-B code, Registration, and ICAO type |
| ADS-B TYPE | The aircraft is confirmed by ADS-B, but no registry record was found. The type code comes from its transponder data. | B738 (ICAO type) |
| REMOTE ID | A drone broadcasting Remote ID, with its maker and serial number. | DJI · serial 1581F… |
| SPECIES MATCH · NN% | A bird, matched against the species recorded near the rig. | A common name, its scientific name, and how often it’s recorded locally this month |
| LEARNED · NN% | The target looks like aircraft or drones this rig has confirmed before. | “3 of the 4 closest confirmed sightings were …” |
Airframe record and ADS-B type
These appear only after the target is matched to an ADS-B aircraft (the green section reads VERIFIED). The make and model come from the aircraft registry data on the rig. The Flight Enrichment section of Admin → System Settings shows how big that registry is and how current it is. If there’s no record for the aircraft, DroneTracker falls back to the ICAO type code from the aircraft’s own broadcast.
Remote ID
Drones that broadcast Remote ID send their maker, serial number, and position. DroneTracker attaches a Remote ID to a target only when both of these are true:
- exactly one broadcasting drone lies along the camera’s line of sight (within about 8°), and
- exactly one drone is on screen.
This means two drones can never swap names. If either condition isn’t met, the row stays empty. The maker is read from a manufacturer serial number only. Remote ID needs a Remote ID receiver. See Radios: ADS-B, ATC and datalink.
Learned look-alikes
Every time the rig confirms an aircraft (by ADS-B) or a drone (by Remote ID), it remembers what that target looked like on its own camera. Later, when a target appears that nothing vouches for, the rig compares it with those confirmed sightings.
It names the target only when several close look-alikes agree. Specifically, at least 3 very similar confirmed sightings must agree, and they must make up most of the close matches. Otherwise it stays quiet.
Expect this to stay quiet at first. The rig has to build up confirmed sightings before it can name anything this way. This uses the rig’s image memory: Remember what confirmed detections looked like, for “Seen before” (needs the CLIP model). You’ll find it under Admin → System Settings → Advanced — device/feature settings → Computer Vision. It is on by default.
Bird species
DroneTracker can name a bird’s species. Two things are needed:
- A detector that reports birds. The default AeroDetect models don’t report birds. Use a model that does, such as the general COCO model, either as the active model or as the secondary detector. See Video sources and detection models.
- The bird species list for your area. This is off by default. To turn it on:
- Open Admin → System Settings.
- In the Flight Enrichment section, turn on Fetch the bird species recorded near this rig (iNaturalist) for species identification. Sends the rig’s location rounded to ~100 km; the list is kept for offline use. About the species list:
- It comes from iNaturalist, a public nature-observation database. It covers the birds recorded within about 100 km of the rig, month by month. The area is based on the site under Admin → System Settings → Site. If no site is set, the rig uses its estimate of where it is from the aircraft it hears. (Before 0.2.553 it used the location recorded at installation.)
- Only a rounded location leaves the rig, never its exact position.
- The list is kept on the rig, so species matching still works offline.
- It refreshes about once a month.
A species is named only when one clearly wins. It must look most like the bird and be likely here this month. Local records can tip a close call, but they never make a name up. Birds that are too small in the frame aren’t named.
The AI make/model guess (optional)
Separately from the evidence above, DroneTracker can ask its AI reasoner to guess each tracked aircraft’s or drone’s make and model. The guess appears in the amber section as MAKE/MODEL. It is the model’s guess, not evidence, and it never shows up as IDENTITY.
This is off by default. It uses a lot of memory on small rigs, and it can cost money on a cloud reasoner. To turn it on:
- Open Admin → System Settings.
- Expand Advanced — device/feature settings, then find Computer Vision.
- Turn on Ask the reasoner (VLM) for each tracked aircraft/drone’s make and model, shown as the model’s guess (default off: memory on an 8 GB Orin, cost on a cloud reasoner).
The guess uses the reasoner set up under Admin → Reasoners.
The sky check: planets, stars, comets and meteors
At night a camera pointed at the sky sees things that are not in the air: Venus low in the west, Jupiter, a bright star, the Moon, a comet, a meteor. To a detector each of these is a light it cannot name, which is exactly what it is meant to flag. Before DroneTracker flags such a detection, it checks the sky.
What it checks
- The Sun and the Moon, at any time of day.
- The planets Mercury, Venus, Mars, Jupiter and Saturn, once the Sun is a few degrees below the horizon.
- Bright stars, once it is properly dark. By default the 50 or so brightest; you can include all 179 stars brighter than magnitude 3.
- Comets bright enough for a camera to see, from the Minor Planet Center’s orbit list. The rig downloads the list every three days and keeps the last copy, so it keeps working without a network.
- Meteors. A brief, fast streak at night is a meteor. If its path, traced backwards, passes near the radiant of a shower that is active that day, it is marked as that shower’s (for example, the Orionids in late October). Otherwise it is marked as a sporadic meteor. The rig knows the 37 annual showers in the International Meteor Organization’s working list, including when each is active and where its radiant is.
A detection the sky explains is marked Celestial or Meteor. The target card shows what it was and why, for example “Jupiter (planet, 0.4° away)” or “probable meteor from the Orionids”. It is treated as tracking, not as an alert. Every explanation is also logged, so a report can show why a detection was ruled out.
When it applies
The check only explains detections nothing else explained:
- no aircraft transponder matched it;
- no satellite was there;
- the detector could not name it with confidence. A confident drone, aircraft, helicopter or bird is never overruled.
It also needs to know where the camera is pointing. Until the rig has that, from a star-field match or from Lock Pos on an aircraft, the check says nothing rather than guess. No meteor is called while the telescope or a phone is turning, because then everything in the picture streaks.
Where it is seen from
The sky depends on where you stand, so each camera is checked from its own location:
- The rig’s telescope: the position entered for it under Admin → Hardware → Dwarf, or else the Operator Location.
- A forwarder’s camera: the forwarder’s location, set under Admin → Signals Intelligence → Remote Devices → Edit → Location. A forwarder with a GPS receiver, or a paired phone, reports its own position, which the rig follows unless you turn off Follow its GPS. A location you type in is kept as entered.
- The phone apps check the sky from the phone’s own location, with the same rules.
Seeing what it is checking
Admin → Hardware → Astro → Sky check shows the meteor showers active today, how far each is from its peak, where its radiant is, what is up now, and the state of the comet list.
Settings
Under System Settings (search for “celestial” or “comet”):
| Setting | What it does |
|---|---|
| Explain tracks that sit on the Moon, a planet… | Turns the check on or off (on by default). |
| Max angular separation… sky object | How close counts as on a body, in degrees (default 1.5). Raise it if the rig’s pointing is rough. |
| Faintest star a track is matched against | 2.0 checks about the 50 brightest stars; 3.0 checks all 179. |
| URL of the comet orbit list | Where comets come from. Clear it to stop checking comets. |
| How often to re-fetch the comet orbit list | Hours between downloads (default 72). |
Updates
DroneTracker can update itself from the console. You choose when.
Open Admin → Updates (under System). The top of the page shows the version this rig is running.
Which rigs can update here
In-console updates are currently available on NVIDIA Jetson Orin rigs. On any other rig, the page reads “In-console updates are available on Orin rigs. For this rig, contact DroneTracker support.”
Only signed releases
DroneTracker offers and installs only releases signed by DroneTracker. The rig checks the signature itself before it installs anything.
What you see
- This rig is up to date. There’s nothing new to install.
- One section for each new release, titled DroneTracker and the version number. Each section shows:
- the release date and download size,
- the release notes, and
- a warning if the update restarts the whole rig: ⚠ Restart required: this update restarts the rig. Video, tracking and recording stop for a few minutes.
- Could not check for updates, followed by the reason. The rig couldn’t reach the update service. Check the rig’s internet connection, then reload the page.
The page checks for new releases about once a minute while it’s open.
Install an update
- Read the release notes.
- Click Install….
- Confirm. The button reads Install now, or Install and restart if the update restarts the rig.
- If DroneTracker asks you to re-authenticate, confirm with your second factor. See Step-up confirmation.
Only admins see the install buttons.
While it installs
An install takes several minutes. The Update in progress section shows the progress:
- Downloading, with a percentage.
- Installing. The console then restarts, and the page reads Installing — the console is restarting. This page reconnects by itself.
You don’t need to do anything. Leave the page open, and it reconnects by itself when the console is back. If you try to sign in during the restart, the login page reads “The rig is restarting (for example, installing an update). Try again in a minute.”
Plan updates for a quiet time: the console is unavailable for a few minutes. With a Restart required update, the whole rig restarts, and video, tracking, and recording stop for a few minutes.
If an update fails
The Update in progress section shows the error. Try again later. If it fails again, contact DroneTracker support: open Admin → Support Access and choose Update / upgrade assistance. See Support and ideas.
Support and ideas
This chapter covers two pages under System in the admin menu:
- Support Access lets DroneTracker support into your rig for a limited time.
- Ideas lets you suggest features and vote for them.
Support Access
DroneTracker support has no access to your rig unless you open it. You decide how long access lasts and who gets the invite. Everything is recorded, and you can end access at any moment.
Request support
- Open Admin → Support Access.
- Under Request support, set the Access window. Use the slider and choose hours or days. The window can be from 1 hour up to 7 days. Access closes by itself when the window ends.
- Choose a Support type (required):
- Break/fix — something that worked has stopped
- Bug — wrong or unexpected behavior
- Feature request / enhancement
- Setup & configuration help
- Hardware & integration (cameras, SDRs, mounts, sensors)
- Detection accuracy & performance
- Accounts, access & security
- Update / upgrade assistance
- How-to / training question
- Data, recordings & reports request
- Other
- Under Details, describe the problem: what you were doing, what you expected, any error messages, and when it started.
- Under Send to, untick any support addresses that shouldn’t get the invite. You can narrow the list, but you can’t add addresses.
- Leave Allow administrator commands in the support shell off unless support asks for it.
- Click Request support.
Support gets an email with your note and a link. The link is also shown on the page once. It works only for the invited support staff, and only over DroneTracker’s secure support network.
If the page says “This release cannot reach the DroneTracker support network”, support still gets your email, but they can’t connect to the rig. Contact DroneTracker support another way.
While the invite is open
The Open invite section shows:
- Waiting for support to connect, or Support connected with the support person’s login,
- how much time is left,
- who the invite was sent to, and whether the email went out,
- whether administrator commands are allowed, and
- the support type and your note.
Click Revoke now to end access at once. Every support session ends immediately.
Idle disconnect
If support does nothing for 30 minutes, the rig leaves the support network. The page then reads Support connection idle. Your invite is still open, but support can’t reach the rig until you click Connect support. This way, support can only reach the rig while it’s actually working on it.
What support can and can’t do
While connected, support can see everything an admin can see. Support can also operate the rig: sensors, cameras, radios and airband, detection models and computer vision settings, the Dedicated Rig, logs, and a restart.
Support can’t change anything that would leave access or data flowing after the invite ends:
- users, roles, API keys, SSO, SCIM, two-factor settings, or trusted devices,
- networking: Wi-Fi, Tailscale, or TLS certificates,
- alert channels, stream sharing, or cloud AI keys,
- tokens and other secrets, and
- recorded evidence (support can’t delete it).
Support’s access exists only while an invite is open. You can’t give the support role to anyone.
History and audit trail
History lists every invite. Click one to see everything that happened under it: invite opened, emails, support connected and disconnected, refused links, and revoke or expiry. Each record is checked for tampering:
- Record intact — no entry has been altered or removed. Normal.
- Record altered at entry … Contact DroneTracker support.
Ideas
The ideas board lets you suggest features and vote for the ones that matter most. DroneTracker uses the vote totals to decide what to build next.
Connect to the ideas board
The board needs your organization’s DroneTracker customer key. It comes with your account. If you don’t have it, ask DroneTracker.
- Open Admin → System Settings.
- In the Site section, enter it under DroneTracker customer key (from DroneTracker — enables Ideas and support requests).
- While you’re there, fill in Organization (your company or agency — shown to DroneTracker support).
Until a key is entered, Admin → Ideas shows Connect to DroneTracker instead of the board.
Suggest an idea
- Open Admin → Ideas.
- Under Suggest an idea, enter a Title, for example “Export tracks as KML”.
- Under Details, say what it would let you do. Leave out anything sensitive, because other customers may see it.
- Click Send idea.
DroneTracker reviews new ideas before other customers can see them.
Vote
Click ▲ next to an idea to vote for it. Click it again to remove your vote. Your organization gets one vote per idea. You can vote only on ideas marked Open for votes.
Other customers see the ideas and the vote totals, but never who suggested or voted.
Each idea shows its status:
| Status | Meaning |
|---|---|
| Under review by DroneTracker | New, not yet visible to others. |
| Open for votes | Visible to everyone, and you can vote. |
| Merged with a similar idea | Combined with another idea. |
| Not planned | DroneTracker won’t build it. |
| Shipped | It’s in a release. |
Only admins can suggest ideas and vote. Auditors can view the board.
Dedicated Rig
Applies to DroneTracker 0.2.552 and later · Audience: rig owners and operators · Last updated October 5, 2026
About the Dedicated Rig
The DroneTracker Dedicated Rig is a pan/tilt sensor head that finds aerial objects, turns to keep them in view, and identifies them. It carries three cameras:
- a day spotter with a wide view for finding targets in daylight,
- a night spotter (thermal) for finding targets in the dark, and
- a telephoto camera that looks closely at whatever the spotter is following, so DroneTracker can tell what it is.
The spotter in use decides where the head points; DroneTracker switches between day and night automatically. The telephoto only identifies — it never steers the head. Everything is run from the DroneTracker console on the rig’s computer, or from a handheld connected to it.
Specifications
| Component | Specification |
|---|---|
| Pan/tilt servos (×2) | AGFRC A80BHMW V2 — 180° ± 10° travel, 40 kg·cm torque at 8.4 V, IP67 sealed |
| Servo control | Dedicated USB servo controller, connected to the rig computer |
| Day spotter | Sony IMX678 sensor, 3.6–10 mm varifocal lens |
| Night spotter | TOPDON TS001 thermal camera |
| Telephoto | Sony IMX678 sensor with 8×50 mm optics |
| Pan range | Up to 180° (narrower if you set travel limits) |
| Tilt range | Up to 180° (narrower if you set travel limits) |
| Computer | A DroneTracker rig computer (for example, NVIDIA Jetson Orin) running DroneTracker 0.2.552 or later |
| Servo power | A separate supply sized for both servos (up to 8.4 V) — never power the servos from the computer’s USB |
Before you start: safety
- The head can move suddenly and with force. Each servo produces up to 40 kg·cm of torque. Keep hands, cables and faces clear whenever the servos have power.
- Servos snap to position when power is applied. Hobby-style servos cannot report where they are, so on first power-up they move to their commanded position at full speed. Before powering up, place the head close to its home position, and stand clear.
- Use travel limits (below) so the head can never drive the cameras or cables into the mount.
- Disengage in the console before adjusting the head by hand.
First-time setup
- Mount the head on a stable, level base with a clear view of the sky. Route camera and servo cables with enough slack for full pan and tilt travel.
- Power on in this order: servo power supply, then the rig computer. Keep clear of the head as the servos receive power.
- Open the console and go to Admin → Hardware → Devices → Dedicated Rig.
- If the page says Servos are simulated, the servo controller isn’t detected — check its USB cable and servo power, then reload the page. When it’s working, the session panel reports the real servo controller.
- Under Servo preset, choose AGFRC A80BHMW (180°, IP67). This sets the correct servo travel for these servos.
- Set Home pan and Home tilt to where the head should rest when idle (for example, facing your main area of interest, tilted slightly up).
- Set travel limits — see the next section.
- Choose the cameras — see Cameras.
- Calibrate — see Calibration.
Cameras
The rig uses three USB cameras. You choose each one in Admin → Hardware → Devices → Dedicated Rig:
| Camera | Job | Where you choose it |
|---|---|---|
| Day spotter | Finds and follows targets in daylight. Drives the head. | Optical Sensor panel |
| Night spotter (thermal) | Finds and follows targets in the dark. Drives the head at night. | Spotters & telephoto panel |
| Telephoto | Identifies what the spotter is following. Never moves the head. | Spotters & telephoto panel |
Plug all three cameras in before you start. Each one should be chosen for one job only.
Tell cameras apart by USB port
Cameras of the same model have the same name. The camera lists add the USB port each one is plugged into, for example · USB port 2.1. Note which port each camera uses, then pick by port.
Once you choose a camera, DroneTracker remembers its USB port. After a restart or a re-plug, the computer may give the camera a different number. If that happens, DroneTracker finds the camera on its port and keeps the binding on the right camera. If you choose a different camera, the new port is remembered. To keep this working, leave each camera in the same USB port.
Day spotter: the Optical Sensor panel
- Under Camera, choose the day camera.
- Optional: change the Display label.
- Set Zoom (mm) to the lens’s current focal length. The panel shows the Computed FOV (field of view) as you type.
- Under Capture format (preset), choose a format. The list shows only the formats this camera says it supports, such as
1920×1080 @ 30fps (MJPEG). When you pick the camera, DroneTracker starts from 1920×1080 if the camera offers it. - Check Sensor width (mm) and Sensor height (mm). Together with the zoom, these set the field of view.
- Click Bind, or Update binding if a camera is already bound.
The bound day camera no longer appears under Local Cameras, so you can’t use it twice by mistake. To release it, click Unbind.
Tip: Choose a format from the list rather than Custom…. If you type in a format the camera doesn’t support, the preview may still work, but capture can fail. When the camera doesn’t report its formats, the list shows a standard set instead. Pick one you know your camera supports.
Night spotter and telephoto: the Spotters & telephoto panel
- Under Night spotter (thermal), choose the thermal camera.
- Under Telephoto, choose the telephoto camera.
Each choice saves right away. The panel reads “Saved — takes effect when the capture session next starts.” Choose — none — to leave a role empty. A one-camera rig needs only the day spotter.
There’s no format list for these two cameras. DroneTracker opens each one in a format it supports.
If a bound camera is unplugged, it stays selected and shows (not detected).
Thermal camera: keep the top half
The TOPDON TS001 thermal camera sends its picture in the top half of each frame. The bottom half is a raw data band that looks like a green block. DroneTracker cuts it off, in both the video you see and the video it analyzes.
This is controlled by Thermal frame crop — top_half keeps only the image when the camera stacks raw data below it (TS001 / P2 Pro UVC), under Day/night switching & telephoto:
- top_half (the default): keep only the top half. Use this for the TS001.
- none: keep the whole frame. Use this for a thermal camera that sends a normal picture.
Video format
USB cameras are opened in compressed MJPEG format automatically, at the closest size the camera supports. This keeps the frame rate up and the computer’s workload down. Thermal cameras that don’t offer MJPEG are opened in their own format.
Apply your changes
Camera changes take effect when the capture session next starts. Under Capture Session, click Stop session, then Start session.
When video is blank
| What you see | What to do |
|---|---|
| A camera is missing from the list | Check its cable and plug it straight into the computer. Reload the page. On the Optical Sensor panel, “No cameras detected. Plug in a USB camera and reload.” means no camera was found at all. |
| (not detected) next to a bound camera | The camera is unplugged or not responding. Reconnect it, ideally to the same USB port. |
| The day spotter’s video is blank or “No frames — source not producing video” | Pick a format from the Capture format (preset) list instead of a custom one. Click Update binding, then restart the session. |
| The wrong camera shows up in a role | Check the USB port labels and choose again. Make sure each camera is chosen for only one role. |
| Thermal video shows a green or noisy band at the bottom | Set Thermal frame crop to top_half. |
| Thermal video shows only half the picture | Your thermal camera sends a normal picture. Set Thermal frame crop to none. |
| Telephoto identification reads not running | Choose a Telephoto camera, and make sure Run detection on the telephoto (identification view; never drives the servos) is on. Then start the capture session. |
| A warning that the USB transfer buffer is too small | The computer can’t move enough video over USB for all three cameras. Update DroneTracker (Admin → Updates). If the warning stays, contact DroneTracker support. |
| You changed a camera but nothing happened | Stop and start the capture session. |
Travel limits
Travel limits keep the head inside a safe range of motion. Set them under Pan limit min / max and Tilt limit min / max (degrees).
- Find each limit by moving the head slowly with the slew console until it is just short of touching the mount, a cable, or an obstruction — then enter that angle.
- Leave the servo’s own range at 0–180° (set by the preset). Narrow the motion with the limit fields, not by changing the servo range: the servo range also defines how commands map onto the servo’s movement.
Calibration (setting zero)
Calibration tells DroneTracker which way is “zero”. After calibration, the console works in your frame: azimuth 0° is your reference direction and elevation 0° is level.
- Use the slew console to point the telephoto camera level at the horizon, facing north — or a landmark whose bearing you know.
- Under calibration, press Capture Both (or Capture Pan / Capture Tilt to set one axis).
- Check it: slew to a modest angle (for example azimuth 30°, elevation 20°) and confirm the head turns right and tilts up.
To start over, press Clear Both (or one axis), then capture again.
Capture with the head level and away from its end stops. If you capture with the head tilted all the way up or down, the allowed range shifts and normal angles are refused (see Troubleshooting).
Pointing the head: the slew console
Under Slew console, enter an Azimuth and Elevation in degrees and press Slew. The first slew engages the rig; Disengage releases it.
- Angles outside your travel limits are refused with a message showing the allowed range. Tick Clamp out-of-range to axis limits to have the head go as far as allowed instead.
- You can also point the head at a flight: on a handheld, tap an aircraft in the RF · 1090 MHz list; with a game controller, step through the list with L1/R1 and press A.
The rig view: all three cameras at once
Choose the Dedicated Rig as the source (⟲ Source) and the video shows its cameras together:
- Spotter, large on the left: the camera the rig detects with, with the detection boxes, a crosshair, and where the head points (Pan and Tilt). At night, when the rig has switched to the thermal camera, this pane shows the thermal picture.
- IR, top right, when a thermal camera is connected, in the palette shown on its label. Press X on the label (or on a controller) for the next palette: white-hot, black-hot, ironbow or rainbow. The palette changes only what you see; detection uses the camera’s own picture.
- Tele, bottom right, when a telephoto is connected, with its zoom on the label. LB − and RB + zoom the picture out and in, up to 8×. While the telephoto is identifying targets, its pane updates at the identification rate.
With a game controller:
| Control | What it does |
|---|---|
| Right stick | Pan and tilt the head fast |
| Left stick | Pan and tilt the head slowly, for fine aiming |
| Y | Send the head to its home position (Home pan and Home tilt under Tracking settings) |
| X | Next thermal palette |
| LB / RB | Zoom the telephoto picture out / in |
The head moves only while you push a stick and stays where you leave it. It never goes past its travel limits: pushing against a limit holds it there. If the head moves the wrong way, use Invert pan or Invert tilt below. See also Game controllers.
Tracking settings
These settings control how the head follows a target.
Track — what the head follows:
- Multi-track (any object) — the default. The head follows whichever object the detector is most confident about, of any kind it can detect (for example drones, helicopters, airplanes and UAP). It still points at one target at a time and moves to another when that one is lost or another becomes more certain.
- A single class — the list shows each kind of object your current detection model can detect; choose one to follow only that (for example, only drones).
The choices follow the detection model selected under Admin → Models, so a different model shows its own classes. (From DroneTracker 0.2.548.)
Then start with a Tuning preset:
- Long range — gentle, smooth corrections for distant targets (most aircraft and drones).
- Short range — faster corrections for nearby, fast-moving targets.
Fine-tune if needed:
| Setting | What it does |
|---|---|
| KP pan / KP tilt | How strongly the head corrects. Raise it if tracking lags; lower it if the head overshoots or oscillates. Change in small steps. |
| Deadzone X / Y (px) | How far off-center a target can be before the head moves. Larger values mean less jitter. |
| Max step per frame | Caps how far the head moves per video frame (0 = no cap). Smaller is smoother and safer. |
| Smoothing α | Smooths target motion (1 = none; lower = smoother but slower to react). |
| Aim offset X / Y (px) | Shifts where “centered” is, if a camera isn’t perfectly aligned with the head. |
| Invert pan / Invert tilt | Reverses tracking direction if the head “runs away” from the target. |
Day/night switching and telephoto
Under Day/night switching & telephoto:
- The rig switches to the night spotter when the scene gets dark and back to the day spotter when it’s bright again, using the brightness thresholds you set. The gap between the two thresholds stops it flicking back and forth at dusk.
- Each spotter has its own detection confidence — lower values catch fainter targets but may add false detections. The thermal camera usually needs its own aim offset because it sits apart from the other cameras.
- The telephoto identifies what the spotter is tracking; its confidence setting controls how sure it must be before reporting.
Changes take effect when the capture session next starts.
Troubleshooting
| What you see | What it means / what to do |
|---|---|
| “target … is outside the allowed range [−180.00°, 0.00°]” (or another shifted range) | Calibration was captured with the head at an end stop. Clear that axis, point the head level (see Calibration), and Capture again. |
| Head turns the wrong way while tracking | Turn on Invert pan or Invert tilt. |
| Up is down (or left is right) in the slew console | The servo is mounted reversed. Recalibrate with the head level; if it persists, contact DroneTracker support — Invert currently applies to tracking only. |
| Head jumps hard when powered on | Expected for these servos (see Safety). Rest the head near home before power-up and stand clear. |
| Servos are simulated banner | The servo controller isn’t detected: check its USB cable and servo power, then reload. |
| No session | Normal when idle — the first slew engages the rig. |
| Tracking oscillates or overshoots | Lower KP, add Max step per frame, or lower Smoothing α. |
| Head ignores a helicopter (or another object) the display shows | Track is set to a single class — choose Multi-track or that class. |
| Night spotter never takes over | Raise the night brightness threshold, or check the thermal camera is connected. |
Still stuck? Open Admin → Support Access, choose a support type, describe what you see, and request support (Support and ideas).
Care
- The servos are sealed (IP67); the cameras and controller are not — protect them from rain and direct sun.
- Check mounting screws and cable slack periodically; servo torque can loosen fittings over time.
- After moving or re-mounting the head, recalibrate.
Troubleshooting
Find the problem in the tables below, then follow the steps in order. Each answer uses only the console. If a step doesn’t help, or an answer says to contact support, open Admin → Support Access and request support. See Support and ideas.
Video
| Problem | What to do |
|---|---|
| A video pane is blank, or reads No frames — source not producing video | 1. USB camera: open Admin → Hardware → Devices → Local Cameras and click Rescan. If the camera isn’t under Detected on this host, check its cable and plug it in again. 2. Camera format: pick a format the camera supports. On the Dedicated Rig, choose from the Capture format (preset) list instead of Custom…. See Dedicated Rig. 3. Camera already in use: use each camera for only one thing. A camera bound to the Dedicated Rig doesn’t appear under Local Cameras. Use the USB port shown in the camera lists to check that you picked the right one. 4. Network stream: open Admin → RTSP Streams and check the Stream URL and that Active (pipeline ingests this stream) is on. 5. YouTube link: YouTube sometimes refuses automated access. Try again later, or use another source. |
| A sensor lamp in the sidebar is red (“NOT producing”) | Video is being requested, but no frames are arriving. Follow the steps above for that source. |
| Thermal video shows a green band, or only half the picture | Change Thermal frame crop. See Dedicated Rig. |
| An aircraft is clearly in view but gets no target box | The detection confidence gates may be too strict for small, distant targets. Lower them under Admin → Models → Detection confidence gates. See Video sources and detection models. |
| One kind of box (often UAP) keeps appearing on edges, lights or clutter | Raise that class alone under Admin → Models → Per-class confidence floors. See Per-class confidence floors. |
Radios
| Problem | What to do |
|---|---|
| No ADS-B aircraft on the radar or map | 1. Open Admin → Hardware → Devices → RTL-SDR, then the ADS-B Feed tab. Check that Local SDR feed is on, or turn on External API (fallback / wider coverage) for wider coverage. 2. Check that the site location is set (see “site not set” below). 3. Check the antenna and its connection to the radio. More detail: Radios: ADS-B, ATC and datalink. |
| No ATC transcripts | 1. Open Admin → Hardware → Devices → RTL-SDR, then Airband tuning. Check the channels. 2. Use auto-calibrate (20s) to set the squelch, and check the gain. 3. Click Apply & restart forwarder. Tuning isn’t saved until you do. 4. Read the transcription status line in the RF view. More detail: Radios: ADS-B, ATC and datalink and RF view: radio and SIGINT. |
Alerts
| Problem | What to do |
|---|---|
| Alerts aren’t arriving | 1. Open Admin → Alerts. Under Master, the switch must read Alerting enabled. On a new install, alerting is off. 2. Make sure the delivery channel you expect is Enabled, and save it. 3. Click Send test on that channel. The test uses the last saved settings. 4. Check the Audit trail. Every delivery attempt is listed there, with its Outcome and Detail. 5. For SIGINT watch rules, check that Rule on is set. More detail: Alerts and watch rules. |
Site and location
| Problem | What to do |
|---|---|
| The dashboard reads site not set | The rig doesn’t know where it is. Open Admin → System Settings. In the Site section, enter the Site latitude and the Site longitude. Use decimal degrees. South latitudes and west longitudes are negative, for example -121.881821. Enter both: if only one is set, the site counts as not set. |
Updates
| Problem | What to do |
|---|---|
| Admin → Updates reads Installing — the console is restarting. This page reconnects by itself. | This is normal while an update installs. It takes several minutes. Leave the page open. If the page still hasn’t reconnected after a long wait, contact DroneTracker support. See Updates. |
| The login page reads “The rig is restarting (for example, installing an update). Try again in a minute.” | Wait a minute and sign in again. |
| “In-console updates are available on Orin rigs. For this rig, contact DroneTracker support.” | This rig can’t update from the console. Contact DroneTracker support. |
Signing in
| Problem | What to do |
|---|---|
| Wrong password, or the account is locked | After 5 failed sign-ins (by default), the account locks for 30 minutes. Wait and try again. If you’ve forgotten your password, contact DroneTracker support. |
| You lost your phone or security key | On the Second factor required screen, choose Use backup code instead or Lost your passkey? Use a backup code. Once you’re in, set up a new method on Admin → My Security. |
| No backup code and no other passkey | You can’t sign in by yourself. Ask another admin to contact DroneTracker support (Admin → Support Access, support type Accounts, access & security). See Accounts and security. |
| Re-authenticate to continue keeps appearing | Admin work needs a recent second-factor proof. Confirm with your passkey or a code. See Step-up confirmation. |
| Your SSO button is missing from the login page | An admin must check that the provider is active under Admin → SSO Providers. |
Handhelds
| Problem | What to do |
|---|---|
| The handheld can’t connect | 1. Open Admin → Access → Trusted Devices. Find the device and check its Status. Revoked and Expired devices can’t sign in. A device in Beacon can sign in but can only report its location; click Restore to give it back its normal access. 2. The first time a handheld connects, it asks you to trust a certificate fingerprint. That fingerprint must match the Device sign-in certificate fingerprint shown on Trusted Devices. If it doesn’t match, don’t trust it. Contact DroneTracker support. 3. A new handheld enrolls only after a full password and second-factor sign-in. More detail: Handheld and game controllers. |
Still stuck?
Open Admin → Support Access, choose the closest Support type, describe what you see in Details, and click Request support. See Support and ideas.
Release notes
What changed in each DroneTracker release, newest first. Rigs that support it install updates from Admin → Updates (Updates).
0.2.629
Added
- The rig view: a Dedicated Rig’s cameras at once. With a Dedicated Rig as the source, the video shows the spotter large, with the head’s pan and tilt and a crosshair, and the thermal camera and telephoto stacked beside it when they are connected. See The rig view.
- Thermal palettes: white-hot, black-hot, ironbow and rainbow for the thermal picture. They change only what you see; detection uses the camera’s own picture.
- A game controller drives the rig: right stick pans and tilts fast, left stick slowly for fine aiming, Y sends the head home, X changes the thermal palette, and LB / RB zoom the telephoto picture. The head never goes past its travel limits and stays where you leave it.
Fixed
- A preview no longer blocks the rig’s cameras: when the rig switches to its thermal camera at night, or starts identifying with the telephoto, a preview that had that camera open now lets it go first, instead of leaving the rig without it.
0.2.628
Changed
- Astro 3D on the phones uses the rig’s own sky math: DroneTracker Mobile now works out which deep-sky targets are up with the same code the rig runs, instead of a separate copy. A phone and a rig at the same place list the same targets in the same positions.
- One definition of the console’s live data: the console’s description of everything the rig sends it is now produced from the rig’s own definitions, so the two can no longer disagree after an update.
0.2.627
Fixed
- The satellite list and comet orbits are kept between restarts: the rig could not save them, so after a restart without internet it had neither until it got back online. They are now saved in the rig’s own data folder.
0.2.626
Added
- The sky check: before a detection is flagged, the rig asks whether the sky explains it — the Sun, the Moon, a planet, a bright star or a comet it sits still on, or a meteor. A brief, fast streak whose path points back to an active shower’s radiant is marked as that shower’s (the Orionids are active until November 7); any other is a sporadic meteor. It only explains detections nothing else did, never overrules a confident drone, aircraft, helicopter or bird, and stays silent until the rig knows where it points. See The sky check.
- Meteor showers and comets on the rig: the 37 annual showers of the International Meteor Organization’s list are built in, and comet orbits are downloaded from the Minor Planet Center every three days and kept for offline use. Every explanation is logged with the detection.
- Sky check on the Astro page: shows today’s showers, what is up, and the comet list’s state.
- Forwarder location: set where a forwarder stands under Remote Devices → Edit → Location, or let it report its own. A forwarder with a GPS receiver, or a paired phone, sends its position with each check-in. Its cameras’ detections are checked against the sky from there.
- The phone apps run the same sky check from the phone’s own location.
Fixed
- Satellite and sky checks use your location: they used the location fixed at install time, at sea level, even when a telescope position or an operator location had been entered. They now use the telescope’s position, else the operator location.
0.2.625
Added
- Search the admin console: a search box at the top of every admin page. As you type it lists the matching admin pages and settings, best match first, with the words you typed highlighted. Open a setting in the results to change it right there, or jump to it in System Settings or on its device page. Press / or Ctrl-K (⌘K on a Mac) to start typing, use the arrow keys to move through the results, Enter to open one and Esc to close.
0.2.624
Changed
- Library updates: newer versions of the checksum library used for telescope firmware uploads and camera sign-in, the certificate library behind device trust, and the 3D globe’s map component. Nothing changes in how the rig works.
0.2.623
Fixed
- A telescope added back keeps its location and direction: removing a DWARF 3 and adding it again, a common way to unstick one, used to wipe the position and bearing entered for it. The rig now remembers them by the telescope’s serial number and puts them back when the same telescope returns. A position or bearing entered since is never overwritten.
- Heading up says when the rig has no heading: with no known direction the 3D view can only face north, which looked just like North up. The button now reads Heading up · no heading in amber, and says where to set the telescope’s bearing.
- A saved location’s bearing is no longer dropped: picking a saved location for Operator Location used to discard its bearing without a word, since the operator location has no direction. The page now says so and offers Apply to DWARF 3, which puts the whole saved location, bearing included, on the telescope.
0.2.622
Fixed
- Re-adding a DWARF 3 no longer shows a false connection error: adding a telescope back could start two connections to it at the same moment, one from the console and one from the rig’s own automatic connect. The telescope takes only one controller at a time, so the two pushed each other off. One connected and gave video, while the other reported “camera activation failed” for a telescope that was working. Now the second connection waits for the first and uses it.
0.2.621
Fixed
- A telescope lens that stops sending video now still shows a picture: after an Astro go-to the DWARF 3’s tele lens can stop sending live video. After an Astro session its wide lens can refuse video entirely, even after switching back to VIS. The telescope keeps a slower picture feed running through all of this. The live view now switches to that feed, at about 4 frames a second, instead of showing “No frames”. Each time the cameras are reset, it tries the full-rate video again.
- The wide lens after an Astro go-to: the telescope calibrates on its wide lens, which can leave that lens on a long exposure, and a long exposure stops its live video. Resetting the cameras, on connect, after a go-to, or on switching to VIS, now sets the wide lens’s exposure back to auto as well as the tele’s.
0.2.620
Fixed
- Pointing the telescope from Astro 3D: go-tos were failing with “calibration failed”. Before turning, the telescope calibrates on the stars and needs the mount to stay still. Switching to Astro mode had also let the rig’s automatic motor re-homing run, so it moved the mount during that calibration. Re-homing now waits while the telescope is in Astro mode. The Through the DWARF 3 panel now shows “turning” until the telescope has actually arrived. If the go-to fails, it says why, for example clouds or a lit sky blocking the calibration, instead of claiming the telescope is on the object. The live picture also comes back after a go-to that fails: the calibration can leave the camera on a long exposure, which stops the live video, and the rig now sets the exposure back to auto.
0.2.619
Fixed
- DroneTracker Mobile: the Drone 3D / Astro 3D switch no longer covers the top of Astro 3D’s full-screen Moon and object views; it steps aside while one is open.
0.2.618
Fixed
- Pointing the telescope from Astro 3D: the live video no longer stays dark after the telescope turns to an object. Its go-to switches the cameras into deep-sky capture, which stops the live picture on both lenses; when the slew ends, the rig now brings the live view back, still in Astro mode. Picking another object while the telescope is still turning now stops that turn and goes to the new one, where before it was refused. Long turns no longer time out at 45 seconds.
0.2.617
Added
- Heading up and North up in Drone 3D and Astro 3D: like a car’s navigation map. Heading up (the default) turns the view to face where the camera points. On the station that is the telescope’s bearing, from a plate solve, a Lock Pos on a known aircraft, or the bearing entered for the device; on a phone it is the phone’s compass, followed as you turn. North up faces true north. With no heading known, Heading up faces north. Turning the view yourself pauses the follow; tap the button (↻) to face the heading again. See Map and 3D view.
0.2.616
Fixed
- The rig’s direction in Drone 3D, Astro 3D and the radar map: these views drew the telescope’s motor count as if it were a compass bearing, so a rig entered as facing 230° (southwest) showed its wedge near 130° (southeast). They now use where the rig really points: a plate solve or a Lock Pos on a known aircraft when there is one, otherwise the bearing entered for the device. The mount readout labels the motor count AZ CTR and shows the bearing as BRG with where it came from. Astro 3D opens facing the rig’s bearing (on a phone, the way the phone points) and marks it on the horizon.
0.2.615
Added
- Through the telescope, for real: in Astro 3D, Through the DWARF 3 now points the telescope. It switches to Astro mode (asking first if the rig is watching for aerial contacts), goes to the object or the Moon, and shows the telephoto lens in the main video view and as a picture-in-picture in Astro 3D. Tap the picture to swap the live view and the 3D render; back to VIS returns the telescope to aerial detection. See Map and 3D view.
- Go to the Moon: the telescope can point at the Moon, from its position worked out on the rig for that moment and place.
0.2.614
Added
- The Moon in Astro 3D: the real Moon, from NASA’s Lunar Reconnaissance Orbiter maps, lit for tonight’s phase with crater shadows along the terminator and earthshine on the dark side. Click it for a full-screen view with its phase, distance, rise and set, a phase slider and the DWARF 3’s frame. See Map and 3D view.
- Astro 3D on the phones: DroneTracker Mobile’s 3D tab switches between Drone 3D and Astro 3D. The phone works out the sky itself, with no rig and no network.
- ASTRO 3D on the handheld: a side-rail page that opens the rig’s Astro 3D.
- Find in Astro 3D: type a target’s name, or Moon, to open it.
Changed
- Astro 3D is now written with a space, and its labels no longer pile up: zoomed out, only brighter targets are named and one name stands for objects that share a spot.
- Full-screen nebulae, galaxies and globular clusters keep their structure instead of burning out to white.
- The transit time reads “transited 1.1 h ago” just after a target crosses the meridian, instead of “transit in 22.9 h”.
Fixed
- Horizon panorama: the capture no longer re-arms auto-track after you turned it off during the sweep, and auto-track can no longer lock a drawn box while the sweep runs. The sweep stays within the mount’s measured travel (to 300°), and the panel always sends the selected telescope.
0.2.613
Added
- Astro 3D: a sky view of the deep-sky targets from your site. Each target sits where it is in the sky now, with a small model of its type and its name; click one to open a detailed full-screen model you can orbit, and see how it would fit the DWARF 3’s telephoto frame. Offered only in Astro mode by default (
topology/astro3dchanges that). See Map and 3D view. - VIS / ASTRO switch on the main screen: an optional switch between aerial detection and astro mode on the top bar. Hidden by default; an admin turns it on with
display/show_scope_mode_toggle.
0.2.612
Added
- Horizon panorama in Rig view: Drone 3D’s Rig view can show the real skyline around the rig, photographed by the DWARF 3’s wide lens. Capture it under Admin → Hardware → Dwarf → Horizon panorama. The telescope turns across its travel, photographs each step and returns; the sky is made transparent so the 3D sky shows above the trees and roofs. See Map and 3D view.
Fixed
- Filter after Aerial: after switching back to Aerial, the Astro page shows the VIS filter the rig put back, instead of the astro filter that was in before.
- Album folders: folders inside an album session are shown as folders, not as files with a download button.
- Schedule status: the schedule’s “now” line updates every 30 seconds instead of only when the page opens.
- Edge build: finished schedule entries are marked done on the edge (SQLite) build; a test now checks it.
0.2.611
Added
- Stacking from the Astro page: a Stack panel lists the exposures the DWARF 3 offers (15, 30 and 60 s; the telescope pairs each with its own gain), takes a frame count, and starts stacking where the telescope points. Progress comes from the telescope itself: frames shot, frames stacked, and whether the stack is still running. The go-to’s progress shows beside it.
- Album: the Astro page lists the telescope’s astro album, session by session, and downloads FITS, TIFF and JPEG files through the rig.
- Plate-solve result: the Astro page shows the solve’s progress and, when it finishes, how far the mount’s axis is from the pole, or why it failed.
- Current filter: the Astro page shows which filter is in once the telescope has reported it, and warns when Astro or Duo-Band is in for daytime detection.
- Schedule windows: schedule entries take a start and end time, a minimum altitude and a priority. Each entry shows why it is waiting.
Fixed
- Sun safety: the telescope never slews within 30° of the Sun, from any path, and the schedule starts a session only once the Sun is 12° below the horizon. A run stops at dawn.
- Stack settings: the exposure and frame count were written into the wrong places in the telescope’s settings string, so a stack would have shot at the wrong exposure. They now go where the telescope’s own presets put them.
- Stack progress and completion: progress was read from the telescope’s exposure presets, so it never moved and a finished stack was never noticed. It now comes from the telescope’s own reports, and a finished stack frees the telescope.
- Plate-solve results: the solve’s answer was read in the wrong format, so a real result failed to read and a failure looked like success. It is now read correctly, with time for the solve to finish.
- Go-to errors: the go-to’s reply was read in the wrong format, so a failure could look like success. Go-to and plate solve now hold the telescope and pause auto-track, so a detection cannot slew it away mid-slew.
- Taking over from aerial: solve no longer takes the telescope from aerial detection without asking. Any astro action while aerial holds the telescope needs Take over from aerial ticked first.
- Mode buttons: the Astro page highlights the mode the rig is actually in.
- Schedule: a schedule entry no longer starts over your own go-to or stack; it ends its session on the telescope when it stops (stack stopped, cameras back, VIS filter back) instead of leaving the mount tracking; a failed start waits and retries instead of re-slewing every minute; an entry is marked done only when its stack finished; and on the edge build, finished entries no longer run again.
- Back to Aerial: besides re-opening both cameras, switching to Aerial now also stops a running stack, asks both lenses back to live view, puts the VIS filter back if Astro or Duo-Band was in, and re-arms tracking only once the cameras are back.
0.2.610
Fixed
- Wide-angle view after astro: switching the Astro page back to Aerial after astro mode or a deep-sky session now brings back both of the DWARF 3’s views. Before, the wide-angle view, which the rig scans the sky with, stayed dark until the telescope reconnected or was restarted. The rig now stops the astro session and re-opens both cameras, the same steps it runs when it connects. Nothing moves the mount. While you are imaging, the Astro page reminds you to switch back to Aerial to get both views.
Changed
- License notices: the motion detector’s background model credits OpenCV, whose code it is translated from, under OpenCV’s BSD 3-Clause license, on the rig and in both phone apps.
0.2.609
Added
- Datalink payloads decoded: ACARS messages, from VDL2 and from airband ACARS alike, now show their encoded payloads in readable form: ADS-C position and intent reports, CPDLC controller-pilot messages, MIAM messages (compressed ones included) and media advisories. Messages split across several ACARS blocks are joined first.
Changed
- VDL2 recovers more weak messages: when a damaged VDL2 block can’t be repaired directly, the decoder now tries the most doubtful bytes in more combinations before giving up. On the test recordings it now decodes more messages than the previously required external decoder.
- License notices: the third-party notices now also list the software DroneTracker works with but does not ship: the Sniffle firmware on the BLE Remote ID receiver, dumpvdl2, and the RTL-SDR command-line tools. The ported libacars decoders are credited under their MIT license.
- Street map from USGS Topo: the 3D views no longer load street tiles from the public OpenStreetMap servers, whose usage policy doesn’t allow apps like DroneTracker to use them. The street map now comes from USGS Topo (public domain; detailed in the United States) by default. Admins can pick MapTiler or Stadia Maps with their own key, or their own tile server, under Admin → System (
topology/street_map). 3D buildings still come from OpenStreetMap data. - License: DroneTracker’s own license file now states that the software is proprietary to Dronetracker, LLC. Third-party components keep their own licenses, as listed in the open-source licenses.
- Nothing to install for VDL2: the Install full decoder button is gone from the RF view, because the built-in decoder now reads every payload it added. Rigs that installed it switch to the built-in decoder on this update.
0.2.608
Added
- Built-in VDL2 decoder: the forwarder now decodes VDL Mode 2 itself, so VDL2 works without installing anything. Switch the airband dongle to VDL2 datalink, or pick a third dongle for VDL2, and ACARS messages arrive with the aircraft’s ICAO address, registration, flight, label and text. On test recordings, the built-in decoder recovered as many messages as the previously required decoder, slightly more on some passes, including long messages split across Reed-Solomon blocks and damaged ones it repairs.
- The full decoder is now optional: Install full decoder in the RF view adds decoding of the CPDLC, ADS-C and MIAM payloads some messages carry. When it is installed, the rig uses it for VDL2 automatically.
0.2.607
Changed
- New RTL-SDR driver in the SIGINT forwarder: the forwarder now talks to RTL-SDR dongles through a driver written in Rust, the same one the Android apps already use, instead of the librtlsdr library. ADS-B, the airband voice channels, the band scan, dongle pinning by serial number and the RF waterfall work as before. The forwarder no longer carries GPL-licensed code, and the Linux and macOS packages now always include it, because building it no longer needs librtlsdr installed.
- Supported dongles: the driver supports the R820T and R828D tuners, which every RTL-SDR Blog dongle (V3 and V4) and most current dongles use. Older dongles with an E4000 or FC0012 tuner are no longer supported.
Fixed
- VDL2 on the airband dongle: giving VDL2 the dongle that airband voice uses, in the RF view’s dongle roles, now hands that dongle to VDL2 and turns voice ATC off. Before, both claimed the dongle and neither ran.
0.2.606
Added
- Open-source licenses, everywhere the software is: the credits and licenses of the open-source components, models, SDKs, fonts, map sources and data services DroneTracker uses now ship with every package, beside the program, and are shown on the console’s Help → Open-source licenses page, in the Android apps (Settings, and the handheld’s side rail) and in the iOS app (More → Settings → About).
- Map credits in Drone 3D: the 3D view now shows the credits its map sources require: OpenStreetMap for the street map and buildings, Esri for the satellite drape, and the terrain tiles.
Changed
- OpenSky is off by default (main station): the OpenSky Network’s free service is for research and non-commercial use, so the main station no longer uses it as a fallback for live aircraft or flight details unless an administrator turns it on in Admin → System (
enrichment/opensky_enabled). adsb.lol remains the public fallback for live aircraft, and FlightAware AeroAPI, with your own key, for flight details. The phone apps use OpenSky only when you pick it as the ADS-B provider; it is labeled “non-commercial use”.
0.2.605
Fixed
- The mount no longer swings wildly while following a drawn box (main station): while a box was drawn, the slew-to-cue controller, which re-points the mount to bring a target into the telephoto lens, was also handed the box and fought the follower for the mount, with swings of 20° to 100°. While a box is drawn, only the follower steers now, and only to the box. While the rig looks for a lost object the mount holds still instead of sweeping; the video’s delay made the sweep overshoot on the Dwarf 3.
- The mount no longer bobs past a drawn box (Dwarf 3): the Dwarf’s joystick keeps moving until it is told to stop, and the follower stopped sending commands once the box was centered instead of stopping the motors, so the mount drifted past the object, corrected a second late because of the video delay, and bobbed until the object left the picture. The mount now steers to a drawn box in short pulses sized to how far off it is, stops, and waits for the picture to catch up before the next one. Detected targets also stop the motors now when they reach the center.
0.2.603
Fixed
- A drawn box no longer drifts while the mount steers to it (main station): the tracker was learning the camera’s own motion as the object’s velocity, so each steering burst pushed the aim further and the mount swung back and forth; a small object was lost after a few bursts. The rig now measures how far the whole picture slid between frames, the same scene registration the motion tripwire uses, and takes it out before judging the object’s motion; while the mount is being commanded, the aim stays on the box instead of leading it. Seen on the Dwarf 3’s wide lens on 2026-10-20.
0.2.602
Added
- Draw a box around anything and the rig follows it: the iPhone app’s drawn-box tracking is now on the rig and in every app that shows its picture. Drag a rectangle on the console’s live video, on the handheld’s feed, or on a paired phone’s RIG view, and a learned tracker (MixFormerV2-S, running on the rig) locks onto what you outlined, class-blind. A motorized mount steers to it, a recording starts and stops with it, and the box is drawn in cyan with FOLLOWING and the tracker’s confidence; it turns dashed and reads SEARCHING while the rig looks for a lost object, for up to a minute, with the mount sweeping slowly. Click or tap inside the box to stop; clicking a spot to point the camera, or pointing at a flight, clears it too, so the mount never has two masters. The feature is on by default and can be switched off in Admin → System (
cv/manual_track_enabled); the model (65 MB) loads on the first draw. See Drawing a box around something. - Drawn-box tracking on Android: the Android app follows an outlined object on its own camera the way the iPhone app does, with the same tracker, the same search, and the same stand steering and auto-record rules. While a box is drawn the detector runs five times a second and the tracker takes every frame; the app is larger by the tracker model.
0.2.601
Fixed
- Turning the phone while recording left the picture sideways (iPhone): a recording keeps one orientation, so turning the phone during one, including the recording auto-track starts the moment you draw a box on a stand, left the camera picture and the detector the old way up until the recording ended. The recording is now finished and saved, the picture turns, and recording starts again the new way: an auto-track recording restarts by itself, and one you started is restarted for you. The HUD says so while the first one is saved.
- A drawn box follows the phone through a turn (iPhone): the box is carried over to where the object sits in the turned picture and the tracker picks it up from the first frame the new way, instead of starting over on the wrong spot.
- Landscape steering reads the right gyro axis (iPhone): with the phone in landscape, panning turns it about its short axis, so the drawn-box tracker’s scene shift and the Flow 2 end-stop guard now swap axes with the orientation.
0.2.600
Added
- Motion is noticed while a stand turns slowly: the motion tripwire (UNKNOWN boxes) used to need a perfectly still picture, so a phone on a Flow 2 or DockKit stand that was holding or sweeping, or a main-station camera on a pan/tilt head, saw nothing. The app now measures how far the whole picture slid between frames and moves its learned background along with it, so only what moves against the scene is marked. A fast turn still resets the background. On the main station this is Settings → Detection → Motion cue → Register (default on; 0 turns it off).
- A lost drawn box is found faster (iPhone): a match on a spot where something is moving counts at once instead of needing a second look, the search stops as soon as it is sure, tries the nearest spots first, and only tries other sizes where the object showed at all. The search also matches the object as it last looked, not only as drawn, so a bird that turned or a drone that banked is still recognized.
- The stand sweeps the way the object went (iPhone): the search sweep starts in the direction the object was moving when it was lost, and tilts a little when it was climbing or diving out of the frame, instead of always panning toward the side it was last on.
Changed
- The detector runs less often while a drawn box is followed (iPhone): a few times a second instead of every frame, since the drawn box has its own tracker, which leaves the phone’s model engine to the tracker and its search. Other objects are still shown; their boxes update at that rate.
- The stand steers gently through a search (iPhone): finding the object again no longer restarts the steering ramp with a hard first swing.
0.2.599
Added
- You can see where the search is looking (iPhone): while a drawn box is being searched for, faint boxes show the spots being checked, so a frame-wide search looks like one instead of a box sitting where the object was.
- The stand sweeps while it searches (iPhone): three seconds after a drawn box is lost, a Flow 2 or DockKit stand turns slowly toward the side the object was last seen on, then the other way, a few seconds each leg, until the object is found or the search gives up. The first seconds stay still because the object usually comes straight back.
0.2.598
Added
- The phone apps notice motion before the detector can name it: with the phone on a stand or a tripod (or a USB camera fixed in place on the Android handheld), anything that moves against a still picture gets an UNKNOWN box within a second or two, the same class-blind tripwire the main station runs on cameras without their own detector. Auto zoom zooms toward it and a Flow 2 or DockKit stand turns to it, so a distant object gets detail before the detector has a class; once the detector names it, its box takes over. Swaying branches and edges that flicker in one spot are learned as background and ignored. Hand-held, the picture is never still and nothing is marked. Settings → Detection → Motion cue switches it off; the Motion cutoff sets how sure the app must be.
- The camera zooms back out while a drawn box is searched for (iPhone): auto zoom returns to where it started as soon as the object is lost, instead of a few seconds later, so the search and you get the wide picture; it zooms in again once the object is found.
- A lost drawn box is looked for where something moves first (iPhone): the search for an object that left the frame now tries the spots where the picture is changing before sweeping the whole frame.
0.2.597
Added
- Set your position by hand in DroneTracker Mobile: Setup → My position takes a latitude, longitude and altitude. The app uses it whenever the device has no location fix of its own, as on a Retroid handheld, which has no GPS. It always shows Position set by hand so it isn’t mistaken for a measured fix. Clear goes back to the device’s own location.
- A position suggestion from the antenna: with an RTL-SDR plugged into the device, My position works out roughly where the antenna is from the aircraft it hears, the same way the rig does, and offers Use the antenna’s estimate with how far off it may be (typically a few km after a few hours near a flight path). It fills the fields; you confirm with Save position. Only aircraft heard by the plugged-in radio count, never those relayed from somewhere else.
Fixed
- A USB webcam on the Android handheld reaches the main station: Android opens a USB webcam only for an app with camera permission, which the handheld’s field unit never asked for, so the webcam was never sent. When a webcam is plugged in, the handheld now asks to use the camera. FIELD UNIT → CAMERA (USB) has an Allow the camera button if you skipped the question. While DroneTracker Mobile is using the webcam, the field unit waits a minute between tries instead of competing for it.
- The drawn box keeps up on older iPhones: the box tracker now looks for the object where its motion says it went, and looks wider when the phone is slow or the object fast, instead of only where it last was. On an iPhone 11 the tracker ran several times slower than on newer phones and lost a moving object to look-alikes nearby. The app also picks, per phone, the version of the tracker that phone’s chip runs fastest.
- Zoom toward a drawn box (iPhone): auto zoom now zooms toward the box you drew, ahead of detections, within the lens’s optical range, so a small object gets detail for the tracker to hold. The Flow 2 turns more gently as the zoom rises, since the same offset in a narrower picture is a smaller angle.
- Steadier Flow 2 steering (Android): DroneTracker Mobile steered the gimbal with raw offsets. It now uses the same follow speed as the iPhone’s Normal, scaled by the zoom, with the same dead zone and damping.
- Steadier gimbal: the Flow 2 no longer twitches with the small jitter of a box near the center, and a sudden jump in the target’s position ramps the gimbal instead of kicking it.
- A person you outline is recognized when they come back: draw a box around a person and the app remembers how they look. If they walk out of the picture and back in, even in a different pose or from the other side, the tracker picks them up again by appearance. Other objects are still found by the look you drew.
- The drawn box stays on the object in clutter: on a busy desk the box could slide onto a nearby object that looked similar and then stay there with full confidence, because the tracker kept refreshing its idea of the object from what it was following. It now refreshes that far less often, and every few frames checks the box against the object as you drew it; if that match is somewhere else, the box goes back to it. The check that used to declare the object lost during a gimbal swing, and then re-lock on the wrong spot, is gone: the tracker itself now decides, and a re-lock keeps the object as you drew it.
- A lost object is found again anywhere in the picture: carry the object out of the frame and bring it back in on the other side, and the tracker finds it. The search looks across the whole picture after its first second and keeps looking for a minute, recognizing the object by your drawing rather than by a rough image fingerprint.
- The Flow 2 keeps centering sideways at its tilt limit: when the object sits below the lowest point the gimbal can tilt to, the gimbal now holds only the tilt and keeps panning the object to the center, instead of stopping both.
- PHONE ⟷ RIG is a slide switch (iPhone): slide it, or tap the side you want; it no longer takes several taps to switch.
- iPhone app runs smoother: it asked iOS whether Location Services was on with every motion update, about 30 times a second, which iOS warns can make the screen stutter. It now checks only when the setting changes.
- DroneTracker Mobile opens a USB webcam the first time you pick it: it opened the camera twice at once and the second open never finished, so the picture stayed on Opening USB camera… until you picked the camera again.
0.2.596
Fixed
- DroneTracker Mobile on a handheld without a camera turns to landscape: on an Android device with no back camera, such as a Retroid handheld, the app now follows the way you hold it in landscape instead of staying upright. Phones with a back camera still use portrait, which the camera view is laid out for.
- Allowing location in DroneTracker Mobile: closing the location explanation stopped the app from ever asking again, and Location settings only opened Android’s app page. The button now reads Allow location and brings up Android’s own permission prompt. Only if you have turned location down there does it open the app page, and it says where to tap: Permissions, then Location.
0.2.595
Fixed
- A USB webcam on the Android handheld is picked up when it’s plugged in: the handheld noticed a webcam only if it was attached before the field unit started. It now finds one within a few seconds of plugging it in, and asks for permission to use it only once.
0.2.594
Added
- The iPhone signs in to the rig with a certificate: after one password and second-factor sign-in in Rig view, the iPhone enrolls itself as a trusted device, like the Android handheld. From then on Rig view signs in without a password, both when it opens and when a session runs out. It shows under Admin → Access → Trusted Devices, where it can be revoked; a revoked iPhone asks for the password again. See Trusted devices.
- A USB camera on a SIGINT forwarder becomes a rig camera: a forwarder node can now relay a USB camera to the main station the same way the Android handheld does. The main station lists it as a camera named after the device. Detection stays on the main station. The relay is off by default on each forwarder; your support contact can switch it on for a node. It stays off on a forwarder that runs on the main station’s own computer, so it never takes the main station’s own cameras.
0.2.593
Added
- A USB webcam on the handheld becomes a rig camera: plug a standard USB webcam into the Android handheld and allow DroneTracker to use it. The handheld sends the picture to the main station, which lists it as a camera named after the webcam, for example Field camera · HP HD-4110. The handheld only captures and sends; detection runs on the main station once an administrator picks the field camera as the detection source. The FIELD UNIT screen shows the camera under CAMERA (USB). See Field unit.
0.2.592
Added
- The admin console’s section list folds away: the button at the left of the header hides and shows the list of admin sections. On a phone the list is hidden until you open it, and closes again once you pick a section, so each page gets the whole screen. On a larger screen your choice is remembered.
- A learned tracker for the drawn box (iPhone): the box you draw is now followed by a tracking model running on the phone’s Neural Engine instead of the system’s object tracker. It holds on through size changes, clutter and partial cover, and its confidence drives the lost-object search.
Changed
- Flow 2 turns at full speed (phone apps): auto-track now uses the gimbal’s whole speed range. Follow speed Gentle, Normal and Fast map onto it, with Normal matching the earlier pace.
- Flow 2 stops at its turning limit (iPhone): when the gimbal is pulled to the end of its travel, the app stops asking it to turn further and the HUD says so, instead of tripping the gimbal’s protection.
Fixed
- The lost-object search finds the object again (iPhone): after a drawn box is lost, the search now looks all around where the object was last seen instead of only at the picture’s most eye-catching spots, so bringing the object back into the picture re-locks it.
- A drawn box follows smoothly: the box no longer jiggles as the stand moves toward it, which set the gimbal rocking back and forth.
0.2.591
Added
- Draw a box, and the stand follows it (iPhone): drag a finger across the picture to outline anything, aircraft or not, and the Insta360 Flow 2 keeps it centered. The box is labeled FOLLOWING; tap it to let go. If the object leaves the picture, the app remembers how it looked and re-locks when it comes back (SEARCHING while it looks, for up to 20 seconds).
- Follow speed: Settings → Auto-track → Follow speed (Gentle, Normal, Fast) sets how quickly a motorized stand turns toward the target.
- Gimbal protection warning: when a Flow 2 shuts its motors off (all four lights blinking after a blocked movement), the HUD says so and auto-track pauses until a gimbal button clears it.
Fixed
- HDR recording on iPhone: on phones whose HDR mode offers only 10-bit camera frames, HDR recording failed to start. It now records 4K HDR, and if a high-quality start ever fails, the phone records at 1080p instead for the rest of the session rather than failing every time.
- Auto-record no longer breaks a drawn box: the recording starts before the stand begins to move, so the camera’s switch to the recording format does not throw the tracker off.
0.2.590
Added
- Auto-track on an Insta360 Flow 2 (phone apps): the iPhone and Android apps now steer an Insta360 Flow 2 gimbal over Bluetooth, the model without DockKit. Mount the phone, turn the gimbal on, and close the Insta360 app. AUTO-TRACK then keeps the target the phone’s detector sees in the middle of the picture. Tap a box to choose which target to follow. Touching the gimbal’s joystick hands control back to you for a moment. Keep the gimbal’s AI Tracker switched off while auto-track runs, or both will steer.
- Phone clamp warning: when the phone is twisted out of line in the Flow 2’s clamp, the HUD says so and auto-track shows PAUSED until the phone is straight again.
- Auto-track records what it follows: while auto-track is on, a detected target starts a recording, which stops 10 seconds after the target is gone. You confirm this once when you start auto-track. A recording you start yourself is never stopped.
- High-quality recording (phone apps): on iPhone, Settings → Recording offers Standard (1080p), HDR (4K HLG) and, on Pro iPhones, ProRes. On Android, High quality original records 4K in the best HDR the phone offers. The HUD copy stays in standard color so its overlay reads correctly.
Changed
- The phone screen stays on while DroneTracker is the app on screen, so an unattended tracker does not lock.
- Android records 1080p by default, up from 720p.
- Auto-track sheet on iPhone: a DockKit stand that reports an error now shows it in the sheet.
0.2.589
Fixed
- Signed out in the admin console: opening the admin console without signing in now shows the sign-in page instead of an empty screen.
- Switching the analyzed camera from GRID: the Activate button on a camera tile appears only for administrators, who are the only ones allowed to switch the camera being analyzed. If a switch fails, a short message appears over the cameras and every picture keeps playing.
- Drone-band radio note: in the RF view, the note shown when no wideband radio is fitted now says to contact DroneTracker support to add one.
0.2.588
Added
- An ATC tab in the RF view: the footer’s new ATC tab lists only the ATC transmissions, with their transcripts and replay, so a busy ADS-B sky no longer pushes them out of sight. The SIGINT Events table can also be narrowed to one kind of radio. See The footer.
- Resizable RF panels: drag the top edge of the footer, or of the drone-band and Remote ID panels under the radar, to give each the room you want. Those panels can also fold to one line. Your browser remembers the sizes.
Changed
- A lighter rig: the server now delivers the console’s pages itself, at the same addresses as before. The separate web interface service is gone, which frees memory and processor, most of all on a Jetson. Admin → System → Services no longer lists it. Saved links to a device’s page keep working.
0.2.587
Added
- Full-screen RIG view on the phone: the controls hide 5 seconds after the last touch; tap the picture to bring them back. On the picture: tap a box to track it, double-tap or pinch to zoom, press and hold then drag to steer (lift to stop), two-finger tap to stop all motion, and swipe in from the right edge for the next camera. See Pair a phone.
- Cast the rig’s camera to a TV from the phone’s RIG view: AirPlay to an Apple TV or AirPlay TV from an iPhone, and Chromecast from an iPhone or Android phone. The phone and the TV must be on the same Wi-Fi.
- Pair a device without a camera: the console’s pairing code can now be copied and pasted into the app.
Changed
- Less processor on a Jetson: the console’s camera pictures in the 3D map and the freeze-frame use about an eighth of the processor they did, and share the camera’s one feed.
- Less processor on Linux rigs: the console’s requests and camera streams go straight to the server instead of through the web interface.
0.2.586
Fixed
- The phone’s RIG view held sideways: the main camera picture no longer disappears in landscape. The cameras fill the screen under the controls; SPLIT and GRID put the cameras side by side when the screen is wide, and the corner camera sits clear of the buttons.
0.2.585
Fixed
- Steady camera feeds on a Jetson: the rig’s own camera feed no longer drops and reconnects about once a minute, and the phone’s picture of the rig’s cameras no longer cuts out every few seconds. The rig opens each camera once and shares that feed between detection, phones and the console, still decoding the video on the hardware.
0.2.584
Changed
- The phone’s RIG view fits the screen: the rig’s cameras sit between the top bar and the controls, so nothing hides behind the joystick. SPLIT and GRID tiles are sized to fit (GRID puts three or more cameras two across) and each shows its camera’s name; in the default view the second camera sits small in the corner of the main picture. The MOUNT and CAM menus open above their buttons without moving the other controls. See Pair a phone.
Fixed
- Hardware video decoding on a Jetson: a camera could get stuck on slower software decoding after one moment when it was too busy to answer. The rig now checks again before giving up and remembers each camera’s video format.
0.2.583
Added
- The console’s controls on the phone: the phone’s RIG view, on iPhone and Android, now has GRID, SOURCE and SPLIT, the AZ · PITCH · HOLD mount readout, the pull joystick, MOUNT (deploy, stow) and home, zoom on the phone with AUTO, a second camera in the corner, AUTO TRK, and CAM for focus, exposure and gain. See Pair a phone.
Changed
- Phone commands in order: camera commands from a phone now always reach the rig in the order they were sent.
- Boxes on the phone: detection boxes show only on the detection camera, where they line up with the picture.
0.2.582
Fixed
- Faster restarts and updates: the rig now stops in a few seconds instead of about a minute and a half, so restarts and in-console updates finish sooner. Open video views and live panels no longer hold the stop up.
- Detector precision setting: choosing fp32 under Admin → Models → Detector performance now takes effect as soon as the rig starts. Before, a freshly started rig always ran the half-precision model.
0.2.581
Changed
- Lighter ADS-B decoding: the rig’s ADS-B receiver turns radio samples into signal strength with a lookup table instead of calculating each one, for less processor time with the same results.
0.2.580
Changed
- Lighter detection on GPU rigs: the detection model now runs in half precision (FP16) on rigs with a GPU, with the same detections in half the memory. Choose under Admin → Models → Detector performance.
- Less work with nothing in view: after 10 seconds with nothing tracked, the detector looks at 4 frames a second instead of every frame, and returns to full rate as soon as something is tracked. The live video doesn’t slow down.
- One video encode per camera on Jetson rigs: the console’s live video and paired phones now share one stream per camera, decoded by the video hardware, instead of each encoding separately. The console’s low-latency (WebRTC) video now works on Jetson Orin rigs, which have no hardware encoder.
- Faster frame conversion on ARM rigs: converting camera frames for the detector uses the processor’s vector instructions.
0.2.579
Added
- Steer the rig’s camera from a paired phone: in the phone’s RIG view, hold an arrow to move the camera, use AF and focus, zoom, and tap a box to have the rig aim at it and track it. Turn it off for all phones under Admin → Signals Intelligence → Paired phones. Every command is logged with the phone’s name.
- Pick the camera on the phone: the RIG view can show the detection camera, the wide lens or the tele lens.
- Hardware video decoding on Jetson rigs: network cameras are now decoded by the Orin’s video hardware instead of the processor, using about a seventh of the processor time. The tele lens reaches phones without the rig decoding 4K video in software. See Video decoder.
Changed
- Phone app: the rig’s camera keeps running for a minute after you leave the RIG view, so coming back is quick. The phone says “Starting the rig’s camera…” while the first picture loads.
0.2.578
Added
- The rig’s picture on paired phones: a paired phone’s HUD has a PHONE | RIG switch. RIG shows the rig’s camera, detection boxes and target cards, ATC transcripts, and the rig’s aircraft in the SIGINT panel, all in the app’s own screens rather than a web page. The rig sends its camera only while a phone is showing it. See Pair a phone.
0.2.577
Added
- Per-class confidence floors: Admin → Models → Per-class confidence floors sets a floor for Drone, Helicopter, Airplane, UAP and Unknown separately. Raise a class that boxes things that aren’t there without hiding the others, or lower one to catch distant aircraft. See Per-class confidence floors.
- Phone app, Settings → Detection: a cutoff for each class (Drone, Helicopter, Airplane, UAP, or Off), how long a box must stay before it appears, the lowest elevation to consider, and a pause while the phone turns. Changes apply right away, and Reset to defaults restores the shipped values.
Fixed
- Pair a phone over your tailnet: the console refused the rig’s tailnet name (
https://rig.tailXXXX.ts.net), saying the certificate didn’t cover it. The rig’s certificate now includes its tailnet name, and browsers that trust the rig accept that name too. - Phone app, Rig view on the iPhone: the page stayed blank because the iPhone refused the rig’s own certificate for web pages. Rig view now opens the rig’s console, and if it can’t, it says why.
Changed
- UAP on the rig: UAP detections now need a score of 85% by default. Lower scores were mostly noise, especially at night. Change it under Admin → Models → Per-class confidence floors.
- Phone app: UAP boxes now need a much higher score by default, and boxes must stay steady for longer before they appear. Detection also pauses while the phone turns quickly, because a blurred picture drew UAP boxes on ceiling beams, wall edges and door frames.
0.2.576
Fixed
- Pair a phone: a paired phone stopped sending when the rig renewed its certificate, which the rig does by itself when its network addresses change and before the certificate expires. Phones paired from 0.2.576 keep working through renewals. Pair once more after updating: unpair on the phone, then scan a new code.
- Pair a phone: the console now checks that the address in the code is one this rig’s certificate covers, and makes no code for an address the phone couldn’t use (another machine, or the trusted-device port). When you open the console with a device certificate, the address it suggests is now the one phones use.
- Phone app, Rig view: works with codes from 0.2.576 on the iPhone and on Android.
- Phone app: the “Scan the rig’s code” picture keeps its size, and showing it no longer slows the camera.
0.2.575
Fixed
- Pair a phone: a phone paired with 0.2.574 couldn’t send anything. Its Rig section showed an error saying the rig’s certificate had changed. The pairing code was missing the rig’s certificate, so the phone had no way to trust the rig. After updating, open Unpair from this rig on the phone, then scan a new code from Admin → Signals Intelligence → Pair a phone. The console now refuses to make a code for an address the rig doesn’t serve over HTTPS.
- Phone app, scanning the rig’s code: the camera picture in the scan screen was blank on the iPhone. It now shows what the camera sees.
0.2.574
Added
- Pair a phone with your rig: Admin → Signals Intelligence → Pair a phone shows a code to scan with the DroneTracker phone app. The phone then sends what its Bluetooth (drone Remote ID) and any attached radio (ADS-B) hear to your rig, and shows your rig’s view. Each paired phone appears as two devices. See Pair a phone.
Fixed
- Drone 3D near the coast: the sea floor was drawn as a deep black pit next to the shoreline. The sea is now level with the water’s surface.
0.2.573
Added
- Drone 3D, night map: after dusk the street map switches to a dark version: land goes dark, while water, parks and roads keep their colors. Satellite imagery is dimmed instead. View → Night map cycles Auto (on once the sun is 6° below the horizon at your site), On and Off.
Fixed
- Semi-transparent panels across the console: many panels, highlights and borders meant to be partly see-through were drawn with no background or with a plain light-gray border. The Drone 3D buttons and View menu, for example, were hard to read against a daytime sky. They now show their intended tinted backgrounds and borders.
0.2.570
Added
- DroneTracker Mobile Edition: the Android app runs on an emulator end to end (camera detector on the NPU path, live ADS-B contacts, the Drone 3D scene with tap-to-select back into the SIGINT panel), and on-device chat arrives as an optional tier: Qwen 2.5 7B (4-bit) on phones with 12 GB of memory or more, a 3B model on 6 GB phones, downloaded over Wi-Fi on first use and never sent anywhere.
0.2.569
Added
- DroneTracker Mobile Edition: the Android app now builds end to end on a Mac without Android Studio (debug APK, unit tests, lint), and the Drone 3D view ships as a self-contained web bundle for both apps’ in-app 3D screen, driven by the phone’s own position, heading, and ADS-B contacts.
0.2.568
Added
- DroneTracker Mobile Edition, first scaffold. The free iOS and Android apps now exist in source: a shared Rust core (camera-bearing correlation with ADS-B, the make/model database, scene summary, the read-only Admin mirror catalog, and the DockKit track command), a SwiftUI app with DockKit stand tracking, a Jetpack Compose app, and the on-device detector exports for Core ML and ONNX Runtime. Nothing ships yet; see
docs/ROADMAP-Mobile-Freeware.md.
0.2.567
Security
- Deactivating a user now signs them out everywhere. Deactivated accounts lose their live sessions and can no longer refresh a token. Killing a session now also ends its live telemetry and video streams.
- API key IP allowlists are enforced. A key created with an allowlist is refused from any other address.
- Proxy headers are trusted only from the local reverse proxy (or addresses listed in
DRONETRACKER_TRUSTED_PROXIES), so a client on the LAN can no longer spoof its address to dodge rate limits or session binding. - Forwarder ingest checks the HMAC signature before the slow password hash and is rate limited per address.
- Camera stream URLs returned by the admin API no longer include embedded passwords.
Fixed
- The forwarder no longer bundles a language model. It never ran one; the dependency, the 3 GB first-start download, and the CUDA/Metal build flags are gone. Existing forwarder config files still load.
- Operator view: target updates are applied once per frame instead of once per target, so the event log and side panel stop re-rendering on every bounding-box move.
- Drone 3D: two effects that could trip the SYSTEM FAULT guard are fixed (caught by the frontend unit tests, which now run in CI).
Improved
- The forwarder and setup services ship with systemd hardening. The frontend version is derived from the workspace version at build time. Stale docs, screenshots, and the duplicate agent instructions file are cleaned up;
docs/README.mdindexes the documentation.
0.2.566
Improved
- Drone 3D, Camera in scene: the live picture now opens on the wide lens, which shows the same area as the bearing wedge. Tap the picture to switch between the wide and telephoto lenses; a label in its corner shows which one you are seeing.
0.2.565
Improved
- Drone 3D, where the rig points: the pale blue wedge showing the camera’s bearing now also shows in Rig view, is drawn on top of the terrain so hills no longer hide parts of it, and has bright edge and center lines.
0.2.564
Improved
- Drone 3D map at night: the map is now backlit, so streets, terrain and satellite detail stay clearly visible after dark instead of fading to near-black. By day the map looks as before, shaded by the sun.
0.2.563
Fixed
- Drone 3D touch controls: pinching now zooms in smoothly again on rigs with a connected camera mount. The view was resetting its center point every time the mount reported its position, which fought the pinch.
- Rig view now shows a Rig view — exit button at the top of the screen. Dragging and pinching are off while it is on, because the view follows the camera.
0.2.562
Fixed
- Drone 3D, Rig view: the camera’s cone and the live-picture panel are hidden while you look out from the rig, so they no longer smear across the view.
- Drone 3D, Camera in scene: the panel now says what is happening instead of staying blank: Waiting for the camera…, Camera stream unavailable, or Camera has no picture when the camera sends only black frames (for example while it is asleep or stowed).
0.2.561
Fixed
- Drone 3D at night: the ground stays visible after dark instead of going almost black. Only the navigation lights and strobes glow now, with a soft round halo on every device, so aircraft and their callsigns no longer turn into bright white squares. The dusk glow stays near the sun instead of tinting the whole sky.
0.2.560
Fixed
- Drone 3D: aircraft ground shadows are soft round spots again, not gray squares. Changing the quality level now also changes how far the view draws, so a dark patch can no longer appear in the sky in Rig view. Tall walls no longer hang from the edges of the terrain. Ground whose map couldn’t load shows as plain shaded ground instead of a wire mesh. The YOU pin is hidden in Rig view, where you are standing at it.
0.2.559
Fixed
- Drone 3D sky. A large dark patch could cover the middle of the sky, especially on phones and tablets. The sky now always fills the view.
- Drone 3D on phones. The controls no longer run off the screen or cover the status line. + and − stay at the top right and the rest are in a ⋯ View menu.
0.2.558
New
- 3D buildings and glowing lights in Drone 3D, on fast computers. Buildings within about 2 km of the rig appear in 3D at their real heights, and aircraft lights get a soft glow, strongest at night. See Map and 3D views.
0.2.557
New
- See what the rig sees, in Drone 3D. A pale blue cone (or, on mounts that report only a bearing, a wedge on the ground) shows where the camera points. Camera in scene puts the live picture in the 3D view at that spot, and Rig view looks out from the rig the same way the camera does. See Map and 3D views.
- Sound in Drone 3D. Sound plays a faint engine sound for the nearest aircraft, coming from where they are. It is off by default.
- Contrails. Aircraft cruising above about 8 km leave a short white contrail.
Improved
- Sharper, faster 3D terrain. The ground is most detailed around the rig and simpler farther out, hills are shaded by the sun, and the ground darkens at night. Tiles are saved in the browser, so a site you have viewed opens quickly and works offline. Satellite imagery starts on for fast computers.
0.2.556
New
- A more lifelike Drone 3D view. The sky follows the real time of day at the rig, with dawn and dusk colors, and distant terrain fades into the sky. Aircraft bank into turns and tilt as they climb or descend, show navigation lights and strobes (brightest at night), and low contacts cast a soft shadow on the ground. See Map and 3D views.
Improved
- Smoother Drone 3D view, especially with many aircraft. All aircraft of one kind, and all flight paths, are now drawn together, so a busy sky costs far less to draw. Drone 3D now adjusts the picture sharpness to keep motion smooth, limits low-power devices to 30 frames a second, stops drawing while the view is hidden, and keeps VR headsets at medium quality. Flight paths now fade toward their oldest end. See Map and 3D views.
0.2.555
Improved
- Tidier dashboard on phones. In portrait and landscape, the controls on the video no longer overlap. The status line, view buttons and mount position are grouped at the top. The mount actions are in a Mount menu, and focus, exposure and gain are in a Cam menu. The second picture now sits clear of the controls. See the dashboard.
Fixed
- On a large screen, the camera controls no longer cover the small second picture.
0.2.554
New
- Pull joystick on phones and tablets. The arrow buttons on the video become a joystick: put a finger on it and pull. The direction you pull is where the mount turns, and the further you pull, the faster it moves. Let go and it stops. Long-pressing no longer brings up the phone’s copy or save menu. See the dashboard.
- Ask the Rig answers more consistently. Counting questions are answered straight from the rig’s counts, the AI answers without randomness, and answers that mention things the rig has no record of are withheld. It answers only questions about the rig’s data, and the panel always shows that answers are AI-generated. See Ask the Rig.
Fixed
- 3D view at high-elevation sites. The terrain, aircraft and flight trails now sit on the ground at your site. At sites well above sea level the terrain used to float above the map pin.
- Help → User guide now opens the guide at dronetracker.ai.
- The ideas board’s address moved to dronetracker.ai.
0.2.553
New
- Emergency squawk. The rig now reads the transponder code aircraft broadcast. It shows in the SIGINT events table, an emergency code (7500 hijack, 7600 radio failure, 7700 general emergency) is flagged in red, and a new watch-rule preset alerts on one. See Alerts.
- User guide link. Help now links to this guide.
Fixed
- Admin → Access → Users → Reset PW works again. It creates a one-time temporary password, shows it once, and the user must choose a new password at their next sign-in.
- The bird species list now follows the site set under System Settings → Site, instead of the location recorded at installation.
- The ideas board moved to its new address; rigs on this version reach it without any change.
0.2.552
Includes the changes made for 0.2.550 and 0.2.551.
New
- Specific identity. The target card can now say exactly what a target is — not just “airplane” but “BOEING 737-824” — when evidence supports it: the aircraft’s registration record, a drone’s own Remote ID, or the rig’s own earlier confirmed sightings that look alike. Shown with its evidence; weak evidence shows no identity rather than a guess.
- Bird species. With a detector that reports birds, the rig can name the species, weighed by which species are recorded near your site this month. Turn on the bird species lookup under System Settings to download the local list (your location is rounded to about 100 km); the list is kept for offline use.
- SIGINT watch rules. Admin → Alerts → SIGINT watch rules: get an alert when the rig hears something you care about — “mayday” or “hijack” on ATC or datalink, an aircraft above 50,000 ft with no callsign, or any drone (with a map link). Ready-made presets; every rule is editable.
Improved
- The RF view: ATC voice and datalink now live in the events table, with the airband mode, Listen and transcription status in a bar above it — more room for the radar. Callsigns in transmissions are clickable to find the aircraft.
- The event log shows the last 24 hours when you open the console, not only what arrived since.
0.2.549
Fixed
- USB cameras now deliver full-rate video: DroneTracker requests the camera’s compressed video format, fixing blank or frozen feeds (“NO FRAMES”) on high-resolution cameras.
- Thermal camera: only the picture is shown; the camera’s raw data band below it is cropped off.
- Detection on Jetson Orin rigs now runs on the GPU after this update.
0.2.548
New
- Dedicated Rig: Track now defaults to Multi-track, which follows the most confident object of any kind the detector finds. You can also pick a single kind of object to follow; the choices come from your active detection model.
Improved
- Dedicated Rig cameras stay bound to the right camera after a restart or a replug, even if the system renumbers them. The camera list shows each camera’s USB port, so two cameras of the same model can be told apart.
- Camera setup offers the formats your camera actually supports and starts from one of them. A saved format the camera can’t do is adjusted automatically, so the video no longer stays blank while the camera’s preview works.
- While an update installs, the Updates and sign-in pages show that the console is restarting instead of an error.
0.2.547
Improved
- The Ideas page explains how to connect your organization instead of showing an error, and the Organization and DroneTracker customer key settings are now at the top of System Settings → Site.
- Clearer messages when the ideas board can’t be reached.
0.2.546
New
- Updates from the console. Admin → Updates lists new DroneTracker releases with their release notes. You choose when to install; updates that need a restart say so first.
- Ideas board. Admin → Ideas: suggest features and vote for the ones you want most. Each organization gets one vote per idea, and other customers never see who suggested or voted.
- Better support requests. When you request support, choose what it is about (break/fix, bug, feature request, setup help and more) and add details, so support starts with the full picture.
- Organization setting under Admin → Site, shown on support requests.
Improved
- Game controllers and flight sticks work throughout the console.
- The RF · 1090 MHz panel can be folded or moved over the video.
- US English throughout.