Keyboard shortcuts

Press ← or → to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

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.

DonglesWhat runs
1ADS-B or ATC voice. You choose under Single-dongle band.
2ADS-B on one and ATC voice on the other, at the same time.
3ADS-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:

SectionPurpose
Single-dongle bandChoose ADS-B or ATC voice for a one-dongle rig.
Airband tuningATC channels, squelch, gain, transcription and band scan.
Airband operator controlsWhich airband controls operators see in the RF view.
Receiver tabThe ADS-B radio: attached device, sample rate, frequency, gain, enabled.
ADS-B Feed tabLocal 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:

  1. Open the RF view.
  2. In the ATC bar, under the Airband dongle switch, open Dongle roles. The summary reads · auto or · pinned.
  3. 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.
  4. 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.

  1. Click Scan 118–137. The scan takes about 10 seconds and restarts the forwarder. ADS-B is on a different dongle and keeps running.
  2. 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.
  3. Click a frequency to put it in the Channels field.
  4. 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:

  1. Click auto-calibrate (20s). It watches the live signal meter for 20 seconds. It is available only while the meter is receiving levels.
  2. It reports the measured floor and a suggested squelch value.
  3. Click use it to put the value in the slider, or discard to ignore it.
  4. 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

SettingChoices
Where speech is transcribedOn 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 strictnessPermissive — 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:

SettingDefault
Show the airband signal-level meter in the HUDOn
Show airband tuning (frequency, gain, squelch) in the HUDOff
Detect UAP-related keywords in ATC transcripts and preserve those transmissionsOn

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.

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:

  1. 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.
  2. 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…”.

MessageWhat 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 containsWhat 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.

StatusMeaning
“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.

  1. On this page, click Pair a phone.

  2. 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.20 or the rig’s tailnet name (https://rig.tailXXXX.ts.net), with no port number and not localhost. If the rig’s certificate doesn’t cover that address, the console says so instead of showing a code.

  3. Click Show pairing code.

  4. 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.