Category: Airband

An Open Source VOR Receiver for Airspy and RTL-SDR

Thank you to Thierry Leconte (TLeconte) for writing in and submitting his new command line based open source software called vortrack. Vortrack is a simple VOR decoder which calculates the angle towards the VOR. It is compatible with both RTL-SDR and Airspy radios, and runs on Linux.

In the past we've seen several other posts about RTL-SDRs being used to decode VOR signals, but Thierry's implementation appears to be the easiest way to get a bearing straight away. You'll get the most use out of the software if you install it on a portable device like a Raspberry Pi and take it out for a drive as you'll be able to see the VOR angle changing then.

VOR stands for VHF Omnidirectional Range and is a way to help aircraft navigate by using fixed ground based beacons. The beacons are specially designed in such a way that the aircraft can use the beacon to determine a bearing towards the VOR transmitter. VOR beacons are found between 108 MHz and 117.95 MHz, and it's possible to view the raw signal in SDR#.

A DVOR Ground Station at an Airport. Source Wikipedia.
A DVOR Ground Station at an Airport. Source Wikipedia.

An Overview of Aircraft Communication Modes from HF to UHF

Over on YouTube icholakov has uploaded an informative video that gives an overview of the main communication modes that aircraft use from HF to UHF. In the video he also gives examples of those modes being received and decoded with an SDR.

The modes that he explains and demonstrates are VHF voice, VHF ATIS automated weather, ACARS short data messages, HF voice, HF automatic weather, HF data selective calling (SELCAL), HF data link (HFDL) and UHF ADS-B aircraft positioning.

Monitoring airplane communications

Setting up Air Traffic Control Audio Sharing with Broadcastify, RTL-Airband, RTL-SDR and a Raspberry Pi

Over on YouTube Fuzz The Pi Guy has uploaded a video tutorial showing how to set up a Broadcastify air traffic control audio feed with RTL-Airband and an RTL-SDR running on a Raspberry Pi. This allows you to publicly share your received air traffic control audio online via sites like Broadcastify.

The video is based on a comprehensive Radioreference text tutorial which takes you through the process from scratch. Setting it up involves installing the Raspbian OS, installing RTL-SDR, installing and setting up RTL-Airband, configuring ezstream and then ensuring that everything runs automatically on boot. It's a fairly involved setup process, but the video helps make things easier.

How To Setup Broadcastify On A Raspberry Pi Using RTL_AM For Aviation

AERO C-Channel Voice Audio Now Decodable with JAERO

JAERO was recently updated by programmer Jonti, and it now supports the decoding of AERO C-Channels which are voice audio channels that exist on both the L-Band and C-Band frequencies of AERO. AERO is a satellite based communications service used by modern aircraft. The information transferred are normally things like aircraft telemetry, short crew messages, weather reports and flight plans. It is similar information to what is found on VHF/HF ACARS.

Jonti notes that these C-Channel voice signals are very weak as they are spot beams, so a good antenna system is required to receive them. Over on Jonti's JAERO website there is now some information about these C-Channels (scroll all the way down to the C-Channel heading and read to the end of the page), as well as a frequency list. An excerpt of the information is pasted below:

Inmarsat C and in particular AERO C channels provide circuit switched telephony services to aircraft. The channels of interest are those that carry AMBE compressed audio at a channel rate 8400 bps and voice rate of 4800bps. There is also an older speech codec still in use, LPC at a voice rate of 9600 bps and an overall channel rate of 21000bps.

Telephone channels are two-way duplex. In the from-aircraft direction transmissions are roughly in the 1646 to 1652 Mhz range. The satellite up-converts these transmissions to C band, similar to T and R channel burst transmissions. So it is possible to receive the from-aircraft transmissions although it is significantly more difficult than those in the to-aircraft direction on the L band. So for those who want to get started receiving these transmissions the L band is by far the easiest place to start.

Another aspect of the C channels is that they most often use spot beams rather than global beams which makes it more difficult to receive transmissions for aircraft using a spot beam that is aimed at another region. However if you are inside the spot beam the transmissions are relatively easily received on L band. A 60 cm dish with an LHCP helical and L band LNA will provide excellent results but even with a patch antenna it can be done.

Decoding these channels to audio in JAERO takes a little effort to setup. Due to the uncertain legal status of the digital audio AMBE codec, the codec code needs to be compiled manually first, and then placed into the JAERO directory. Jontio has uploaded the AERO AMBE codec source code at Since JAERO is a Windows program, compilation of libaeroambe involves using MSYS2.

Once fully set up with the audio codec, the audio will come out of default soundcard set in Windows audio properties, so ensure that any Virtual Audio Cables are not set as the default device.

On the L-band link you can get conversations from the ground to the plane. The C-band link would get you the plane to ground side of the conversation too, but that is a challenging signal that would require a large dish and Jonti doesn't know of anyone who has managed to receive that before. Typically the conversation topics are things like Medlink which is a multilingual medical support line that can provide backup to doctors or aircrew handling medical emergencies in the air. In Europe the USAF also apparently use C-Channel.

AERO C-Channel Being Received with JAERO
AERO C-Channel Being Received with JAERO

Using an RTL-SDR to decode VOR Aircraft Navigation Beacons in Real Time

VOR stands for VHF Omnidirectional Range and is a way to help aircraft navigate by using fixed ground based beacons. The beacons are specially designed in such a way that the aircraft can use the beacon to determine a bearing towards the VOR transmitter. VOR beacons are found between 108 MHz and 117.95 MHz, and it's possible to view the raw signal in SDR#.

