HomeEngineering Projects For YouDIY Flight Radar: Track Aircraft in Real Time

DIY Flight Radar: Track Aircraft in Real Time

efy tested diy stamp

The purpose of this Flight Radar is to track Unmanned Aerial Vehicles (UAVs), drones, and flights flying overhead. It is not actually connected to any physical radar. Instead, it uses platforms where radar systems around the world feed data about tracked flights, UAVs, and drones. The device connects to these platforms and displays the collected data.

The design connects to Application Programming Interfaces (APIs) and gathers data within a set radius around a configured location, displaying information about what is flying over the selected area. The location can be configured to receive real-time data about flights, drones, and UAVs operating within the selected range.

Multiple APIs can be used to connect to flight data platforms. However, for applications that require a real radar system to intercept actual messages and signals transmitted by UAVs, flight, and drone transponders, an RTL-SDR flight radar module and a radar antenna can be used. Such a setup can also act as a data feeder to the network, allowing flight data to be monitored according to the receiver’s location and shared with the network. This method is explained in another design here: Raspberry Pi Flight Tracker.

In the current design, the ESP chip connects to the OpenSky and OpenData ADS-B APIs to collect real-time flight data within the selected area and displays details such as the callsign, speed, and altitude of each flight.

Flight radar displaying the scanned flight
Fig 1. Flight radar displaying the scanned flight

Bill of Material 

In the design, we will use the ESP32-based IndusBoard Coin to keep the design super small. Otherwise, you can use any ESP32-based development board; the design remains almost the same for all ESP chips. Along with the ESP chip, we will use a display. Here we have chosen the round display that is almost the same size as the IndusBoard Coin, super small, only 3 cm.

ComponentDescriptionQuantity
IndusBoard Coin WIFi MCU board 1
GC9A01 LCD display SPI display 1
USB C cable For flashing firmware 1
3.3V NimH or LiPo Battery / Power Supply 3.3V 1A Power Supply 1

ESP32 Flight Tracker Circuit

The display is connected to the ESP chip according to the circuit diagram. (Refer to Fig. 2)

Circuit of ESP flight radar
Fig 2. Circuit of ESP flight radar 

Code for Flight Tracker

For driving the display, the TFT_eSPI library needs to be installed. The display type, board, and pin connections must then be configured.

Go to Libraries → TFT_eSPI → User_Setup file.

In the TFT_eSPI library, the display driver needs to be configured first. All other display models should be commented out, while the GC9A01 display should be uncommented. The pins used to connect the display are then configured before saving the file.

Configuration of user_setup.h file for display driver type and pins
Fig 3. Configuration of user_setup.h file for display driver type and pins

The firmware first checks the configured SSID and password and attempts to connect to the specified Wi-Fi network. If the connection fails, the device starts a Wi-Fi hotspot and waits for the Wi-Fi credentials to be configured.

The same portal webpage also allows configuration of the timezone, the location from which flights are to be scanned, and the Wi-Fi SSID and password. Once the configuration is complete, the settings are saved and the device restarts.

During the next power-up, the device starts with the saved location and Wi-Fi network configuration. After connecting to the Wi-Fi network, it calls two APIs to fetch flight data within the configured radius. The first source is OpenData ADS-B, followed by the OpenSky API.

After the data is fetched, the display shows the flight information along with the distance from the configured location. Data obtained from each API is displayed in different colours for easier identification. Information such as the flight name, speed, and altitude is updated in real time.

The scan radius can be configured through the same access-point mode, with options ranging from 5 km to 30 km. Larger ranges are also possible, although displaying data from a wider area may make the screen crowded.

Code snippet adding the library in code
Fig 4. Code snippet adding the library in code

Testing

The device is powered using a 3.3V supply or LiPo battery. It then creates its own Wi-Fi hotspot. After connecting to the hotspot, the configuration page opens automatically (Refer Fig. 5).

The configuration page allows the Wi-Fi SSID and password, latitude and longitude of the location, scan radius (5 km, 10 km, 15 km, or 30 km), and timezone to be configured.

After all the settings are configured, clicking Save stores the configuration and restarts the device. It then automatically connects to the configured Wi-Fi network and starts displaying flight data in real time (Refer Fig. 6).

Connection with device Wi-Fi and configuration of location and WiFi for the  device
Fig 5. Connection with device Wi-Fi and configuration of location and Wi-Fi for the  device
Device showing the flights scanned overhead and showing on the LCD
Fig 6. Device showing the flights scanned overhead and showing on the LCD
Loading form…
Ashwini Sinha Inventor of IndusBoard Coin from EFY Labs
Ashwini Sinha Inventor of IndusBoard Coin from EFY Labs
A tech journalist at EFY, with hands-on expertise in electronics DIY. He has an extraordinary passion for AI, IoT, and electronics. Holder of two design records and two times winner of US-China Makers Award.

SHARE YOUR THOUGHTS & COMMENTS

EFY Prime

Unique DIY Projects

Truly Innovative Electronics

Electronics News

Latest DIY Videos

Electronics Components

Electronics Jobs

Calculators For Electronics