Software contribution

From SatNOGS
Jump to: navigation, search

If you are skilled in Python, Web Development (CSS/JS), or gnuradio we need your help! To find out how to help see each module below. You can also find us on our or on irc/matrix in #satnogs

SatNOGS Client

Skills required: Python

The SatNOGS client is written in Python, targeting raspberry pi 3 as the reference architecture. It interfaces with the following applications:

  • rotctld (Rotator control, part of hamlib)
  • rigctld (Rig frequency control, part of hamlib)
  • gr-satnogs (custom SatNOGS gnuradio scripts)

Architecture documentation:

Code repository:

Note that development happens on the "0" branch, with periodic merges to master for release; PRs should be submitted against the "0" branch.

SatNOGS Client image / setup script

Skills required: Linux administration, .deb packaging, Ansible

We provide a custom raspbian image for Raspberry Pi 3 using pi-gen and a satnogs-setup script that configures the client via Ansible. In addition we package gr-satnogs as a .deb through GitLab CI. If you would like to help out check out our repositories below:


Skills required: gnuradio companion, C/C++, SDR

If you are skilled in writing custom gnuradio modules/blocks or piecing together gnuradio scripts in gnuradio-companion then gr-satnogs can use your help!

Code repository:


Skills required: Python / Django / CSS

The SatNOGS DB is written in Django (a Python web framework).

Installation documentation:

Contribute documentation:

API documentation:

Code repository:

SatNOGS Network

Skills required: Python / Django / CSS / JS

The SatNOGS Network is written in Django (a Python web framework), and makes heavier use of javascript and d3.js for scheduling and visualizations.

Installation documentation:

Contribute documentation:

Code repository: