rustlink logo

rustlink

Free

small set of Rust tools to program STM32 devices

FreeFree tier
Type
Open Source

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.