I’ve written many posts over the last couple of years detailing the steps needed to integrate ADS-B decoder applications (like RTL-1090 and dump1090) with virtual radar display apps (like BaseStation and PlanePlotter). The solutions were mostly complicated by the need to use additional software utilities to massage data streams.
I recently came across a decoder application, though, that does everything you need all in one utility. Want to feed BaseStation and PlanePotter at the same time? No problem. Want to add another data stream for Virtual Radar Server? No problem. Want statistics about the types of data being received? No problem. Want to run it on a variety of platforms, including Windows, Mac OS X, Linux, or the RaspberryPi? No problem.
This little all-in-one solution is called ModeSDeco2, and while it doesn’t have an official website you shouldn’t be put off by that. It’s a versatile, robust command-line utility (don’t be scared!) that will do everything you need to track ADS-B enabled aircraft flying over your home. And it doesn’t need any additional drivers installed to do it.
Step One
Download the application from the link above and uncompress the folder. At this point I suggest changing the name of the uncompressed folder because by default it will have the compile date as part of the folder name, which adds bulk. Let’s simplify this by changing the name to modesdeco. Now move the folder to a location on your hard drive from which you can safely run applications. I’m not going to go into great detail about this because I don’t know which operating system you’re using. But whether you’re a user of Windows, Linux or the RaspberryPi, you’ll know where to put applications.
Step Two
Create a batch file or shell script from which you will run ModeSDeco2. We’re doing this because we need to append parameters to the run command, and – unless you want to type them all in each time you run ModeSDeco2 – adding them to a batch file or shell script is the easiest way. ModeSDeco2 comes with a sample batch/shell script that you can look at or modify to suit your tastes. In Windows you can use Notepad for this. In any of the unix- and linux-based OS’s, including Mac OS X, use a command line text editor like vi or pico. (Make sure the permissions are set correctly so you can execute the shell script once you’ve got it written.)
In Windows, at its most basic, your batch file will look like this:
@echo off cmd /c c:\modesdeco2\modesdeco2.exe PAUSE exit
That tells Windows to open a new command line window and run ModeSDeco2, then wait until the user (that’s you) forces the application to quit by pressing CTRL+C.
In any of the *nix operating systems, including on the RPi, this is simplified into one line:
./modesdeco2
This assumes you have your shell script saved in the same folder as ModeSDeco2. If not (say you’ve saved the shell script to your desktop), then you’ll need to specify a full path to the app, perhaps like this:
/usr/bin/modesdeco2
So now you have a batch file or shell script that will run ModeSDeco2 using the default settings. This means you’ll be able to receive messages from your rtl-sdr dongle and decode them. Assuming you have your rtl-sdr dongle connected to an available USB port, you should initially see something like this:
2015-04-26 19:52:34.553 INFO ModeSDeco2 v.20150308 2015-04-26 19:52:34.608 INFO Magnetic declinations coefficient file wmm.cof load successful 2015-04-26 19:52:35.636 INFO Using device: 0 mnf: Realtek prod: RTL2838UHIDIR serial: 00000013 2015-04-26 19:52:36.653 INFO Supported Gains (dB): 0.0 0.9 1.4 2.7 3.7 7.7 8.7 12.5 14.4 15.7 16.6 19.7 20.7 22.9 25.4 28.0 29.7 32.8 33.8 36.4 37.2 38.6 40.2 42.1 43.4 43.9 44.5 48.0 49.6 2015-04-26 19:52:36.653 INFO Sample Rate: 2.0 MHz 2015-04-26 19:52:36.653 INFO Freq: 1090.0 MHz 2015-04-26 19:52:36.653 INFO Freq Correction: 0 ppm 2015-04-26 19:52:36.653 INFO Gain: Auto
So it’s working, but you’re not able to actually see any info about any of the aircraft it’s picking up. To see some results, you’ll need to add a parameter to the end of your run command:
cmd /c c:\modesdeco2\modesdeco2.exe --verbose
or
Besides the medicines, plentiful physical exercise, cialis discount canada yoga, meditative practices, healthy eating, psychotherapy etc. may help normalizing sleep pattern and sexual life as well. One preferred viagra 100mg pfizer Chinese tonic herb is reishi mushroom. viagra professional 100mg The patients should firstly be clearly examined and diagnosed before they go through the exact way of men, they also desire to complete their research. The Sildenafil citrate effects on the male reproductive system cheap viagra india very effectively. ./modesdeco2 --verbose
That instructs ModeSDeco2 to display all the raw data it receives, which will look like this:
2015-04-26 20:09:45.246 INFO 8D0C602399C4851948588BF2EBAC DF17 Type 19 ICAO: 0C6023 CA 5 NUCR 0 GNSS -250 VSRC 0 VR -1344 TT 326.706 GS 240.468 GR 0 IC 1 SSC 0 IFR 1 TIMESTAMP 1430093385 2015-04-26 20:09:45.507 INFO 5D0C602381F1AE DF11 ICAO: 0C6023 CA 5 GR 0 II 9 TIMESTAMP 1430093385 2015-04-26 20:09:45.509 INFO 5D0C602381F1AE DF11 ICAO: 0C6023 CA 5 GR 0 II 9 TIMESTAMP 1430093385 2015-04-26 20:09:45.574 INFO 02A185B6301E61 DF0 ICAO: 0C6023 ALTITUDE 8350 MBIT 0 QBIT 1 GR 0 RI 3 CC 1 SL 5 TIMESTAMP 1430093385 2015-04-26 20:09:45.770 INFO 02A185B6301E61 DF0 ICAO: 0C6023 ALTITUDE 8350 MBIT 0 QBIT 1 GR 0 RI 3 CC 1 SL 5 TIMESTAMP 1430093385 2015-04-26 20:09:46.296 INFO 8D0C6023582F5102590556D35FA6 DF17 Type 11 ICAO: 0C6023 CA 5 NIC 8 ALTITUDE 8325 QBIT 1 GR 0 TS 0 CPR 0 TIMESTAMP 1430093386
Now it may be that you still aren’t seeing any aircraft data on your screen, and that may be that the gain on your dongle isn’t set high enough. ModeSDeco2 uses auto
by default, but you can specify a gain to use:
cmd /c c:\modesdeco2\modesdeco2.exe --verbose --gain 49.6 or ./modesdeco2 --verbose --gain 49.6
That’s the maximum gain allowed by my dongle. Yours may be different. When you first launched ModeSDeco2, it returned a list of Supported Gains. Use that as a reference.
Now, being able to see the raw data from the aircraft is nice, but wouldn’t it be even better if you could see those planes plotted on an interactive map and see statistics for them? We can do that using the --web
argument, followed by a port number we want to use, like this:
cmd /c c:\modesdeco2\modesdeco2.exe --verbose --gain 49.6 --web 8000 or ./modesdeco2 --verbose --gain 49.6 --web 8000
That starts a web server on port 8000, which you can then access using this url: http://127.0.0.1:8000 Pretty cool, eh? Of course, now that we have the web server and can view the data that way, we no longer need the --verbose
parameter, so you can remove it.
If you want to feed the data from ModeSDeco2 to another virtual radar application, like BaseStation, for example, you can do that by enabling an output specifically for BaseStation:
cmd /c c:\modesdeco2\modesdeco2.exe --gain 49.6 --web 8000 --sbs10001 10001 or ./modesdeco2 --gain 49.6 --web 8000 --sbs10001 10001
That instructs ModeSDeco2 to output a data stream in the format a Kinetic SBS receiver would normally produce on port 10001. You have to specify a port after the --sbs10001
argument, so to keep things straightforward I used port number 10001.
There are many other command line arguments that you can use and combine to make ModeSDeco2 behave the way you want it to. Here’s a complete list:
[csv src=http://sonicgoose.com/wp-content/uploads/2015/04/modesdeco2-params.csv disable=css unsortable=1,2,3]
As mentioned, you can combine these codes to produce more than one output at the same time. For example…
modesdeco2 --gain 49.6 --web 8000 --rbs --sbs10001 10001 --beast 31001 --avrmlat 33003
…would output the data in three different formats on three different ports all at the same time.
In my next post, I’ll talk about running ModeSDeco2 on more than one computer and how to combine the feed from them into a single data stream. The same can also be used to combine streams from other decoder applications with data from ModeSDeco2, or to massage the data from a different decoder application.
Hello Rob,
At first,many thanks for all of your help and your very useful and accurate guides for our hobby!!!
For the modesdeco2 i have to say , that i tried it , i liked it so much!!! , but it’s not better than dump1090…
With modesdeco2 always have fewer and sorter targets on map(VRS)…if someone have a different opinion or an optimal .bat to suggest, please tell it to us!
Thank you. Your guide helped me.
Google Translated 🙂
G’day Rob, thank you for your advice regarding Sergsero’s ModeSdeco2 program.
I’m using an AirSpy dongle on a laptop with Win 10. Able to setup ModeSdeco2 to feed BaseStation as per your instructions and it’s working well, however, no luck with using the Beast configuration to feed PlanePlotter ( –sb10001 10001 –beast 31001) and in PP I/O settings, ticked Mode-S/ADS-B and high lighted the Beast receiver TCP then in Options – Mode-S receiver – Beast receiver – Setup TCP/IP client – 127.0.0.1:31001. Start PP and get the message that MFC application has stopped and PP closes.
Any ideas as to what I’m missing in the setup in either ModeSdeco2 or PP?
Thanks in advance.
Noel
It doesn’t sound like the setup is wrong. It is possible another PlanePlotter setting has become corrupted in the registry. Try this: http://planeplotter.pbworks.com/w/page/17117299/Common%20error%20messages#PlanePlotterMFCapplicationhasencounteredaproblemandneedstoclose
Thanks Rob, tried different fixes but no luck. I somehow think that I have ticked or unticked one of the many settings that’s could be blocking the feed to PP.
Will try to call you on Skype if you don’t mind.
TIA,
Noel
Can modesdeco2 send data to an application not on the same network? I would like to have a RPI3 running modesdeco2 send data over a verizon mifi to an application running on a desktop computer.
n addition I would be collecting data from dump 978 on the same desktop.
I’m pretty new here so expect more questions. I do look for already answered ones but I may miss some.
Thanks