Thursday, February 9, 2017

Real-time plotting of aircraft positions with $35 Raspberry Pi and $12 SDR dongle



A few emails in response to my previous post about my Raspberry Pi led me to FlightAware. I've known about aircraft tracking hardware available to hobbyists from RadarBox and a few other manufactures that, until very recently, was quite expensive.

And I've been vaguely aware that a few Linux gurus and dedicated hackers were able to configure various odd parts together in such a way as to enable them to track aircraft in real-time via their transponder emissions. What I didn't know was just how easily this has become - and how incredibly inexpensive it is to set up such a system.

For less than $50 and 30 minutes of time, anyone can be tracking aircraft and accumulating all manner of data about those aircraft. It's also a fun way to experiment with what would likely be a completely new part of the RF spectrum for most hams - 1.09 GHz.

Orange: 1090MHz optimized dongle; blue: bandpass filter
This is the transmit frequency of transponders carried aboard all commercial aircraft. The pulsed emissions contain the aircraft's ID, speed, position and altitude. The FAA (and its equivalents in other countries) use this data for air traffic control. Fortunately for radio hobbyists, technology has progressed to the point where anyone else can track the same parameters at a very affordable cost.

The benefit of using a Raspberry Pi to process and upload the data is that a big computer need not be tied up for this task. At 5 volts and a current draw of only 600mA, the Pi's economy extends beyond its purchase price (I'm thinking a solar powered tracker is in my future).

The software that makes all this possible is PiAware. Instructions for downloading to your computer, burning an image and then using it to boot up a RPi are simple to follow. They are detailed here. A simpler version of the same instructions are here.

With PiAware loaded and configured with your router's SSID and password, your RPi no longer needs a keyboard, mouse or monitor. The only two connections to it are DC input and the dongle (and a LAN cable if you don't have WiFi available). Within a minute of booting up the RPi will begin processing the data received by the dongle and sending that data to FlightAware's servers where your statistics can be seen. From another computer on the same network, you can open a browser window, type in the RPi's e-address (ex: 192.168.1.13) and see a real-time view of aircraft being tracked by your set-up.

The statistics themselves are quite interesting and provide an indication of how well you're receiving aircraft hourly, via range vs direction chart and other info. The stats are updated every 5 minutes. With a non-1090MHz whip antenna indoors on my file cabinet I immediately started tracking flights out to 50 miles away. I have an external antenna on the way from Amazon and, if my results with it are similar to those of others, my range will extend to 150 miles or so.

When logging in to the RPi, those planes are displayed as moving avatars. Clicking on one of them reveals the flight ID, flight number, altitude, speed and distance from your station. It really is quite impressive to be able to receive all this data directly from the air rather than from someone else's server, especially given the low entry price.
.

Update:

Since writing the posting above, I've ordered and now received a dongle designed specifically for 1090 MHz and a bandpass filter for that frequency. The improvement is more than I'd expected and the total cost was only $35. The dongle is plug-and-play compatible with the RTL-SDR dongle. The purpose of the filter is to prevent the dongle from being swamped by nearby cellular towers, etc.

The entire set-up in now on my roof with no feedline loss (since there is no feedline!). I'm seeing many planes out to 150 miles. With no rain in the forecast for the next few days, I'll leave the set-up aloft until Saturday and then place it all in a waterproof container.

My statistics page (RPi uploads its decodes every 5 minutes) are here.
.

.
.

4 comments:

  1. Nice write-up, I have been doing this for about a year on FlightRadar24, using a Pi Zero.
    Works a bit differently, but I am getting responses form about 50 to 75 miles on just a little telescoping antenna sitting on a ground plane on a book rack. It's loads of fun!

    ReplyDelete
  2. I thought I'd read somewhere that a Pi Zero wasn't capable of this. Obviously that was wrong and I'll look into it. A $5 processor decoding ADS-B...what's the world coming to!

    ReplyDelete
    Replies
    1. There may well, be differences between FlightRadar24 and FlightAware.
      I have this link bookmarked: http://discussions.flightaware.com/ads-b-flight-tracking-f21/raspberry-pi-zero-5-board-for-piaware-t36357.html
      YMMV

      Delete
    2. Doesn't even max the CPU :)

      https://www.dropbox.com/s/8kktzttpo8m36ji/Screenshot%202017-02-11%2019.24.27.png?dl=0

      Delete