ADS-B Quick Start Installation Guide
last edited: 2024/09/02
This guide will give you a quick and easy to setup system to demodulate and decode ADS-B messages using this Rust software! For a good technical intro into what ADS-B is and how it is decoded, see the following guide.
Hardware
SDR (Software Defined Radio)
If your focus is on ease of use, as well as value(~$25) you should use an rtlsdr Software Defined Radio. A simple one with a filter and amplifier can be bought from adsbexchange.

Antenna
I bought the adsb-exchange antenna, and it serves me well. Make sure you don't have objects obstructing the view from the sky and you should be fine. If you want a super cheap solution, I have seen people talk about a can-tenna.

Connections
You will need a N-Type Male SMA to SMA Male connection cable. You can also find these on store.adsbexchange.com. This will allow you to connect the antenna directly to the rltsdr.
The rtlsdr should be plugged into your computer's USB port.
Software
dump1090_rs
dump1090_rs performs the demodulating of the 1090Mhz signal from an SDR (Software Defined Radio),
as well as forwarding the bytes to our application.
radar
radar parses the ADS-B messages into data that can be displayed on a map.

Linux dependencies
You will need to install the soapysdr library, plus the soapysdr driver for your SDR(rtlsdr).
Searching for soapysdr-rtlsdr and soapysdr should lead you on the right path.
The soapysdr library can be foud as libsoapysdr-dev on ubuntu based systems.
From Releases (x86_64)
Binaries can be downloaded from the latest releases of our software on github.
The following is an example for x86_64.
# download dump1090_rs
> wget https://github.com/rsadsb/dump1090_rs/releases/download/v0.8.1/dump1090_rs-x86_64-unknown-linux-gnu.tar.gz
> tar -xf dump1090_rs-x86_64-unknown-linux-gnu.tar.gz
# download radar
> wget https://github.com/rsadsb/adsb_deku/releases/download/v2024.09.02/radar-x86_64-unknown-linux-gnu.tar.gz
> tar -xf radar-x86_64-unknown-linux-gnu.tar.gz
ARM releases are also available:
(Optional) Install from source for max performance
Instructions
Native CPU features
Building from source is recommended, since many of the DSP(Digital Signal Processing) algorithms benefit from
cpu features such as AVX(Advanced Vector Extensions) on x86 architectures.
These are currently only detected at compile time and is the reason for RUSTFLAGS="-C target-cpu=native" in the following install commands.
Install Compiler
Goto rustup.rs and follow instructions for installing rust and cargo.
The current msrv(minimum supported rust version) is 1.64.0.
Install soapysdr library
You will need the soapysdr library. For example, this is libsoapysdr-dev on ubuntu based platforms.
Clang
Install libclang, found as libclang-dev on ubuntu.
dump1090_rs from master branch
RUSTFLAGS="-C target-cpu=native" cargo install --git https://github.com/rsadsb/dump1090_rs
radar from master branch
RUSTFLAGS="-C target-cpu=native" cargo install --git https://github.com/rsadsb/adsb_deku rsadsb_apps --bin radar
Running!
Here is a sample usage of the software. Both applications have --help output for more options.
The --lat and --long will be the location of your antenna, and the --locations will print on the radar screen.
See Raspberry Pi in-car ADS-B Display - with Rust! for a blog on using this for an in-car ADS-B display.
# run demodulation with default settings for rtlsdr
> dump1090_rs
# run radar
> radar --disable-lat-long --lat="50.0" ---long="50.0" --locations "(one, 100.0,-50.0)" "(two, 50.0, -100.0)"
Questions/Help
- Open up a discussion on rsadsb/adsb_deku for
radarhelp. - Open up a discussion on rsadsb/dump1090_rs for
dump1090_rshelp. - You can also email me @
wcampbell1995[dot]gmail[dot]com.