InmarScope: Multi-Channel Inmarsat Decoder for Windows!

AD8NT

Sarah Rose
Joined
Jun 24, 2012
Messages
328
Reaction score
558
Hi there.

The problem is that the channels are so crammed together that they interfere with each other. Its less of a problem with JAERO which makes me think this more down to a bandwidth/priority problem within Inmarscope than with my setup. However as i stated in the previous post, stronger signal strength the less likely it will happen. Also the fact that i can uncheck and check it again on the exact same frequency and the problem usually solves itself makes me suspect there is something within the program.

Elevation at my QTH is at the moment 16 degrees above the horizon. The highest it will get is about 18. Still getting quite strong signal strength now with an Eb N0 value of 14 on the 10500 bps channels.

The helical is a DIY design. You might be thinking about the Nolle Engineering antenna, which i considered buying. Glad i did not as these are not that difficult to make on your own at a fraction of a cost..

In fact the ground plane of my antenna is a 19cm Danish butter cookies tin lid;)

John
DM'd you a test build, let me know if it's any better.
If you can get me an IQ recording of this happening that would be great (IQ recorder has an adjustable ring buffer)
 

jom79

Member
Joined
Oct 9, 2025
Messages
25
Reaction score
17
DM'd you a test build, let me know if it's any better.
If you can get me an IQ recording of this happening that would be great (IQ recorder has an adjustable ring buffer)
Thank you! Give me a few days and i will give some feedback how its working, and a IQ recording if not.

John
 

oz9afp

Member
Premium Subscriber
Joined
Jan 11, 2013
Messages
35
Reaction score
14
Location
Risskov
Small request: it would be really nice if the "Voice Calls" tab included the the type of call shown in C-channel tab. Another way could be to include type of call in filename.
 

wa8pyr

Retired and playing radio whenever I want.
Staff member
Lead Database Admin
Joined
Sep 22, 2002
Messages
8,200
Reaction score
5,114
Location
Ohio
I'd love to support them but don't have them to test against currently.
You are correct, those are not currently supported.
Currently it supports: RTL, HackRF, 8bit IQ files and SDR++ Servers.
I have an SDRPlay Duo and a Windows virtual machine (running on VMWare Fusion, MacOS on an M4 Mac mini). I have the SDRPlay API installed and can fiddle with the software. What do you need to check functionality?
 

jom79

Member
Joined
Oct 9, 2025
Messages
25
Reaction score
17
I have been testing the build now for a couple of days. Unfortunately the rain and a rather severe case of ionospheric scintillation happened late last night which pretty much made L-band unusable until early this morning.

Here is how bad it can get just within a couple of minutes:
Watch 2026-07-02 20-00-47 | Streamable

Living in Norway has it benefits. This is not one of them...

I do not know what Sarah did to this build, i am guessing tightening the bandwidth even further (6.4 kHz?) But i am pretty confident that the problem with leakage from nearby channels is now gone. This picture shows the 3 first 8400 bps channels occupied at once. All channels decoded well, including the middle one.

Mellomlager.png

However. I will give JAERO the edge when it comes to decoding weaker signals. Here is a IQ recording using the RTLSDR patch antenna under less ideal conditions (rain, heavy cloudfall) where 3 voice channels are received at 4-5 Eb/N0. The results are choppy and incoherent. I quickly switched to SDR++ and JAERO and although the constellation was a bit messy all channels decoded just fine.

Secure File Sharing - Filemail

Infact using Inmarscope with weak signals feels very much like using JAERO if you have the output volume of the source SDR software adjusted too low. Like its balancing on the threshold of working.

I have also noticed a tendency where under even strong signals the constellation is rotating about 25-30° side to side before settling down. Even though the Eb/N0 value does not change. This can happen anywhere in the duration of the signal and it can cause drop outs.

As it is now unless you can find an obvious solution i would leave it as it is on this build. Considering that the program got posted on RTLSDR blog you will get more users which will result in more feedback.

This post might sound harsh but it was never supposed to be. Its just constructive criticism from my part. Its some great work you have been doing here and i hope you continue working on it:)

John
 

mtindor

