Blinking a Blue Pill LED with Rust, from scratch

I wanted to figure out how microcontrollers work, so I wrote a small LED-blinking program in Rust, available on GitHub.

Most well-documented ways to program a microcontroller use libraries and generated code to make the job easier. If you’re trying to understand the hardware, you end up working backwards through those layers. Beginner-friendly material that starts from scratch is harder to find.

I know how compilers work well enough that using Rust wouldn’t get in the way. It also gives me a chance to learn more about Rust: raw pointers, volatile access, and what it takes to run without the usual startup code.