Click here for
a full-screen version of Darethehair's tracking station
above. Click here for the FlightRadar24 live display centered on Morden, MB, Canada. Click here for the FlightAware live display centered on Winnipeg, MB, Canada. Click here for the PlaneFinder live display centered on Morden, MB, Canada |
ADS-B (Automatic Dependent Surveillance - Broadcast) is a new technology intended to replace the older ATC (Air Traffic Control) PSR (Primary Surveillance Radar) systems for tracking/controlling aircraft. It is different from radar in that it does not depend on controllers in a central location watching radar scopes. Instead, aircraft self-report their GPS position in a networked environment, so pilots can see the entire air traffic picture around them. |
Aircraft equipped with ADS-B
'out' (transmitters) broadcast their ICAO
(International Civil Aviation Organization)
identification, location, elevation, and heading using 'Mode
S' (send) protocol using DF17 (downlink format) on
radio frequency 1090Mhz. These unsolicited radio
broadcasts are known as squitters
(as opposed to responses from ATC interrogations known as
squawks).
More detail on this format is available here,
and on the theory here. |
ADS-B is broadcast without encryption,
allowing reception and decoding by anyone with appropriate
equipment. Until recently, such equipment was fairly
costly (hundreds to thousands of $$$). In 2012, a
Linux enthusiast discovered that an extremely inexpensive
TV tuner USB dongle could be used as the basis of a
Linux-based SDR
(Software Defined Radio) -- with ADS-B being just one of
the radio broadcasts that could be decoded using Linux
software. These DVB-T (Digital Video Broadcasting - Terrestrial) dongles are used to receive digital television signals in those non-North-American countries that have chosen it for their digital TV standards (North America has chosen ATSC (Advanced Television Systems Committee) instead). For the SDR community, these TV dongles are used for a completely different purpose to what they are sold for. These devices that combine a 'Realtek RTL2832U DVB-T COFDM demodulator' with a supported TV tuner such as the 'Rafael Micro R820T tuner' have come to be known as 'RTL-SDR' dongles, and are easily purchased on places like eBay for a minimal cost (~$8 CDN). The included TV antenna is intended just for DVB-T use, and is not optimized for any other purpose -- though it does have a reasonable ability to pick up short-range ADS-B signals even when placed in a home window! Here is a list of other SDR devices that are currently available. The most popular software used to decode ADS-B radio broadcasts at 1090Mhz from RTL-SDR dongles like this is dump1090, available on multiple platforms. The Google map and data display at the top of this page is automatically produced by this software. Other software apps are used for other types of radio signals. |
For hobby purposes, at a minimum, an
RTL-SDR dongle (currently about $8 CDN for R820T-based, or $12 for the
slightly-better R820T2-based)
as suggested above is required in order to receive the
variety of radio broadcasts available on the wide
frequency range that these devices provide -- including
ADS-B aircraft positions. This is quite a bit of fun
for minimal cost! Also as mentioned, the included antenna is not optimal for ADS-B reception, but well-placed (high and clear horizon) it has a range that can sometimes exceed 100nm (nautical miles). For better range, a home-made (for a few $) or commercial ($10 to $180 CDN) antenna is required that is optimized for 1090Mhz. Of course, since the decoding of the ADS-B aircraft signals is done via software, a computer (Linux, Windows, or Mac-based) is required. Recently, those that have desired an inexpensive dedicated computer for RTL-SDR purposes have exploited the new mini-computer phenomena e.g. Raspberry Pi ($50 to $90 CDN), running Linux and dump1090 software. A very useful and easy method for installing a dump1090-based system onto a Raspberrry Pi is with the PiAware software package. |
Although private ADS-B reception is fun on
its own, even more enjoyment can be attained by sharing
one's ADS-B aircraft decoding with other organizations
e.g. FlightAware, FlightRadar24
and PlaneFinder.
In exchange for this, both are willing to provide
'premium' (professional paid web app) access for
free. My FlightAware-registered station is CJA3
(Morden's airport), and my FlightRadar24-registered
station is T-CYWG2 In fact, FlightAware and FlightRadar24 and PlaneFinder all provide free professional high-quality equipment to receive/decode/supply ADS-B aircraft position data if you live in an area in need of additional coverage, and your site is suitable for a 24 hour x 365 day support! No computer is required for these purposes -- just a solid internet connection -- and appropriate holes in your home to connect the receivers to the outdoor antennas. Even with the mismatched TV antenna (in a basement window) that came with my eBay RTL-SDR dongle, I have been able to track aircraft as far as 50-80km away from my location. This is far short of what is possible with a better antenna, but is still quite amazing! UPDATE: With a better antenna designed for 1090Mhz, aircraft signals can occasionally be detected from 450+ km away! |
Flight CPA828 as caught by Dare's RTL-SDR
dongle using 'dump1090' program on Raspberry Pi Linux mini
PC with supplied simple antenna. Notice that the
'squawk' identification of '2604' was also detected.
Here are the bytes that were decoded from the stream by
'dump1090' to detect and plot this flight as it passed by
(port 30002): |
|
Here is the same stream partially decoded by the same program (port 30003): |
|
Here is the same stream partially decoded
by a variation of the Python code py-adsb-decoder
by Junzi Sun: |
|
Flight CPA828 as reported by
FlightRadar24. Notice all the other flights that I
wasn't capable of picking up due to my (currently) limited
antenna range. Here
is a direct link to the FlightRadar24 area centered on
Morden, MB, Canada. |
Flight CPA828 as reported by
FlightAware.
|
Flight CPA828 as reported by PlaneFinder. |
As stated above, DF17 is the 'Mode S'
packet format used for ADS-B aircraft position
information. However, Mode S also describes other
data formats, some which I have also picked up: |
||||||||||||||||||||||||||||||||||||
|
Here is a graph showing the on-board
temperature of the Raspberry Pi running this ADS-B
receiver station (accumulated since the last reboot): |
CartoDB
map showing flights that cross within 10km of Morden (July
28 to August 4, 2015), using data logs generated from my flight-warning
github project: |
Pics of the ADS-B enclosure and
antenna/mast: |