SatNOGS Client Update for December 2020

The time has come to update your SatNOGS ground-stations with the latest version of the SatNOGS Client software. Detailed instructions on how to update your ground-station are available at the SatNOGS Client Setup wiki page. If you encounter a bug, don’t hesitate to file an issue in GitLab.

While this release is maintenance focused, see below for a detailed manifest of this update:

SatNOGS Software Manifest

  • SatNOGS Client Ansible
    • Version: 202012231828 2
    • Changelog
      • satnogs-radio: Bump ‘satnogs-flowgraphs’ version and its dependencies
  • SatNOGS Flowgraphs
    • Version: 1.3-1
    • Changelog
      • Adapt to the new whitening API that sets from the constructor the bit order
  • gr-satnogs
    • Version:
    • Changelog
      • New Features
        • Use C++11 lambdas instead of boost::bind(). This will allow compilation in recent versions of boost
        • Support for CRC16 AUG-CCITT
        • Add support for 0 length preambles at the IEEE 802.15.4 decoder
        • Add option at the IEEE 802.15.4 decoder to drop the invalid frames
        • Add support for error correction (up to 1 bit) at the AX.25 decoder
        • Whitening class now accepts at the constructor the bit alignment (MS or LS bit first)
        • Dropdown style selection of CRC algorithms in the GRC. The field is yet editable for custom definitions
        • Drop obsolete C-like code and make it object oriented
      • Bug Fixes
        • Fix AX100 metadata generation, in case no preamble is used (frames using SFD only)
        • Fix image generation at the SSTV
        • Fix UDP message sink to accept both pmt::blob() and pmt::dict()
        • Simplify the LO compensation
        • Fix AX.25 decoder producing too many invalid frames
        • Fix sensitivity of the AX.25 decoder. The decoder can now handle frames starting with only one AX.25 SYNC flag
        • Fix stdout output of the message sink block

An exciting new Milestone: Celebrating the 3,000,000th SatNOGS Observation!

We are excited and thrilled to announce that the SatNOGS network has reached its 3.000.000th observation on the 16th of October!

Observation #3000000 was uploaded on the SatNOGS Network by station #704- kc1ist in Somerville, Massachusetts, USA, operated by kc1ist receiving data from the  XW-2E picosatellite.

The 3.000.000th observation is a result of the continuous efforts of hundreds of ground station owners around the world. They are the ones scheduling, organising and performing the satellite observations. They all make up SatNOGS, the collaborative and dynamic, open-source network of satellite ground stations.

Today, the SatNOGS community boasts dazzling statistics. A booming number of 8k observations per day made by 200+ fully operational ground stations and 120+ in testing mode. The observations come from 450+ satellites and 960+ transmitters having delivered over 84.880.000 data frames.

Do you want to join the next millions of observations?

Do you want to be part of this collaborative community? We always welcome people who wish to contribute their time, knowledge and expertise to our projects. For this, you can start by checking out the SatNOGS knowledge-base wiki, and feel free to reach out to the community forums and chat. We would love to have you onboard the SatNOGS network and community. Join us now!

Building a SatNOGS-RF Collisions library as part of the GSoC 2020 Libre Space Foundation contributions

GSoC 2020 logo

It was in May 2020 when we announced the two projects that Libre Space Foundation would have under its mentorship as part of the Google Summer of Code. A few weeks ago we presented to you the first of the two projects of this year’s GSoC 2020 titled Deep Learning and Space Weather. So now is the time for us to present to you the second project we have been mentoring. The project is SatNOGS-RF collisions: A python library to calculate RF collisions during Satellite observation. Our mentee, Ravi Charan had been working on this project over the summer months and here is what the project is about.

SatNOGS-RF Collisions Library

The project’s main goal was to create a tool to be able to calculate and predict Radio Frequency collisions during a Satellite and a ground station communication. In the future, the tool is meant to be integrated into SatNOGS. (The worldwide, open-source network of satellite ground stations).

The Case

As the number of deployed satellites keeps increasing it is often that satellites transmit within the same or near frequency range. The overlapping in frequencies may easily interfere with the results of the observations and it may affect their accuracy. This interference in the observed results is what we refer to as Radio Frequency collision.

The Solution

The SatNOGS-RF collisions library is designed to deal with exactly that problem. It attempts to calculate efficiently and predict the Radio Frequency Collisions for a given location(s) of a ground station(s) or for a given satellite(s) and orbit(s) over a time range.

