ADSBox: New ADS-B Decoding Software for Linux

Recently Roman, a programmer and reader of RTL-SDR.com wrote in to let us know about his ADSBox software which is a free opensource Linux based ADS-B decoder (page in Russian, use Google Translate) with several interesting features. ADSBox contains a decoder and a nice web interface which allows you to view flight information in a table or in Google maps, or even through a Google Earth interface. The software also automatically loads up a photo of an aircraft if you click on it in the map. Roman has actually been working on ADSBox since 2011 and seems to have recently added RTL-SDR support.

The software can be compiled on a PC with gcc, or on an embedded ARM device with arm-linux-gcc. We gave the software a quick test on an Ubuntu PC and found that it worked as expected. Install instructions are on the page linked above, but just in case here are our notes on compiling the software.

  1. Download and extract the latest version from the bottom of the page into a folder called adsbox on your Linux system. (Latest version at the time of writing: adsbox-20150409.tar.gz. Note that the Google translated download link did not work for us, use the original untranslated link if you need to)
  2. Download and extract the latest sqlite source files from http://www.sqlite.org/download.html (at the time of writing: sqlite-amalgamation-3080900.zip) into a folder called sqlite3 on the same level as the extracted adsbbox folder (not inside adsbbox folder)
  3. Edit the Makefile and set “WITH_RTLSDR = yes”. If cross-compiling for an ARM device set CC = arm-linux-gcc, otherwise leave this setting alone.
  4. Run “make”.
  5. Now you can run ADSBox with ./adsbox –rtlsdr.
  6. Go to 127.0.0.1:8080 in your browser to see and use the interface.
Screenshot of the ADSBox web interface.
Screenshot of the ADSBox web interface.
Subscribe
Notify of
guest

21 Comments
Inline Feedbacks
View all comments
simplio

trying to build it on debian buster. downloaded the sqlite (newest) then extracted it to the same directory level as adsbox but make cant find sqlite3.h

Josef

you need to download/install the sqlite-dev package too. RTLSdr looks for the sqlite dev files in a neighbor folder. I use /adsbox and /sqlite for the sources.Amplitude

Roman

Warning!
A new hosting for ADSBox project was opened here
http://ucideas.org/projects/hard/adsb/index.html
Welcome!

Kevin Angus
Roman

A new working link is above.

josef

Hi Roman

is the site permanentyl down: http://diseqc.alh.org.ua/projects/hard/adsb/index.html or is it only temporary?

Any recent updates to the soures?

regards

Josef

Roman

Hi, Josef,

ADSBox project returned back recently. This hosting looks unstable so I try to find more reliable one. Please email me if you want to get the latest development version (my email is in source archive).

Josef

Thanks for this great tool. After some digging I was able to compile and run adsbox with my rtlsdr. Unfortunately there is an error or misreading: I tried to launch with:
adsbox –lat 51.0991 –lon 6.5095 –http-port 7070 -rtlsdr -agc
But get error message:
ADSBox ADS-B decoder version 20150509.
use –help option to see detailed help.
Init database.
Can’t set latitude for source id 0

I wanted to set the middle of the inital google map.

Is this a bug or do I misunderstand the –lon and –lat arguments?

thanks and regards

~Josef

Roman

Hi, Josef,

your command line arguments are correct except “-rtlsdr -agc”. Do use double dash with arguments as it claimed in adsbox options help (-h or –h option). Probably this is is problem of rtl-sdr.com site fonts. It shows double dash “–” as single one “-“.

Ilu

on my cubieboard running archlinux I get a coredump (see below). Any suggestions?

[ilu@cubieez ~]$ adsbox –http-port 8800 –rtlsdr
ADSBox ADS-B decoder version 20150509.
use –help option to see detailed help.
Init database.
Run SBS-1 data server on port 30003
Run HTTP server on port 8800
Found 1 devices:
0: Realtek, RTL2838UHIDIR, SN: 00000001
Using device 0: Generic RTL2832U OEM
Found Rafael Micro R820T tuner
Supported gains are: 0.00 0.90 1.40 2.70 3.70 7.70 8.70 12.50 14.40 15.70 16.60 19.70 20.70 22.90 25.40 28.00 29.70 32.80 33.80 36.40 37.20 38.60 40.20 42.10 43.40 43.90 44.50 48.00 49.60
Set max available gain 49.60.
Tuned to 1090000000
Exact sample rate is: 2000000.052982 Hz
Segmentation fault (core dumped)

Roman

Ilu,
I can not reproduce your case. Try to run with debug software (strace, valgrind). Send me email for quick reply (find my one at the top of source code files).

dimitry

im getting no data sources i run the command to run adsbox then i just enter all my commands from boot like this login as: pi
pi Kowalski.Marcin.168.0.104‘s password:
Linux (none) 3.18.11+ #781 PREEMPT Tue Apr 21 18:02:18 BST 2015 armv6l

The programs included with the Debian GNU/Linux system are free software;
the exact distribution terms for each program are described in the
individual files in /usr/share/doc/*/copyright.

Debian GNU/Linux comes with ABSOLUTELY NO WARRANTY, to the extent
permitted by applicable law.
Last login: Mon Jul 6 16:37:20 2015 from admin-pc.local
pi@(none) ~ $ sudo su
sudo: unable to resolve host (none)
root@(none):/home/pi# cd adsbox
root@(none):/home/pi/adsbox# ./adsbox -rtlsdr
ADSBox ADS-B decoder version 20150509.
use –help option to see detailed help.
Init database.
Recording data to tlsdr
Run SBS-1 data server on port 30003
Run HTTP server on port 8080

aftert displaying run http server on port 8080 i can go to the site but there is nothing

Roman

Hi, Dimitry,

you should run it as
# ./adsbox –rtlsdr
(Note on double dash)

Regards, Roman

dimitry

i reached that point yeah already found out that copying the commands was not a good idea as it just thinks its a single dash but now i got it so far that i can see planes and stuff but i dont see the pictures of the planes like in the screenshots could you help me with that pls thank you

Roman

Be sure that the host running adsbox has an internet access. Check it with ping 8.8.8.8 on your RPi. Btw some planes has no its image as it stored on airport-data.com.

dimitry

thanks roman and one more qeustion through the sqlite html page how can i update the update speed of positions etc etc and add thinkgs like this
ALT_TYPE TGT_ALT BARO TGT_HDG AP VNAV AHOLD APPR TCAS

because all of this says null

Anonymous

Dimitry,
these values are filled by decoding DF17 type code 29 downlink packet. This is very rare message so you need more time to receive. Once you get it you can see if autopilot is switched on or off; or target altitude was changed – in realtime in log window.

Mark

The site is down currently can’t download it…Roman your software seems really great, can you maybe provide some more reliable hosting for your software? So I can download it.

Roman

Mark,
hosting is working right now. Sorry for delayed reply.

Simon

Hi all,

Don’t use the arm fix on a raspberry pi.
it doesn’t work.
Just use the normal way.

this seems to work fine on a raspbian system.

greetings,
Simon

Roman

Hi, Simon,
CC=arm-linux-gcc is for cross compilation. CC=gcc is for native compilation.
Regards, Roman.