Installing and Running Dump1090 on MacOS

Dump1090 (and GQRX) are both Linux programs. Linux is a Unix derivative. MacOS is also a Unix derivative, so Linux programs can compile on MacOS with some help. We need a couple of things

  1. The MacOS development environment XCode, and its command line tools.

  2. A package manager to organize all of the Linux support routines we will need. Two are Brew and MacPorts. We'll use MacPorts here.

  3. The source code for Dump1090, which we'll get from GitHub

  4. A few bits and pieces to get a display going

All of this takes a fair amount of disk space (10-15 GB), and some time. However, once you've got this going, there is lots of interesting software you can install from the Linux world.

Installing MacPorts

We'll start with installing MacPorts. The program itself comes as a .dmg file that you can download from macports.org. The “Installing MacPorts” tab at the top is the place to start. Note that you need to install XCode, and then also the XCode Command Line Tools, and then agree to the license from the command line. It is well described, but a little odd!

MacPorts itself is just a package manager, just like apt-get in Linux. Once you have it installed, you can start to download and build the packages you'll need to compile and link Dump1090.

Running MacPorts

I usually start by building GQRX, because it pulls in just about everything you need for any radio related project. To do this you would run

> sudo port selfupdate
> sudo port install help2man
> sudo port install gqrx

The first command just updates the package data base. The “> ” is the command line prompt I use, yours will be different. The second command installs a package that is needed later, but doesn't get automatically installed like it should.

This will go away for about 45 minutes while it builds a vast array of packages. When it is done you can run gqrx. It is installed in “/opt/local/bin”, so if that is in your path, you can just type “gqrx” at the command line, and it will run. If not, just use the whole path. The nice thing about MacPorts is that most of the software is pretty up to date, so this is a more recent version of gqrx and that one we downloaded.

You can get away with less by just compiling the packages you'll need for Dump1090. This would be

> sudo port selfupdate
> sudo port install rtl-sdr libusb

This will be much faster. It just builds the drivers for the rtl-sdr.

Building Dump1090

Once you have these, you can download and compile Dump1090. There are many versions available. We'll use the one that is supported by FlightAware, one of the flight tracking web sites we talked about. First go to directory where you want to build the code, and then download the package

> git clone https://github.com/flightaware/dump1090

This will create a “dump1090” directory. Then

> cd dump1090
> make

This will compile and link everything in a few seconds. At this point you can plug in your rtl-sdr, and then run

> ./dump1090 --interactive

and start tracking planes using the text interface. That shows you that everything is working.

Getting the Web Interface Going

Dump1090 handles all of the acquisition and processing of the signals, but doesn't handle displaying the planes on a map. For that we'll need a web server, and a browser. There are lots of options here. Everything you need for the web server is in the “public_html” subdirectory. Go there in a terminal, make a data directory, and then start a web server with

> mkdir data
> python3 -m http.server 8090 &

You can also use “python2.7 -m SimpleHTTPServer 8090 &” if you prefer python 2. Both work.

Then go back to the dump1090 directory using another terminal window and start up Dump1090 with

> ./dump1090 --interactive --net --write-json public_html/data --aggressive

The reason for a new terminal is that the web server will be spewing text, which makes it hard to tell what you are doing. The aggressive switch just means to try harder to extract packets. This version of dump1090 was intended for Raspberry Pi's, and your laptop has more power than a Pi!

Finally, open your favorite web browser, and enter “localhost:8090” in the search bar at the top. This points to the server you just started above. You should see something like this:

If you have any problems, just let me know and we can set up a time to debug things. Good luck!