Having a more detailed look into the project

The SatNOGS-RF Collisions library is built on python and it is divided into two submodules: the GSS and the Onlysat.

The GSS submodule

The Ground Station-Satellite submodule aims at detecting the possible collisions between multiple satellites at a single or multiple ground stations over a time period. This is achieved by taking into consideration certain parameters. These include the ground station ID(s) (or) the coordinates, the elevation of a ground station, the satellite details and the time range. With the time-range into mind, the user can check if any of the satellites mentioned pass or fall under the Field of View of the Ground Station. As soon as the list of all the satellites is composed, then all the transmitters of these satellites are checked to detect if they fall within a close frequency range.

In order to deal with the Doppler shift effect successfully and having in mind that satellites revolve around the Earth at a faster velocity than the Earth’s rotation, the downlink frequency of a Satellite wouldn’t be the same as the observed frequency at the ground station.

As Ravi analyses in detail in his article:

An external library PyEphem is used to compute the relative velocity of the satellite at the given point of time. We also make use of the PyEphem library to extract the dynamic meta-data of the Satellites that changes with time as it provides an implementation for SGP4 models which is used to get essential data of the Satellite given the TLE of the Satellite.

With the GSS submodule, the users can either choose to detect if there will be a Radio Frequency collision or to detect and compute the collision details.

The detect_collision methods return boolean values indicating if the collision is possible among the satellites in the given time range whereas, the compute_collision methods return collisions in a JSON format which include metadata of the collisions including Groundstation details, time period of the possible collision, and the transmitter frequencies of the satellites at which the collisions take place.

The Onlysat submodule

This is an extension module excluding the ground station from being a parameter. Instead, what it does is to locate the region on the surface of the Earth where a potential Radio Frequency collision might take place. The parameters that need to be specified include the satellite details as well as the specific time range for which the possible collision must be detected and the results are returned in a GeoJSON format.

This submodule first computes the footprints of each satellite and then it computes the intersection of the footprints. Once the latter is checked, the Satellite transmitters are checked too, particularly those that transmit within a near frequency range over the specific region. And that is what is marked as a Radio Frequency collision. You can find out more on Computing the footprint of Satellites in Ravi’s full article.

As was the case with the GSS, the Onlysat submodule also allows the user to opt between detect_collision and compute_collision where the latter also returns the region over which an RF collision might take place. The calculated area is returned in the GeoJSON format as part of the metadata.

SatNOGS- RF Collisions: Next Steps

Both submodules require further work and testing in order to be integrated fully into SatNOGS. When this is completed the users of SatNOGS will have at their disposal a tool with which they will be able to calculate Radio Frequency collisions efficiently.


By collaborating closely with his mentor, Ravi Charan devoted his time, effort and knowledge for the SatNOGS-RF collisions library for GSoC 2020. This collaboration provided a valuable hands-on experience for him and from our part, we would like to wish him the best of luck for his future!

If you are a developer yourself, interested in space technologies and wishing to gain practical and hands-on experience in developing space technologies, do not hesitate to join our community forums and our SatNOGS/element Channel. All you have to do is state your interest and you might be able to work and contribute in inspiring projects allowing you to obtain actual experience, hone your development skills and get an insight look at space technology development processes. Our Communities at Libre Space Foundation and SatNOGS are always accessible and welcome projects, ideas and collaborations that promote, enhance and support open-source technologies and methodologies. So feel free to join us any time!

Introducing the brand new SatNOGS DB!

Quetzal-1 Information

Today, we are thrilled to announce the launching of the newly-redesigned and updated SatNOGS DB. We have put a lot of hard work into it and we are thrilled to present it to you.

A New UI for SatNOGS DB

The brand new SatNOGS DB focuses on providing an improved experience to users. It has a clearer and more efficient design, a more user-friendly interface and a more efficient and functional DB.

To start with, the design of the welcoming page has changed featuring three main fields. The first field is the New Satellites field. It contains the names of the latest satellite entries. The second field is the Latest Data and lists the names of the satellites receiving the latest data. The third field is the Recent Contributors field. It features the long list of the names of the contributors collecting data in the last 24 hours. Perched next to the names is the number of data frames they have contributed to the SatNOGS DB.

Welcoming page of the new SatNOGS DB

