PiAware setup: the FlightAware feeder on a Raspberry Pi

From a blank Raspberry Pi to a claimed FlightAware station: flash the SD image or install the package, set up Wi-Fi, claim the feeder ID, set your location for MLAT and fix typical errors.

Planetrack editorial teamPublished: October 15, 202614 min read

Key takeaways

  • Two ways lead to the goal: The ready-made PiAware SD image brings everything with it; the package installation puts PiAware on top of an existing Raspberry Pi OS.
  • Wi-Fi without a keyboard: With the SD image, you enter the network name and password in the piaware-config.txt file or, from PiAware 7.0, set up the connection via Bluetooth.
  • Don’t forget to claim: Only when you link the station to your FlightAware account do statistics appear and the free Enterprise account get unlocked.
  • Set your location for MLAT: Without an exact position and antenna height on the statistics page, your station cannot take part in multilateration.
  • Two commands save the day: sudo piaware-status shows whether the decoder and connection are running, and the log at /var/log/piaware.log reveals the rest.
Contents
  1. 1.Setting up PiAware: the short answer
  2. 2.What PiAware actually does
  3. 3.SD image or package: the right way for you
  4. 4.Way 1: the PiAware SD image
  5. 5.Way 2: installing PiAware on Raspberry Pi OS
  6. 6.Claiming the station
  7. 7.Location and antenna height for MLAT
  8. 8.SkyAware: your own flight tracker map
  9. 9.The most important commands and settings
  10. 10.Typical problems and their solutions
  11. 11.More than FlightAware: connecting further networks
  12. 12.What you get out of it as a spotter
  13. 13.Conclusion

The hardware is on the table: Raspberry Pi, SDR stick, antenna, a blank memory card. Now all that is missing is the software that turns these parts into a station that hears aircraft in the sky and passes their data on to FlightAware. That is exactly what PiAware does. This guide shows you step by step how to install and set up PiAware – with the ready-made SD image or as a package on an existing Raspberry Pi OS. It also covers claiming, location for MLAT, the local map SkyAware and the commands that help you when there are problems.

From reception to sighting

Your station shows you what is arriving right now – in Planetrack, you then log the aircraft with photo, registration, type, airline and spot. Planetrack is launching soon – join the waitlist and get early access.

Download Planetrack on the App Store Get Planetrack on Google Play

Setting up PiAware: the short answer

You write the PiAware image to a microSD card with the Raspberry Pi Imager, enter your Wi-Fi in the piaware-config.txt file if needed, plug the card, SDR stick and antenna into the Pi and switch it on. After four to five minutes you claim the station with your FlightAware account and set location and antenna height on the statistics page – done. If Raspberry Pi OS is already running on your Pi, you install PiAware instead via FlightAware’s package repository.

Which components you need and where the antenna is best placed is explained in the guide Building your own ADS-B receiver. How ADS-B itself works is covered in Flight tracking with ADS-B for spotters. This article is only about the software.

1090 MHzfrequency on which PiAware listens via dump1090-fa
4–5 minwait time after starting before you claim the station
30 minuntil the first statistics appear at FlightAware

What PiAware actually does

PiAware is not a single program but a small bundle that works together on the Pi. The actual reception runs through dump1090-fa: this decoder controls the SDR stick, demodulates the signals at 1090 MHz and turns them into readable ADS-B and Mode S messages. The basics of these messages are explained in Transponder Mode A, C and S.

The piaware program then handles the connection to the outside. It reads the decoder’s data stream, processes it with the helper program faup1090 and sends it encrypted and compressed to FlightAware. On the side, it regularly reports system data such as CPU temperature, load and storage space. If FlightAware requests multilateration, piaware additionally starts the fa-mlat-client, which passes selected raw messages on for positioning. How MLAT locates aircraft without their own position report is described in MLAT and multilateration explained.

Every station gets a unique feeder ID. You use it to link the Pi to your FlightAware account – and it ensures that your statistics are preserved even after a card swap if you enter it again in the configuration.

SD image or package: the right way for you

FlightAware offers two installation methods. Which one fits depends on whether your Pi runs exclusively as a feeder.

Criterion PiAware SD image Package installation
Starting point blank microSD card Pi with Raspberry Pi OS Trixie, Bookworm or Bullseye
Effort flash, enter Wi-Fi, start add repository, install packages via apt
Operation possible without the command line terminal or SSH access required
Updates automatic and manual updates allowed by default updates disabled by default
Using the Pi for other tasks not really intended possible without problems
Configuration /boot/piaware-config.txt or piaware-config piaware-config or /etc/piaware.conf

Take the SD image if …

  • the Pi will run only as an ADS-B station
  • you don’t feel like using the command line
  • your Pi model is on FlightAware’s list (Pi 3, Pi 4, Pi Zero W)

