1090MHz antennae

Some advice on antennas for ADS-B reception


Flight patterns also vary considerably day to day due to weather conditions. This makes repeatability over a number of hours necessary. Days or weeks would be better if you can wait that long.

Maximizing range is a tempting target. Message rates and strong signals are important to getting the best performance.

In my antenna tests, I can't see a clear horizon in any direction. The antenna is also positioned in an eastward facing window which is relatively close to a number of trees and other structures. Most frequently, my maximum range is to the northwest after reflecting off an office tower to the southeast.

Hardware guidelines

Try to optimize these to maximize reception.

  1. Line of sight (elevation and positioning to see horizon)
  2. polarization (vertical orientation)
  3. LNA (at antenna or SDR?)
  4. bandpass filter (for noisy GSM/RF environments)
  5. antenna type
  6. cable length to SDR (signal loss, dB/m)
  7. ferrite bead placement
  8. not-broken antenna
  9. more powerful hardware (pizero is adequate)
  10. dedicated usb bus
  11. better sdr

Software guidelines

  1. Gain settings
  2. kalibrate and fix PPM offset
  3. error correction (bit flips)

Antennae tests

Lots of experimenting (some futile and less repeatable) has gone into these. I currently recommend my 2nd version of the collinear coaxial antenna.

The dipole is effective and easy to build while the DVB-T antenna not tuned for 1090MHz was cannibalized before I could give it a proper test.

FlightAware 1090MHz ADSB Antenna

This is a very good off the shelf antenna and was a good sanity check for my existing antennae. It was also a good reminder that even a few cm of placement can get a very different result.

Test setup

  • FlightAware 1090MHz ADSB Antenna - LMR 240 feed line
  • 4 element CoCo antenna (similar to v2 below) - RG6 feed line
  • Raspberry Pi Zero W
  • FlightAware Pro Stick Plus
  • dum1090 mutability branch
  • simultaneous operation

Test window setup

Test results

The FA antenna receives signals about 6NM further away than the CoCo. The exception to this is that arrivals to Houston along J87 show up 10-20NM before on the CoCo. The few cm difference in antenna could give a different reception corridor.

Attribute:FlightAware4 element CoCo
Max range181.1NM172.6NM
Average range105.0NM99.6NM
Average planes tracked3129
Average witd positions1817

Max range

4 element CoCo antenna - 24h max range FA antenna - 24h max range

Aircraft seen

4 element CoCo antenna - 24h aircraft seen FA antenna -24h aircraft seen


  • Initially the FA antenna was in another window 2m away and had about 10NM less range on average.
  • The antenna is a lot heaver so keeping it attached to the window was a bigger challenge.
  • I tried to put a 978 MHz antenna + dongle in the same window to discover a significant loss in performance

Aerospace Village badge for DC28

This is the coolest antenna I've seen so far which is a badge for the aerospace village @ defcon 28.

It's a basic dipole antenna but printed on a PCB shaped like a 787! The engine nacelles are SMA female ports and the 2nd one can be given custom wires for ACARS @ 131.550 MHz. It has nav and strobe lights which are programmable!


In spite of the good looks, it has an average range. When I installed in place of the 8 element CoCo, there was a sudden drop in distance. Later in the day I placed it higher in the window and got a little bit more range.

AeroVillage antenna swapped with East

Buy it!

If you're going to be spotting in public, you can't pick a more stylish antenna than this.

Collinear coaxial - 8 element RG6 with whip - version 2

Mostly the same antenna as my first design, this time adding 9th λ/4 coaxial segment with a longer λ/4 exposed wire. This is shorted to the sleeve of the 9th segment. The feed line has a Ferrite bead added λ/2 from the first segment.

8 element RG6 with whip setup

Zoom of the 9th element

Coax end comparison - v1 vs v2

Collinear coaxial - 10 element RG6 - version 1

I built this Coaxial Collinear Antenna since the Slovakian example seems to work so excellently. At first, I didn't think it was working correctly. The connection to the SDR was through a cut wire and alligator clips and dump1090 was running with --gain -10. Once I changed the feed line to a reasonable length of coax and attached it to a type-F to MCX connector things greatly improved.

This one is 10 segments of λ/2 coax jammed together with a longer feed line held inside a 48" sprinkler tube.

