The technology used by Flightradar24 is based on ADS-B technology.
Automatic Dependent Surveillance – Broadcast (ADS–B) is a cooperative surveillance technology in which an aircraft determines its position via satellite navigation and periodically broadcasts it, enabling it to be tracked. The information can be received by air traffic control ground stations as a replacement for secondary radar. It can also be received by other aircraft to provide situational awareness and allow self separation.
ADS–B is “automatic” in that it requires no pilot or external input. It is “dependent” in that it depends on data from the aircraft’s navigation system.
1. Hardware
– 1 Tiny computer (Raspberry pi)
– 1 DVB-T USB receiver (usually used to receive HD TV on computers)
– 1 WiFi dongle
2. Software
– OS : Raspbian
– Driver : Rtl-sdr
– Decoder : Dump1090, a simple Mode S decoder for RTLSDR devices
– Data feeder : FR24 Data feeder
3. Installation
We’ll assume that your OS (Raspbian) is installed and the network is configured.
3.1 Preparation
Update your system and install some software that we’ll need later (to compile) :
sudo apt-get update sudo apt-get upgrade sudo apt-get install git cmake libusb-1.0-0-dev build-essential
3.2 Rtl-sdr driver
Clone it from git, compile and install :
git clone git://git.osmocom.org/rtl-sdr.git cd rtl-sdr mkdir build cd build cmake ../ -DINSTALL_UDEV_RULES=ON make sudo make install sudo ldconfig cd ~ sudo cp ./rtl-sdr/rtl-sdr.rules /etc/udev/rules.d/ sudo reboot
3.3 Decoder: Dump1090
Clone it from git, compile and test:
cd ~ git clone git://github.com/flightradar24/dump1090 cd dump1090 make ./dump1090 --interactive --net --net-http-port 8080
You may encounter this issue :
Found 1 device(s): 0: Realtek, RTL2838UHIDIR, SN: 00000001 (currently selected) Kernel driver is active, or device is claimed by second instance of librtlsdr. In the first case, please either detach or blacklist the kernel module (dvb_usb_rtl28xxu), or enable automatic detaching at compile time. usb_claim_interface error -6 Error opening the RTLSDR device: Device or resource busy
This is due to a conflict with the dvb_usb_rtl28xxu module.
Unload the module :
sudo modprobe -r dvb_usb_rtl28xxu
And blacklist it to avoid any future problem by editing the blacklist configuration file :
sudo vi /etc/modprobe.d/rtl-sdr-blacklist.conf
And add the following lines :
blacklist dvb_usb_rtl28xxu
Then try again :
./dump1090 --interactive --net
You should see some planes :
The option “–net” enable a web interface :
http://X.X.X.X:8080 (replace by the Raspberry Pi address).
The web interface :
3.4 Feeder: Flightradar24
They did a script, you should just follow the instructions :
sudo bash -c "$(wget -O - http://repo.feed.flightradar24.com/install_fr24_rpi.sh)"
When it’s done, you can start the service :
sudo service fr24feed start
You can check the feeder status by using the following command :
service fr24feed status
Here is a standard output :
● fr24feed.service - LSB: Flightradar24 Decoder & Feeder Loaded: loaded (/etc/init.d/fr24feed) Active: active (running) since Sun 2016-02-21 12:48:08 UTC; 3min 8s ago Process: 29717 ExecStop=/etc/init.d/fr24feed stop (code=exited, status=0/SUCCESS) Process: 29871 ExecStart=/etc/init.d/fr24feed start (code=exited, status=0/SUCCESS) CGroup: /system.slice/fr24feed.service ├─29888 /usr/bin/fr24feed -- --monitor-file=/dev/shm/fr24feed.txt --write-pid=/var/run/fr24feed.pid --quiet --log-base=/var/log/fr24feed --log-... └─29909 /usr/lib/fr24/dump1090 --net --raw
To go further, you can inspect the log file :
tail -f -n 100 /var/log/fr24feed.log
Here is a standard output, just after starting the application:
2016-02-21 12:48:08 | [main][i]FR24 Feeder/Decoder 2016-02-21 12:48:08 | [main][i]Version: 1.0.16-11/generic 2016-02-21 12:48:08 | [main][i]Built on 20160128-1017 (r:HEAD-796dd01.git/Linux/armv7l) 2016-02-21 12:48:08 | [main][i]Copyright 2012-2016 Flightradar24 AB 2016-02-21 12:48:08 | [main][i]http://flightradar24.com 2016-02-21 12:48:08 | [main][i]DNS mode: LIBC 2016-02-21 12:48:08 | [main][i]Automatic updates are DISABLED 2016-02-21 12:48:08 | ERROR 2016-02-21 12:48:08 | [main][i]Reader thread started 2016-02-21 12:48:08 | [time][i]Synchronizing time via NTP 2016-02-21 12:48:08 | [reader][i]Initializing reader 2016-02-21 12:48:08 | [reader][i]Connecting to Generic receiver via (exe:///usr/lib/fr24/dump1090 --net --raw) 2016-02-21 12:48:08 | [master][i]Starting processing thread 2016-02-21 12:48:08 | [httpd][i]Server started, listening on 0.0.0.0:8754 2016-02-21 12:48:08 | [reader][i]Connected to the receiver, configuring 2016-02-21 12:48:08 | [reader][i]Configured, processing messages 2016-02-21 12:48:09 | [reader][w]Setting new UTC offset: 0! 2016-02-21 12:48:13 | [time][i]Time synchronized correctly, offset +0.0024 seconds 2016-02-21 12:48:13 | [main][i]Feed Network client started 2016-02-21 12:48:13 | [feed][i]Downloading configuration 2016-02-21 12:48:15 | [feed][c]Interval: 5s 2016-02-21 12:48:15 | [feed][c]Latitude: 1.3517 2016-02-21 12:48:15 | [feed][c]Longitude: 103.9376 2016-02-21 12:48:15 | [feed][c]GND: YES 2016-02-21 12:48:15 | [feed][c]NonADSB: YES 2016-02-21 12:48:15 | [feed][c]Timestamps: optional 2016-02-21 12:48:15 | [feed][c]Max range AIR: 350.0nm 2016-02-21 12:48:15 | [feed][c]Max range GND: 100.0nm 2016-02-21 12:48:15 | [feed][i]defined 1 server 2016-02-21 12:48:15 | [feed][n]WSAP27@83.140.21.66:8099/UDP 2016-02-21 12:48:15 | [feed][n]connecting 2016-02-21 12:48:15 | [stats][i]Stats thread started 2016-02-21 12:48:36 | [feed][n]connected via TCP (fd 8) 2016-02-21 12:48:36 | [feed][n]switching to UDP 2016-02-21 12:48:36 | [feed][n]working 2016-02-21 12:48:37 | [feed][i]sent 3 AC in 1 packet 2016-02-21 12:48:40 | [feed][i]removed 1 of 6 AC 2016-02-21 12:48:43 | [feed][i]sent 6 AC in 1 packet
As mentioned in the log, there is a web interface as well :
http://X.X.X.X:8754(replace by the Raspberry Pi address).
The web interface :
You can adjust your settings (restart the software is needed) :
You can see the list of tracked planes (here in Singapore) :
Happy tracking 🙂
Best setup guide for ADS-B setup available.
The ultimate up to date resource to refer to and get up and running quickly when things go South.
Thanks !
Very true!
Thanks, this one saved my day! Just upgraded my Ubuntu from 14.04 to 16.04 and my feeder failed. Followed this until the feeder download and now everything works just great. THX!
Would you like to host a radarbox24 receiver in Singapore?
Nop thanks !
YOU NEED QUALITY VISITORS for your: fontenay-ronan.fr
My name is Reina, and I’m a Web Traffic Specialist. I can get:
– visitors from search engines
– visitors from social media
– visitors from any country you want
– very low bounce rate & long visit duration
CLAIM YOUR 24 HOURS FREE TEST
ContactMe: ventfara@mail.com