Take the package installation if …

  • Raspberry Pi OS with other services is already running on the Pi
  • you want to add further feeders or map tools later
  • you prefer to control updates yourself

Look at alternatives if …

  • you want to supply several networks on equal terms from the start
  • you don’t want to use a Raspberry Pi
  • you prefer a Docker-based solution

For the third case, Feeding several networks at once with Ultrafeeder and ADS-B reception without a Raspberry Pi are worthwhile.

Way 1: the PiAware SD image

The image is a complete operating system with a preinstalled decoder, feeder and local map. FlightAware offers it as a compressed file of around 700 MB, plus a variant with support for a small Waveshare display.

1. Download the image

Download the current PiAware image from the FlightAware website. You don’t need to unpack it; the Imager reads the compressed file directly.

2. Flash with the Raspberry Pi Imager

Choose your Pi model, then under the operating system “Custom OS” (your own image) and the PiAware file. Check the target card carefully – everything on it will be erased. You answer the question about customizing the operating system with No.

3. Enter Wi-Fi (optional)

Insert the card again and open the file piaware-config.txt on the card’s boot partition. There you set wireless-network to yes and enter wireless-ssid and wireless-password. With a network cable you can skip this step.

4. Plug everything together

Card into the Pi, SDR stick into a USB port, screw the antenna cable on firmly, plug in the network cable if applicable – and power only at the very end.

5. Wait for startup

The red LED stays on, the green one blinks on card access. Give the Pi a few minutes to establish the network, decoder and connection to FlightAware.

Wi-Fi setup: file or Bluetooth

When editing piaware-config.txt, keep this in mind: use a plain text editor and turn off typographic quotation marks, otherwise PiAware won’t read the values. According to FlightAware, WPA/WPA2 and open networks are supported, but WEP is not. By default, the Pi gets its address via DHCP; if you want a fixed IP, set wireless-type to static and enter, among other things, the address, netmask, gateway and nameserver.

From PiAware 7.0, it also works without editing files: the Wi-Fi details can be transferred via Bluetooth, either through the FlightAware app for iOS or through a configuration page in the browser. FlightAware names Chrome, Edge, Opera and Chrome on Android for this.

Router tip: assign a fixed address

Instead of setting the IP in the Pi, you can configure your router so that the Pi always gets the same address. That way you can always find SkyAware at the same address without changing anything in the PiAware configuration.

Way 2: installing PiAware on Raspberry Pi OS

If your Pi is already running Raspberry Pi OS, you put PiAware on top as a package. Prerequisite according to FlightAware: Raspberry Pi OS Trixie, Bookworm or Bullseye, an internet connection and access to the command line – directly on the Pi or via SSH. The procedure in brief:

  1. Update the system: sudo apt update, then sudo apt full-upgrade and a restart with sudo reboot.
  2. Add the repository: Download the flightaware-apt-repository package from the FlightAware installation page and install it with sudo dpkg -i. It adds FlightAware’s package source to your system.
  3. Install PiAware: sudo apt update and then sudo apt install piaware.
  4. Install the decoder: If you don’t have a decoder yet, follow with sudo apt install dump1090-fa.
  5. Restart: sudo reboot.

One difference from the SD image: with the package installation, automatic and manual updates are switched off. If you want FlightAware to be allowed to update the software or to be able to trigger updates from the statistics page, you enable both with sudo piaware-config allow-auto-updates yes and sudo piaware-config allow-manual-updates yes.

You don’t need the dump978-fa package for the second frequency range, 978 MHz, in Europe: UAT is a US system, as UAT on 978 MHz explained shows.

Don’t miss rare visitors

With sighting alerts, Planetrack tells you when a tracked registration, type, airline or special livery is on approach. Planetrack is launching soon – join the waitlist and get early access.

Download Planetrack on the App Store Get Planetrack on Google Play

Claiming the station

No matter which way you went: only claiming links the station to your FlightAware account. Wait four to five minutes after starting, then you have three options:

  • Via Bluetooth through the FlightAware app for iOS or the online configuration page. According to FlightAware, this way works only with the SD image, not with the package installation.
  • In the browser: From your home network, open the Pi’s local IP address. A station that has not yet been claimed shows a claim link there.
  • Via feeder ID: With cat /var/cache/piaware/feeder_id, you read out the ID and append it to the claim address on the FlightAware website.

If the station doesn’t show up as claimed after five minutes, restart the Pi and check the Wi-Fi settings. If that doesn’t help, FlightAware offers ADS-B support by email.

After that, your station appears on FlightAware’s ADS-B statistics page. According to FlightAware, it takes up to 30 minutes for the first numbers to appear; afterward, when logged in, you can also find the page under the menu item “My ADS-B.” What you get as a feeder – above all the free Enterprise account – is summarized in the FlightAware guide, and the comparison with other networks is provided by What feeders get in return.

