SatNOGS GNU Radio Out-Of-Tree Module

LongHairedHacker 3176508b84 Added flowgraph 2 weeks ago
apps 3176508b84 Added flowgraph 2 weeks ago
cmake ab022f1058 Include GrVersion.cmake module so the git version can be extracted 4 months ago
docs de05c3f1c4 Several minor improvements 1 year ago
examples 8424f5930d Remove obsolete examples 1 year ago
grc 99e6a0cf1e Splitting images works 2 weeks ago
include b6c5bb7e85 First version that renders images 2 weeks ago
lib 99e6a0cf1e Splitting images works 2 weeks ago
libfec f33f46edb9 Add libfec as external project 1 year ago
python 8fbca87084 Remove left over flowgraphs and files 5 months ago
swig c5a5532609 Added module 2 weeks ago
.gitignore 5d4884cf0d Add a generic clear text message sink. 3 years ago
.gitlab-ci.yml 4bcd9c8aaa Start the implementation of a generic frame synchronizer 4 months ago
CMakeLists.txt 5291e18032 Bump up version to 1.5.1 3 months ago 9ab93276fa Add contributors list and update versioning scheme 2 weeks ago
LICENSE eea04cf2aa Update and rename to LICENSE 3 years ago 08002b27cc Create the README and the OOT module structure. 3 years ago 10f27c045e Remove obsolete libnova dependency 4 months ago

gr-satnogs: SatNOGS GNU Radio Out-Of-Tree Module

gr-satnogs is an out-of-tree GNU Radio module that provides all the necessary tools for decoding signals from various scientific and academic sattelites.



  • GNU Radio ( > 3.7.7 )
  • CMake ( > 3.1)
  • G++ (with C++11 support)
  • VOLK
  • libogg
  • libvorbis
  • libpng
  • libpng++
  • git


  • gr-osmocom (for using the flowgraphs with real SDR hardware)
  • libfec (it will automatically installed if not present)

Debian / Ubuntu

apt install -y build-essential cmake gnuradio g++    \
               python-mako python-six libogg-dev     \
               libvorbis-dev libpng-dev libpng++-dev
cd /tmp
git clone
cd volk
mkdir build
cd build
cmake ..
make -j 8
sudo make install

Installation from source

  1. git clone
  2. cd gr-satnogs
  3. mkdir build
  4. cd build
  5. cmake ..
  6. make
  7. sudo make install

If this is the first time you are building the gr-satnogs module run sudo ldconfig


By default, the SatNOGS module will use the default installation prefix. This highly depends on the Linux distribution. You can use the CMAKE_INSTALL_PREFIX variable to alter the default installation path. E.g:


Also, by default the build system enables a set of blocks used for debugging during the development. The enable/disable switch is controled through the INCLUDE_DEBUG_BLOCKS boolean variable. If for example, you want to disable the debugging blocks, the CMake command would be:


Another common control option is the library sugffix of the Linux distribution. There are distributions like Fedora, openSUSE, e.t.c that the their 64-bit version use the lib64 folder to store the 64-bit versions of their dynamic libraries. On the other hand, distributions like Ubuntu do the exact opposite. They use lib directory for the libraries of the native architecture and place the 32-bit versions on the lib32 directory. In any case the correct library directory suffix can be specified with the LIB_SUFFIX variable. For example:


will install the libraries at the /usr/lib64 directory.


For more indormation about SatNOGS please visit our site.

Release Policy

The gr-satnogs OOT module uses the major.api-compatibility.minor versioning scheme. is used by the satnogs-client, so the release and versioning policy is based on how the satnogs client is affected by the changes on the gr-satnogs software.

  • Minor changes, bug fixes or improvements that do not affect in anyway the satnogs-client advance the minor version.
  • The api-compatibility indicates changes that require modifications on satnogs-client but do not brake the backwards compatibility (e.g a new satallite decoder). In other words, the satnogs-client should continue to operate normally without any modifications. Changes on satnogs-client should be performed only to integrate the new features.
  • major version advances when the changes break backwards compatibility with the satnogs-client.

For every release change a tag with the corresponding version is created. Releases can be retrieved by the tags page.


© 2016,2017,2018 Libre Space Foundation.

Licensed under the GPLv3.