Onboard compute
for ARM64 (Apple Silicon, Jetson Nano).
MAVLink router, WiFi AP, video pipeline, VIO — one Rust daemon. Ships for Apple Silicon and Jetson Nano; custom SBCs handled in the integration engagement.
CrabCompanion
Dashboard preview coming soonRuns where you fly.
One Rust codebase. Cross-compiled per target. Same daemon on bench, aircraft, and CI.
Apple Silicon
M1 / M2 / M3 — macOS 14+Native ARM64 build. CrabCompanion runs as a launchd daemon with the same Rust binary that flies on aircraft today.
Native arm64 Rust, no Rosetta
Used in our SITL + VIO bench
Mac Mini fits inside an LMP-30 box
Jetson Nano
NVIDIA — JetPack 5+aarch64-unknown-linux-gnu cross-builds via cargo-cross. Pairs with a USB or MIPI camera and an IMU for VIO.
GPIO + UART out-of-the-box
Hardware H.264 encode in video pipeline
Tested airborne on small VTOL
Your SBC
Raspberry Pi 5, OrangePi, custom carrier boardsIf it boots a recent ARM64 Linux and exposes UART, we can stand it up. Bring-up is part of the integration engagement.
Bring your own kernel + drivers
BOM-stable carrier designs welcome
CAN / Cyphal peripherals optional
Router, WiFi AP, video, VIO, telemetry, watchdog.
One daemon, six services, one telemetry bus.
MAVLink router
Multi-endpoint relay between flight controller, GCS and onboard services. UDP, TCP, and serial fanout on a single bus.
WiFi access point
Built-in AP mode for field operation. Phone, laptop, or GCS connects to the vehicle without infrastructure.
Video pipeline
Camera ingestion, hardware-encode where available, UDP H.264 / JPEG out to GCS, frames into VIO in parallel.
Visual odometry
Visual-inertial pose estimation for GPS-denied flight. Pose corrections stream into the CrabPilot EKF.
Dashboard
Built-in web UI for system health, bus stats and live telemetry. Same look-and-feel as CrabStation.
Watchdog + recovery
Process supervisor with restart policies. A companion crash logs and restarts the daemon; the flight controller is autonomous and unaffected.
One daemon, one config file.
Sensors in, MAVLink + video out. The autopilot is unchanged. The GCS does not know the bus is bridged.
Data flow
Sensors
Camera, IMU, optional rangefinderCrabCompanion daemon
MAVLink router · WiFi AP · video pipeline · VIOFlight controller
CrabPilot or ArduPilot — over UART or USBGCS / fleet
CrabStation, QGroundControl, MissionPlanner over WiFiConfigure the bus
Single TOML. Ports, encoder, sensor topology. Reload without a reboot of the flight controller.
# /etc/crab-companion/config.toml [autopilot] serial = "/dev/ttyUSB0" baud = 921600 [gcs] udp_out = "192.168.4.10:14550" [video] device = "/dev/video0" encoder = "h264_v4l2m2m" udp_out = "192.168.4.10:5600" [odometry] sensor = "tracking-camera" publish = "vehicle-pose"
Where CrabCompanion flies
GPS-denied flight
VIO feeds pose corrections into the EKF when GPS goes away. Indoor inspections, urban canyons, jammed environments.
Live video to operator
Hardware-encoded H.264 stream to GCS over WiFi. Same companion that flies VIO carries the video — no second box.
Fleet field ops
Vehicle becomes its own access point. Operator pulls out a phone or laptop, connects, gets telemetry plus video.
Bring an SBC + cameras — we'll do bring-up. Quote per programme.
CrabCompanion ships as a commercial product with integration services scoped to your airframe. Pricing per engagement.
Hardware bring-up on your SBC (Jetson, Apple Silicon, custom ARM64)
Custom video pipelines (RTSP, low-latency H.265, multi-camera)
VIO tuning for your sensor + lens combination
CAN / Cyphal integration for peripheral nodes
Ongoing engineering support