STM32Cube is a set of tools and embedded software bricks available free of charge to enable fast and easy development on the STM32 platform which simplifies and speeds up developers’ work.

A large number of code use examples are also included making it even easier to get started.

STM32Cube consists of the following components that can be used together or independently:

  • The STM32CubeMX graphical user interface and initialization code generator that:
    • Provides graphical wizards to generate initialization C code and includes a utility tool for assisting developers with pin multiplexing, clock tree setting, peripheral configurations and setting up the middleware
    • Generates IDE-ready projects for a wide selection of integrated development environment toolchains
    • Calculates the power consumption for user-defined application sequences
    • Directly imports STM32Cube embedded software libraries from
    • Keeps STM32CubeMX software up-to-date thanks to an Integrated updater
  • STM32Cube MCU and MPU Packages for each individual STM32 MCU and MPUs series that include:
    • The hardware abstraction layer (HAL) enabling portability between different STM32 devices via standardized API calls
    • Low-layer (LL) APIs, a light-weight, optimized, expert oriented set of APIs designed for both performance and runtime efficiency
    • A collection of middleware components including RTOS, USB library, file system, TCP/IP stack, touch-sensing library or graphics library (depending on the STM32 series)
    • For STM32 MPUs only, the BSP drivers are based on HAL drivers and provide an API Set to the evaluation board and 3rd party components.

Resources Support & Community