Elodin simulation and flight software monorepo.
This monorepo contains the source code for all Elodin simulation and 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 to elodin-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.nox-py: Python SDK (includes ECS and JAX integration).brew install just / apt install just )brew install git-lfs / apt install git-lfs ), and make sure to activate it globally with git lfs install from the terminal.The Elodin repository uses Nix to provide a consistent, reproducible development environment across all platforms. This is the same environment our team uses daily.
# Install Determinate Systems Nix (recommended)
curl --proto '=https' --tlsv1.2 -sSf -L https://install.determinate.systems/nix | sh -s -- installgit clone https://github.com/elodin-sys/elodin.git
cd elodinnix develop[!TIP] The shell follows yours (bash or zsh; venv on PATH; no
sourceneeded). Override withELODIN_SHELL=bashorELODIN_SHELL=zsh. For Oh My Zsh + Powerlevel 10k:p10k configureif prompted.
just install
elodin --version
python examples/rocket/main.py runOpen the Elodin editor in a new nix develop shell and connect to the local server
elodin editorjust install writes elodin / elodin-db and a Python venv into this shell's target/shells/$ELODIN_SHELL_ID/ so parallel worktrees and agent shells cannot overwrite each other.
# In a new terminal
nix develop
# build the SDK python wheel
just install py
python examples/rocket/main.py runOpen the Elodin editor and connect to the local server
[!NOTE] Local setup instructions were validated on Arm M2 MacOS & Intel x86 Ubuntu 24.04 on 2025-10-12.
[!WARNING] This setup is more complex and may lead to inconsistent environments across developers. We strongly recommend using Nix instead.
If you cannot use Nix, you can manually install dependencies on Ubuntu/Linux:
# Install required tools via apt
sudo apt install just git-lfs pkg-config libasound2-dev libudev-dev cmake gfortran patchelf python3-dev
# Initialize git-lfs
git lfs installAfter installing these packages, follow the same uvx maturin and cargo build steps above.
No open issues yet, or sync has not completed.