Useful Resources
Throughout this book, we’ve been learning Copper by building projects step by step. But the copper-rs repository itself is a goldmine of resources that go far beyond what we’ve covered. This chapter is a guided tour of where to find documentation, examples, and tools in the copper-rs repository.
Official documentation
The Copper project maintains a documentation site with detailed guides on every aspect of the framework:
copper-project.github.io/copper-rs
Here are the most useful pages:
| Page | What you’ll find |
|---|---|
| Copper Application Overview | Full walkthrough of a task graph and runtime |
| Copper RON Configuration Reference | Complete schema for copperconfig.ron |
| Task Lifecycle | Detailed explanation of new, start, process, stop |
| Modular Configuration | Includes, parameter substitution, composition |
| Build and Deploy | Building for different targets and deploying |
| Supported Platforms | What hardware and OS combinations are supported |
| Baremetal Development | Running Copper on microcontrollers without an OS |
| Available Components | Catalog of drivers, algorithms, and bridges |
| FAQ | Common questions and answers |
Bookmark the configuration reference in particular – it’s the definitive source for every
field you can put in copperconfig.ron.
The examples/ directory
The repository ships with a large collection of working examples. Each one is a complete,
buildable project with its own copperconfig.ron, task implementations, and main.rs.
When you want to learn a new feature, reading the corresponding example is often the
fastest way to understand how it works in practice.
Browse them at github.com/copper-project/copper-rs/tree/master/examples, or run any example from the repository root:
cargo run -p cu_missions
Project templates
We used cu_project (Chapter 3) and cu_full (Chapter 15) to scaffold our projects, but
the templates directory has more to offer:
templates/
├── cu_project/ # Simple single-crate project
├── cu_full/ # Multi-crate workspace with components
└── README.md # Detailed usage guide
The templates/README.md documents all available cargo generate options, including how
to use the cunew alias and the just gen-workspace / just gen-project shortcuts.
Docker images
The support/docker/ directory contains Dockerfiles for building Copper projects in
containerized environments:
Dockerfile.ubuntu– Standard Ubuntu-based build environmentDockerfile.ubuntu-cuda– Ubuntu with CUDA support for GPU-accelerated tasks
These are useful for CI pipelines or for building on machines where you don’t want to install the full Rust toolchain.
Cross-compilation support
The support/ directory also includes helpers for cross-compiling and deploying to
embedded targets:
just cross-armv7-deploy # Build and deploy to ARMv7 (e.g., Raspberry Pi)
just cross-riscv64-deploy # Build and deploy to RISC-V 64
These commands build release binaries for the target architecture and scp them to the
robot along with the copperconfig.ron.
The Discord
Finally, the Copper project has an active Discord server where you can ask questions, share your projects, and get help from the community and the framework authors.