STM32CubeMX

Table Of Contents

- STM32CubeMX documentation
- CubeMX User Manual
  - 1 STM32Cube overview
  - 2 Getting started with STM32CubeMX
  - 3 Installing and running STM32CubeMX
  - 4 STM32CubeMX user interface
  - 5 STM32CubeMX tools
  - 6 STM32CubeMX C Code generation overview
  - 7 Code generation for dual-core MCUs (STM32H7 dual-core product lines only)
  - 8 Code generation with TrustZone enabled (STM32L5 series only)
  - 9 Device tree generation (STM32MPUs only)
  - 10 Support of additional software components using CMSIS-Pack standard
  - 11 Tutorial 1: From pinout to project C code generation using an MCU of the STM32F4 series
  - 12 Tutorial 2 - Example of FatFs on an SD card using STM32429I-EVAL evaluation board
  - 13 Tutorial 3 - Using the Power Consumption Calculator to optimize the embedded application consumption and more
  - 14 Tutorial 4 - Example of UART communications with an STM32L053xx Nucleo board
  - 15 Tutorial 5: Exporting current project configuration to a compatible MCU
  - 16 Tutorial 6 - Adding embedded software packs to user projects
  - 17 Tutorial 7 - Using the X-Cube-BLE1 software pack
  - 18 Creating LPBAM projects
  - Appendix A STM32CubeMX pin assignment rules
  - Appendix B STM32CubeMX C code generation design choices and limitations
  - Appendix C STM32 microcontrollers power consumption parameters
  - Appendix D STM32Cube embedded software packages
  - Revision history
- Release Notes
  - Release details
  - Release fixes
  - Known limitations
    - Miscellaneous
    - 2.1. When selecting microcontrollers in the STM32C0 series
    - 2.2. When selecting microcontrollers in the STM32G0 series
    - 2.3. When selecting microcontrollers in the STM32G4 series
    - 2.4. When selecting microcontrollers in the STM32H5 series
    - 2.5. When selecting microcontrollers in the STM32H7 series
    - 2.6. When selecting dual-core microcontrollers in the STM32H7 series
    - 2.7. When selecting microcontrollers in the STM32L5 series
    - 3.4. How to improve the wake-up from Stop sequences without relying on the global SystemClock_Config()
    - 3.3. List pinout-compatible microcontrollers
    - 3.2. DDR binaries for the STM32MP1 boards
    - 3.1. Command line authentication required
    - 2.21. Symbolic links on Ubuntu
    - 2.20. User manual
    - 2.19. DDR test suite
    - 2.18. STM32CubeIDE toolchain
    - 2.13. When selecting microcontrollers in the STM32WL series
    - 2.11. When selecting microcontrollers in the STM32WB series
    - 2.17. When using additional software packs
    - 2.16. When using the Example Selector
    - 2.15. When using the Memory Management Tool
    - 2.14. When selecting microprocessors in the STM32MP1 series
    - 2.11.1. When selecting microcontrollers in the STM32WB0 product lines
    - 2.12. When selecting microcontrollers in the STM32WBA series
    - 2.13.1. When selecting microcontrollers in the STM32WL33 product lines
    - 2.10. When selecting microcontrollers in the STM32U5 series
    - 2.9. When selecting microcontrollers in the STM32U3 series
    - 2.8. When selecting microcontrollers in the STM32N6 series
- Running STM32CubeMX in command-line mode
- FAQ
- Community

### On this page

- Introduction
- Documentation

# STM32CubeMX documentation

Welcome to the documentation portal for STM32CubeMX.

This document covers the STM32CubeMX tool only.

For information about STM32CubeMX2, see the STM32CubeMX2 documentation.

To understand which STM32 series are supported by STM32CubeMX or STM32CubeMX2, see the STM32CubeMX page on ST website.

## Introduction

STM32CubeMX is a software tool for STM32 products. It is available as a standalone application and offers several important features:

- Project creation and opening: Create a new STM32 project from a selected MCU, board, or existing project, and reopen saved projects.

- Fast hardware configuration: Configure pins, clock tree, system settings, and basic MCU features quickly through the graphical interface.

- Peripheral setup: Enable and configure STM32 peripherals such as GPIO, USART, SPI, I²C, timers, ADC, DMA, and more.

- Middleware configuration: Activate and configure supported middleware, such as FreeRTOS, USB, LWIP, FatFs, and others, depending on the device and installed packages.

- Code generation: Generate initialization code and a complete project structure for supported IDEs/toolchains.

- Pack management: Check, install, uninstall, and update software packs.

- User code areas: Inspect generated code structure and use the protected USER CODE sections to customize the application safely.

- Project export and integration: Export to supported development environments and integrate with the STM32Cube ecosystem.

Note

Software packs are bundles of software components, libraries, drivers, middleware, and utilities. They facilitate development for specific hardware platforms. These packs use the open standard Open-CMSIS format. This format provides a uniform structure and management.

STM32CubeMX overview

## Documentation

User manual

Explore STM32CubeMX views and features such as Pinout, Clock, and Code Generation.

CubeMX User Manual
Release Notes

Find Release details and limitations.

Release Notes
Command lines

Learn basic cube commands to manage STM32CubeMX via CLI.

Running STM32CubeMX in command-line mode
Previous documents

Find previous versions of release notes and user manual

Previous documents
Community

Find Get support, and provide feedback.

Community
FAQ

Find Frequenly Asked Questions.

FAQ