STM32CubeProgrammer

STM32CubeProgrammer

The essential tool to program and configure STM32 devices

STM32CubeProgrammer enables teams to efficiently build robust applications, from bring-up to testing and release, with a free, all-in-one, cross-platform solution for programming, configuration, and device security.

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.

Erasing programming

Low-Level memory access

Directly read, edit, and extract STM32 memory for in-place testing and analysis without firmware rebuild.

Memory file editing

STM32 option bytes configuration

Inspect and modify STM32 device settings, with dual views, clear descriptions, and one-click factory reset to the default state.

Option Bytes

Device security made easy

A clear interface to manage security features through all device's states

Security

Real-time access to chip registers

Real-time register monitoring, editing, and logging for IDE-less debugging and validation.

Registers

Resources to start your project

Installer
Documentation
Video tutorials Tutorial

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.