Location and antenna height for MLAT

The most important step after claiming is often forgotten: on the statistics page, you click the gear icon next to the station name and enter the exact position and the height of your antenna. Without this information, your station cannot take part in multilateration – the calculation is based on the exact positions of all receivers that hear the same signal.

In the configuration, allow-mlat and mlat-results are enabled by default. The positions calculated via MLAT are therefore also sent back to your station and appear on your local map. Older aircraft in particular, many helicopters and some military aircraft without an ADS-B position can become visible in the first place this way.

Exact, but deliberate

For MLAT, FlightAware needs the precise position of your antenna. Think beforehand about whether you are comfortable with providing this – it is the basis for positioning, but it is also where you live. The legal situation regarding the reception and sharing of ADS-B data is explained in Receiving ADS-B data: the legal situation.

SkyAware: your own flight tracker map

With PiAware you get a local web interface called SkyAware. It shows all aircraft your station is currently hearing on a map – with details such as hex code, callsign and altitude. You can find the direct link and your Pi’s local IP address on your FlightAware statistics page. The map is reachable only from your own network.

For spotters, SkyAware is an honest tool: you see only what your antenna really receives, without filters and without data gaps from block lists. What the fields mean is explained in ICAO 24-bit address (hex code) and Callsign and flight number. If you want a more extensive interface, you will find the common alternatives in Installing readsb and tar1090 and Flight tracking on the PC with tar1090.

The most important commands and settings

A few commands are enough for everyday use. On the SD image, according to the FlightAware instructions, you log in with the user pi and the password flightaware – change the password immediately with passwd. SSH is switched off on new SD installations from version 3.3; you enable it by placing an empty file named ssh without an extension on the card’s boot partition.

Command Purpose
sudo piaware-status checks whether the decoder, faup1090 and piaware are running and whether the connection to FlightAware is up
piaware-config shows the current configuration
sudo piaware-config <setting> <value> changes a setting, for example allow-mlat yes
sudo systemctl restart piaware restarts the feeder
cat /var/cache/piaware/feeder_id shows the feeder ID
/var/log/piaware.log log file with connection and error messages

After changes to the configuration, you restart the Pi or at least the service. A few settings are particularly interesting for spotters:

  • Gain: New SD installations use adaptive gain in dynamic range mode, which automatically keeps the noise floor at or below a target value; burst mode is off by default there. With adaptive-min-gain and adaptive-max-gain, you limit the range; with the rtlsdr-gain option, you instead set a fixed value for the stick on the SD image.
  • Burst mode: adaptive-burst yes lowers the gain when nearby aircraft overload the receiver. That helps right on the approach path but costs range and, according to the documentation, is considered experimental.
  • Multiple sticks: With rtlsdr-device-index, you select the right stick on the SD image when several are connected.
  • Reusing the feeder ID: With feeder-id, after a card or hardware swap you enter the old ID so that statistics and history are preserved.

Whether a changed setting actually brings more only shows in the numbers. How to compare range and message rate over days is shown in Measuring reception performance with graphs1090. Hardware levers such as preamplifiers and filters are described in Increasing ADS-B range.

Typical problems and their solutions

  • Station can’t be claimed: Usually the Pi isn’t online at all. Check the Wi-Fi name and password in piaware-config.txt for typos and typographic quotation marks, or test with a network cable.
  • No aircraft on the map: sudo piaware-status shows whether dump1090-fa is running. Is the stick really seated firmly, is the antenna cable screwed on? A look at the log reveals whether the decoder finds the stick at all.
  • Hardly any range: Almost always it is the antenna, not the software. More in Finding the best antenna location and Building a 1090 MHz antenna yourself.
  • No MLAT: Have you set location and antenna height on the statistics page? Without them, MLAT stays inactive.
  • Station crashes or restarts: One possible cause is a power supply that is too weak. FlightAware recommends 5.1 volts at 2.5 amps.
  • Receiver overloaded: If you live right next to the airport, try burst mode or a lower maximum gain. Which sticks are good for what is compared in SDR sticks for ADS-B compared.

More than FlightAware: connecting further networks

PiAware does not exclude other services. The decoder makes its data available on the local network, and additional feeder programs can access it in parallel. Many spotters add the Flightradar24 feeder – explained step by step in Setting up fr24feed – or feed community networks as in Feeding ADS-B Exchange and community networks. Which network offers what is put in context by ADS-B feeder programs compared.

What you get out of it as a spotter

