Category: ADS-B

Homemade ADS-B antenna

I wasn’t really satisfied with the range of reception my ADS-B receiver was getting. With the kit antenna, I was receiving signals from aircraft up to about 50 nautical miles, but more reliably only really 30 miles. That was with the antenna situated inside my patio door. I found that moving it outside increased the range but it wasn’t a practical idea to have the patio door cracked open in March. I wanted a more permanent setup with even better reception.

After a bit of research on the interwebs, I decided to build myself a homemade “co-co” – coaxial collinear – antenna. I made my antenna based on a couple of YouTube videos and this excellent description at www.balarad.net

A collinear antenna consists of a number of equal length segments of coax cable joined by alternating the center conductor of one to outer sheath of the next. The ideal length of each conductor is calculated based on the frequency to be recieved (1090 MHz) and something called the coax velocity factor. Luckily there are calculators on-line like this one at jeroen.steeman.org

The videos and other resources I found had calculated the length for each antenna segment at either 116mm or 118 mm. So after careful consideration, I decided to split the different and go with 117mm. Fortunately, I had some unused RG6 coax cable which I was able cut into the required segments.

Assembling the collinear coax antenna

The antenna can have as many segments as you wish, but it seems that any more than 8 doesn’t offer a great deal of improvement. So I went with 8 segments. The photo above shows how the segments are joined with the center conductor of each inserted into the sheath of the next. A piece of electrical tape not shown here is placed between the conductors. Then each connection is wrapped with more electrical tape.

After assembling all 8 segments (the last one has an F-type fitting) the whole thing is inserted into a piece of 1/2″ ABS pipe about a meter in length. The top is capped and the fitting at the bottom is wrapped with electrical tape until it fits snug.

antenna mounted to deck

I mounted my new antenna outside on the corner of the wall of my deck and ran a 25 foot piece of RG6 coax cable into the house to the NooElec SMArtee SDR reciever on my Raspberry Pi 4B computer.

So was it worth it? Absolutely, my reception has gone from 30-50 nautical miles to 150-200 nautical miles. At times I have been receiving signals from over 100 aircraft. That’s a big jump form the 10-15 I was getting before.

My ADSB data is being fed to the flight tracking services of ADSB Exchange. If you check their website, you will see aircraft tracked by my ground station (and many others all over the world).

ADS-B antenna

Here’s a couple of screen captures that show the reception I had with the kit antenna (top) and with the new “co-co” antenna (bottom).

Reception with kit antenna
Reception with outdoor “co-co” antenna

ADSB Exchange

My ADS-B receiver has been working fine on my Raspbery Pi 4B. Using the cheap kit antenna I’m receiving signals from aircraft up to approximately 50 miles, depending on their elevation.

I found a site called ADSB Exchange that collects data from volunteer feeders and aggregates it onto a publicly available map. I was able to establish a connection with their network and I am now feeding ADS-B data to them. So if you view their map, some of the data you see is coming from my ground station.

ADSB Exchange

The above image shows an aircraft I was tracking. It was a Boeing 737-800 out of Toronto YYZ, Flair flight FLE111 as shown on the sidebar.

The jagged lines on the map indicate the range of my reciever. The map expands as planes fly through it and are detected, so it is constantly changing. It’s a nice feature and it tells me I need to relocate my antenna to a better spot. It is presently sitting on the floor just inside the patio door.

When the weather gets a little nicer, I will try to locate my antenna outdoors. I may also try to build a home-made antenna for better reception. There’s lots of instructional videos on line.

After my initial setup, I was unable to establish a feeder connection with FlightAware, so I’m not contributing data to their network.

I have been snapping photos of aircraft that fly close by. This morning I saw a helicopter heading our way and got this pic just as it flew over the house.

Aerospatiale AS-350
From the ADSB Exchange website

Receiving ADS-B on my RPi

ADS-B is a signal that commercial aircraft transmit that indicates their speed, position and heading, among other things.

To receive it you need an RTL-SDR receiver and some decoding software. I recently bought at dongle from NooElec, the NESDR SMArtee. One end plugs into a USB port on the computer and the other end attaches to an antenna.

It came in a bundle with some cheap antennas for listening to broadcast radio as well as one that’s tuned to 1090 Mhz where the ADS-B broadcasts are located.

I installed software called dump1090 on my RPi 4B which decodes the signals from the aircraft and plots them on a map (see below). Pretty cool.

I also installed PiAware which connects to the FlightAware website and transmits the data received to them, which they use to track aircraft all over the world and display on their website. In exchange for feeding them data FlightAware offers a free premium subscription.

I had a problem with the PiAware installation and I don’t have it working properly yet, so I’m not able to connect to FlightAware. But I have noticed that my data is more up to date than what is displayed on the FlightAware website.

But you can see from the screen capture below that I am getting some good data from the aircraft in the area. We live in a busy air traffic area, so this should be interesting.