With the application of new regulations all around the world, one noticeable trend is the widespread use of ADS-B (Automatic Dependent Surveillance-Broadcast) detection modules on drones. Prominent companies like DJI have integrated these modules into their fleets, and ArduPilot has been supporting ADS-B integration for years even before DJI, thanks in large part to CubePilot and UAvionics. These small, integrated modules, such as those found in CubeOrange baseboards, are revolutionizing drone safety. In this post, we will delve into the world of ADS-B, exploring how to build your own ADS-B receiver.
ADS-B stands for Automatic Dependent Surveillance-Broadcast, a technology originally designed for aviation purposes. It allows aircraft to autonomously broadcast essential data, including their identity, position, altitude, velocity, and other relevant information, to both ground stations and other aircraft. This information is transmitted using specific radio frequencies.
This is only a resume as you can find good explanations online.
ADS-B data is broadcasted via radio signals, making it accessible to anyone with the right hardware and knowledge to decode it, and we will see that isn’t much complex nor expensive. This capability provides crucial information, such as the sender’s position, heading, and speed, which is invaluable for drones, primarily for avoiding collisions with manned aircraft, a potentially life-threatening scenario. You can find how to use those data into ArduPilot in our dedicated wiki page : ADS-B — Copter documentation
Building an ADS-B receiver is not only affordable but also legal. All you need is a computer and a radio receiver. One of the most cost-effective options is to use a USB TV tuner, which can be easily configured to listen to ADS-B signals.
In my case, I repurposed an old Android TV box (approximately €35) and used a FlightAware Pro Stick® Plus (around €50 with an antenna).
The ADS-B community offers various software options, but I opted for Linux and Docker due to my familiarity with them and to reuse the board with other fun projects. I installed Armbian into my Android TV Box, a user-friendly process described here for TV boxes or here for generic SBC. It was quite nice to reuse some old but functional hardware for this !
For ADS-B decoding, I chose this guide, which is excellent for newcomers because of its straightforward configuration. Follow the guide to install the ultrafeeder and enable as many modules as you want, you can also share your data with some ADS-B aggregators like flightradar24 or flightaware to have a gold account.
Depending on your choices, you should have at least the default tar1090 web page (BOARD-IP:8080), displaying the received plane signals.
While my antenna position may not be ideal (on my roof with no signal filter), it still provides a good tracking range of up to 150km.
And of course, you can send this to MissionPlanner too.
In MissionPlanner, navigate to the config tab and use the ADS-B tickbox to input your receiver’s information. If you’re using the ultrafeeder like me, make sure to expose the SBS/Basestation protocol output in your docker-compose.yml file, like this:
ports: - 8080:80 # to expose the web interface - 30003:30003/tcp
With minimal hardware investment, you can explore the fascinating world of aeronautical technology and enhance the safety of your drone flights. However, it’s essential to note that not all aircraft emit ADS-B signals, particularly smaller planes and some military aircraft. Therefore, while having an ADS-B system that feeds your Ground Control Station or drone is beneficial, it should never replace your vigilance regarding the surrounding airspace.
In this post, we’ve only scratched the surface of ADS-B capabilities. The software offered by sdr-enthusiasts also allows you to receive radio communications from planes, ACARS and VDL-M2 messages, and even AIS data related to ships and vessels. Not to mention Planefence, which can notify you when interesting planes, such as military or presidential aircraft, pass over your receiver.
If you need a reason to install yet another antenna on your roof, involve your kids in this exciting endeavor. Let them explore ADS-B tracking and challenge them to identify the corresponding planes in the sky. It’s a fun and educational activity that can spark their interest in aviation technology.