Being more than a meter long, this one is a bit of a challenge to use indoors and I doubt my neighbours would like me mounting this on top of the roof. Forcing the coaxial segments together is also quite a bit more work than you would suspect from the videos.

Westward looking indoor collinear coaxial antenna recorded for 18 hours with --gain 46, you can see the edge of the window frame at 345°. Maximum distance recorded was 207 km.

coax polar plot for 18h

Eastward looking indoor Collinear coaxial antenna recorded for 18 hours with --gain 46, the tree line is much closer in this direction and long range performance is slightly worse.
More aircraft movements at the major airports are visible in this direction, though only by a small margin.

east coax polar plot for 18h
Range Histogram East

Stock R820T antenna

If you can see the horizon, you will be able to get 400+KM of range. The antenna is not tuned for 1090MHz but the ADS-B out is a very strong pulse. For a westward clear to the horizon window, I was able to get the following flights with a maximum range of 368.9770 km.

stock antenna with horizon view If you don't have a clear view of the horizon, see some antenna options below.

Dipole antenna

My first 1090MHz antenna was a wine cork dipole, then a more simplified version with two copper wires soldered to the feed line. The wine cork worked reasonably but keeping the two wires aligned vertically with alligator clips and tape was a challenge. Using the dipole antenna soldered to the cable, high altitude flights (30000-45000 ft) come in to range at 50-70NM.

dipole polar plot for 2d
Recorded for approximately 2 days with --enable-agc (which set gain too 49.6). The tracking is much sparser than even 18 hours of the coax antenna.

Range Histogram

Do I need a filter?

There's a nice post on the flightaware forum titled Do I need a filter?. I tried it out with a few iterations of dongle and filter combinations.

Conclusion: Yes, I could use a filter and possibly one with a stronger bandpass slope.

$ rtl_power -f 800M:1200M:100k -i 30 -c 50% -e 30m -g 49 -F 9 > scan-faprostick-withfilt-r820t2.csv
  • R820T2 - no filter base-nofilter
  • R820T2 - Flightaware filter base-filter
  • prostick plus - nofilter faprostick-nofilter
  • prostick plus - filter faprostick-filter
  • prostick - nofilter fa-nofilter
  • prositck - filter fa-filter

DIY assembly

Collinear coaxial dipole construction

Initial construction was with a simple 10 segment RG6 with a length of λ/2*VelocityFactor connected directly to a RG6 feed line.
This left the question, what do I do with the end segment? Leave it open, short it to the outside? I quickly found there are are many conflicting answers to this so that means more testing for me.

The relatively easy part is to calculate the wavelength. Divide the speed of light by the frequency, making sure to keep the units consistent (m/s and Hz). For ADS-B, our frequency is 1090MHz = 1.09*10^9.

λ=(c/ν)=299729458 (m/s) / 1090000000 (1/s)= 0.257 (m)

Additionally, cables have a slower electromagnetic velocity than air so we have to compensate in our cable lengths. Cables with different dielectric insulators will propagate the wave more slowly than others and common values range between 0.88c and 0.60c. A reasonable guess is my RG6 coaxial cable has a velocity factor of approximately 0.85. A bare wire will have a velocity factor of approximately 1, making a dipole calculation much easier.

Ferrite Beads, λ/4 element/wire on the end, ground planes, and conducting balun options all have design considerations.

Collinear design ideas

rason.org suggests to add a λ/4 element to only the center conductor at the end. It also recommends another λ/4 conductor crimped where the feed line connects to the antenna with a ferrite coil at λ/2.

David suggests a 9th λ/4 element with a short to the outer conductor and a final λ/4 whip which end a quarter wavelength after the 9th dielectric terminates.

An article from the radio experimenters handbook Suggests the original λ/2 assembly with ground plane elements. The two elements should be an X of two 3λ/4 elements approximately λ/3 down the feed line from the last antenna element.

nmearouter reminds us that the exposed λ/4 wire at the top should have a velocity factor of 1.

Finally ads-b.ca uses stripped LDF1-50 and uses the λ/4 9th segment shorted to the casing with a protruding λ/4 wire. A λ/4 sleeve balun before the feed line with no velocity factor adjustment completes the antenna.