Main features
STM32CubeProgrammes offer a unified, cross-platform programming environment for all STM32 devices. It supports GUI, CLI, and C API interfaces for manual use, automation, and custom tool development.
- Erasing and Programming
- Memory and File Editing
- Option Bytes
- Security
- Registers
Smart and automatic programming
Erase, program, and verify internal and external flash memories from a single interface. Supports full or partial chip erase, with configurable manual and automated workflows.
Low-Level memory access
Directly read, edit, and extract STM32 memory for in-place testing and analysis without firmware rebuild.
STM32 option bytes configuration
Inspect and modify STM32 device settings, with dual views, clear descriptions, and one-click factory reset to the default state.
Device security made easy
A clear interface to manage security features through all device's states
Real-time access to chip registers
Real-time register monitoring, editing, and logging for IDE-less debugging and validation.
Resources to start your project
Frequently asked questions
What is STM32CubeProgrammer?
STM32CubeProgrammer is STMicroelectronics’ free tool for programming STM32 microcontrollers (MCUs) and microprocessors (MPUs).
It supports firmware download, option bytes configuration, and security features (e.g., TrustZone, secure programming), across multiple interfaces.
What is STM32 Trusted Package Creator?
STM32 Trusted Package Creator is a tool used to generate secure firmware packages for STM32 devices.
It is included in the STM32CubeProgrammer package.
Is STM32CubeProgrammer free and open source?
STM32CubeProgrammer is free to use and publicly available from STMicroelectronics.
However, it is not open source.
Can I use STM32CubeProgrammer in a production environment?
No. STM32CubeProgrammer is not a tool for production programming as mentioned in the SOFTWARE PACKAGE LICENCE AGREEMENT.
Which operating systems are supported?
STM32CubeProgrammer is available on:
- Windows
- Linux
- macOS
Refer to the user manual for supported versions.
What STM32 devices are supported ?
STM32CubeProgrammer supports all STM32 MCUs and MPUs, including security features.
What programming interfaces and file formats are supported ?
Supported interfaces:
- Debug: ST-LINK (SWD, JTAG), SEGGER J-Link (SWD)
- Bootloader: UART, USB DFU, I²C, SPI, CAN
Supported file formats:
- Binary (.bin)
- ELF (.elf, .axf, .out)
- Intel HEX (.hex)
- Motorola S-record (.srec)
What tools does STM32CubeProgrammer inherits from?
STM32CubeProgrammer integrates and replaces:
- STM32 ST-LINK Utility
- DfuSe USB tool
- STM32 Flash Loader Demonstrator
These legacy tools are now discontinued.
What if my question is not listed here?
- Open our AI-powered assistant Sidekick

- Read the documentation.
- You can also use the STM32CubeProgrammer forum for support from ST development team and the community.