Architecture¶
AURORA runs on multiple interconnected PCBs that communicate over CAN bus.
The primary application is sensor_board, which manages the IMU, barometric
sensor, flight state machine, and pyrotechnic ignition.
Threads¶
sensor_board uses three Zephyr threads (all priority 5, 2 KB stack):
Thread |
Guard |
Purpose |
|---|---|---|
|
|
Polls IMU at the configured frequency, updates orientation and acceleration globals. |
|
|
Measures pressure/temperature, computes altitude. |
|
|
Runs at 10 Hz. Feeds sensor data into the state machine and fires pyro channels on state transitions. |
Flight States¶
The simple state machine implements the following flight sequence:
IDLE -> ARMED -> BOOST -> BURNOUT -> APOGEE -> MAIN -> REDUNDANT -> LANDED
\-> ERROR
State transitions are driven by sensor thresholds configured via Kconfig (boost acceleration, main descent height, apogee timeout, etc.).
Supported Boards¶
Board |
MCU |
Notes |
|---|---|---|
|
RP2040 (Cortex-M0+) |
Primary target |
|
RP2350 (RISC-V Hazard3) |
|
|
ESP32-S3 |
Custom Auxspace board |