elodin-aleph | Skill Performance & Reviews | TopRankSkills

TopRank Skills

Home / Skills / tools / elodin-aleph

elodin-aleph

maintained by elodin-sys

star 513 account_tree 31 verified_user MIT License
bolt View GitHub

name: elodin-aleph description: Deploy and configure AlephOS on flight computers, write flight software services, and manage NixOS modules for the Aleph platform. Use when working with aleph/, deploying to Jetson Orin hardware, writing NixOS modules, flashing firmware, or composing a flight software stack.

Elodin Aleph

Aleph is an NVIDIA Jetson Orin-based flight computer running NixOS. The aleph/ directory contains NixOS modules, packages, and deployment tooling for composing a Linux flight software stack.

Quick Reference

# SSH into Aleph (USB-C rightmost port)
ssh root@fde1:2240:a1ef::1          # Default password: root

# SSH over WiFi (after setup)
ssh aleph-99a2.local                 # Hostname shown by `hostname` command

# Deploy configuration changes
./deploy.sh                          # Default: $USER@fde1:2240:a1ef::1
./deploy.sh --host aleph-99a2.local  # Custom host

# Build SD image for fresh install
nix build --accept-flake-config .#packages.aarch64-linux.sdimage

Initial Setup

  1. Connect USB-C to rightmost port on Aleph
  2. ssh root@fde1:2240:a1ef::1 (password: root)
  3. Follow aleph-setup wizard (or run it manually)
  4. Connect to WiFi: iwctl station wlan0 connect "NetworkName"
  5. Verify: ping google.com

After WiFi setup, SSH directly via aleph-XXXX.local.

Development Workflow

The recommended cycle for iterating on the NixOS configuration:

  1. Edit files in aleph/flake.nix, aleph/modules/, or aleph/kernel/
  2. Run ./deploy.sh from the aleph/ directory
  3. The script builds, copies store paths, and activates the new config
  4. To revert: reboot and select previous bootloader entry (requires serial console on left USB-C port)

NixOS Module System

Configuration is in aleph/flake.nix, composed from modules in aleph/modules/:

Hardware & Base

Module Purpose
hardware.nix Forked kernel, device tree for Orin
fs.nix SD-card image compatibility
usb-eth.nix USB Ethernet gadget (IPv6 fde1:2240:a1ef::1)
wifi.nix WiFi via iwd
minimal.nix Minimal NixOS profile
aleph-base.nix Base configuration
aleph-dev.nix Dev packages (CUDA, OpenCV, git)

Flight Software Services

Module Purpose
elodin-db.nix Elodin-DB telemetry database service
aleph-serial-bridge.nix Sensor data from serial → Elodin-DB
mekf.nix MEKF attitude estimation service
msp-osd.nix MSP DisplayPort OSD for FPV goggles
udp-component-broadcast.nix UDP component broadcasting
udp-component-receive.nix UDP component receiving
elodinsink.nix GStreamer plugin for video → Elodin-DB
tegrastats-bridge.nix Orin SoC telemetry bridge

Setup & Status

Module Purpose
aleph-setup.nix First-time setup wizard
installer.nix USB installer system

Template flake.nix

aleph/template/flake.nix is the starting point for user configurations. It imports Aleph modules and configures services:

# Key structure in template/flake.nix
{
  inputs.elodin.url = "github:elodin-sys/elodin";

  outputs = { self, elodin, nixpkgs }: {
    nixosConfigurations.aleph = nixpkgs.lib.nixosSystem {
      modules = [
        elodin.nixosModules.aleph-base
        elodin.nixosModules.elodin-db
        elodin.nixosModules.mekf
        # ... other modules
      ];
    };
  };
}

Available FSW Applications

These Rust applications in fsw/ run as NixOS services on Aleph:

Application Path Purpose
sensor-fw fsw/sensor-fw/ STM32H747 firmware: IMU, mag, baro → USB/UART
serial-bridge fsw/serial-bridge/ Serial port → Elodin-DB
mekf fsw/mekf/ Sensor fusion for attitude estimation
msp-osd fsw/msp-osd/ OSD telemetry display for FPV
gstreamer fsw/gstreamer/ H.264 video → Elodin-DB (elodinsink)
video-streamer fsw/video-streamer/ Video files → AV1 → Elodin-DB
udp_component_broadcast fsw/udp_component_broadcast/ Real-time UDP component sharing
aleph-status fsw/aleph-status/ System status display
aleph-setup fsw/aleph-setup/ Interactive first-time setup
blackbox fsw/blackbox/ Blackbox data processing
lqr fsw/lqr/ LQR control system

Fresh Install / Recovery

For unbootable or corrupted systems:

  1. Build SD image: nix build --accept-flake-config .#packages.aarch64-linux.sdimage
  2. Flash to USB: sudo dd if=aleph-os.img of=/dev/sdX bs=4M status=progress oflag=sync
  3. Boot from middle USB-C port
  4. SSH via rightmost USB-C: ssh root@fde1:2240:a1ef::1
  5. Run aleph-installer
  6. Remove USB and reboot

MCU Operations

# Reset the STM32 MCU
aleph/scripts/reset-mcu.sh

# Flash new firmware
aleph/scripts/flash-mcu.sh

# Scan for Aleph devices on network
aleph/scripts/aleph-scan.sh

Key References

chat Comments (0)

chat_bubble_outline

No comments yet. Be the first to share your thoughts!

Skill Details

GitHub Stars 513
GitHub Forks 31
Created Mar 2026
Last Updated 3 months ago
tools tools system admin

Related Skills

docker-expert
chevron_right
telnyx-network
chevron_right
plex

plex

openclaw
star 2.4k
chevron_right
discord-governance
chevron_right
hetzner-provisioner
chevron_right

Build your own?

Join 12,000+ developers contributing to the Claude ecosystem.