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.

21 comments

  1. 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

      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).

  2. 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 “-“.

  3. Ilu

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

    [[email protected] ~]$ 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).

  4. 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
    [email protected]‘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
    [email protected](none) ~ $ sudo su
    sudo: unable to resolve host (none)
    [email protected](none):/home/pi# cd adsbox
    [email protected](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

      • 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.

  5. 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.

  6. 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

Post a comment

You may use the following HTML:
<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>