Skip to content

Repository files navigation

CATS Embedded Software

CATS logo

🐈 Always land on your paws! 🐈‍⬛

Control and Telemetry Systems (CATS) builds open source (hardware and software) flight computers for sounding rockets. Our portfolio includes the CATS Vega flight computer and the CATS Ground Station that can be connected to the flight computer over telemetry. The flight computer can easily be configured through the CATS Configurator, a desktop application. The system allows the user to configure up to 8 actions per flight transition, giving full control over the flight and a safe recovery of your rocket. This repository contains the embedded software for the CATS Vega flight computer, its telemetry module, and the CATS Ground Station.

Features

  • Kalman filter altitude and velocity estimation
  • Highly configurable events (up to eight actions per flight state transition)
  • Backup timers
  • High speed logging (up to 100 Hz)
  • Telemetry with a range of at least 10 km
  • GNSS logging and transmission to the ground station
  • Accelerometric liftoff detection
  • Fully open source
  • Configuration is done over our application, no need to work with a CLI
  • Explore rocket flights recorded with CATS flight computers at CATS Flights.

Quick Links

Repository Layout

Path Description
flight_computer CATS Vega flight-control firmware for the STM32F411
telemetry Onboard radio and GNSS telemetry firmware for the STM32G071
ground_station CATS Ground Station firmware for the ESP32-S2
docs Typst sources, fonts, and assets for the CATS User Manual
.github/workflows Automated formatting, building, linting, and artifact generation

CATS Configurator

The CATS Configurator our desktop application used to configure Vega and work with recorded flight data. It provides access to the flight configuration, events, timers, testing functions, advanced CLI, and flight-log visualization.

Download the latest version from the CATS Configurator releases page. Instructions are available in the CATS User Manual.

Building the Firmware

The firmware projects use PlatformIO. Install the repository’s pinned PlatformIO version with:

python -m pip install -r requirements.txt

Build all three firmware projects from the repository root:

platformio run -d flight_computer
platformio run -d telemetry
platformio run -d ground_station

To build the Flight Computer firmware using its debug environment:

platformio run -d flight_computer --environment debug

Pull requests are automatically checked for formatting, build errors, and static-analysis warnings.

Contributing

Contributions are welcome. Examples include:

  • Implementing firmware features
  • Fixing bugs
  • Improving documentation
  • Reporting hardware or software issues
  • Suggesting new features

Before submitting a pull request, make sure the affected firmware project builds successfully. The continuous-integration workflow will run formatting, compilation, and static-analysis checks.

For questions and development discussions, join the CATS Discord community.

License and Attribution

This software is distributed under the GNU General Public License version 3 and is provided without warranty.

Parts of the Flight Computer CLI and embedded FAT implementation were adapted from Betaflight and Cleanflight. Thanks to their contributors for making that work available.

Overview

Here is a quick overview of our system, in the form of a poster that we presented at the 26th ESA PAC Symposium.

CATS Poster

About

Embedded Firmware for the CATS Flight Computers

Topics

Resources

Stars

47 stars

Watchers

0 watching

Forks

Releases

Contributors

Languages