FMP24 PRO USER
Database Admin
Joined
Dec 5, 2006
Messages
12,220
Reaction score
3,490
Location
Carroll Co OH / EN90LN
I have an SDRPlay Duo and a Windows virtual machine (running on VMWare Fusion, MacOS on an M4 Mac mini). I have the SDRPlay API installed and can fiddle with the software. What do you need to check functionality?

It was mentioned before that devices that aren't supported aren't currently supported because she does not have access to the device for development.
 

oz9afp

Member
Premium Subscriber
Joined
Jan 11, 2013
Messages
35
Reaction score
14
Location
Risskov
FWIW I made a IQ file. Center frequency is 1546.0911
Set the 2 x 10500 as channels and activate "Follow c-channel voice"
When you start shortly after a voice channel is established (1546.1425) - and note that the constellation makes a short flicker and then hops to voice channel. It is probably of no worth I send it - only thing is you get a chance to check as an example.

iq-file
 

AD8NT

Sarah Rose
Joined
Jun 24, 2012
Messages
328
Reaction score
558
I will take a look, thanks everyone for your feedback and support. Sounds like we need to work on weak signal reception next.
 

PD0PDA

Newbie
Joined
Sep 16, 2022
Messages
4
Reaction score
0
Hi Sarah,

i only have a white screen when i look at flightmaps, i have version 1.0.15
 

wa8pyr

Retired and playing radio whenever I want.
Staff member
Lead Database Admin
Joined
Sep 22, 2002
Messages
8,200
Reaction score
5,114
Location
Ohio
It was mentioned before that devices that aren't supported aren't currently supported because she does not have access to the device for development.
The point of my offer was to provide anything that might be needed so that support could be added, in case you missed it.
 

AD8NT

Sarah Rose
Joined
Jun 24, 2012
Messages
328
Reaction score
558
The point of my offer was to provide anything that might be needed so that support could be added, in case you missed it.
At some point I can put together a test build for you to try out
 

jlmarc33

Member
Joined
Oct 21, 2020
Messages
17
Reaction score
4
Location
France
Hi Sarah,
I was able to successfully compile and test InmarScope using the latest versions of MSYS2 with the sources available on Github.
Here is the result of my first tests (I-3 F5 and I-4A F4), with some remarks and difficulties noted.

First of all, congratulations on this software which advantageously complements the JAERO and SCYTALE-C applications in terms of general ease of use, integrated view of the data in the same graphical interface, and the possibility of directly parameterizing the AERO and STD-C decoders in the spectrum.
I was able to test the application with a HackRF using a 10 Mbps Sample Rate. I didn't have any particular difficulty configuring and viewing the AERO and STD-C channel types. I was also able to make IQ recordings in WAV format to be able to play them without SDR. Notable features include configurable Band Plan with JSON files, automatic identification of STD-C channels from the NCS channel, and C-channel tracking option.

Here are some notes on the compilation actions, and a few difficulties encountered.
. The latest source version available on Github makes it much easier to find suitable third-party libraries (imgui, implot, libacars).
. Inmarscope can now be compiled without errors with the libvorbis, libogg, libxml2 packages.
. The Jansson package that can be used by libacars cannot, however, be integrated without blocking the compilation process.
. I noticed that the use of the BabelStoneFlags.ttf font and its size adjustment, set in Display, are only valid when the app is launched in the build directory

I own an Airspy Mini, and I still can't get it recognized by Inmarscope. I can easily compile the sources of the Airspy SDR (GitHub - airspy/airspyone_host: AirSpy's usemode driver and associated tools) with mingw64 to generate the libairspy.dll library and Tools utilities. After several tests, it is impossible for me to correctly configure the Inmarscope compilation to ensure this SDR recognition... Do I need to change specific configuration files? Complete the third_party/airspy directory?
Thank you to provide some details on this integration process.
 

AD8NT

Sarah Rose
Joined
Jun 24, 2012
Messages
328
Reaction score
558
Hi Sarah,
I was able to successfully compile and test InmarScope using the latest versions of MSYS2 with the sources available on Github.
Here is the result of my first tests (I-3 F5 and I-4A F4), with some remarks and difficulties noted.

