KubOS 1.15 Connection is Live
With this release of KubOS, we’ve integrated our first radio! This is the first end-to-end implementation of the communications service by Kubos. The radio is the Nearspace Launch Eyestar-D2 Duplex Radio, which operates over the globalstar network. Integrating the link required a new packet protocol over the link layer, which we’ll be discussing in detail below. Beyond that, we’ve migrated to the newest Buildroot LTS release and added some functionality to the telemetry database service, as well as others.
Spacepackets and the Nearspace Launch Radio
When integrating the NSL radio, we discovered it was finally time to decide what packet protocol should be passed over the space-ground link in KubOS. Within the spacecraft, all our communication is IP based, with GraphQL services using HTTP, and some of the other services using UDP. But these packet protocols are obviously not designed with the space-ground link in mind.
To solve this, we set out to find a packet protocol that both suits our immediate use case and supports our long-term vision for KubOS. There are several protocols that are built to address our immediate issues, with an incredibly wide variety of functionality. Although many of them have all the capabilities needed in the short-term, only one we looked at really had the long-term functionality we want to leverage. We determined that the CCSDS protocols were the best direction for long-term growth and compatibility, as they are generally the most accepted protocol in the satellite industry and have the greatest amount of functionality designed specifically for spacecraft communication.
With this release, we have only implemented a very lightweight usage of Space Packets, the data packet layer for CCSDS protocols, but we are excited for the long-term prospects of incorporating more aspects and functionality of the whole CCSDS ecosystem for our space-ground link.
Buildroot LTS Release
Our prior releases were built using Buildroot 2017.02.08. We have upgraded our configurations to now use the most current LTS release, 2019.02.2. This allows us to take advantage of the newer versions of many of our dependencies. Additionally, this upgrade migrates KubOS from Python3.5 to Python3.7. Worth noting, some configuration options for both the Buildroot configuration and Busybox configuration have been changed between these LTS releases. As a result, if you have any custom configuration files, they might need to be updated in order to be compatible with the latest release. If you are using one of our official release images for your OBC, there should be no impact from this migration.
As Always…
Check out the full release notes in the changelog. For all you prospective users out there, read over the introductory tutorials and architecture documentation for a good overall understanding of the key parts of KubOS. If you have any questions, feedback, or new feature requests, come talk to us on Slack and submit issues on the Github. We’d welcome more discussion on this move towards CCSDS, so feel free to come discuss!