Home Release 1.1.4

Release 1.1.4

It might still be winter, but that hasn’t cooled down SatDump’s pace of development! We’re happy to announce version 1.1.4, full of new features and bug fixes.

New Features

Autotrack/Scheduler improvements

The most notable change this time around are the improvments to the autotrack/scheduler functionality. Previously, SatDump the scheduler could only decode one downlink at a time. This was a problem: what if you have an omnidirectional antenna and there are multiple satellites in the sky at once? Or: what if you want to get NOAA APT and DSB at the same time?

Before, this was impossible - but now you can do it! By enabling “Multi Mode”, all configured pipelines will run, even if more than one satellite is overhead at a given time. As you can see here, you can also easily configure both APT and DSB:

Screenshot of tracking config

As a note, CLI (headless) autotrack configurations have changed significantly since the last version of SatDump. Please refer to https://docs.satdump.org/autotrack.html and update your configurations as necessary. Along with multi-mode, there have been additional changes in the CLI: for example, recording basebands has been implemented. The pass schedule is now shown in autotrack’s web interface as well:

The Autotrack web interface as of 1.1.4

Future releases will extend multi-mode support to non-scheduled processing in the UI as well. Stay tuned for more!


TUBIN Raw/Video Mode

Thanks to data captured on X-Band by Fred Jansen, Aang23 was able to add a decoder for TUBIN’s RAW mode! This type of downlink can be used to send short videos, such as the one seen here: https://twitter.com/aang254/status/1753157764522582308.

ESA Cluster support

Support for several Cluster-IIFM’s S-Band downlink, both low and high rate, have been added. Special thanks to OK9UWU for adding his WBD decoder for the high rate link, which outputs some basic statistics, as well as “the sounds of our magnetosphere!”

Screenshot of cluster highrate

Additional Pipelines

The following additional pipelines have been added in 1.1.4. As of now, these pipelines only demodulate the data, or get it down to frames:

  • Peregrine X-Band TLM
  • The IM-1 Moon mission
  • PRETTY S-Band Dump

Theming Support

SatDump has a new face - well, three new faces, to be exact! Version 1.1.4 adds theming support to SatDump UI, so you can make basic changes to the interface (like making the constellation dots yellow instead of green), or give it a whole new look and feel.

The following themes are included with this release:

  • Dark (Default): The original SatDump style we all know and love.
  • Light: A light-mode theme, made to compliment to the default dark mode. This theme is an improved version of the old “light mode” setting, and is excellent for use in direct sunlight.
  • Phosphor: An orange/amber theme designed to simulate the monochrome CRT monitors of yesterday. Made by JVital2013. For Science.0
  • Win98: Do you miss the look of older SDR software such as SpectraVue, or Windows 98 in general? Fear no more, for you can live in the past when decoding satellites with this theme by Lego11. Dial-up modem not included.


Select your desired theme under Settings > User Interface > Theme. New themes can be added by creating a .json file under resources/themes. Theming is limited to colors, fonts, and item sizing/rounding.

Android improvements

SatDump on Android received a fair amount of attention this time around. The first change of note is really an omission in 1.1.3 - we forgot to add RTL-SDR Blog v4 support, while we added it for all other versions of SatDump! The omission has been corrected in this release, and all commonly available RTL-SDR variants will work with SatDump for Android.

Additionally, OpenCL support has been added for Android 🎉! SatDump uses OpenCL for projections - it can project satellite imagery much faster on the GPU, than traditional code can on the CPU. By adding OpenCL to Android, imagery projection times are around 15x faster than before. Even if you just use SatDump to do live decoding, the post processing will now run faster since SatDump automatically makes some projections at that time.

OpenCL in Android Settings

There are some things to keep in mind with OpenCL on Android:

  • SatDump’s UI may freeze for a few seconds while processing with OpenCL. The program should return to normal operation in a second.
  • Not all Android phones support OpenCL - it’s not an official Android feature. But, it seems work on most phones! If your phone does not support OpenCL, the only option under Settings > General SatDump > OpenCL Device will be “None”.
  • We have encountered one example of an old, low-end Android phone that supported OpenCL - but it locked up the app, resulting in a crash. If you have issues when processing satellite data/projecting imagery, turn off OpenCL in settings.

OpenCL in Android Settings

Finally, external SD card support has been added to SatDump for Android - perviously, you could only save data to internal storage.

Please note external storage access is still a work in process: on some phones, SatDump will crash if you try to save data to external media, while saving to internal storage works fine. If this happens, use the Android/data/org.satdump.SatDump subfolder on your SD card to work around the issue.

