Raspberry Pi ADSB feeding via RTL-SDR Super Guide

Do you like planes? Do you ever wish you could… track them? This guide will cover setting up your Raspberry Pi as an ADSB feeder and sending the data to various aggregators.

I’m going to be using a Raspberry Pi model 1B+, but the instructions should work for other Raspberry Pi boards and possibily other Debian systems as well.

What you need

Part #1: Set up Raspbian

  1. Let’s start with a clean install of Raspbian Lite. Follow the instructions in the official guide.

    • As of this writing, the most recent version is Raspbian Stretch.
  2. Boot it up for the first time and login!

    • In case you forgot, the default username is “pi” and the password is “raspberry”
  3. Drop in to the configuration utility with sudo raspi-config and lets go through some defaults to make life better™

    • Change the user password. THIS IS NON-NEGOTIABLE. You are not allowed to read the rest of this guide unless you change the password.
    • Change the hostname in Network Options > Hostname
    • Set up Wi-Fi *(if applicapable) in Network Options > Wi-Fi
    • Turn on SSH in Interfacing Options > SSH
    • Change your locale in Localisation Options > Change Locale
      • As an American, I select en_US.UTF-8 here and then select it again when asked what should be the default. I don’t find myself using the Euro or Pound symbol on my ADSB feeders :-)
    • Set your keyboard to the appropriate layout in Localization Options > Change Keyboard Layout
      • I use “Generic 105-key (Intel) PC” and “English US”. To change from “English UK” you have to select “other” and then it will give you a greater list of options.
      • Unless you know you have an AltGr key, just say “The default for the keyboard layout”
      • And again, unless you know better just choose “No compose key”
    • When you’re done select Finish and let it reboot when prompted.
  4. Now that we’re back from the reboot, test your network connection! ping 8.8.8.8 It’s OK, Google’s DNS servers can take it.

  5. Time to update and upgrade. While you’re waiting you can read about the difference here

    • sudo apt-get update
    • sudo apt-get upgrade
    • If you don’t want to deal with those pesky prompts, you can add the flag -y (which stands for “YES”) to each command like sudo apt-get update -y
  6. Install git with sudo apt-get install git

    • I am going to take this time to also install a few other programs I like, including vim, screen, and sl which displays a steam locomotive everytime you misspell the command ls.

Part #2: Set up ADSB!

Part 2-A: FlightAware

The company Flightaware provides free enterprise accounts for anyone who feeds ADSB data to them and also maintains the most recent version of the dump1090 software, so we’ll start with them.

There are two pieces of software you need to know about:

Dump1090 is the software that actually interacts with the RTL-SDR dongle and interprets the ADSB data. The “1090” part of it’s name refers to the frequency 1090 MHz which ADSB runs on. More details about that can be found on the Cincinnati Avionics webpage.

PiAware is FlightAware’s custom software that sends them the data Dump1090 produces, does multilateration (more on that in Step #6 below), and a few other nifty features.

Instructions:

  1. Register for a FlightAware account
  2. Plug in your RTL-SDR dongle if it wasn’t already (again, if your Pi reboots when you do that you probably need a better power supply!)
  3. Follow their instructions
  4. Claim your receiver at flightaware.com/adsb/piaware/claim
    • This works by comparing your web browser’s IP address with the IP address of the new transmitter. Make sure you’re on the same network.
    • Sometimes it takes a few minutes for the new feeder to appear
  5. Refresh the page and you should see that your account should have been automatically upgraded to an Enterprise Account. A new link should appear in the top left of the screen saying “My ADSB”. Click on it!
  6. Find the gear icon on the right hand side of the screen and click on it, then click on the “Configure Location” and “Configure Height” buttons, set those values appropriately, and press “save”.

If the planes are reporting their location over ADS-B why does FA need to know the receiver’s location? Planes without ADS-B transponders do not report their location… but FA can estimate their location using multilateration. They have an more in-depth description of the functionality on this webpage 7. That’s it! Congratulations, you are now feeding to FlightAware.

What can you do with this:

https://discussions.flightaware.com/t/bake-a-pi/19886/5