As with the old DB, the new SatNOGS DB sports an “All Satellites” tab from which you can navigate and scroll through the long list of satellites (400+) tracked by the network. A new feature added is the ability to see the status of a satellite. What is more, there is a recently-added “All Transmitters” tab listing all the transmitters (900+) in the network. This is a separate and distinct tab, under the “All Satellites” tab on the left of the screen.

For each satellite, there are dedicated views with additional information for the mission and its operational status.

There is also a Statistics tab. By clicking on it you can land on a page offering you a more spherical view of the numbers making up SatNOGS. Indicating the number of satellites, transmitters, data frames, frequency bands and modes of transmission.

From a technical point of view, the DB is built based on the Django Python framework. You can find the code here and if you have any suggestions or ideas on how we can further improve SatNOGS DB feel free to create an issue! We would love to read your suggestions!

The work of SatNOGS DB redesign was headed by our core contributor Corey Shields, with additional work from Julien Flawinne and Pierros Papadeas.

Future Work

SatNOGS DB has exciting new things in the pipeline, which are currently under development. Integration with Metasat Schema, Orbital Data tab per satellite with extended view and analysis, more satellite attributes and information, additional artifacts from observations, are just some of the new features coming soon!

About the SatNOGS DB

SatNOGS DB is an integral part of the SatNOGS project counting over 360+ satellite ground stations worldwide. It is an open-source, participatory initiative, fueled by the contributions and efforts of its devoted and diverse community of space enthusiasts, radio amateurs and satellite observers. SatNOGS DB is an attempt to create and maintain an up-to-date global Database of all artificial objects in space (of satellites and spacecrafts too). It is machine-readable and open to everyone who needs to have access to the data obtained. You can even connect your application to it using the available API.

This crowd-sourced, open-development and fully-transparent approach we apply to the SatNOGS project is a great example of how we operate and manage projects at the Libre Space Foundation. Everything we do adheres to the beliefs and the principles fueled by the Libre Space Manifesto. You can find out more about the Libre Space Manifesto and its principles and you can even show your support if you agree with it.

Care to join us?

If you have been intrigued by what you have read so far, have in mind that you can always join the SatNOGS project. Whether you are a space enthusiast wishing to build a SatNOGS ground station or you are fluent in Python and/or JS and you wish to contribute to the SaNOGS-DB web application. Everyone is welcome and you can start by reading how you can Get started with SatNOGS. You are also more than welcome to join our community forums and our riot/matrix channels. Reach out to us and be part of our community. We would love to hear from you!

Reaching a new Milestone: Celebrating the 2,000,000th SatNOGS Observation!

We are excited and thrilled to announce that the SatNOGS network has reached its 2.000.000th observation on the 9th of April!

Observation #2000000 got uploaded on the SatNOGS Network by station #6-Apomahon in Nea Filadelfia , Athens, Greece, operated by Dimitris Papadeas receiving data from SOKRAT satellite.

The 2.000.000th observation is a result of an amazing network of ground stations and it marks the continuous efforts of hundreds of ground station owners! The SatNOGS community boasts a booming number of 200+ fully operational ground stations and 100+ in testing mode. The observations come from 400+ satellites and 880+ transmitters and over 64.800.000 data frames.

Do you want to join the next millions of observations? Do you want to be part of this community? Check out the SatNOGS knowledge-base wiki, and don’t hesitate to reach out to the community forums and chat. We would love to have you onboard the SatNOGS network and community. Join us now

SatNOGS client March 2020 update

The time has come for a brand new update! We would like to announce that a new upgrade is available for the SatNOGS Client software. You are advised to check the SatNOGS Client Setup wiki page to find out more about how to upgrade and configure your station.

A few words on the new update

You will find that in the new version, Ansible has been updated to include all the latest stable SatNOGS Client, Radio and Setup Software. This new version sees a major shift towards new technologies and new architecture.

Advanced Configuration Settings

One of the most significant changes that this new release delivers is gr-soapy and the transition from the OsmoSDR library to the SoapySDR Library. This inclusion brings forth numerous performance improvements and expands support to include new, upcoming software-defined radio devices. As far as gr-soapy is concerned, it is a sub-activity of SDR Makerspace; an initiative brought on by ESA and Libre Space Foundation. The aim of this initiative is to develop several open-source, Software Defined Radio projects to enable, facilitate and support satellite communications. The latest SatNOGS update delivers to you this technology.

