FlightAware Discussions

Comparison of Airspy and RTL-SDR dongles

I have 2 Flight Aware ADS-B Antenna’s. One is on a fiberglass mast at the west side of my house, the other is in the middle of the metal roof 20’ above the peak of the metal roof. Both antenna’s are roughly even with each other in height and based on my topography I’m picking up all flights possible for my area.

The Airspy would have less CPU load if I were to load up the 32-bit libs for my Odroid-N2 and start using it instead, but I’m real happy with the Odroid-C2’s performance (actually happy with both systems performance but worry about the RPI4 performance come Summer heat as it’s outside, but does have heat sinks)

It is interesting that the Airspy is pulling in 50% more messages than the RTL-SDR dongle yet both have roughly the same number of planes in track.

A) One set of tracking gear (middle of roof): OdroidC2 + RTL-SDR + RTL-SDR-ADSB-LNA
B) Other set of tracking gear (west side of house): RPI4 + Airspy mini + RTL-SDR-ADSB-LNA

Both feeders track planes at nearly the same exact rate

 1280 dump1090  15  -5  107704  24268   2452 S  12.6  1.4 335:42.02 dump1090-fa
  465 piaware   20   0   25280  14820   6272 S   3.6  0.8  73:33.20 piaware
16865 piaware   20   0   13760  11020   5028 S   1.7  0.6  21:31.98 fa-mlat-client
 1330 piaware   20   0    3740   2780   2068 S   0.7  0.2  12:33.58 faup1090
> B) 
>   PID USER      PR  NI    VIRT    RES    SHR S  %CPU  %MEM     TIME+ COMMAND
>  2988 root       1 -19   42280  14212   1544 S  47.1   0.4 208:14.66 airspy_adsb
>  1500 piaware   20   0   16136   9244   5568 S  11.8   0.2  17:31.97 fa-mlat-client
>  1456 dump1090  15  -5   24924  20052   2444 S   5.9   0.5   4:25.69 dump1090-fa
>  8063 root      20   0   10320   2836   2444 R   5.9   0.1   0:00.03 top

/usr/bin/dump1090-fa --device-index 00001090 --gain 49.6 --ppm 0 --max-range 520 --fix --net-buffer 2 --net --net-heartbeat 60 --net-ro-size 1300 --net-ro-interval 0.2 --net-ri-port 0 --net-ro-port 30002 --net-sbs-port 30003 --net-bi-port 30004,30104 --net-bo-port 30005 --json-location-accuracy 1 --lat 35.65427 --lon -97.39130 --write-json /run/dump1090-fa --quiet

/usr/local/bin/airspy_adsb -v -f 1 -b -w 4 -l 47787:beast -g 21 -m 12



Does the differential in message rates translate to a higher number of positions when you check FA? It appears you have 4 sites listed. Can you indicate which one goes with the RTL-SDR dongle and which one goes with the Airspy mini?

A) Site 120609 – KGOK – middle_roof_zda_comm_9db_antenna (odroid-c2 and FA antenna)
B) Site 93064 – KGOK – odroidc2_west_roof_FA_antenna_arcadia_lake_north (actually now the RPI4 since last 24 hours + Airspy mini, prior was a C2+rtl_sdr)

Site A has 10,000 more positions currently than site B while site B has way more messages

Pretty low message rate on both dongles compared to the amount of aircraft visible the same time

right now with 262 seen and 241 with positions (roughly same on both sites ± 4)
A) 265 planes and 1070msg/sec
B) 257 planes and 1600msg/sec
For a while I played with feeding a spider-antenna processed output into Site A (spider is a more puffy doughnut shape radiation pattern than the flatter pattern of the FA antennas).
The spider was 10’ down the fiberglass mast from the FA but kept losing MLAT sync randomly due to arrival time differences. However that would easily drive up the plane count by 3-4 and message count by almost double (spider didn’t have quite the reach as the FA)

That’s likely due to location and local radar operating modes. There are a lot of areas in the US that don’t interrogate for things like CommB data, and they don’t elicit All Call Replies. These make up a large proportion of the high messages rates seen in Europe - they account for at least half the messages I see, even though they don’t contain any location data.

1 Like

That’s very interesting, I hadn’t thought of that difference.

Does anyone know if enabling modeAC would be useful in the U.S. ?
–modeac Enable decoding of SSR Modes 3/A & 3/C

Mode A/C is mostly useless unless you are the interrogating radar. It doesn’t have any means of identification for each aircraft so you can’t tell where the aircraft is and mlat isn’t realistic using it.

The only real use for it is if you use planeplotter with its beam finder function, but that’s pretty hit and miss as to how well it works since you need accurate locations and rotation rates for any radar heads. You get better results from mode S mlat since there are not many aircraft that only have mode A/C these days. Other than that, decoding mode A/C only increases cpu usage.


So i’m pretty much at the end of the optimization’s I can do on my side to get more planes in track.
Options left are:

  1. I can add more height with little payoff but more danger of losing hardware in Spring storms.
  2. load 32-bit libs on Odroid-N2 to prevent the RPI4 (with heavy heatsinks on both) from melting down come Summer heat. (i.e. switch over to Odroid-N2 instead of RPI4)
  3. switch over to playing with my UAT setup to see if I can get over 4-8 planes per/day (apparently they only fly in nice weather). Which I doubt I can improve because I’m already seeing one or 2 planes out past 250nm.

Way back I experimented with Flightstick Pro+ up the antenna with long USB and had more trouble than plane count. USB dropouts if too long, strong signals drowning out stuff? (not sure on that but count was 70% of what I get now), etc… Best results so far have been with the LNA+Filter up the mast at the antenna.

Now at peak its tracking 347 planes on FA+RTL-SDR-OdroidC2, 340 planes on airspy

Have you tried lower gain on the Airspy?
I wouldn’t expect more planes on the FA stick :slight_smile:

1 Like

Both are on their own FA stick, only difference is RTL-SDR versus Airspy Mini

Site A) 245 total craft 233 positions
Site B) Airspy + RPI4 + FA

/usr/local/bin/airspy_adsb -v -f 1 -b -w 4 -l 47787:beast -g 21 -m 12
244 total craft 231 positions

3db down

/usr/local/bin/airspy_adsb -v -f 1 -b -w 4 -l 47787:beast -g 20 -m 12
230 total craft 223 positions

6db down

/usr/local/bin/airspy_adsb -v -f 1 -b -w 4 -l 47787:beast -g 19 -m 12
229 total craft 224 positions
(meanwhile 236 craft and 226 positions on Site A)

After watching a while it appears that at lower gains the Airspy is losing weak signals faster than the RTL-SDR which accounts for the lower plane count.

Oh nvm.
The total aircraft count will include bogus aircraft without position.
Of those the airspy has zero with your settings.

So it’s not actually receiving any less aircraft :slight_smile:


Are the receivers connected to the same antenna using a splitter?

I put a description of how this is setup at the top of the thread. It is 2 completely different systems (odroid-c2 and RPI4) with their own LNA+Filter+FA antenna. They are separated by about 70 feet, roughly same height.