Category: Airband

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 flightradar24.com and flightaware.com 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.

Getting the V3 Bias Tee to Activate on PiAware ADS-B Images

A few owners of our RTL-SDR V3 and/or our Triple Filtered ADS-B LNA (or other bias tee powered LNAs) have been having trouble getting the V3 bias tee to activate on the FlightAware PiAware Raspberry Pi image. The core stumbling point is that the PiAware image activates the dump1090 ADS-B decoder immediately upon boot. To activate the bias tee, the bias tee software requires access to the dongle which it cannot get since dump1090 is blocking it. So to get around this the bias tee must be activated first before dump1090 runs.

PiAware is FlightAware's Raspberry Pi image which feeds their flightaware.com flight tracking service using RTL-SDR dongles. By using our Triple Filtered ADS-B LNA, users can expect increased range and decoded messages, especially when using long runs of coax cable, and/or in environments with strong interfering signals.

In the instructions below we'll explain how to set up a PiAware image that automatically enables the Bias Tee upon boot.

Downloading the V3 Bias Tee Software onto PiAware

First we assume that you're starting fresh from a new PiAware image, so we need to enable WiFi and SSH connections which is part of the standard set up for PiAware. See the following links for instructions.

Enable WiFi via config file https://flightaware.com/adsb/piaware/build

Enable SSH by adding ssh file to boot https://flightaware.com/adsb/piaware/build/optional#password

 
Now log in to your PiAware machine using SSH and PuTTY (or any other terminal software) using username "pi" and password "flightaware".

Run the following commands to update and install some dependencies. 

sudo apt-get update
sudo apt-get install git cmake build-essential libusb-1.0-0-dev

 
Download and install the RTL-SDR V3 Bias Tee software.

cd ~
git clone https://github.com/rtlsdrblog/rtl_biast
cd rtl_biast
mkdir build
cd build
cmake ..
make

Testing the Bias Tee

Over on his blog Akos has created a short guide to activating the bias tee manually, by first stopping dump1090, activating the bias tee, then restarting dump1090. It's a simple one line copy and paste job.

So after installing the rtl_biast software above you can use the following line to test the bias tee. After running this line the FlightAware service should be up and running again, with the bias tee and LNA activated.

sudo service dump1090-fa stop && cd ~/rtl_biast/build/src && ./rtl_biast -b 1 && sudo service dump1090-fa start

Automatically Starting the Bias Tee on Boot

Ideally we don't want to have to reactivate the bias tee manually every time the Raspberry Pi reboots. To make it automatic use the following instructions:

First create a service directory and configuration file

sudo mkdir /etc/systemd/system/dump1090-fa.service.d
sudo nano /etc/systemd/system/dump1090-fa.service.d/bias-t.conf

 
Then paste in the following

[Service]
ExecStartPre=/home/pi/rtl_biast/build/src/rtl_biast -b 1

 
Finally press Ctrl+X then Y to close and save. Now whenever PiAware reboots the bias tee should be automatically activated as this service runs before dump1090 is activated.

Credits:

Thanks to the discussion on the FlightAware forums and in particular user 'obj' for originally finding this automatic solution.

Tysonpower Reviews our Triple Filter ADS-B LNA

Thank you to YouTuber 'Tysonpower' who is known for making various RF related videos as he has recently reviewed our Triple Filtered ADS-B LNA on his blog and on YouTube. Note that his video is in German, but it contains English subtitles. In the review he compares our LNA against a more expensive ADS-B LNA and found that it performs just as good, if not better in some cases. 

Our ADS-B LNA uses a triple filter design, as well as a two stage LNA which aims to significantly cut out interference from out of band signals which could overload the LNA and/or SDR dongle. It also has a low noise figure and high output gain of 27dB which is great for reducing losses on long runs of coax cable. More information about our LNA on the release post, and it can be purchased from our store.

[EN subs] Top ADSB LNA für nur 25€ - RTL-SDR Blog LNA

Testing the Airspy with the New And Improved Version of ADSBSpy

Airspy have recently released an update to their ADSBspy decoder, which is an Airspy One/R2 compatible decoder for 1090 MHZ ADS-B signals. According to 'prog', the software developer of ADSBSpy, his setup can see almost double the number of aircraft and with fewer false positives when using the updated software. Prog writes that the secret to the improvement is some reworked DSP code that aims to exploit oversampling in the Airspy to the maximum.

We compared the new (1.0.0.38/39) decoder against the old decoder (1.0.0.37) which used to get similar performance to dump1090. The test setup was two Airspy dongles connected to a dipole antenna via a splitter, with our Triple Filtered ADS-B LNA used by the antenna. One Airspy was used to power the LNA via it's bias tee, and both units received the same amplified signal. We found indeed that the new version of ADSBSpy receives a good number more aircraft in our set up, and an increased number of ADS-B messages too.