the SDR makerspace logo

What is more, this new release comes with more sensitive decoders allowing a wider range of data to be collected by the network. With each satellite pass, more valuable data is collected, enhancing observation results. Note that contributions have been made easier as the GNU Radio flowgraphs have been removed from gr-satnogs and have been granted a separate, dedicated repository satnogs-flowgraphs.  Lastly, satnogs-config, the SatNOGS client configuration utility, has been rewritten in Python allowing for rapid development of new configuration features.


SatNOGS constitutes an amazing open-sourced project comprised of a global network of satellite ground stations. It is a participatory project which allows for satellite information and data to be available to any observer and enthusiast. Not only can individuals utilize all available ground stations, as they have free access to those, but they can even communicate with the satellites. The data and the results of the observations carried out are distributed freely.

This aligns with our values as they are expressed in detail, in the Libre Space Manifesto. We firmly believe in the power of information and how it can drastically contribute to allowing humanity to explore new horizons. Free access to information can help develop and use knowledge differently, and even thrive in different ways while overall changing life for the better.  For this, we work hard towards expanding the network of ground stations as well as providing updates (like the one we released) for the SatNOGS software. We wish this project to run on the most up-to-date technology and architecture, offering improvements and making observations more accurate and efficient.

The latest update facilitates improvements in performance, technology, and architecture for a network of 200+ fully operational ground stations and 100+ in testing mode. These have delivered over 1.900.000 observations (and counting), from 400+ satellites and 880+ transmitters and over 64.800.000 data frames. With the latest release, we aim at improving this whole network of free information and knowledge and making it more accurate for the observer.

Map of the network of all the active ground stations and those in testing mode

Interested in joining this project?

If you found what you read interesting and you are fascinated by space you can join us in this inspirational project. You are welcome to be part of this global network of enthusiasts and observers and you can even build your own ground station. Visit the Get Started page and get all the information you need and all the steps you need to take to be part of our Community. An easy way to get started is to build your own omnidirectional station by following the steps found on the How-to Page. We would love to welcome you to our project and to our community!

5 years after winning the Hackaday prize

Five years ago, 13 November 2014, SatNOGS was announced as the winner of the first iteration of the Hackaday Prize.

The 1st iteration of the Hackaday Prize focused on open-source projects that would feature a connected device. The 1st prize winner would either win a trip to space as soon as it was commercially available or the cash option of $198,418. More than 700 projects signed up to the contest.

SatNOGS, the modular open-source technology stack that facilitates monitoring of satellite transmitted data, won the 1st place, and the grand prize. We opted to pick the cash option, which allowed us to bootstrap the creation of the Libre Space Foundation, a registered non-profit organization promoting the development of open-source space technologies.

UPSat minuted after deployment from the International Space Station

Soon enough, Libre Space Foundation had the chance to work on UPSat, a 20x10x10cm satellite, releasing all it’s design files, schematics, software under copyleft licenses. UPSat was deployed in orbit on May 15, 2017, and re-entered Earth’s atmosphere on November 13, 2018 (a year ago).

As Libre Space Foundation and the greater open-source space technologies gain more experience and expertise we are getting involved in several projects that will also affect the future of SatNOGS. Such as implementing European Space Agency’s SDR Maker Space activity bringing together the radio amateurs, GNURadio developers, and Software Defined Radio experts building open-source satellite communications solutions and working with the Wolbach Library of the Harvard and Smithsonian Center of Astrophysics to build MetaSat, a metadata schema for satellite data.

SatNOGS by the numbers

300+ operational ground-stations (200+ fully operational, 100+ in testing)

12,000,000+ observations

380+ satellites with 810+ transmitters monitored

51,000,000+ data frames

Our future plans involve, working on a new pico-satellite mission taking advantage of the large number of SatNOGS ground-stations, working on building SatNOGS ready solutions for CubeSat teams, and further collaborating with the open-source community to build sustainable projects.

If you are interested in the current and future state of SatNOGS don’t hesitate to check out Hackaday’s SatNOGS Update Hackchat, and watch “SatNOGS state of the union” talk by Fredy gave a few days ago in the Open Source Cubesat Workshop 2019 hosted by Libre Space Foundation in Athens, Greece.

We couldn’t be able to do all these without our ever-growing community and the support and encouragement we receive from organizations like Hackaday.

