Feeding your ADSB data to websites

Why do you want to do this? Because more receivers on a map see more than one.


Once you are convinced that you got a reasonably working antenna that is also protected with a lighting arrestor (for availability see for instance this shop), and where the mast is also grounded (this guy describes it, I did something similar) you can set-up a feed to one of the websites that continuously run a virtual radar or a flight tracker. I have currently setup a feed to flightradar24 and adsbexchange as I wrote earlier.

There are several ways on how to accomplish this, but it is fairly well described on a number of websites. I already had an unused airspy SDR and a raspberry pi basically doing nothing, so this is what you want to use.  The steps to get everything running with an airspy and a raspberry pi are:

  • Update the firmware of the airspy, it is described here
  • Get the airspy to behave like a spyserver, it is described here
  • Test this with sdr# which should show that a spyserver is there, this means that you got something to work (for adsb you don’t need the spyserver, but if you have the airspy you probably already had sdr# and it allows you to check whether the network connection to the airspy is reliable).
  • Next setup a virtual radar client in a browser so that the remote airspy on your raspberry pi should become visible.
  • Get the adsb software from adsb exchange
  • Complete all installation procedures from the previous step, in the end you should have running, airspy_adsb, socat, fr24feed, and mlat_client on the raspberry pi.
  • By now you should become visible on the website of flightradar24 and also adsbexchange. On the flightradar24 website you should get reports of what you are feeding plus that you get a free business account as a thank you for feeding the receiver data. I’m not affiliated to any of them, except that I have an account.

Running MLAT is more than showing only the GPS positions and velocities transmitted by aircrafts which is what the virtual radar tool shows in a local browser. Reason is that  MLAT will try to guess the position speed and height of an aircraft only from the receiver aircraft transponder data without the support of GPS. Many aircrafts don’t have a GPS system, so you have to use tricks like trilateration to guess where it is, much like fox hunting in hamradio. So MLAT is using the information from several receivers, the more the better. In the end simply let it run, and check how you perform on the one of the mentioned websites.

Last update: 8-May-2019 12:45 (Added some clarification etc)

ADSB antenna

My latest verdict on the best performing ADSB antenna, the collinear is the winner.

Zooming in on the latest ADSB antenna, it is a 8 element version as described before, it is 12 meter above the terrain
ADSB coverage plot as obtained today.

The antenna field of view is obstructed mostly by trees and buildings, but you can see aircrafts up to 300 km away.

Update: currently I’m running ADSB setup on the airspy and a raspberry pi3, it is feeding flightradar24 and adsbexchange continuously. I will report on this later in a new blog article.

Last update: 8-May-2019 7:00

ADSB receiver differences

Do the same thing on an airspy/ADSBspy setup and a rspduo/dump1090 combination, and yes there are differences in performance:

difference airspy and rspduo

The airspy result is always within the rspduo result, the latter is a newer receiver, I got the airspy in 2015, so it is probably it is an early release, the rspduo is two months old. The airspy software is somewhat easier, it simply always works, and with the rspduo/dump1090 I oftentimes need to restart it until the ADSB results become visible in the virtual radar server.

The difference is range is approximately 50 km in range at 200 km distance, translated into dBs using the path loss equation I guess this is 2.3 dB in the receiver sensitivity favoring the rspduo. Receiver sensitivity is actually not really tested because we are using different decoders.

Last update: 7-Apr-2019 8:32

ADSB antennas

With the new mast I can easily test different ADSB antennas. I already reported a first test with a low gain antenna in this article which looks like this:

lowgain antenna
Figure 1: the low gain antenna with 0 dB gain

With the mast the situation is slightly different, first because there is more coax cable between the receiver and the antenna, it is Aircell 7 cable which has a loss of 0.2 dB per meter at 1090 MHz. So with 50 meter that is 10 dBs going up in thin smoke, which is really a pity but unavoidable if you haven’t got the LNA (yet) to compensate the cable loss. The easier way out is to build a high gain (9 dB) collinear antenna like explained here. I added a 1/4 lambda sleeve balun and a 1/4 lambda whip to the tip, in the end it looks like this:

