Developer Lucas Teske has a very clear reason for having started the Open Satellite Project, an ongoing effort to develop open-source software for the receipt and decoding of satellite data using software-defined radio (SDR) hardware including the LimeSDR family. “I have studied electronics and computing since I was two years old, and one day, a few years ago, I saw that I could receive weather satellite images at home. That’s where it all started. They’re signals from space,” he explains of his fascination with the concept. “Images from satellites are always amazing. But to know that there is something up in the sky that is sending something back and to actually see the signal that is coming and its content, its a totally different thing. It’s amazing to receive and decode stuff, even if the output data isn’t very useful.”
Existing Software “Closed-Source, or Broken”
While Teske, and the other contributors to the Open Satellite Project, aren’t alone in their quest to receive these signals from space, open-source software to support his new-found hobby proved thin on the ground. “Most of the software when I started a few years ago, decoding GOES 13 [US National Oceanic and Atmospheric Administration’s Geostationary Operational Environmental Satellite 13], was either closed-source or broken,” he recalls. “The documentation of the LRIT [Low Rate Information Transmission] specification – the GOES 13 protocol – was very bad, and sometimes incomplete. Also, some of the available DSP [Digital Signal Processing] stuff wasn’t working correctly for GOES 13.”
This discontent with the nature of existing satellite reception software led to the formation of the Open Satellite Project. “It’s both a project to learn DSP [Digital Signal Processing], SDR [Software Defined Radio], and satellite stuff, and also a platform to develop new receivers,” Teske explains. “It’s currently focused on weather satellites, which have very little stuff on the internet – especially open source stuff – and which generate amazing outputs. The final goal is to have a generic satellite receiver that is easy to configure to a new satellite or protocol.”
Community response to the project, which is fully open and allows distributed development via its GitHub repository, has been fantastic, Teske explains. “The most impressive thing was that after I created the OSP Rocket.Chat [team chatroom server] and started working on GRB Dump – the parser for the GRB [GOES Rebroadcast] protocol from GOES 16 – some people were contributing with code, hardware, and testing. A few months ago, when my depression kicked hard, I had to take a time from all my projects, and when I came back there were HUGE improvements in GRB Dump. That’s probably the most satisfying feeling we can get: that the project can keep going.”
While the primary output of weather satellites tends to be full-disk images capturing a third of the Earth’s surface at a time across multiple light spectra, other data can also be found: higher-resolution shots of areas of interest, particularly when there are storms, text messages, and even distress signals can be received from weather satellites including the GOES constellation.
Looking to the Future
With input from the community, Teske has a clear roadmap for the Open Satellite Project’s future development. “The main goal now is to have a single application that does everything,” he explains. “So far OSP has several parts, which makes it somewhat hard to set up. We’re rewriting the main application – now called SatHelperApp – in Go which helps a lot in making it cross platform and easy to use. We also want to lower the costs of building a GRB station, which provides the best images you can ever get from a satellite from the current generation – and also images from the Sun! The idea is to have a simple app that anyone could just download, follow some instructions for assembling the hardware, and get everything working, even if they don’t have any technical skill for it.”
For those interested in getting started with the project, Teske has some advice. “There are several ways to get involved,” he explains. “The easiest one might be build a Receiver Station – for which the OSP tutorial itself is a work in progress, but Pieter Noordhuis has a nice tutorial of creating a GOES station, he has a really great hardware setup and nice piece of software that he made out of studying OSP.
“Another way to started with the software would be to get I/Q samples,” Teske adds. “I share some of them in my blog, and there are some people in the OSP community that would happily provide them too. With I/Q samples you can run all the software to test or improve without having a physical satellite receiver or SDR. You can also join the OSP Rocket.Chat and/or #hearsat on StarChat IRC to talk about ideas for OSP. It does not necessarily need to be technical. Most of the helpful stuff that people did was to create tutorials about setup, testing, etc.”
More information on the Open Satellite Project can be found on the GitHub repository, where the software is made available under the MIT Licence.