Files
Files | |
---|---|
KiCad | |
STM32 | |
python-scripts | |
.clang-format | |
.gitignore | |
.pre-commit-config.yaml | |
.project | |
LICENSE | |
README.md | |
pyproject.toml | |
uv.lock |
README.mdFIRM
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.
Hardware Components
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 |
Project Setup
To set up the project, follow these steps (assuming you have Git/Github Desktop, and uv installed):
- Clone the repository:
git clone https://github.com/NCSU-High-Powered-Rocketry-Club/FIRM.git
Download the STM32CubeIDE from the STMicroelectronics website and install it on your machine.
Open STM32CubeIDE and import the project:
- Go to
File
>Import
. - Select
General
>Existing Projects into Workspace
and clickNext
. - Browse to the cloned repository location and select it.
- Click
Finish
.
- Go to
You'll find our source files in the
Core/Src
directory and header files in theCore/Inc
directory.Run
uv sync
.Run
pre-commit install
to set up the git hook for automatic code formatting, usingclang-format
.
Building the project
If you are using STM32CubeIDE, you can build the project by clicking on the hammer icon or by going to Project
> Build All
.
Third party licenses
Contains FATFS changes from https://github.com/MathewMorrow/STM32-SD-Logging-DMA (MIT Licensed)