{"id":22686453,"url":"https://github.com/elodin-sys/elodin","last_synced_at":"2026-03-17T06:00:50.573Z","repository":{"id":226072355,"uuid":"763747649","full_name":"elodin-sys/elodin","owner":"elodin-sys","description":"Elodin simulation and flight software monorepo.","archived":false,"fork":false,"pushed_at":"2026-01-03T18:16:18.000Z","size":300476,"stargazers_count":502,"open_issues_count":53,"forks_count":29,"subscribers_count":4,"default_branch":"main","last_synced_at":"2026-01-03T18:55:50.379Z","etag":null,"topics":["aerospace","drones","ecs","physics-simulation","rust","space"],"latest_commit_sha":null,"homepage":"https://docs.elodin.systems","language":"Rust","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/elodin-sys.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2024-02-26T21:07:50.000Z","updated_at":"2026-01-02T15:42:52.000Z","dependencies_parsed_at":"2024-05-17T05:28:13.942Z","dependency_job_id":"1535a291-3a3b-45c0-9311-7fdee49c1aaf","html_url":"https://github.com/elodin-sys/elodin","commit_stats":null,"previous_names":["elodin-sys/elodin"],"tags_count":13,"template":false,"template_full_name":null,"purl":"pkg:github/elodin-sys/elodin","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/elodin-sys%2Felodin","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/elodin-sys%2Felodin/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/elodin-sys%2Felodin/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/elodin-sys%2Felodin/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/elodin-sys","download_url":"https://codeload.github.com/elodin-sys/elodin/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/elodin-sys%2Felodin/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":28207161,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2026-01-04T02:00:06.065Z","response_time":58,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["aerospace","drones","ecs","physics-simulation","rust","space"],"created_at":"2024-12-09T23:01:31.888Z","updated_at":"2026-01-28T02:52:35.879Z","avatar_url":"https://github.com/elodin-sys.png","language":"Rust","readme":"\u003ch1 align=\"center\"\u003e\n  \u003ca href=\"https://www.elodin.systems/\"\u003e\n    \u003cimg alt=\"elodin-banner\" src=\"https://assets.elodin.systems/assets/elodin-banner.png\"\u003e\n  \u003c/a\u003e\n\u003c/h1\u003e\n\nThis monorepo contains the source code for all Elodin simulation and flight software:\n\n- Flight software\n  - [`aleph-os`](./aleph): Aleph NixOS modules for composing a Linux flight software stack that runs on the Orin.\n  - [`elodin-db`](./libs/db) (FSW application): A time-series database which functions as a central telemetry store and message bus.\n  - [`serial-bridge`](./fsw/serial-bridge) (FSW application): Reads sensor data being streamed over the serial port and writes it to [`elodin-db`](./libs/db).\n  - [`mekf`](./fsw/mekf) (FSW application): A Multiplicative Extended Kalman Filter implementation that fuses sensor data to estimate vehicle attitude.\n  - [`sensor-fw`](./fsw/sensor-fw): Aleph expansion board firmware that streams sensor data (IMU, mag, baro) to the Orin over USB/UART.\n- Simulation software\n  - [`nox-py`](./libs/nox-py): Python version of `nox-ecs`, that works with JAX.\n- [Editor](./apps/elodin): 3D viewer and graphing tool for visualizing both simulation and flight data.\n\n\u003ch2 align=\"center\"\u003e\n  \u003ca href=\"https://www.elodin.systems/\"\u003e\n    \u003cimg alt=\"elodin-stack\" src=\"assets/elodin-stack.png\"\u003e\n  \u003c/a\u003e\n\u003c/h2\u003e\n\n## Getting Started\n\n### Prerequisites\n- [Determinate Systems Nix](https://determinate.systems/nix-installer/) for a consistent development environment\n- [Just](https://just.systems/man/en/): ( `brew install just` / `apt install just` )\n- [git-lfs](https://docs.github.com/en/repositories/working-with-files/managing-large-files/installing-git-large-file-storage): ( `brew install git-lfs` / `apt install git-lfs` ), and make sure to activate it globally with `git lfs install` from the terminal.\n- **STRONGLY** prefer an Arm-based MacOS, nix works on x86 \u0026 Ubuntu but at much slower build speeds and worse DX.\n\n---\n\n## Development Setup (Recommended: Nix)\n\nThe Elodin repository uses Nix to provide a consistent, reproducible development environment across all platforms. This is the same environment our team uses daily.\n\n### 1. Install Nix\n```sh\n# Install Determinate Systems Nix (recommended)\ncurl --proto '=https' --tlsv1.2 -sSf -L https://install.determinate.systems/nix | sh -s -- install\n```\n\n### 2. Clone the Repository\n```sh\ngit clone https://github.com/elodin-sys/elodin.git\ncd elodin\n```\n\n### 3. Enter the Nix Development Shell (this can take awhile to build the first time)\n```sh\nnix develop\n```\n\u003e [!TIP]\n\u003e The Nix shell supports Oh My Zsh + Powerlevel 10k; for first time configuration run: `p10k configure`\n\u003e\n\n### 4. Build and Install Elodin Editor and Elodin DB into your path\n```sh\njust install\n\nelodin --version\n\npython3 examples/rocket/main.py run\n```\n\nOpen the Elodin editor in a new nix develop shell and connect to the local server\n\n```sh\nelodin editor\n```\n\n---\n\n## Python SDK Development Setup (Nix-based continued)\n\n### 5. Enter *another* Nix Development Shell, run the server \u0026 example simulation\n\n#### Python SDK Development\n```sh\n# In a new terminal\nnix develop\n# build the SDK python wheel\nuv venv --python 3.12 \u0026\u0026 \\\nsource .venv/bin/activate \u0026\u0026 \\\nuvx maturin develop --uv --manifest-path=libs/nox-py/Cargo.toml\n# use the newly built wheel\npython3 examples/rocket/main.py run\n```\n\nOpen the Elodin editor and connect to the local server\n\n\u003e [!NOTE]\n\u003e Local setup instructions were validated on Arm M2 MacOS \u0026 Intel x86 Ubuntu 24.04 on 2025-10-12.\n\n---\n\n## Alternative Local Setup (macOS Only)\n\n\u003e [!WARNING]\n\u003e This setup is more complex and may lead to inconsistent environments across developers. We strongly recommend using Nix instead.\n\nIf you cannot use Nix, you can manually install dependencies on macOS:\n\n### Prerequisites\n```sh\n# Install required tools via Homebrew\nbrew install gstreamer python gfortran openblas uv git-lfs rust\n\n# Initialize git-lfs\ngit lfs install\n```\n\n### Build and Run\n```sh\ngit clone https://github.com/elodin-sys/elodin.git\ncd elodin\njust install\n```\n\n### Python Development (Local Setup)\n```sh\nuv venv --python 3.12\nsource .venv/bin/activate\nuvx maturin develop --uv --manifest-path=libs/nox-py/Cargo.toml\n\ncargo run --bin elodin editor examples/three-body/main.py\n# Or equivalently use the 'elodin' cargo alias:\ncargo elodin editor examples/three-body/main.py\n```\n\n\u003e [!NOTE]\n\u003e Local setup instructions were validated on M1 architecture, macOS 15.6.1 on 2025-11-03.\n\n## Additional Resources\n\n- [Elodin App Documentation](apps/elodin/README.md)\n- [Python SDK Documentation](libs/nox-py/README.md)\n- [Internal Nix Documentation](docs/internal/nix.md)\n","funding_links":[],"categories":["Rust"],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Felodin-sys%2Felodin","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Felodin-sys%2Felodin","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Felodin-sys%2Felodin/lists"}