Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

125 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Important

Australis firmware is under active development, with changes being pushed to a private remote. This repository and its branches are currently seeing less frequent updates in the form of pre-release versions whilst these changes are underway.

FreeRTOS Based Firmware For Australis Series Flight Computers

Static Badge Static Badge Static Badge

Static Badge Static Badge

Want to submit an issue?



Operating avionics hardware for winning rocket of Technical Excellence Award and runner's up overall in AURC 2024 - Aurora V

Powering IREC & AURC 2025 entries for avionics subsystem - Legacy III

Warning

The firmware system and this repository are still under active development. Documentation and source code are not yet considered stable.

Pre-release builds are being made available as progress is made, however the user should be aware that there may be undocumented or unfinished features in some parts of the code.

Overview

This repository contains the firmware for the Australis series flight computers, developed using FreeRTOS. The project includes source code, build tooling, and documentation to facilitate development and deployment.

Australis

Australis version 2 (AV2) flight-computer hardware platform

Note

The firmware is designed to run on various hardware platforms, with explicit support for STM32F439 microcontrollers, however the AV2 system (pictured above) is the basis for implementation. While other platforms are supported unofficially as extended targets, correct operation is not guaranteed.

Table of Contents

  1. Getting Started
  2. FAQ
  3. Contributions
  4. Acknowledgements

Getting Started

For a detailed guide to get started with the project, follow the instructions in the Firmware README. This includes information on setting up the build environment, building the firmware, and running it on supported hardware platforms.

Docker Environment

Important

TODO: Populate this section

Documentation

For detailed information about the project, including build instructions, code guidelines, and hardware targets, refer to the following resources:

  • Project Wiki: Comprehensive documentation about the project.
  • API Reference: Detailed API documentation for the project.
  • Firmware README: Detailed information about the firmware source structure, build process, and target platforms.

FAQ

Q: What is Australis?

Australis is a combined firmware and hardware platform designed for high degrees of flexibility and redundancy in its implementation. The system supports a core architecture that provides all the tools necessary for creating and operating a complete flight computer for any rocket configuration.

Q: What makes the system flexible?

Australis sports various hardware interconnects and a range of highly modular firmware systems provided to enable your designs. AV2 boards each provide two directly connected microcontrollers, and may be interconnected with other boards, primarily via CAN.

Q: What makes the system redundant?

Redundant apogee detection and recovery deployment is currently under development for official firmware targetting AV2. The approach follows a triple-mode-redundant (TMR) architecture designed for a dual-board setup with two stages of redundancy:

  1. In hardware, one microcontroller on the bus is dedicated the role of arbiter. The arbiter is in charge of collating "votes" from the other three microcontrollers, and when it determines a majority vote it activates the recovery output interlocks and detonates the energetics

  2. Each remaining microcontroller provides the role of voter, maintaining an active estimate of their flight-state dynamics. The physical system state is considered a global input to each voter, where the processed state variables determine the input redundancy stage through a "vote" on the output when at least two of the following three conditions are met:

    • Vertical velocity (ground axis referenced) is negative
    • Barometric pressure is increasing
    • Tilt angle (ground axis referenced) is greater than 90°

While designed for dual-board systems for a TMR configuration, the level of N-Modular Redundancy is highly flexible and can easily be extended for greater values of N. Additional redundancy is also being considered for support as flexible redundancy, where a TMR configuration could fall-back to other forms of redundancy such as hot-standby in the event of a number of failures that cannot be masked in the implemented redundancy configuration by N modules.

Contributions

Contributions to the project are welcome. Please refer to the contributing guidelines in the firmware README for more information on how to contribute.

Acknowledgements

Key Contributors

Name Role
Matthew Ricci Principal firmware developer
William Houlahan Initial driver implementations
Benjamin Wilsmore Initial driver implementations

Special Thanks

Other members of the Aurora V Avionics team:

  • Hugo Begg - avionics hardware
  • Jonathan Chandler - ground control station
  • Jeremy Timotius - data analysis
  • Lucas Webb - ground control station

Thank you to Aurora & Legacy project team leads Patrick Underwood and Brodie Alexander for providing the opportunity and environment to work on these rockets as part of the team, and thank you to everyone who helped make them a reality!

About

FreeRTOS based firmware for Australis flight computers. Initially forked from Aurora V avionics firmware to fly with Legacy series rockets.

Topics

Resources

Stars

Watchers

Forks

Releases

Packages

Used by

Contributors

Languages