Key takeaways
- Two building blocks: readsb is the decoder that controls the SDR stick and decodes the signals on 1090 MHz; tar1090 is the web interface that turns them into a live map.
- One script for both: The installer from the adsb-scripts project sets up readsb and tar1090 in one go, and the same script is used later for updating.
- Only one decoder per stick: The readsb installer removes dump1090-fa and dump1090-mutability. If you want to leave your PiAware system unchanged, you install only tar1090 on top.
- Set your location: With readsb-set-location you enter your antenna’s latitude and longitude so that distances and ranges are correct.
- Map in the browser: You reach the live map from your home network at your Pi’s address with /tar1090 appended.
Contents
- 1.readsb and tar1090: the short answer
- 2.What readsb and tar1090 actually are
- 3.Clarify first: which route suits you?
- 4.Step by step: installing readsb and tar1090
- 5.Setting gain and location correctly
- 6.tar1090 in everyday use: the most important features
- 7.Configuration: where things are
- 8.Typical problems and their solutions
- 9.What’s in it for you as a spotter
- 10.Conclusion
Flightradar24, FlightAware and the like show you the sky as thousands of receivers see it together. Sometimes the more exciting question is what your own antenna is hearing right now – unfiltered, without delay, straight from your home network. That’s exactly what the combination of readsb and tar1090 is for: a powerful decoder and a map interface that many spotters consider the best local live map. This guide shows you how to install both on a Raspberry Pi, set them up sensibly and use them in everyday spotting.
From the map to the sighting
tar1090 shows you what’s inbound right now – in Planetrack, you log the aircraft with photo, registration, type, airline and spot. Planetrack is launching soon – join the waitlist and get early access.
readsb and tar1090: the short answer
You run the installation script from the adsb-scripts project on your Pi. It installs the readsb decoder and the tar1090 web interface in one pass. Afterward, you set your antenna’s location with readsb-set-location, let the gain regulate itself automatically and open your Pi’s address in the browser with /tar1090 appended. If you’re running PiAware and don’t want to change anything about it, you install only tar1090 – it also builds on dump1090-fa.
Building your own ADS-B receiver explains what hardware you need. How ADS-B works in general is covered in Flight tracking with ADS-B for spotters. This article is about the software.
What readsb and tar1090 actually are
readsb is an ADS-B decoder that its own developer describes as a “Swiss Army knife.” The version that almost all spotters use today is maintained by the developer wiedehopf. It is an independently developed fork of Mictronics’ readsb, which in turn emerged from dump1090-fa – at the beginning of this lineage stands the original dump1090. readsb controls the SDR stick, decodes Mode S, ADS-B and TIS-B messages and outputs the data in many formats: as a Beast and raw data stream, in SBS format for older programs and as JSON for web interfaces. What’s inside these messages is explained in Transponder modes A, C and S.
tar1090 is the interface that goes with it. It doesn’t replace a decoder but reads its data and builds a map from it with aircraft icons, a table, a detail column and tracks. tar1090 works with readsb and dump1090-fa; with dump1090-mutability it shows fewer details. You can tell the interface is good from its prominent users: the community trackers adsb.lol, adsb.fi, airplanes.live and also the ADS-B Exchange globe are based on tar1090. If you know these sites, you’ll find your way around your own map right away – more in Unfiltered community trackers compared and ADS-B Exchange explained.
| Component | Job | Configuration |
|---|---|---|
| readsb | control the stick, decode signals, provide data | /etc/default/readsb |
| tar1090 | live map, table, tracks and filters in the browser | /etc/default/tar1090 and config.js |
| lighttpd | web server that serves tar1090 | set up by the installer |
Clarify first: which route suits you?
An SDR stick can only be used by one decoder at a time. That’s why the readsb installer removes other decoders such as dump1090-fa and dump1090-mutability. This is the most important decision before you start.
readsb plus tar1090 if …
- you have a fresh Raspberry Pi OS or a dedicated Pi for reception
- you want to use the heatmap, replay and all of tar1090’s features
- you currently use fr24feed or rbfeeder – the installer adjusts them automatically
Only tar1090 if …
- your Pi is running PiAware with dump1090-fa
- you don’t want to change anything about the existing feeder
- the map, tracks and filters are enough for you
Look at alternatives if …
- you want to feed many networks via Docker from the start
- you don’t use a Linux machine with apt
- you’d rather run the map on a Windows PC
For the third case, Feeding multiple networks at once with Ultrafeeder helps – tar1090 is already included in the container there – as do ADS-B reception without a Raspberry Pi and Flight tracking on your PC.
Step by step: installing readsb and tar1090
The prerequisite is a Debian-based system such as Raspberry Pi OS with internet access and command-line access, either directly on the Pi or via SSH. The stick and antenna are already connected to the Pi.
1. Update the system
Bring Raspberry Pi OS up to date with sudo apt update and sudo apt full-upgrade. That way you avoid the script building against outdated packages.
2. Run the installer
Start the readsb-install.sh script from the GitHub project wiedehopf/adsb-scripts with sudo bash. You’ll find the exact command on the wiki page “Automatic installation for readsb”. The script downloads readsb, compiles it, sets up the service and installs tar1090.
3. Reboot
If no RTL-SDR stick had been running on the system before, reboot the Pi with sudo reboot so that the stick is cleanly available for readsb. For an update, you can skip the reboot.
4. Set the location
With sudo readsb-set-location, followed by latitude and longitude as decimal numbers, you enter your antenna’s position – latitude first, then longitude.
5. Open the map
In the browser, open http:// plus your Pi’s address and /tar1090. After a few seconds, the first aircraft appear.
The instructions explicitly mention a few special cases: for the RTL-SDR Blog V4, the driver packages from Debian and Raspberry Pi OS aren’t enough, and it needs an additional driver installation. If you use an Airspy, you run the airspy-conf script after the installation; airspy_adsb then delivers the data to readsb. More in Airspy for maximum ADS-B reception. Which stick is worth it in general is compared in SDR sticks for ADS-B compared.
Updates are straightforward: you simply run the same installation script again. Your settings are kept in the process.
Only tar1090 on an existing system
If PiAware is running, you install only tar1090 using its own script from the GitHub project wiedehopf/tar1090. The map appears at /tar1090 here too. The readsb installer aborts by itself on a PiAware SD image anyway. How to set up PiAware itself is covered in Installing and setting up PiAware.
Run third-party scripts deliberately
Both installers download code from the internet and run it with root privileges. That’s common in the ADS-B scene, but still: take the commands only from the projects’ official GitHub pages, not from forum copies, and ideally don’t run the Pi in parallel as a server for important data.
Setting gain and location correctly
The gain determines whether weak signals from distant aircraft arrive or whether nearby aircraft overload the stick. For RTL-SDR sticks, readsb comes with its own automatic gain control tuned for ADS-B. According to the developer, its basic values normally don’t need to be adjusted.
- Automatic:
readsb-gain autoswitches on the control. - Fixed value:
sudo readsb-gain 43.9sets a fixed gain. That’s worthwhile if you want to compare deliberately over several days. - Fine-tuning: All options are in
/etc/default/readsb. After changes, you restart the service withsudo systemctl restart readsb;readsb --helplists all parameters.
Whether a change actually brings more range isn’t shown by the first five minutes but by statistics over days. That’s exactly what Measuring reception performance with graphs1090 from the same developer circle is for. Hardware levers such as preamplifiers and filters are described in Boosting ADS-B range, and the antenna itself remains the biggest factor – see Finding the best antenna location.
The location is more than cosmetics: without it, tar1090 can’t show distances or center the map on your station. Enter your antenna’s coordinates as precisely as possible. If you share data with networks that use MLAT, the exact position is mandatory anyway – why is explained in MLAT and multilateration explained.
Don’t miss rare visitors
With sighting alerts, Planetrack notifies you when a registration, type, airline or special livery you’re watching is on approach or lands. Planetrack is launching soon – join the waitlist and get early access.
tar1090 in everyday use: the most important features
At first glance, tar1090 looks like any flight radar map. Its strengths show in the details – especially for spotters who search specifically for types or registrations.
Filtering by type, altitude and callsign
In the sidebar, you filter by ICAO type designator, type description, callsign, altitude and data source. The filters understand regular expressions: B73. captures the entire 737 family, for example, and the description L2J all twin-jet landplanes. How the type designators are built is explained in IATA and ICAO codes explained. Additional info such as registration and type comes from a bundled database that tar1090 assigns by hex address – background in ICAO 24-bit address (hex code).
Keyboard shortcuts
| Key | Function |
|---|---|
| Q / E | zoom out and in |
| W / A / S / D | move the map north, west, south, east |
| T | select all aircraft with tracks |
| M | multi-select on and off |
| C or Esc | clear selection |
| B | toggle map brightness |
Tracks with pTracks: how far does your antenna hear?
If you append ?pTracks to the address, tar1090 shows all recorded tracks of the last eight hours. The result is the most honest picture of your station’s range: you immediately see in which direction buildings or hills cut off reception. With ?pTracks=2, you limit the display to two hours. In addition, you can use the getupintheair.sh script and a panorama dataset from heywhatsthat.com to overlay theoretical range rings for specific flight altitudes. However, these rings don’t take trees and obstacles in the immediate vicinity of the antenna into account.
Practical URL parameters
tar1090 can be controlled via additions to the address, which you can save as bookmarks:
?icao=plus hex address selects a specific aircraft;?reg=works with the registration but loads more slowly – the project therefore recommends?icao=.?filterType=A388shows only a specific type,?filterAltMax=limits the altitude – handy for seeing only approaches.?milhighlights military and other interesting aircraft.?kioskswitches to a display mode without controls, for example for a screen on the wall.?filterSources=mlatshows only aircraft whose position was calculated by multilateration.
You join multiple parameters with &. If you’re searching for individual aircraft, you’ll find more strategies in Tracking an aircraft by registration or hex code and Tracking military aircraft online.
Heatmap and replay
Some features require wiedehopf’s version of readsb: the heatmap, which shows where the most traffic ran over time, and a replay that plays back the history of all aircraft again. For this, you enable additional options in readsb such as --heatmap along with a directory for the history data. This is the real advantage over the combination of PiAware and tar1090.
Configuration: where things are
/etc/default/readsb: Decoder options such as gain, network ports and additional features./etc/default/tar1090: Interval and number of history snapshots; restart the service after changes./usr/local/share/tar1090/html/config.js: Settings of the web interface. You enable a line by removing the two slashes at the beginning, then reload the browser. If you delete the file and run the installer again, the default values apply again.
Through its network ports, readsb makes its data available to other programs, for example as a Beast data stream on port 30005, to which the installer also connects fr24feed and rbfeeder, and, on request, in SBS format for older programs. This is how additional feeders or programs on your PC access it. How to connect more networks from here is shown in Setting up fr24feed, Feeding ADS-B Exchange and community networks and ADS-B feeder programs compared.
Typical problems and their solutions
- “Connection refused” in the browser: Usually the web server is missing. Install lighttpd with
sudo apt install -y lighttpdand run the installer again. - No aircraft on the map: Check the log with
sudo journalctl --no-pager -u readsb. Is the stick seated firmly, and is the antenna cable screwed on? - “Kernel driver is active” or “device is claimed”: A system driver is holding on to the stick. The instructions recommend blacklisting the affected DVB drivers and rebooting. If that doesn’t help, another program is accessing the stick.
- A feeder no longer delivers anything: The installer adjusts fr24feed and rbfeeder; you have to switch other programs to readsb as their data source yourself.
- Barely any range: It’s almost always down to the antenna and location, rarely the software. Build instructions are in Building a 1090 MHz antenna yourself.
- Back to PiAware: Turn off readsb with
sudo systemctl disable --now readsb, remove tar1090 via its uninstall script and reinstall dump1090-fa.
What’s in it for you as a spotter
Your own map is the fastest tool before a spotting trip. A glance at tar1090 in the morning, and you see which direction the first approaches are coming from. At Munich Airport, for example, that decides whether you head to the visitors’ hill or to the other end; in Hamburg, whether the Affenfelsen works today. The logic behind it is explained in Understanding the runway direction in use at airports.
Then there’s the follow-up: with replay and pTracks, you match photos to registrations and flights after the fact. How to do that systematically is shown in Matching sightings with ADS-B logs. And before you pass on data or share screenshots, it’s worth a look at Receiving ADS-B data: the legal situation.
Is your local live map running smoothly?
- I have decided whether to install readsb plus tar1090 or only tar1090.
- The map opens in the browser at /tar1090.
- My antenna’s location is entered with readsb-set-location.
- The gain runs automatically or at a deliberately chosen value.
- My feeders still deliver data after the switch.
- I have looked at pTracks and know the weak spots of my reception.
The antenna listens in, you collect
Log every sighting with a photo and registration in your hangar, keep your wish list up to date and share your best pictures with the Planetrack community. Planetrack is launching soon – join the waitlist and get early access.
Conclusion
readsb and tar1090 turn your ADS-B receiver into a full-fledged local flight radar station. The installer does the main work, after which three steps remain: set the location, check the gain and verify that all feeders keep running. If you don’t want to touch PiAware, tar1090 alone already gets you the better map; if you want the heatmap and replay, you switch completely to readsb.
In brief
Run the installer, reboot, set the location, open /tar1090 – and your own live map is ready. After that, the antenna and location determine your range, and pTracks shows you honestly where it still falls short.
Summary
- wiedehopf’s version of readsb is a fork of Mictronics’ readsb, which in turn goes back to dump1090-fa. The project is licensed under GPL-3.0.
- tar1090 doesn’t replace a decoder; as a map interface it builds on readsb or dump1090-fa. Large community trackers such as adsb.fi, adsb.lol and airplanes.live use the same interface.
- The configuration lives in /etc/default/readsb and /etc/default/tar1090, with fine details of the web interface in the config.js file.
- With pTracks, tar1090 shows the tracks of the past hours and thus how far your antenna actually hears in which direction.
Frequently asked questions
What is the difference between readsb and tar1090?
readsb is the decoder: it controls the SDR stick, decodes the Mode S and ADS-B messages on 1090 MHz and writes the results out, among other formats, as JSON files. tar1090 is the web interface that displays this data in the browser as a map with a table, tracks and filters. Without a decoder, tar1090 has nothing to show.
How do I install readsb and tar1090?
The easiest way is the installation script from the GitHub project wiedehopf/adsb-scripts. It downloads and builds readsb, installs tar1090 and adjusts existing feeders such as fr24feed or rbfeeder. After installation, the instructions recommend a reboot if no RTL-SDR stick had been running on the system before.
Can I use tar1090 with PiAware too?
Yes. According to the project description, tar1090 also works with dump1090-fa, PiAware’s decoder. You then install only tar1090 using its own installation script and leave the decoder unchanged. The readsb installer, by contrast, removes dump1090-fa, because only one decoder can access the stick at a time.
What address is the map at?
In the browser at http:// plus your Pi’s IP address or hostname and /tar1090 appended. By default, the map is reachable only from your own network. If the browser reports a refused connection, the lighttpd web server is usually missing.
How do I set the gain?
For automatic control, readsb-gain auto is enough; you set a fixed value with, for example, sudo readsb-gain 43.9. For RTL-SDR sticks, readsb comes with its own automatic gain control tuned for ADS-B, whose basic values, according to the developer, normally don’t need to be adjusted.
Do my feeders keep working after switching to readsb?
The installer automatically reconfigures fr24feed and rbfeeder so that they get their data from readsb. For other feeders, you check yourself after installation whether they still deliver data. When you uninstall, the changes to fr24feed and rbfeeder are not reverted.
How do I uninstall readsb and tar1090 again?
You stop and disable readsb with sudo systemctl disable --now readsb and remove tar1090 with the uninstall script at /usr/local/share/tar1090/uninstall.sh. To return to PiAware, you then reinstall dump1090-fa.
Read more in ADS-B, MLAT & receivers
- Receiving ACARS messages with an SDR: acarsdec and ACARS Hub
- Build your own 1090 MHz antenna: spider, collinear and ground plane
- Finding the best antenna location: height, line of sight, cable and loss
- Receiving and sharing ADS-B data: what is allowed in Germany, Austria and Switzerland?
- Running an ADS-B receiver outdoors: enclosure, cooling, surge protection and power
- What feeders get in return: free subscriptions from FR24, FlightAware, AirNav Radar and Plane Finder
Related airports & manufacturers
Airports, manufacturers, airline groups and alliances – who is behind them and what you should know as a spotter.
Related spotting locations
Specific vantage points with the runway configuration, light times, coordinates and an honest take on whether the trip is worth it.
Affenfelsen (“Monkey Rock”) at Hamburg Airport
The best-known spotting point at Hamburg Airport: from the Affenfelsen on Holtkoppel you look over the fence onto runway 15/33 without a ladder – with a kiosk café right next door and the morning sun at your back.
Spotting hillMunich Airport visitors’ hill (Besucherhügel)
The best-known vantage point at Lufthansa’s Munich hub: from the visitors’ hill in the Besucherpark you look out over the airport grounds from above – with its own S-Bahn stop right next door.
You might also like
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.
ADS-B, MLAT & receiversSetting up fr24feed: the Flightradar24 feeder on a Raspberry Pi
From a Raspberry Pi with an SDR stick to an active Flightradar24 station: install script, signup wizard, sharing key, receiver type, running alongside PiAware and the free account for feeders, step by step.
ADS-B, MLAT & receiversBuild your own ADS-B receiver: Raspberry Pi, stick and antenna
Raspberry Pi, SDR stick, antenna – that is all your own ADS-B receiver needs. Which parts have proven themselves, where the antenna belongs, what software exists and what to watch for legally and technically.



