finds.dev← search

// the find

lupyuen/stm32-blue-pill-rust

★ 106 · Rust · Apache-2.0 · updated Dec 2020

Rust for STM32 Blue Pill with Visual Studio Code

A 2018-era getting-started repo for writing Rust on the STM32 Blue Pill (STM32F103) with VS Code. It wires together cortex-m-quickstart, the japaric HAL, OpenOCD, and arm-none-eabi-gdb into a working debug loop. Aimed squarely at people who have never done embedded Rust before and want a step-by-step walkthrough.

The VS Code integration is unusually complete for its time — tasks.json, launch.json, and loader.gdb are all pre-configured so you can hit F5 and actually land in a debug session. The wiring table for ST-Link V2 pins is a small thing that saves 30 minutes of confusion. The loader.gdb script is well-commented and explains non-obvious GDB behaviour like why the target must be specified inside the script rather than on the command line. The examples directory covers RTFM scheduling, preemption, and periodic tasks — not just blinky.

Abandoned in 2020 and it shows: it pins nightly Rust (required for the old RTFM API) and references japaric's original stm32f103xx and stm32f103xx-hal crates, which have since been superseded by stm32f1xx-hal and rtic (the RTFM successor). Anyone cloning this today will spend most of their time fighting dependency resolution, not learning embedded Rust. The Ubuntu debugger is documented as broken with no fix. There is no memory.x or linker script in the repo — the README says the board support crate provides it, but that dependency chain is now dead, so newcomers will hit a linker failure with no clear path forward.

View on GitHub →

// 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 →