This monorepo contains the source code for all Elodin simulation and flight software:
- Flight software
aleph-os: Aleph NixOS modules for composing a Linux flight software stack that runs on the Orin.elodin-db(FSW application): A time-series database which functions as a central telemetry store and message bus.serial-bridge(FSW application): Reads sensor data being streamed over the serial port and writes it toelodin-db.mekf(FSW application): A Multiplicative Extended Kalman Filter implementation that fuses sensor data to estimate vehicle attitude.sensor-fw: Aleph expansion board firmware that streams sensor data (IMU, mag, baro) to the Orin over USB/UART.
- Simulation software
nox-py: Python version ofnox-ecs, that works with JAX.
- Editor: 3D viewer and graphing tool for visualizing both simulation and flight data.
Rust 1.85.0 Preference for Arm based Macs
Validated on M1 architecture, macOS 15.1.1 on 2025-08-26.
just install(See apps/elodin/README.md)
brew install gstreamer python gfortran openblas uv
cd libs/nox-py
uv venv --python 3.12
source .venv/bin/activate
uvx maturin develop --uv
uv sync
cargo run --manifest-path=../../apps/elodin/Cargo.toml editor examples/three-body.pyAlternatively, install Determinate Systems Nix which will give you exactly the same development environment that we are using. Once you have Nix installed, switch to the top of the Elodin repo. Then you can do
nix develop .#rust
cargo ...
or, for Python,
nix develop .#python
python ...
Note that BuildKite uses exactly this infrastructure to run tests! It sets up the environment using Nix commands above and then runs the steps in pipeline.py under the .buildkite directory. You should be able to run the same steps locally just by copying the code from BuildKite steps.