finds.dev← search

// the find

copper-project/copper-rs

★ 1,357 · Rust · Apache-2.0 · updated Jun 2026

Copper is an operating system for robots - build, run, and replay your entire robot deterministically.

Copper is a Rust robotics runtime built around a compile-time DAG of typed tasks, with zero-allocation message passing and bit-for-bit deterministic replay. It targets the full hardware range — STM32 microcontrollers to Linux workstations — and bridges to ROS2 via Zenoh. The audience is teams willing to commit to Rust who are frustrated with ROS2's overhead and non-determinism.

The deterministic replay story is the real differentiator: because message routing is zero-alloc and time is unified across the DAG, you can replay a physical robot run exactly and step through it offline — something ROS2 bags can't guarantee due to scheduling noise. The browser demos (BalanceBot, flight controller) run the actual compiled WASM of the same crate that runs on the Pi and STM32H7; same binary target, not a rewrite. The component catalog already covers serious hardware: Hesai lidar, ZED stereo, VLP-16, BMI088 IMU, iceoryx2 shared-memory bridge — enough to build a real drone or wheeled robot without writing every driver yourself. CI is mature: nextest, cargo deny, CodeQL, coverage reports, and a reusable embedded workflow — the project is run like it intends to ship.

Python task support is explicitly flagged 'not recommended for production or realtime robots' and defeats the performance model — if your perception stack is PyTorch or anything Python-native, you're either writing a Zenoh bridge or rewriting in Rust. The RON config format for task graphs is Rust-specific and adds a second unfamiliar DSL on top of the Rust learning curve; there's no schema validation tooling beyond the compiler. The component catalog is thin outside the authors' own hardware — anything not listed means writing a driver from scratch with no HAL abstraction layer visible in the docs. Still at v1.0.0-rc2 with a large API surface (derive macros, traits, unifiedlog, the entire runtime contract); adopters are betting on API stability that hasn't been promised yet.

View on GitHub → Homepage ↗

// want more like this?

We dig through GitHub every week and send a few repos picked for what you actually care about — each with an honest take like this one.

Get finds in your inbox → Search again →