dorkhub

PlaneTracker

Live aircraft tracker that receives radio broadcasts from planes via a radio antenna, decodes them on an RPI 4 and show…

PrzemekWasinski
Python717 forksupdated 1 week ago
git clone https://github.com/PrzemekWasinski/PlaneTracker.gitPrzemekWasinski/PlaneTracker

ADS-B Plane Tracker

This is my ADS-B Aircraft Tracker. It works by picking up signals from aircraft and showing their positions on a radar-style display.

Aircraft in flight continuously broadcast information about themselves, including their location. These radio signals use a technology called ADS-B. My system receives these radio signals using a 1090 MHz radio antenna. The signals are then processed by a software called Dump1090, which decodes the radio messages and converts the data into JSON format that can be used by 'plane_tracker.pu`. Once the aircraft’s latitude and longitude are decoded, the system converts these coordinates into X and Y pixel positions. This allows each aircraft to be displayed accurately on the radar screen in its live position.

Demo Video

plane-tracker-demo-video.mp4

GUI

gui

This is the GUI, it displays aircraft in their live position which get updated everytime a new ADS-B signal is received for that aircraft, after the aircraft is updated the old position is saved on the radar display creating a historical trajectory over time. A mouse can be used to select different aircraft to view their stats such as their altitude, airline, aircraft type and more, if an aircraft is not selected by the user the program will display the stats of the nearest aircraft.

The GUI also includes statistics from the past 24 hours, information about the currently slected aircrfat, logs, system performance, a polar plot to inspect the radio coverage, altitude / distance filters and a toolbar.

How it works

20260414_161829 20260416_201814

The radio antenna receives ADS-B signals on 1090 MHz, which is the standard frequency used by aircraft for these broadcasts. While Dump1090 runs in the background, it tunes a device called an RTL-SDR to this frequency.

An RTL-SDR (Realtek Software Defined Radio) is a low-cost USB device that can receive radio signals and pass them to a computer for processing. In this system, it captures the ADS-B signals and allows them to be converted into digital data.

After the signals are decoded, all further processing is handled by plane_tracker.py. Currently, the system has a maximum observed range of about 150 nautical miles, which allows me to track aircraft over countries such as France and Belgium while operating from England.

Plane Cam

20260405_104031

This system works with PlaneCam to optically track the aircraft that are picked up by the radio antenna. This is doen by converting an aircraft's latitude and longitude into servo motor angles, taking an image when the servo motors are locked onto the aircraft and sending it back over the local network.

Tech Stack

Language: Python
Radar GUI: Pygame
Hardware: Raspberry Pi 4b, RTL-SDR BLOG V4 & 60cm 1090MHz radio antenna

more like this

anne-key

Firmware for Anne Pro Keyboard written in Rust

Rust572

meine

meine 🌒 - A CLI file manager and system utility built with Textual. It combines intuitive command parsing with rich t…

Python50

search

search projects, people, and tags