Key takeaways
- More dynamic range instead of more gain: Airspy Mini and R2 digitize at 12 bits and 20 MSPS. Strong signals from nearby and weak ones from far away therefore fit into the value range together better than with an 8-bit RTL-SDR.
- airspy_adsb is the decoder, readsb the hub: airspy_adsb talks directly to the hardware and delivers Beast data. readsb or dump1090-fa then run in network-only mode and distribute the messages to the map and feeders.
- 12 MSPS is the safe default: 20 MSPS costs much more CPU, is officially not supported on the Mini and, according to airspy-conf, brings less than three percent more positions in Europe.
- Work up the gain from below: Gain runs from 0 to 21 in steps of about 3 dB. Increase it until the strongest aircraft just reach 0 dBFS.
- No added value without a good antenna: An Airspy gets the last bit out of an antenna setup that is already maxed out. A badly placed window antenna holds back even the best receiver.
Contents
- 1.The short answer
- 2.What makes an Airspy different
- 3.Airspy Mini or R2?
- 4.When switching is worth it
- 5.How airspy_adsb and readsb work together
- 6.Step by step: setup with airspy-conf
- 7.Sample rate: 12 or 20 MSPS?
- 8.Setting the gain correctly
- 9.The most important options at a glance
- 10.Processing power and hardware
- 11.Measure success instead of guessing
- 12.What to keep in mind
- 13.Conclusion
Your feeder has been running stably for months, the antenna is on the roof, LNA and filter are installed – and still the message rate stagnates. By now one name comes up in feeder forums: Airspy. The Airspy Mini and Airspy R2 receivers, together with the airspy_adsb decoder, are considered one of the most capable combinations for ADS-B reception on 1090 MHz. This guide explains what an Airspy does differently from an RTL-SDR stick on a technical level, for which stations it is worth it, how to connect airspy_adsb with readsb or PiAware and which adjustments you should make – and which better not.
From receiver log to sighting in your hangar
Your station shows you what is flying overhead – in Planetrack you log the sighting with photo, registration, type, airline and spot. Planetrack is launching soon – join the waitlist and get early access.
The short answer
An Airspy Mini or R2 with airspy_adsb is worth it if your antenna setup is already good and you want to get more out of it. The advantage lies in the 12-bit converter: it copes with strong and weak signals at the same time much better than the 8-bit converter of an RTL-SDR. In return, the Airspy costs many times as much as a stick and needs noticeably more processing power. For setup, the easiest route is the community project airspy-conf, which installs airspy_adsb as a service and reconfigures your existing decoder (readsb or dump1090-fa) accordingly. Start with 12 MSPS and work up the gain from below.
How the Airspy ranks among the other receivers is shown in the SDR stick comparison for ADS-B. This article is about practice with the Airspy itself.
What makes an Airspy different
A classic RTL-SDR stick is a repurposed DVB-T receiver. Its converter works at 8 bits, so only 256 possible values per sample. For ADS-B that is a real bottleneck: an aircraft on approach directly above your roof delivers a very strong signal, a plane 300 kilometers away an extremely weak one – and both have to fit into this small value range at the same time. If you turn the gain up, the stick overloads on nearby aircraft. If you turn it down, the distant ones disappear into the noise.
The Airspy receivers address exactly this. According to the manufacturer, Airspy Mini and Airspy R2 work with a 12-bit converter at 20 MSPS, reach 10.4 effective bits, 70 dB signal-to-noise ratio and 95 dB spurious-free dynamic range (SFDR). Airspy specifies the noise figure as 3.5 dB between 42 and 1002 MHz, the front end has tracking RF filters and tolerates up to +10 dBm at the input. For ADS-B that means: more room between “clipped” and “lost in the noise”.
Then there is the high sampling rate. A Mode S bit lasts one microsecond. An RTL-SDR typically samples ADS-B at 2.4 MSPS, so about two and a half times per bit. airspy_adsb works at 12 or 20 MSPS and thus has significantly more sample points per bit available to cleanly reconstruct weak or overlapping messages. What lies behind the messages is explained in the article transponder Mode A, C and S.
Airspy Mini or R2?
Both devices share the core. The differences lie in output rates, connectors and size.
| Airspy Mini | Airspy R2 | |
|---|---|---|
| Frequency range | 24–1700 MHz | 24–1700 MHz |
| Converter | 12 bit, 20 MSPS | 12 bit, 20 MSPS |
| Noise figure (42–1002 MHz) | 3.5 dB | 3.5 dB |
| Bias tee | 4.5 V, software-switchable | 4.5 V, software-switchable |
| Clock accuracy | 0.5 ppm | 0.5 ppm |
| External clock input | no | yes, 10–100 MHz (MCX) |
| Expansion | none | GPIOs, clock outputs, additional ADC inputs |
| 20 MSPS with airspy_adsb | officially not supported | intended |
For ADS-B the last row matters most – and in practice it is less important than it looks. According to airspy-conf, 12 MSPS delivers almost the same result as 20 MSPS. The compact Mini is therefore the obvious choice for most feeders. You need the R2 more if you want to experiment with an external reference clock or use the receiver for other projects as well. If you already own an R2, you lose nothing.
Check older devices
According to airspy-conf, a firmware update may be necessary on Airspys bought before 2017. You can find the instructions on the manufacturer’s quick start page. You should therefore check used devices once before putting them to work on the feeder.
When switching is worth it
An Airspy is not a miracle cure. It improves decoding, not reception. What the antenna doesn’t pick up, even the best converter can’t decode. That is why the order applies: first antenna location, then cable, LNA and filter, and only then the receiver. How to approach the first steps is described in finding the best antenna location and increasing ADS-B range with LNA and filter.
An Airspy is worth it if …
- your antenna is mounted high with a clear all-round view
- there is a lot of traffic around you, for example near big hubs
- your computer has enough CPU reserves
- your statistics show that an RTL-SDR overloads on nearby aircraft
It depends if …
- you already run a Pro Stick Plus or an RTL-SDR with a mast-mounted LNA
- the feeder runs on an older Raspberry Pi
- you also want to use the receiver for other bands
Save your money if …
- the antenna sits behind a window or under the roof
- you are just starting out with ADS-B
- the computer still has to handle other services
Feeder forums also repeatedly stress that an Airspy only plays to its strengths with a filtered preamp. An Airspy does have a large dynamic range, but strong interfering signals outside 1090 MHz – cellular, broadcast, radar – still burden the converter. A bandpass filter in front of the receiver keeps them out. The Airspy brings the bias tee for a mast-mounted LNA itself.
How airspy_adsb and readsb work together
With an RTL-SDR feeder, one program does everything: readsb or dump1090-fa accesses the stick, decodes the signals and distributes the data. With an Airspy this work is split between two programs.
- airspy_adsb talks directly to the Airspy. It takes in the raw data, decodes the Mode S messages and outputs them with timestamps in Beast format.
- readsb or dump1090-fa now runs only in network mode. It receives the finished messages from airspy_adsb, builds the aircraft list from them, feeds the map and makes the data available to feeders.
In the default configuration of airspy-conf, airspy_adsb offers its data on port 47787 and additionally connects to port 30004 of the local decoder. With PiAware, the receiver type is instead set to “relay” and pointed to port 47787. All other feeders – for Flightradar24 or PlaneFinder, for example – access the Beast output of readsb or dump1090-fa as usual, typically port 30005. So for them nothing changes because of the Airspy. How to serve several networks in parallel is shown in feeding several networks at once.
Besides this two-program team there has also been an unofficial dump1090-fa variant with direct Airspy support since 2021, which works without a separate airspy_adsb. Its developer explicitly presented it in the FlightAware forum as an unofficial FlightAware version. The common route remains airspy_adsb with readsb or dump1090-fa.
Step by step: setup with airspy-conf
The airspy-conf project by wiedehopf on GitHub automates the setup. It downloads the right airspy_adsb program for your platform, sets up a systemd service and reconfigures your decoder. The author himself points out that the script doesn’t have to work as intended in every environment – so check the current project page beforehand.
1. Install the base
First install readsb or dump1090-fa. A PiAware image or a regular Raspberry Pi OS is enough. How to set up readsb with a map view is covered in installing readsb and tar1090, and for FlightAware in setting up PiAware.
2. Run airspy-conf
The installation script from the GitHub repository downloads airspy_adsb for your architecture (ARM, ARM64 or x86) and system version and creates the configuration at /etc/default/airspy_adsb. An existing file at that location is overwritten.
3. Let it reconfigure the decoder
The script backs up the existing configuration of readsb or dump1090-fa and switches it to network mode. It carries over your coordinates for the range map and MLAT. If you want to configure your decoder yourself, there is an option that installs only airspy_adsb.
4. Check the service
In the system log of the airspy_adsb service (journalctl) you can see whether the Airspy was detected and messages are arriving. Error messages like “not found” usually point to USB or power problems.
5. Tune gain and sample rate
In the configuration file you set GAIN and SAMPLE_RATE and restart the service. More on that in the next section.
If you want to get rid of airspy-conf later, the uninstall script restores the backed-up decoder configuration and shuts down the service.
Sample rate: 12 or 20 MSPS?
The airspy-conf configuration knows two values: 12 and 20 MSPS. The default is 12 – and for good reason.
12 MSPS
- default value in airspy-conf
- much lower CPU load
- stable for MLAT
- usable with both Mini and R2
20 MSPS
- noticeably higher CPU load
- can cause MLAT problems
- officially not supported on the Airspy Mini, cooling recommended
- according to airspy-conf, under three percent more positions in Europe
The project’s recommendation is clear: 20 MSPS only if you don’t care about CPU load and the device runs in a moderate environment. If your MLAT client shows synchronization problems or an unstable clock after switching, go back to 12. How MLAT works and why clean timestamps matter so much is explained in MLAT/multilateration explained.
Setting the gain correctly
You set the Airspy’s gain in 22 steps from 0 to 21, each corresponding to about 3 dB. The default configuration uses an automatic setting. For a fixed setting, airspy-conf describes two approaches:
- RMS method (default): Start at low gain and increase it step by step until the strongest aircraft reach 0 dBFS – or until you no longer see aircraft in the range around −45 dBFS.
- SNR method: Increase the gain until the displayed signal-to-noise ratio no longer improves, then go back one step.
If 21 is too much, reduce by one step at a time. If you run a preamp at the antenna, the optimal value is usually lower than without one. Every change needs time: traffic fluctuates over the day and the week. So compare at least one full day with normal traffic before you turn it further.
How much gain is in your gain step?
Rule of thumb based on airspy-conf’s statement “each step about 3 dB”. The actual gain per step differs slightly.
Don’t miss rare visitors
With sighting alerts, Planetrack tells you when a registration, type, airline or special livery you follow is on approach – so you are at the fence in time. Planetrack is launching soon – join the waitlist and get early access.
The most important options at a glance
In the configuration file you will find a line with further options. You can leave most of them at their defaults. The overview is based on the comments in airspy-conf’s default file and the program help. Which options your version knows is shown by calling airspy_adsb -h.
| Option | Function | Practical note |
|---|---|---|
| -C | CPU target value (5–95) | airspy_adsb adjusts the filtering work to the available power |
| -E | upper limit of the preamble filter | higher values cost more CPU; the default file names a higher value for maximum performance if CPU load allows it |
| -f | bits for error correction | 1 is recommended |
| -b | switch on the bias tee | only with an LNA at the antenna that is powered via the cable |
| -p | bit packing | reduces the USB data rate but costs a bit more CPU |
| -x | DX mode | generates additional erroneous messages, don’t use if you feed networks |
| -v | verbose log | helpful for troubleshooting |
You enter GAIN and SAMPLE_RATE on their own lines, not in the options line. After every change you restart the service.
Hands off DX mode when feeding
DX mode may show a few more aircraft on your own map, but it also passes on erroneous messages. Networks like FlightAware, Flightradar24 or ADS-B Exchange then receive distorted data. If you feed, leave this option off.
Processing power and hardware
The biggest practical difference from the RTL-SDR is CPU load. An RTL-SDR decoder runs alongside on almost any Raspberry Pi. At 12 or 20 MSPS, airspy_adsb has to process many times the data. In forum reports, older models like the Raspberry Pi 3 reach their limits at high sampling rates. The -C option sets which CPU load airspy_adsb aims for.
A few basic rules follow from this:
- Plan enough reserve: If tar1090, graphs1090, several feeders or entirely different services also run on the same computer, the CPU shouldn’t already be maxed out by airspy_adsb.
- Take cooling seriously: Both the computer and the Airspy get warm in continuous operation. For 20 MSPS with the Mini, airspy-conf explicitly recommends heat sinks or active cooling. For outdoor enclosures that applies doubly, see running an ADS-B receiver outdoors.
- Stable power supply: The Airspy and possibly an LNA via the bias tee draw power from the USB port. A weak power supply leads to dropouts and lost samples.
- Mini PC as an alternative: airspy-conf also offers program versions for x86 computers. If you are thinking about a used thin client or mini PC, you will find ideas in ADS-B reception without a Raspberry Pi.
Measure success instead of guessing
Whether the Airspy is worth it you decide not by feel but from your statistics. By default, airspy_adsb writes its own metrics to a statistics file, and readsb provides message rate, positions and range. The tool for this is graphs1090, which we present in detail in measuring reception performance.
A fair comparison looks like this:
- Note the values of your current station over at least a week: messages per second, aircraft with position, maximum range.
- Swap only the receiver, leaving antenna, cable, LNA and filter unchanged.
- Compare another full week, ideally under similar traffic conditions.
- Afterward change gain or sample rate one at a time.
It is typical that an Airspy gains mainly on nearby and very distant aircraft at the same time – that is, where an 8-bit stick is torn between overload and noise. How large the gain is at your location can’t be predicted in general.
Are you ready for the Airspy?
- My antenna is mounted high and has as clear an all-round view as possible.
- I use a filtered LNA or have one planned.
- My computer has substantial CPU reserves.
- I already measure my reception performance with graphs1090 or a similar tool.
- I have cooling and a stable power supply under control.
- I am ready to tune gain and sample rate patiently over several days.
What to keep in mind
- The legal side stays the same: Whether Airspy or RTL-SDR – the same rules apply to receiving and passing on the data. Is receiving ADS-B data legal? gives the overview.
- Bias tee only with a matching LNA: The 4.5 volts on the antenna jack can damage devices that can’t handle remote power. Switch on -b only if your LNA is designed for it.
- Updates preserve your settings: With airspy-conf’s update script you update the program without losing your options.
- One receiver, many users: If you want to listen to aviation radio or ACARS in parallel, you need a second receiver. The Airspy is fully occupied in feeder operation. For starting points, see receiving aviation radio with an SDR stick and receiving VDL Mode 2.
By the way, you can use your station’s data not only to send to networks but also for spotting: how to complete sightings after the fact with your own ADS-B logs is shown in matching sightings with ADS-B.
Turn data into sightings
Post your sightings with photo, registration, type and airline, collect them in your hangar and find the right location with the best light on the spot map. Planetrack is launching soon – join the waitlist and get early access.
Conclusion
The Airspy Mini and R2 are the tools for feeders who have already maxed out their station. The 12-bit converter with large dynamic range and airspy_adsb with a high sampling rate decode weak and strong signals at the same time better than an 8-bit stick. Setup via airspy-conf is manageable: prepare readsb or dump1090-fa, run the script, tune the gain. The price is higher purchase cost and significantly more CPU load. If you still work with a window antenna and a long cable, you are better off investing first in location, LNA and filter.
In short
Optimize antenna, LNA and filter first, then reach for the Airspy. For ADS-B the Mini usually suffices, run at 12 MSPS via airspy-conf. Work up the gain from below, measure success with graphs1090 and leave DX mode off when feeding.
Summary
- Airspy Mini and Airspy R2 work with a 12-bit converter at 20 MSPS, according to the manufacturer with 10.4 effective bits, 95 dB SFDR, a 3.5 dB noise figure and a software-switchable 4.5-volt bias tee.
- For ADS-B you use the dedicated decoder airspy_adsb. The community project airspy-conf installs it as a system service and reconfigures readsb, dump1090-fa or PiAware accordingly.
- By default airspy_adsb listens on port 47787 for Beast data and sends its messages to port 30004 of the local decoder. Other feeders get the data as usual via port 30005.
- The added value over a good RTL-SDR with LNA and filter shows mainly at stations with a clear all-round view, lots of traffic and enough processing power.
Frequently asked questions
Is an Airspy worth it for ADS-B?
For beginners, usually not. A good RTL-SDR stick with a preamp and a 1090 MHz filter decodes ADS-B reliably and needs hardly any processing power. An Airspy is worth it if your antenna is already high and unobstructed, you have a lot of traffic around you and you want to squeeze out the last bit of message rate and range. The larger dynamic range then helps decode nearby and distant aircraft cleanly at the same time.
Airspy Mini or Airspy R2 – which is better for ADS-B?
Both use the same 12-bit converter at 20 MSPS, the same noise figure and the same frequency range of 24 to 1700 MHz. The R2 additionally offers an external clock input (10 to 100 MHz) and expansion connectors. What matters for ADS-B is mainly this: 20 MSPS is intended for the R2, while on the Mini it is officially not supported according to airspy-conf. Because 12 MSPS works almost equally well in practice, the more compact Mini is enough for most stations.
What is airspy_adsb?
airspy_adsb is a dedicated ADS-B decoder for Airspy receivers. It accesses the hardware directly, decodes the Mode S messages at a high sampling rate and passes them on in Beast format with timestamps. readsb or dump1090-fa then handle display and distribution to feeder programs in pure network mode.
What is the easiest way to install airspy_adsb?
Most conveniently via the community project airspy-conf by wiedehopf on GitHub. The prerequisite is an already installed readsb or dump1090-fa, for example on a PiAware image or a regular Raspberry Pi OS. The installation script downloads the right program for your platform, sets up a systemd service and switches your decoder to network mode. Always check the current state of the project page beforehand.
Which sample rate should I set?
Start with 12 MSPS. This setting is the default in airspy-conf, runs stably and puts much less load on the CPU. According to the project description, 20 MSPS brings only a barely measurable gain of under three percent more positions in Europe, can cause MLAT problems and is officially not supported on the Airspy Mini.
Does MLAT work with an Airspy?
Yes. airspy_adsb delivers the messages with timestamps, which MLAT clients such as the one from PiAware or other networks process. If synchronization problems or an unstable clock occur, airspy-conf recommends going back to 12 MSPS.
Can I feed several networks at once with an Airspy?
Yes, just like with an RTL-SDR. The feeder programs don’t access the Airspy itself but pull the data in Beast format from readsb or dump1090-fa, usually via port 30005. airspy-conf explicitly lists Flightradar24, PlaneFinder and other feeders as compatible.
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
- Build your own ADS-B receiver: Raspberry Pi, stick and antenna
You might also like
SDR sticks for ADS-B compared: RTL-SDR Blog, FlightAware, Nooelec, Airspy
From all-round stick to 12-bit receiver: where the RTL-SDR Blog V4, FlightAware Pro Stick (Plus), Nooelec NESDR and Airspy Mini differ technically – and which stick suits which location.
ADS-B, MLAT & receiversInstall readsb and tar1090: your own local live map for your ADS-B receiver
A Pi, an SDR stick and an antenna become your own live map: how to install the readsb decoder and the tar1090 web interface, set gain and location, use filters, tracks and URL parameters, and fix typical errors.
ADS-B, MLAT & receiversBoosting ADS-B range: LNA, 1090 MHz filter, gain and cable choice
Your station is running, but there is more to get? Here is how to squeeze out the last kilometers with properly set gain, the right 1090 MHz filter, a preamplifier in the right place and the right cable – and avoid typical bad buys.



