Offline ADS-B Decoder with Mapping
This will be another quick post covering how to set up a Linux-based computer or Raspberry Pi to provide ADS-B decoding and mapping while offline.
ADS-B is a transponder code that all fixed-wing civilian aircraft are supposed to beacon on 1090MHz, providing their call sign and location. In times of peace, many military aircraft will often have their transponder turned on as well. However, most of the free ADS-B monitoring sites on the web, such as FlightAware, filter out military aircraft, as well as celebrity and diplomatic planes from their results. Folks like Monkeywerx have made entire Youtube channels dedicated to tracking aircraft in this manner, sometimes using extremely fancy but Internet-based tools to do so.
The image above is actually from my own personal feed into ADSBExchange, using a PiAware setup, and RTL-SDR, and a stubby antenna. This setup allows me to monitor the data my own SDR receives locally, before the website filters out anything interesting. As you can see, an E-2 Hawkeye is passing through the state, which would normally not be shown on free app-based or web-based ADS-B monitoring tools. In fact, I went to the ADSBExchange website and searched for that E-2’s callsign and got the below result. As you can see in the image on the left, my own site can see the E-2, but searching for it on the public feed returns no results.


For many years, I’ve tried to find a good solution to offline-only ADS-B monitoring. I recently stumbled onto this video by the Tech Minds Youtube channel and thought I’d give it a go. He does a pretty good job of walking you through the process, but I figured it would be nice if someone provided the commands in a format that allows for cut and paste.
I used a Raspberry Pi4, and RTL-SDR, and the shortest antenna that came with it. You’ll get better results with a dedicated ADS-B antenna, which you can make yourself or purchase. I presume this will work on any similar Linux-based operating system, but haven’t tried that for myself yet. If you have a spare Raspberry Pi, give it a go. You’ll need to be connected to the Internet for the initial setup, but after you start the program you can disconnect the Internet altogether. Also, make sure your SDR dongle is plugged into the Pi before starting this process. In a terminal window, paste the below lines of code.
sudo bash -c "$(wget -O - https://github.com/wiedehopf/adsb-scripts/raw/master/readsb-install.sh)"
sudo reboot
This will trigger the Pi to download and install the program, and then reboot. Once it has rebooted, paste the following code to set your location so the proper maps download. Make sure to update the location based on where you are at, rather than the generic latitude and longitude I’ve provided in the sample script below.
sudo readsb-set-location 38.1234 -90.1234
Now all you have to do is open a browser and type the following address into it.
127.0.0.1/tar1090
That’s it! Let me know if you give it a go.