// the find
rp-rs/rp2040-project-template
A basic rp2040-hal project with blinky and rtt logging example code. With this you can quickly get started on a new rp2040 project
A cargo-generate template for bootstrapping RP2040 firmware projects in Rust, wrapping rp2040-hal with the knurling-rs stack (defmt, defmt-rtt, panic-probe, flip-link) and probe-rs as the default flash/debug runner. It's for anyone starting a new bare-metal RP2040 project who wants working logging and debugging from the first commit instead of assembling it themselves.
flip-link is wired in by default, which catches stack overflows on core0 at flash time instead of a silent crash weeks later. defmt-over-RTT gives you structured, low-overhead logging on a microcontroller where println! isn't an option, and it's already configured rather than left as an exercise. It supports several runner backends (probe-rs, cargo-embed, VSCode debugger, picotool over USB), so you're not locked into owning a specific debug probe to get started.
It's a template, not a maintained crate — once you generate a project it forks from this repo, so fixes upstream never reach you. The README says the underlying hal is 'volatile until a 1.0.0 release,' which for a Rust embedded project in 2026 is a long-running caveat worth checking isn't stale. Only core0 is supported (the flip-link stack-overflow detection explicitly doesn't cover core1), so anything needing the RP2040's second core needs a different starting point. Windows users can't set DEFMT_LOG inline per-run like Linux/macOS can — it requires editing config.toml or a separate env var step, a small but real workflow friction point called out in the README itself.