STM32Cube initialization code generator

STM32CubeMX is part of STMicroelectronics STMCube™ original initiative to ease developers life by reducing development efforts, time and cost. STM32Cube covers STM32 portfolio.

STM32Cube includes the STM32CubeMX which is a graphical software configuration tool that allows generating C initialization code using graphical wizards.

It also embeds a comprehensive software platform, delivered per series (such as STM32CubeF4 for STM32F4 series). This platform includes the STM32Cube HAL (an STM32 abstraction layer embedded software, ensuring maximized portability across STM32 portfolio), plus a consistent set of middleware components (RTOS, USB, TCP/IP and graphics). All embedded software utilities come with a full set of examples.

STM32CubeMX is a graphical tool that allows configuring STM32 microcontrollers very easily and generating the corresponding initialization C code through a step-by-step process.

Step one consists in selecting the STMicroelectronics STM32 microcontroller that matches the required set of peripherals.

The user must then configure each required embedded software thanks to a pinout-conflict solver, a clock-tree setting helper, a power-consumption calculator, and an utility performing MCU peripheral configuration (GPIO, USART, ..) and middleware stacks (USB, TCP/IP, ...).

Finally, the user launches the generation of the initialization C code based on the selected configuration. This code is ready to be used within several development environments. The user code is kept at the next code generation.

Key Features

  • Intuitive STM32 microcontroller selection
  • Microcontroller graphical configuration:
    • Pinout with automatic conflict resolution
    • Clock tree with dynamic validation of configuration
    • Peripherals and middleware functional modes and initialization with dynamic validation of parameter constraints
    • Power sequence with estimate of consumption results
  • C code project generation covering STM32 microcontroller initialization compliant with IAR™, Keil™ and GCC compilers.
  • Available as a standalone software running on Windows®, Linux® and OS X® (OS X® is a trademark of Apple Inc., registered in the U.S. and other countries) operating systems, or through Eclipse plug-in




Technical Documentation

Product Specifications
Description Version Size
DB2163 DB2163: STM32 configuration and initialization C code generation 5.0 353 KB
User Manuals
Description Version Size
UM1718 UM1718: STM32CubeMX for STM32 configuration and initialization C code generation 19.0 19 MB
Release Notes
Description Version Size
RN0094 RN0094: STM32CubeMX release 4.20.0 28.0 533 KB


License Agreement
Description Version Size

Tools and Software

Software Development Tools
MCUs Embedded Software

Get Software

Part Number Software Version Marketing Status Supplier Order from ST
STM32CubeMX 4.20.0 Active ST


Support & Community