Astra is a modular flight software library for embedded systems. It provides sensor abstraction, state estimation, logging, and HITL/SITL testing utilities so you can focus on mission logic instead of plumbing.
- Multi-sensor support (IMU, baro, GPS, mag, voltage, HITL)
- State estimation (Mahony AHRS + Kalman filter)
- Unified logging (CSV telemetry + event logs)
- Multi-platform support (STM32, Teensy, ESP32, native SITL)
#include <Arduino.h>
#include <Utils/Astra.h>
#include <State/DefaultState.h>
#include <Sensors/HW/IMU/BMI088.h>
#include <Sensors/HW/Baro/DPS368.h>
#include <Sensors/HW/GPS/MAX_M10S.h>
using namespace astra;
BMI088 imu;
DPS368 baro;
MAX_M10S gps;
DefaultState state;
AstraConfig config = AstraConfig()
.with6DoFIMU(&imu)
.withBaro(&baro)
.withGPS(&gps)
.withState(&state);
Astra sys(&config);
void setup() {
Serial.begin(115200);
sys.init();
}
void loop() {
sys.update();
}This library is designed for PlatformIO. See the docs for example platformio.ini configs and build flags:
ENV_TEENSYENV_STMENV_ESPNATIVE=1(SITL)
Start here:
docs/docs/index.mddocs/docs/user-guide/installation.mddocs/docs/user-guide/basic-use.md