Raspberry Pi single-board computer runs Linux in a small package.

1090 MHz ADS-B Antenna for Increased Range Flight Tracking

ADS-B Flight Tracking

Aircraft registration database lookup:
Map ICAO hex codes like aa4c3e to registration
Raspberry Pi ADS-B SDR tracking Radio

I'm using a small Raspberry Pi Linux single-board computer with a USB-connected Software-Defined Radio to receive and process data broadcast at 1090 MHz by aircraft flying overhead. See my SDR flight tracking page for the details on setting up the software. ADS-B or Automatic Dependent Surveillance — Broadcast collects aircraft data including position from a GPS navigational system, elevation, air speed, and bearing. The data is transmitted as cleartext at 1090 MHz, easily received by simple ground stations. ADS-B is part of the US, Canadian, Australian, and European air traffic control systems.

By 2015, ADS-B was mandatory in parts of Australian airspace and it was being used for air traffic control in Canada. It is part of the Single European Sky ATM Research or SESAR, and the U.S. Next Generation Air Transportation System or NextGen. Position and velocity information is broadcast once per second through what is essentially a modified Mode S radar transponder. In most cases the position information is more accurate than what can be obtained by current air surveillance radar systems.

The SDR receivers come with a small antenna that's fine for the intended purpose: receiving television signals within large Asian coastal cities. The antenna supplied with these units is about twice the length of a quarter-wave at 1090 MHz, and it has next to no ground plane.

As for receiving ADS-B signals, I was mostly seeing aircraft out to 50-60 nautical miles.

PiAware web server view of ADS-B aircraft tracking. Five aircraft heard around West Lafayette, Indiana, two United airliners, one JetBlue, and two unknown.
SDRMCX RTL-SDR DVB-T USB stick.
Amazon B00SXZDUAQ
RTL-SDR receiver
RG-316 MCX Male to F Female
Amazon B00CTJN480
F to MCX 6" RG316 cable
Step drill bits
Amazon B09GXP5WSH

Constructing the Antenna

Here is the collection of parts: a large coffee can, the RTL-based SDR unit, a short RG316 cable with female F and male right-angle MCX connectors, and a rubber grommet. Also needed: a short piece of #24 enameled wire and a plastic cable tie.

The stepper drill bits make for clean holes in sheet metal, including large coffee cans obtained at the recycling center. An automatic center punch helps to start the holes, and a handheld countersink helps to clean them up.

Parts and tools needed to build an ADS-B 1090 MHz antenna: large coffee can, RTL-SDR unit, female F to male right-angle MCX cable, rubber grommet, and tools.

1090 MHz means a wavelength of 27.5 cm, so a quarter-wave whip would be just 6.9 cm long.

299,792,458 meters, to be pedantic about the last 0.069%.

It's basic math. The speed of light is 300 million meters per second. So, wavelength in meters is 300 divided by frequency in MHz, "million cycles per second" in the terminology of the Golden Age of Wireless. $$ \begin{aligned} {\lambda}_{meters} &= 300 / f_{MHz} \\ {\lambda}_{mm} &= 300 / f_{GHz} \end{aligned} $$

I made a small safety loop at one end, then cut the wire one centimeter longer. I stripped the enamel off that added centimeter. The bare copper is relatively difficult to see here. The wire is inserted into the female F connector until 69 mm extend as a 1090 MHz quarter-wave.

69 mm ADS-B 1090 MHz quarter-wave antenna element. #28 enameled wire sanded at one end, and a plastic ruler.

Here is how it went together:

ADS-B 1090 MHz antenna with RTL SDR receiver. Full system assembled and placed near the window.
nanovna-saver

Here are the results as captured and saved with the nanovna-saver package. Sweeping 1040–1140 MHz in 200 segments, blue marker at 1090 MHz. The element is a little long, it looks like it's resonant at about 1077 MHz. But that's within 1.2% of the design frequency.

Frequency: 1.09000 GHz
Impedance: 57.8 + j7.91 Ω
Series L: 1.1556 nH
Series C: -18.449 pF
Parallel R: 58.9 Ω
Parallel X: 62.826 nH
VSWR: 1.229:1
Return loss: -19.752 dB
S11 return loss.
S11 VSWR.
S11 R + jX.
S11 R + jX.
S11 Smith Chart

Improved Coverage!

The improved antenna gives me coverage out to a little beyond 120 nautical miles to my ENE, beyond Fort Wayne into northwestern Ohio. In this second screenshot I have enabled range rings at 50, 100, and 150 nautical miles. To do that, edit /usr/share/dump1090/public_html/config.js and modify the settings of SiteShow, SiteLat, SiteLon, and SiteCirclesDistances. Then restart the dump1090 process.

I live in West Lafayette, in a building of brick over reinforced concrete. The antenna is near a patio door with a clear view from the antenna location from north to east, the remaining 270° is through the building. On top of that I'm in a relatively low area, opening to the east-northeast up the Wabash River valley.

Much improved PiAware web server view of ADS-B aircraft tracking. The better antenna receives significantly more aircraft out to a greater range.
My receiver's current tracking

Here's the view of my receiver in the AirNav Radar tracker, which shows recent coverage in green. Yes, very short range to the northwest, southwest, and southeast, but that's due to the building and surrounding topography.

Much improved AirNavRadar.com web server view of ADS-B aircraft tracking. The better antenna receives significantly more aircraft out to a greater range.

Select a Raspberry Pi topic:

More on RTL-SDR

More on Aeronautical Mapping and Tracking

Back to the Linux / Unix page Radio Topics