Over on RadioJitter author Arnav Mukhopadhyay has uploaded a post describing how to decode VOR into a bearing in real time using an RTL-SDR dongle. His post first explains how VOR works, and then goes on to show an experimental set up that he's created using a GNU Radio program.  With the software he was able to decode an accurate bearing towards the VOR transmitter at a nearby airport.

Arnavs post is a preview of an academic paper that he's worked on, and the full paper and code is available by request on the radiojitter post. We've also seen on YouTube that Arnav has uploaded a video showing the software working in action, and we have embedded it below.

Bearing to nearby airport VOR transmitter determined with an RTL-SDR and GNU Radio.
Bearing to nearby airport VOR transmitter determined with an RTL-SDR and GNU Radio.

Real Time Demo of VOR Bearing

RadarBox24 Release their XRange RTL-SDR ADS-B Receiver

The team at recently wrote in and wanted to share some new developments including news about their recently released RadarBox XRange receiver, which is an RTL-SDR based ADS-B receiver. Radarbox24 are an ADS-B aggregation flight tracking website, similar to sites like and

The RadarBox XRange receiver costs $649.95 USD and is available on their store. The box appears to include a full computing unit as well as a custom RTL-SDR receiver, and a built in filter and LNA as well. It is sold as a set that includes receiver, power supply, antenna and cabling. Compared to setting up an ADS-B receiver on your own by purchasing an RTL-SDR, ADS-B LNA/Filter, Antenna and Raspberry Pi separately, the XRange is well over three times more expensive. But it may have some value as an easy to set up and ready to go ADS-B receive system. They write:

1- We have release the brand new RadarBox app for iOS and Android where data sharers are able to see what what their own stations receive using the MyStation feature.

2- We've released the brand new RadarBox XRange receiver, RTL SDR based whcih is being sold and placed all over the world to increase network coverage.

3- Our flight tracking portal reached 3 millions viewers per month and, together with our apps, is growing really fast by providing an easy way for Raspberry Pi owners or users with our XRange and Micro RadarBox receivers to share flight data with us and benefit from a free Business account.

More information:
- Link to our Store where users can buy the XRange receiver and accessories below:

- Link to a real-time listing of newly added stations (Raspberry pi, XRange and all other supported receivers)

- Link for users to install our software on their Raspberry Pi receivers and start sharing data with us (we get up to 5 new added units added to our network daily):

- Link to our worldwide station ranking:

- Link to our MyStation, available to data sharers, where they can monitor their own station aircraft, stats and received aircraft listing:
Example for Texas, US:
Example for Sweden:
Example for Doha Qatar:

- The MyStation feature is also available on the Android and iOS apps so users can monitor their stations remotely.

XRange Receiver Set
XRange Receiver Set

Tracking Police and Military Aircraft at the G7 Summit with an RTL-SDR

Back in early 2016 we posted about a journalist who used an RTL-SDR to gather ADS-B data about the type of aircraft used at the world economic forum in Davos. The idea was to help highlight the vast wealth and power of the attendees by showing off their heavy use of private aircraft.

Now more recently Laurent Bastien Corbeil has published a similar article in Motherboard (a Vice News tech magazine) explaining how he tracked police and military planes at this years G7 summit which was held in Canada in early June. Laurent used an RTL-SDR Blog V3 with the small dipole antenna attached to a window to gather ADS-B data from all the aircraft activity during the summit.

ADS-B is a radio system used on modern aircraft which broadcasts the aircraft's current GPS location and other data such as aircraft identifiers. It is now used extensively by air traffic controllers as it is significantly more reliable than traditional radar. With a simple RTL-SDR it is possible for anyone to track and plot ADS-B data on a map, and this is how tracking sites like and work.

From his collected data he was able to spot several interesting aircraft such as Canadian Air Force Chinooks, C130 Hercules', RCMP Pilatus', a military Bombardier jet, and a coast guard Bell 427. He also notes that while he was able to spot Donald Trumps Marine One helicopter with his own eyes, the ADS-B data was not present, indicating that more important military aircraft do not broadcast ADS-B for security reasons.

In the article Laurent makes estimates of the costs of operating these aircraft, and makes some guesses on the type of mission flown by some of the aircraft.

G7 Aircraft Flight Costs (Data by Laurent Bastien Corbeil, Graphics by Marvin Lau)
G7 Aircraft Flight Costs (Data by Laurent Bastien Corbeil, Graphics by Marvin Lau)

Tracking Planes with RTL-SDR, Apache Kafka, KSQL, Kibana and a Raspberry Pi

Inspired by a low flying aircraft that kept waking his cat in the morning, Simon Aubury decided to use an RTL-SDR and ADS-B tracking software dump1090 to determine which plane was the culprit. This is all now standard stuff, however, Simon's software implementation and management of the received ADS-B data is quite unique, as he uses Apache Kafka, KSQL and Kibana as his tools for processing and visualizing the ADS-B data.

Apache Kafka is a 'distributed streaming platform', and KSQL enables real time processing of the data from Kafka. Kibana is a data visualization tool. Essentially these technologies are just ways to manage, process and digest in a human readable way large amounts of real time data coming into a database.

So with some clever database coding Simon was able to create a constantly updating dashboard in Kibana that plots aircraft positional heat maps, displays data such as spotted airlines and destination frequencies in a text cloud, and displays aircraft height data in a line graph. Finally using a database lookup and his gathered data Simon was able to determine that an A380 aircraft flying over his house was waking his cat in the morning.