It seems that most of the additionally received aircraft must be from extremely weak signals, because when looking in Virtual Radar Server the extra aircraft usually only show their ICAO and maybe altitude and speed until they get closer.

So far this software appears to provide the best performance on ADS-B that we've seen so far, so if you are using an Airspy for ADS-B tracking we'd like to hear results from anyone who upgrades.

The New ADS-B Spy Receives More Aircraft and Messages
The New ADS-B Spy Receives More Aircraft and Messages

PiAware Radar – A Traditional Radar-Like Display for ADS-B, and Setting up an ADS-B Cockpit Flight Display

PiAware Radar is a Python script that connects to your PiAware server and uses the received ADS-B data to display a familiar radar-like display (green circle with rotating radius, and aircraft displayed as blips). PiAware is the software used to take ADS-B data from an RTL-SDR dongle running on a Raspberry Pi and feed flightaware.com. A radar-like display is probably not very useful, but it could be used to set up an interesting display that might impress friends. Over on his blog IT9YBG has uploaded a tutorial that shows how to set PiAware Radar up on a Raspberry Pi.

Also on his blog IT9YBG has uploaded another tutorial that shows how to set up 1090XHSI, which is a program that displays an 737 aircraft cockpit simulation using live ADS-B data. The ADS-B data updates the instrument displays in real time, giving you a view of exactly what the pilots might be seeing on their dashboard of their aircraft. We posted about this software in the past, but IT9YBG's tutorial helps make it much easier to set up.

PiAware Radar
PiAware Radar
1090 XHSI 737 Cockpit Simulation from ADS-B Data
1090 XHSI 737 Cockpit Simulation from ADS-B Data

Radio For Everyone: Testing the RTL-SDR.com Triple Filtered ADS-B LNA, Amplified Coketenna

Akos, author of his blog 'Radio for Everyone' has recently reviewed our new RTL-SDR.com Triple Filtered ADS-B LNA. In the review he compares our ADS-B LNA against another external ADS-B LNA by Uputronics and against the FlightAware Prostick and Prostick+. The tests use the external LNA's plugged directly into the dongle in order to more fairly compare against the FlightAware dongles which have LNA's built in to the dongles themselves. From his results the RTL-SDR.com ADS-B LNA appears to have near identical results with the Uputronics LNA, and slightly better results compared to the FlightAware dongles. Akos has not yet tested the main use-case of the LNA, which is to use it at the end of a run of coax cable, however he plans to do this in a future test. Also in his second post Akos shows how to build a simple amplified Coketenna using our ADS-B LNA.

On the subject of ADS-B performance we note that there are two ways to set up a system for optimal reception (apart from the antenna). The first is to place the computing and radio devices (such as a Raspberry Pi and RTL-SDR) as close to the antenna as possible (leaving a ~1m coax run to avoid local interference from the Pi). For this type of setup it is cheaper to use a FlightAware Prostick Plus RTL-SDR dongle since this has an ADS-B LNA built into it. However, the disadvantage is that you may need to set up a Power over Ethernet system, or find a remote power source, and possibly place the Pi in a difficult to service location such as in an attic or up a mast.

The second option is to use an external ADS-B LNA close to the antenna, and run coax down to the computing device which is positioned in a more accessible location. The LNA will negate any losses in the coax cable, and with high enough gain on the LNA, using quality coax is not such a high requirement since those losses are negated by sufficient LNA gain. Both methods will yield similar excellent performance.

Tested ADS-B LNA's and ADS-B RTL-SDR Dongles
Tested ADS-B LNA's and ADS-B RTL-SDR Dongles

Listening to SELCAL and the HF Air Band with an RTL-SDR

Over on YouTube content creator Tech Minds continues to upload informative RTL-SDR based videos, this time discussing SELCAL and the HF Air Band. For international flights it is common for aircraft to communicate with ground controllers and the parent company via the HF bands.

As radio communications are sparse, and the pilots obviously don't want to monitor noisy HF static for the entirely journey a system is required for signalling pilots when a ground station wishes to communicate with them. The system in use today is SELCAL which simply consists of transmitting a set of tones unique to an aircraft. When a correct SELCAL tone is received the aircraft system alerts the pilots that a radio voice communication is about to come through, allowing them time to get the radio in operation. 

Tech Minds' video explains this in a bit more detail, and shows some examples of HF air comms with SELCAL tones played.

Receiving HF Air Band With An RTL SDR Receiver - SELCAL