Your own station is more than a contribution to the big network. If you live near your home airport, you see on SkyAware in the morning from which direction the first approaches are coming and know right away which spot works today. At Munich Airport, for example, that decides whether you head to the visitors’ hill or rather to the other end of the runway; in Hamburg, whether the Affenfelsen is worth it. The logic behind this is explained in Understanding the runway direction in use at airports.

Then there is the logbook: with your station’s data and the Enterprise account, you can assign registrations and flights to photos after the fact. How to do this systematically is shown in Matching sightings with ADS-B logs.

Is your PiAware station running smoothly?

Check off what is done – at the end you will see whether your station is fully set up.

  • The station is linked to my FlightAware account.
  • Location and antenna height are entered on the statistics page.
  • I changed the default password.
  • SkyAware shows aircraft from my area.
  • sudo piaware-status reports all services as running.
  • I noted down my feeder ID in case the card ever has to be swapped.

The station listens in, you collect

Log every sighting with photo and registration in your hangar, maintain your wish list and share photos with the Planetrack community. Planetrack is launching soon – join the waitlist and get early access.

Download Planetrack on the App Store Get Planetrack on Google Play

Conclusion

PiAware is one of the easiest ways to your own ADS-B station. With the SD image, a pure feeder is running after a few simple steps; with the package installation, you integrate PiAware into an existing Raspberry Pi OS. Three things are decisive afterward: claim the station, enter location and antenna height for MLAT and change the default password. piaware-status, the log and a well-placed antenna mast take care of the rest.

In brief

Flash the image or install the package, enter Wi-Fi, claim after five minutes, set your location – that is how a Pi, stick and antenna become a FlightAware station. After that, the antenna decides the range, not the software.

Summary

  • PiAware is FlightAware’s feeder software: it takes the data from the dump1090-fa decoder and sends it encrypted to FlightAware.
  • For the complete DIY build, FlightAware cites around $100 or €80 in parts and about two hours of build time.
  • After the first start, it takes a few minutes until the station can be claimed and up to 30 minutes until the first statistics appear.
  • With the local map SkyAware, you see the traffic around your home airport directly from your own reception data.

Frequently asked questions

What is PiAware?

PiAware is FlightAware’s software that lets a Raspberry Pi pass received ADS-B data on to FlightAware. It reads the data stream of the dump1090-fa decoder, processes it and sends it over an encrypted connection. FlightAware offers PiAware as a complete SD card image and as a package for Raspberry Pi OS.

Which Raspberry Pi is suitable for PiAware?

FlightAware’s build guide names the Raspberry Pi 3, Raspberry Pi 4 and Pi Zero W models. FlightAware also recommends a power supply with 5.1 volts and 2.5 amps as well as a microSD card with at least 8 GB.

SD image or package installation – which is better?

The SD image is the quickest way for a Pi that runs only as a feeder: flash, enter Wi-Fi, start. The package installation is worthwhile if Raspberry Pi OS is already running on the Pi or you also use it for other tasks. FlightAware names Raspberry Pi OS Trixie, Bookworm or Bullseye as the prerequisite for it.

How do I claim my PiAware station?

Wait four to five minutes after starting. Then you can claim the station – via Bluetooth only with the SD image – through the FlightAware app for iOS or the configuration page, and also through the Pi’s local IP address in a browser or via the feeder ID. You read the feeder ID with cat /var/cache/piaware/feeder_id and append it to the claim address on the FlightAware website.

How do I open the local SkyAware map?

SkyAware is your station’s web interface. On the FlightAware statistics page, you will find your Pi’s local IP address and a direct link to SkyAware. The map only works from within your own network.

Why isn’t my station taking part in MLAT?

Usually the location is missing. MLAT only works if the exact position and antenna height of your station are known. You enter both on the statistics page via the gear icon next to the station name. In the configuration, allow-mlat is enabled by default.

What password does the PiAware image have?

For the SD image, the FlightAware instructions give the user pi with the password flightaware. Because the station is permanently connected to the internet, you should change the password after the first login with the command passwd. SSH is off by default on new SD installations from version 3.3.

Can I also feed other services with PiAware?

Yes. The decoder makes its data available on the network, so additional feeder programs from other services can access it in parallel. Many spotters additionally install, for example, the Flightradar24 feeder or community feeders.

PT

Planetrack editorial team

We build the Planetrack app and go spotting ourselves – on observation decks, under approach paths and at the fence. Every guide is based on our own experience and is updated regularly.

More articles in ADS-B, MLAT & receivers →

Read more in ADS-B, MLAT & receivers

Related airports & manufacturers

Airports, manufacturers, airline groups and alliances – who is behind them and what you should know as a spotter.

All airports & manufacturers →

Related spotting locations

Specific vantage points with the runway configuration, light times, coordinates and an honest take on whether the trip is worth it.

All spotting locations at a glance →

← Back to the blog