First of all, congratulations on this software which advantageously complements the JAERO and SCYTALE-C applications in terms of general ease of use, integrated view of the data in the same graphical interface, and the possibility of directly parameterizing the AERO and STD-C decoders in the spectrum.
I was able to test the application with a HackRF using a 10 Mbps Sample Rate. I didn't have any particular difficulty configuring and viewing the AERO and STD-C channel types. I was also able to make IQ recordings in WAV format to be able to play them without SDR. Notable features include configurable Band Plan with JSON files, automatic identification of STD-C channels from the NCS channel, and C-channel tracking option.

Here are some notes on the compilation actions, and a few difficulties encountered.
. The latest source version available on Github makes it much easier to find suitable third-party libraries (imgui, implot, libacars).
. Inmarscope can now be compiled without errors with the libvorbis, libogg, libxml2 packages.
. The Jansson package that can be used by libacars cannot, however, be integrated without blocking the compilation process.
. I noticed that the use of the BabelStoneFlags.ttf font and its size adjustment, set in Display, are only valid when the app is launched in the build directory

I own an Airspy Mini, and I still can't get it recognized by Inmarscope. I can easily compile the sources of the Airspy SDR (GitHub - airspy/airspyone_host: AirSpy's usemode driver and associated tools) with mingw64 to generate the libairspy.dll library and Tools utilities. After several tests, it is impossible for me to correctly configure the Inmarscope compilation to ensure this SDR recognition... Do I need to change specific configuration files? Complete the third_party/airspy directory?
Thank you to provide some details on this integration process.
Glad you were able to get it compiled :)
I'll look into the font issue sometime this week.

Regarding Airspy, it was only tested with an Airspy R2. I have an Airspy mini on the way to work on why it's not detecting it properly.
 

jlmarc33

Member
Joined
Oct 21, 2020
Messages
17
Reaction score
4
Location
France
After diving into the imgui documentation since the 1.92 update (new-dynamic-fonts-system), here is a quick code change made in the main.cpp file, to use the Roboto-Medium.ttf font copied to a local subdirectory of the InmarScope application (/fonts directory).

// Font: use Roboto-Medium (vendored TTF, scales cleanly at any size). // Clamp to sensible range and scale the style sizes proportionally. if (app.fontSize < 8) app.fontSize = 8; if (app.fontSize > 24) app.fontSize = 24; //{ // const char* fontPaths[] = { // "third_party/imgui/misc/fonts/Roboto-Medium.ttf", // "../third_party/imgui/misc/fonts/Roboto-Medium.ttf", // }; // // bool loaded = false; // for (auto& fp : fontPaths) // { // FILE* f = std::fopen(fp, "rb"); // if (f) { std::fclose(f); loaded = (io.Fonts->AddFontFromFileTTF(fp, (float)app.fontSize) != nullptr); break; } // } // if (!loaded) // io.Fonts->AddFontDefault(); // fallback to built-in ProggyClean //} // Local Font initialization ImFont* pFont = io.Fonts->AddFontFromFileTTF("fonts/Roboto-Medium.ttf", 16.0f); ImGui::pushFont(pFont); ImGui::GetStyle().ScaleAllSizes((float)app.fontSize / 13.0f);
 

AD8NT

Sarah Rose
Joined
Jun 24, 2012
Messages
328
Reaction score
558
InmarScope now builds on linux!
The map for AERO calls has been dropped for linux but everything else should be in-tact.

image.png
 

jom79

Member
Joined
Oct 9, 2025
Messages
25
Reaction score
17
I had several missing DLL errors when trying to start the official 1.0.16 version now.

Im running Win10

Libxml2-16.dll
libjansson-4.dll
libiconv-2.dll

Not had this problem with earlier versions. The files were easy enough to find online though so i am up and running.

John
 

AD8NT

Sarah Rose
Joined
Jun 24, 2012
Messages
328
Reaction score
558
I had several missing DLL errors when trying to start the official 1.0.16 version now.

Im running Win10

Libxml2-16.dll
libjansson-4.dll
libiconv-2.dll

Not had this problem with earlier versions. The files were easy enough to find online though so i am up and running.

John
I am horribly sorry for that.
This never should've happened. The issue has been resolved for those who re-download the latest release.

Thank you for bringing this to my attention.
 
Top