#copper #real-time #middleware

no-std cu29-traits

Common systems and robotics traits designed to decouple the components of your robotic system. These can be used independently from the Copper project.

17 releases (10 breaking)

Uses new Rust 2024

0.12.0 Jan 14, 2026
0.11.0 Nov 26, 2025
0.10.0 Oct 19, 2025
0.8.0 May 26, 2025
0.2.1 Jul 29, 2024

#119 in Robotics

Download history 470/week @ 2025-10-14 215/week @ 2025-10-21 291/week @ 2025-10-28 428/week @ 2025-11-04 292/week @ 2025-11-11 342/week @ 2025-11-18 295/week @ 2025-11-25 210/week @ 2025-12-02 111/week @ 2025-12-09 323/week @ 2025-12-16 351/week @ 2025-12-23 128/week @ 2025-12-30 94/week @ 2026-01-06 176/week @ 2026-01-13 205/week @ 2026-01-20 195/week @ 2026-01-27

699 downloads per month
Used in 68 crates (14 directly)

Apache-2.0

63KB
1.5K SLoC

Common copper traits and types for robotics systems.

This crate is no_std compatible by default. Enable the "std" feature for additional functionality like implementing std::error::Error for CuError and the new_with_cause method that accepts types implementing std::error::Error.

Features

  • std (default): Enables standard library support
    • Implements std::error::Error for CuError
    • Adds CuError::new_with_cause() method for interop with std error types

no_std Usage

To use without the standard library:

[dependencies]
cu29-traits = { version = "0.9", default-features = false }

     Copper Runtime & SDK

copper GitHub last commit dependency status Discord Documentation

🤖     Copper is to robots what a game engine is to games - build, run, and replay your entire robot deterministically.

Why Copper

🦀 Rust-first – ergonomic & safe

⚡ Sub-microsecond latency – zero-alloc, data-oriented runtime

⏱️ Deterministic replay – every run, bit-for-bit identical

🧠 Interoperable with ROS2 – bridges via Zenoh opening the path for a progressive migration.

🪶 Runs anywhere – from Linux servers, workstations, SBC to bare-metal MPUs

📦 Built to ship – one stack from simulation to production

Example Applications

Flying Driving Swimming Spacefaring
copper-drone copper-driving copper-swimming copper-space

You don't have a real robot yet? Try it in our toy example right now in a sim environment!

Copper in virtual action

Here is a Copper-based robot in action in a Bevy simulation environment!
The realistic sim is created using Bevy (A Rust Game Engine) and Avian3d (Physics Engine in Rust).

On your mac or linux machine (x86-64 or Arm) just run ...

$ cargo install cu-rp-balancebot
$ balancebot-sim

... to try it locally.

The source code for this demo is available in the examples/cu_rp_balancebot directory.

Get Started

Documentation

Link to the full documentation

Project

[!NOTE] We are looking for contributors to help us build the best robotics framework possible. If you are interested, please join us on Discord or open an issue.

Dependencies

~2.4–3.5MB
~64K SLoC