Flightradar

Flightradar is a project utilizing a RTL-SDR for real time flight mapping.

Flightradar uses a RTL-SDR for receiving ADS-B data sent by MODE-S compatibile aircraft transponders. Frontend and backend for this project are available on Github. The frontend was copied from my Vatsim project (with significant modifications which mainly involved removing most of the features) while the backend was created from scratch using Go.

The live version of this project is available here. Click on the planes to see more details about them and click in the bottom left to toggle the polar range chart.

The Antenna

Currently, my setup uses a stock dipole antenna which was provided with my RTL-SDR kit; however I plan on constructing a custom weather-proofed antenna in the near future. I do not use additional amplifiers or filters since my reception range is mainly limited by the surrounding buildings obstructing my view of the horizon.

The SDR

For now I use a very basic kit available form the RTL-SDR community website. The kit is listed as "RTL-SDR Blog R820T2 RTL2832U 1PPM TCXO SMA Software Defined Radio with Dipole Antenna Kit" in the store available on the website.

Communicating with the SDR

In order to avoid implementing message decoding myself I use a fork of a popular dump1090 program. The program communicates with the SDR, parses the incoming ADS-B messages and exposes a web interface which can be used to retrieve the messages. The messages can also be printed directly to standard output and the program provides its own implementation of a realtime map, if you don't feel like writing your own version.

Processing the messages

The backend which I have written downloads the messages from dump1090 and stores them locally in the filesystem. It exposes a JSON API which can be used to selectively retrieve the collected data points based on the time or involved aircraft.

Real time map

The frontend displays the real time map of the tracked aircraft, short flight history for each aircraft, the list of last sightings of the given aircraft and a range graph which displays the furthest detections in every direction for a given time range. The project is very rudimentary and doesn't use any frameworks apart from libraries such as jQuery or OpenLayers.