Filtered Inertial Rotation Module
FIRM is a project by the NCSU High Powered Rocketry Club to develop a flight computer for high powered rockets. The flight computer is designed to provide accurate attitude and position data during flight using an array of sensors and advanced filtering algorithms.
It is also designed to be modular and easily adaptable to different rocket configurations and mission requirements. The project will also have a custom PCB design to integrate all the components into a compact and lightweight package suitable for high-speed flight.
This repository contains both the embedded code (written in C) that is compiled directly on the STM32 microcontroller, as well as the client code (written in Rust) that will act as the interface between the user-facing API and the hardware.
The components used in this project include:
| Part Number | Description | Datasheet Link |
|---|---|---|
| ICM-45686 | 6 Axis IMU | Datasheet |
| STM32F405RGT6 | Microcontroller | Datasheet |
| MMC5983MA | Magnetometer | Datasheet |
| BMP581 | Pressure Sensor | Datasheet |
To set up the project for either embedded development in C or client development in Rust, you will need uv installed, and clone the repository:
git clone https://github.com/NCSU-High-Powered-Rocketry-Club/FIRM.git