This repository prototypes a lockstep software-in-the-loop integration between:
- Bright Ascension HELIX Flightkit flight software, built as native C with
hfk. - The Elodin CubeSat attitude simulation, adapted from
examples/cube-satin elodin.
The target demo is a Flightkit C controller detumbling an Elodin CubeSat with three reaction wheels.
Note: Currently requires Ubuntu 22.04 only
curl -LsSf https://astral.sh/uv/install.sh | sh\n # install astral uv Python version manager
sudo apt install git-lfs # install git lfs package
git lfs install # configure git to use lfs
git lfs fetch && git lfs checkout # if you already cloned this repo, run to fetch assetshttps://brightascension.com/portal/flightkit-documentation/2026.3.0-1/index.html
bash scripts/install_elodin.sh # installs latest elodin and elodin-db release
uv venv -p 3.13 && source .venv/bin/activate # python environment install and activation
uv sync # install elodin python sdkbash scripts/build_fsw.sh
elodin editor sim/main.pybash scripts/build_fsw.sh
elodin run sim/main.py
python scripts/verify_run.pyThe deep dive — system topology, lockstep cycle, wire protocol, module reference, and design decisions — is in ARCHITECTURE.md.