All aircraft contain a piece of avionics technology called a transponder. This contains a receiver, and a transmitter. When the signal from ground radar is received, the transponder transmits a short burst on 1090 MHz, encoded with information.
There are several possible replies from an aircraft transponder:
- Mode A replies with a target ID code
- Mode B replies with the barometric altitude of the plane
- Mode S, also called the Extended Squitter, is the one we’re interested in.
Mode S, also called ADS-B allows a variety of types of data to be sent from the transponder, including:
- ICAO aircraft code (the tail number of the plane can be obtained from this)
- Flight Number
- Location (Longitude and Latitude)
There’s an online document called ADS-B for Dummies that goes through the various messages, and their format.
Since the RTL dongles can receive 1090 MHz at a wide bandwidth, it turns out to be possible to use them as low cost transponder decoders. Very low cost. You can pick them up for around $15 on eBay. Dedicated ADS-B receiver packages are more. Much more. As in hundreds of dollars.
There are quite a few packages out for the RTL dongles that decode ADS-B transmissions. For Windows, there’s ADSB#:
For linux and Mac OS X, there’s Dump1090
The columns across the screen:
- Hex – the ICAO code for the plane
- Flight – flight number
- Altitude – altitude in feet
- Speed – speed in mph
- Lat – latitude of position
- Lon – longitude of position
- Track – heading in degrees
- Messages – the number of messages from this plane that have been received
- Seen – how long ago (in seconds) since the last message from the plane, that is, how long since it has been last seen (or heard from)
I’ve since ported the Dump1090 code over to Cocoa on Mac OS X, resulting in Cocoa1090:
Cocoa1090 uses the ICAO hex code to derive the tail number (and aircraft model) from a database in a text file, which are also displayed.
A beta version of Cocoa1090 can be downloaded here: http://www.blackcatsystems.com/software/cocoa1090.html