rustlink
Freesmall set of Rust tools to program STM32 devices
FreeFree tier
About rustlink
Rustlink is a set of open-source Rust tools for programming STM32 microcontrollers via STLink probes. It includes rst-info for device information and rst-flash for programming and flash manipulation. The primary motivation is to handle multiple connected STLink probes, allowing users to select a specific device by serial number, overcoming limitations of tools like probe-rs-cli. The tool supports downloading firmware (ELF), resetting, dumping, and erasing flash memory. It is built with Cargo and requires Rust toolchain to install from source.
Key Features
rst-info: device information tool for STM32 via STLink
rst-flash: programmer and flash manipulation tool
Supports selecting a specific STLink probe by serial number when multiple probes are connected
Capabilities: download firmware (ELF), reset, dump memory, erase flash
Built in Rust using Cargo, open source under GPL-3.0
Pros & Cons
Pros
- Handles multiple connected STLink probes gracefully, unlike probe-rs-cli
- Written in Rust for safety and performance
- Open source with permissive GPL-3.0 license
- Simple command-line interface with clear examples
- Supports both info retrieval and flash operations in one toolset
Cons
- Repository archived and no longer actively maintained (as of July 2025)
- Only supports STM32 devices via STLink probes
- Requires Rust toolchain to build from source; no pre-built binaries provided
- Limited to command-line usage, no GUI
Best For
Programming STM32 microcontrollers with custom firmwareFlashing and verifying firmware on STM32 boards (e.g., Nucleo, STM32F103C8)Dumping and erasing flash memory for debugging or reflashingRetrieving device info from STLink-connected STM32 targets
FAQ
How does rustlink handle multiple STLink probes?
Unlike probe-rs-cli, rustlink allows you to select a specific probe by its serial number using the -s flag, enabling use when multiple probes are connected.
What STM32 devices are supported?
Rustlink supports STM32 devices compatible with STLink probes, such as the STM32F103C8 shown in examples. It uses a target identifier (-t) to specify the chip.
Is rustlink still maintained?
The repository was archived by the owner on July 3, 2025, and is now read-only. The latest release is v1.0.0 from May 21, 2023.