Celebrating the 1,000,000th SatNOGS observation!

Minutes ago, observation #1000000 got uploaded on the SatNOGS Network by station #2 in Bloomigton, Indiana USA operated by cshields receiving data from UNISAT-6 satellite.

This marks the continuous efforts of hundreds of owners of SatNOGS ground-stations operating numerous ground-stations globally (more than 170 stations on-line, more than 90 in testing and more soon to come) while continuously enhancing the network software and hardware solutions.

Want to join us for the next millions of observations? Check out our knowledge-base wiki, and don’t hesitate to reach out to the community forums and chat.

SatNOGS Activity Update 2019-08-27

LightSail2 solar-sail deployment

On our previous post we mentioned making a data dashboard based on data retrieved from LightSail2. Among this telemetry data are date stating the status of the solar sail on-obard LightSail2, the Planetary Society shares lots of info about this deployment.

The are lots of information on our wiki on how to create a decoder and how to make a telemetry dashboard while you can always get help from our active community forum. Since we mentioned LightSail2, the Planetary Society on the look-out (literally) for optical verification of its solar-sail deployment so don’t hesitate to look at the night skies.

The Space Library and SatNOGS

If you are following updates from the Libre Space Foundation’s websites work has started on the Space Library, a collaborative project of the Wolbach Library at the Center of Astrophysics | Harvard & Smithsonian and & the Libre Space Foundation funded my the Alfred P. Sloan Foundation.

The aim of the Space Library project is to assist new communities participate in satellite missions, engender public engagement in space science, and to fuel new research by improving access to scientific research artifacts and supporting their reuse.

Amongst its sub-projects will be MetaSat & LSTN. MetaSat will develop and prototype an open metadata schema to link data, software, and hardware from small-satellite missions. The schema will be designed with the small-satellite community and piloted on SatNOGS, LSTN (Library Space Technology Network), aims to engage novices, and for them to assess their capacity to use these technologies we are installing SatNOGS on public libraries.

SSTV (slow scan TV) events and automation

During the week of June-to-August Inter MAI and ARISS were transmitting SSTV images from the International Space Station. These images are uploaded on the network in most cases by a custom script but users are already implementing a GNU-radio out-of-tree module to facilitate the automatic decoding of such images in the future.

Dr Lucy Rogers write-up at RS-DesignSpark on building a SatNOGS station

Dr Lucy Rogers has set-up her own SatNOGS ground-station at her back garden inspired by Jo Hinchliffe’s article on a previous issue of Hackspace magazine, and she put together a great write-up on RS-DesignSpark documenting her installation.

Events and talks

Open Source Cubesat Workshop 2019 in Athens, Greece 14-16 October 2019

Contributors of SatNOGS and the greater open space technologies community will join us for this year’s iteration of Open Source Cubesat Workshop 2019 taking place in Athens, Greece hosted by our parent organization Libre Space Foundation.

Registrations are still open, and we will be excited if you join us (registration is free of charge but you have to sign-up in advance). The program includes SatNOGS-specific talks and workshops and several awesome open space technologies that are looking forward to work on.

38th ARRL/TAPR Digital Communications Conference in Detroit, MI United States of America 20-22 September 2019

The ARRL and TAPR Digital Communications Conference is an international forum for radio amateurs to meet, publish their work, and present new ideas and techniques.

This year the four hour long Sunday seminar by Dan White, AD0CQ and Corey Shields, KB9JHU will be titled “Learn to build and operate your own SatNOGS ground station.

The seminar will be hand-on tutorial. Participants will interact with the SatNOGS web services themselves, and discuss other technologies in use such as: Python, GNURadio, InfluxDB, Kaitai Structs, and Grafana. Don’t hesitate to check the event and join them.

Wuthering Bytes in Hebden Bridge United Kingdom 30th August – 8th September 2019

The Wuthering Bytes technology festival, will be opening 30th of August at Hebden Bridge’s Town Hall and our very own Jo Hinchliffe will be talking about Libre Space Foundation’s project including (but not limited to) SatNOGS at 15:30 that very day so feel free to check it out.

SatNOGS rotator spotted in CCCamp 2019 in Mildenberg Zehdenick, Germany

The Chaos Communication Camp is an international, five-day open-air event for hackers and associated life-forms. Some awesome CCCamp goers set-up their on rotator during the event.