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 manditory 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.

Improving the Coverage

The improved antenna gives me coverage out to almost 100 nautical miles. 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'm 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 around to east. On top of that I'm in a relatively low area, opening to the 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.

Constructing the Antenna

F to MCX
6" RG316 cable

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. 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 or 2.7 inches long.

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 the result:

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

Select a Raspberry Pi topic:

More on RTL-SDR

More on Aeronautical Mapping and Tracking

Back to the Linux / Unix page Radio Topics