Interfacing FlightAware Prostick Plus V1.0 using C/C++


I recently purchased a FlightAware Prostick Plus V1.0.

I has been in an effort to interface this in Linux (Redhat 7) using C/C++ program and read and decode the flight positions.

I request for any help / reference towards this effort.

Normally in case of GPS dongle, I used to connect it and configure respective port (like /deve/ttyUSB0) and read the port.

But in case of the FlightAware Prostick dongle, when I’m connecting it on the USB, the dmesg command does not give any indication of port no. where it is connected (like /dev/ttyS0 or /dev/ttyUSB0). Also I could not find other configuration parameters like baud rate etc.

It will be a great help If somebody can share details regarding this.

Thanks in advance.

Shibumon Alampatta

The dongle itself is just running as a general-purpose SDR. You can use librtlsdr to handle the heavy lifting of tuning the SDR and receiving raw samples, but at that point they’re just raw samples - not ADS-B messages. You will want to run a demodulator such as dump1090-fa ( to identify and demodulate the messages.

dump1090 can produce decoded messages in a few different formats and provides those on various TCP ports. Try 30005 for “Beast-format” messages (demodulated but not decoded) or 30003 for “Basestation” messages (a CSV-like format that decodes and interprets the messages, but is somewhat less flexible than decoding them yourself)

For handling beast-format data from port 30005 in C++ you may find code from beast-splitter (BSD licensed) useful: …

Thank you very much for the details. I tried it out and it works.
We have to first install librtlsdr and after that compile and run the dump1090.
Running ./dump1090 prints out the few decoded strings on the terminal.

However I’m facing an issue of system reboot after I disconnect the Prostick or if I run ./dump1090 >> messages.txt to save the output into a file. Any guidance to av0id such rebooting of the system?

Thank you very much.