highgain antenna
Figure 2: High gain antenna with 9 dB gain (to calculate via 10 log10(n) where n is the number of elements in the collinear antenna (here n=8)

The high gain antenna is called high gain because of its expected radiation pattern which is more pancake like than torus or sphere like with the low gain antenna, so it favors more the signals at low elevation.

rspduo lowgain_03apr2019_a
Figure 3: Low gain performance, so you see aircraft data up to 70km
highgain 6-apr-2019 ADSB
Figure 4: High gain performance, with reduced coax cable length (I managed to bypass 20m) You get to see aircraft data up to 250 km

Figure 4 shows the best result that I got so far, namely, with the high gain antenna and 20 meter reduction in length of coax cable for which I had to drill a new hole in the ceiling. We improved the range by almost a factor 3. To summarize:

  • Low gain antenna, 50m cable, max range is about 70 km
  • High gain antenna, 50m cable, max range is roughly 100 km
  • High gain antenna, 30m cable, max range is about 250 km.

Since we know that the loss is caused by Aircell 7 cable we also know what the difference is between the last 2 results, it is 4dB which is the same as a factor 2.5 in the free space loss equation where the loss = (4 pi d / lambda)^2 with d denoting the path length and lambda the wavelength.

For the 30 remaining meters we should get 6 dB of damping, and this would be a factor 4 if it were to improve the path loss. Curvature of the earth and the height of the involved antennas constrain the maximum range to something like 430 km, so the factor 4 will never be obtained.

Maybe another suggestion is to not use coax cable at all and place the SDR receiver very close to the antenna, and then feed it with USB cable or turn it into a wireless device with a raspberry PI and a SDR. This is a personal choice that people have to make, I want to be able to use my SDRs for various experiments, so this is not an option.

There are various things to learn from this experiment:

  • 1 GHz is a frequency where cable losses become a serious factor in the design
  • The antenna gain is relatively easy to improve
  • The antenna pattern shows that we are easier affected by obstruction, for instance, the south west sector has more obstruction not because the antenna is below the rooftop heights (it is above it), but according to me due to the city and the port area in that domain.

Last update: 6-Apr-2019

Receiving ADS-B aircraft data with the RSPduo and sdrplay.


Most aircraft nowadays transmit their position and other data via the so-called ADS-B system. Tune your SDR to 1090 MHz in Europe, decode the data and there you go, but now the specifics:

Antenna: The polarization is usually vertical, so that is the easy part of this project but 1090 MHz is a frequency where you want an outdoor antenna, the signal is weak and it will not easily penetrate walls, windows or roofs. So you need something outside your house with as much as possible with a free field of view. The Diamond X30 was not designed for this frequency, but it does the job in receiving the ADS-B signals. Any discone type of antenna would do it as well. I did not need an LNA, the cable losses and the SDR rspduo sensitivity are in my opinion sufficient to decode ADS-B signals.

Software: on www.sdrplay.com it is explained how you should configure the rspduo. The sdruno software has an ADS-B dual channel mode, route the output to a virtual audio cable and next run dump1090 to decode what comes out of the receiver. Still this is text and data, and you want to present it into a more meaningful way, so you need a translation program called virtual radar server that translates the dump1090 output into a HTML format for a browser. It is a bit of a chain, sdrplay → VAC → dump1090 → virtual radar server → your browser.


So the output comes to URL on your PC usually, this is a place where you get to see what is presented in the figures. The ADS-B tracker picks up ADS-B signals up to 120 km which is roughly twice to three times the normal radio horizon because of the altitude of the transmitters (at least, this is what I saw in the few hours that I ran the ADS-B monitor, better antennas and maybe also weather conditions can boost the visibility).

There are also websites where the ADS-B (and MLAT) data is combined, www.flightradar24.com is one of them. When you monitor ADS-B data some aircraft appear to turn off the identifying information, but they are still there on the website. The reality is (according to PD0G as you can read in the comments) that next to ADS-B also MLAT data is used, this is what we don’t process with our ADS-B monitoring system, details about the difference between ADS-B and MLAT can be found here.

I’m not 100% sure whether all authorities are happy that you distribute ADS-B information that you receive, the general idea is, for hobby and private use all received data is yours, but, if you use the received information against somebody then it is a different issue. Because of this I do not run websites or participate in activities where I freely provide ADS-B tracking data, or I blur or delay the received information such that it will cause no or little harm. Be nice to one another and do not mess up things, think about it.

Antenna considerations

I tested a quarter lambda ground plane antenna for the ADS-B experiment, in my opinion the antenna height is really crucial. For the experiment I used the following setup, that is, stick a glassfiber mast out of the window, tape the antenna to the top and see what happens

And now I can suddenly track ADS-B transmitters up to approximately 250 km distance, which is what I saw after running the experiment for about a half hour.

Last update: 26-Feb-2019 15:36 AM.