Added composites

Lego11 and Marhmarchi have been busy again, adding composites to various satellite imagery! This time around, we have:

  • AVHRR: Fog BTD has been added to AVHRR, which is designed to detect Fog. Using ch3a and ch4, it even works with APT! This composite is experimental.
  • VIIRS: a panchromatic day composite has been added, along with an ice-detecting shortwave IR composite, similar to ABI channel 6.
  • MERSI-III: To facilitate use along side AVHRR data, 221 False Color, 3a21 False Color, and Day Microphsyics composites are now available. On MERSI-II, several of these composites have been improved as well.
  • MERSI-RM: an AVHRR 543b-style IR False Color has been added.
  • MODIS: If you’re sensing a theme, you’re right - it’s continuing here. MODIS now has a AVHRR-style 3a21 False Color composite.

Some examples of composites

Other Features

Some minor features include:

  • Native builds for Apple Silicon Macs are now available! You no longer need to build SatDump yourself, or run it through Rosetta with a performance penalty, on modern macs.
  • The NOAA APT decoder has graduated from WIP status, and is considered ready for daily use! Additionally, the APT decoder will now save the “unsynchronized” raw image, in case the signal is weak and it cannot be properly synchronized.
  • Added a “Data Stores / Archives Formats” plugin/pipeline, which can decode archival satellite data available online. Right now, it only supports data from EUMETSAT, but support for data from other repositories such as NOAA CLASS is planned.
  • Changing the DPI scaling, theming, or selected OpenCL device now take effect without re-launching the UI.
  • When using the scheduler/autotrack, there is now an option to stop the SDR when a pass ends. The SDR will start automatically for the next pass.
  • Inmarsat: added word wrapping in the messages UI, and added a station_id field when sending messages over UDP
  • Added support for loading products/datasets over http(s). To use this feature, enter the URL of your data into the dataset/product field in the SatDump viewer, then click “Load”. This could be useful to analyze data from remote automated stations, without having to download or pregenerate it.
  • Added a “Generic Analog Demodulator” pipeline as a simple way to record/listen to signals. Right now, only narrow FM demodulation is supported.

Generic Analog Plugin plaing broadcast FM

Bugs fixes

The only good (software) bug is a dead (software) bug - here are the ones we killed with abandon this release:

The switch to jemalloc

Starting with version 1.1.4, SatDump now uses jemalloc as its memory allocator on Linux and macOS. When using the system memory allocator on some systems (with either glibc and musl libc), we observed what appeared to be a memory leak at first - most notably when using CLI autotrack. After fixing several minor memory leaks, we finally realized the real problem was memory fragmentation. Switching to jemalloc was a natural fit here, as one of its core goals is to combat this very problem. After the switch, benchmarks ran at the same speed, but memory usage was overall reduced. Great!

If you build SatDump from source, make sure you have installed the jemalloc library. On modern Debian-based systems, it is libjemalloc-dev.

Memory Leak

Reduce error spam in the UI

To prevent lag - and sometimes crashes - caused by repeated error messages, SatDump UI will now simply display a count for repeated error messages in the popup notification. The log remains unchanged.

Example of error message toast with count

Other smaller fixes

  • The Windows installer will now remember the last-used install directory, making it easy to update SatDump in-place
  • Fixed a few crashes caused by processing a very weak signal, or an empty frames/CADU file. Thanks to @ericye16 for originally finding this issue in METEOR decoders, which we later expanded to other satellites as well
  • Added some safety checks in the Android app to prevent saving files to the inaccessible internal data directory. However, it is still recommended that you configure all output directories before use.
  • Improved performance of some pipelines on low-end hardware. Thanks to RTL-SDR Blog for helping us to track this down!
  • Prevent scrolling in the Scheduler UI from changing the selected frequency
  • Improved performance and memory usage of GOES-R HRIT decoder - and fixed some crashes to boot!
  • Himawaricast: fix some files being saved with the wrong filename or overwritten. Thanks to @eswnl on GitHub for your help!
  • Cleaned up errors in the automatic products processor to reduce notification spam
  • Fixed SatDump crashing when ~/.config was not writable on nix-like systems
  • Fixed several bugs with HackRF, BladeRF, and LimeSDR
  • Other minor fixes (you need to let some stuff out with 280+ commits!)

Wrapping up

As always, if you come across any bugs, feel free to open an issue on GitHub or reach out to us on Matrix!

This post is licensed under CC BY 4.0 by the author.
Trending Tags