The STM32Cube ecosystem is a complete software solution for STM32 microcontrollers and microprocessors. It is intended both for users looking for a complete and free development environment for STM32, as well as for users who already have an IDE, including Keil or iAR, in which they can easily integrate the various components such as STM32CubeMX, STM32CubeProgrammer or STM32CubeMonitor.
What is STM32Cube, in brief?
STM32Cube is a combination of software tools and embedded software libraries:
- A full set of PC software tools addressing all the needs of a complete project development cycle
- Embedded software bricks made to run on STM32 microcontrollers and microprocessors, that will bring various functionalities (from MCU component drivers to more advanced application-oriented features)
Inside the STM32Cube ecosystem
STM32Cube Software tools suite accompanies developers at every step:
- STM32CubeMX, a configuration tool for any STM32 device. This easy-to-use graphical user interface generates initialization C code for Cortex-M cores and generates the Linux device tree source for Cortex-A cores.
- STM32CubeIDE, an Integrated Development Environment. Based on open-source solutions like Eclipse or the GNU C/C++ toolchain, this IDE includes compilation reporting features and advanced debug features. It also integrates additional tools such as STM32CubeMX (natively included within STM32CubeIDE).
- STM32CubeProgrammer, a programming tool. It provides an easy-to-use and efficient environment for reading, writing and verifying devices and external memories via a wide variety of available communication media (JTAG, SWD, UART, USB DFU, I2C, SPI, CAN, etc.).
- STM32CubeMonitor family of tools. Powerful monitoring tools that help developers fine-tune the behavior and performance of their applications in real time.
STM32Cube Embedded software helps speed up project development:
- STM32Cube MCU and MPU packages, dedicated to each STM32 series
Packages offer all the required embedded software bricks to operate the available set of STM32 peripherals. They include drivers (HAL, low-layer, etc.), middleware, and lots of example code used in a wide variety of real-world use cases.
- STM32Cube expansion packages, for application-oriented solutions.
Complementing and expanding the STM32Cube MCU Package offer with additional embedded software bricks, STM32 expansion packages come either from ST or approved partners to create an extensive and scalable embedded software offer around the STM32.
STM32Cube, a comprehensive time-saving solution for every STM32 user
STM32Cube brings all the tools and embedded software for STM32 users, in a simple and integrated manner. To complete the picture, we took care to offer a business-friendly solution:
- No copyleft licenses terms. Developers benefit from free and open-source software (FOSS).
- Embedded software and software tools from ST are available at no cost to developers and can be openly shared provided they are used on STM32 devices.
On top of all that, quality remains our top priority. Hence, core components are tested by ST before their release and we are committed to following good practice guidelines (MISRA, code checkers, validation reports, etc.).
Software Development Tools
The STM32Cube Software Development Tools suite is based on a 4-step iterative development process.
Each STM32Cube software tool is available in a standalone version.
STM32-compatible tools from qualified partners or 3rd parties (including IAR EWARM or Keil MDK-ARM IDEs) can benefit from seamless integration into the STM32Cube software suite.
Developers can continue to use the tools they are familiar with while taking advantage of the rich features of STM32Cube software tools.
An STM32Cube MCU Package is a set of embedded software driving the peripherals of the target MCU or MPU.
Each package embeds standard drivers, in both optimized (Low-Layer API) and portable (HAL API) versions. Additional middleware are also available according to the MCU or MPU peripherals.
STM32Cube Expansion Packages contain embedded software components that complement the functionalities of the STM32Cube MCU Packages and/or enable the use of a multitude of ST devices in domains such as of sensing, power management, connectivity or audio, together with the STM32 microcontroller that best fits application requirements.
The number of STM32Cube Expansion Packages is continuously growing thanks to ST and our partners.
Today, developers can find ready-to-use expansion packages for cloud connectivity (Amazon AWS, Microsoft Azure, IBW Watson, etc.), LoRa, cellular connectivity, NFC, industrial communication protocols, crypto libraries, sensor drivers, motor control algorithms, safety self-test libraries, and more.
Browse through our STM32Cube Expansion Package page for a complete, up-to-date list of available packages.
Getting started with STM32CubeMX v5.0
Rich by its features-set, STM32CubeMX is changing its skin today to provide to the developer s an improved access to the Pinout, Peripherals and Middlewares parameters to ease the configuration and optimized the project development time. This new look is also standardizing the User Interface of the different Software Development Tools of the STM32Cube ecosystem.
Product Overview - STM32Cube making STM32 development easier
A new free software from ST, is simplifying development on STM32, through a consistent set o f software: STM32CubeMX, software tool on the PC, generating initialization code, and also a collection of embedded software bricks, abstracting the used STM32 and coming with tons of usage examples !
How to use STM32CubeIDE
STM32CubeIDE is an advanced C/C++ development platform with IP configuration, code generation, code compilation, and debug features for STM32 microcontrollers. It is based on the ECLIPSE™/CDT framework and GCC toolchain for the development, and GDB for the debugging. It allows the integration of the hundreds of existing plugins that complete the features of the ECLIPSE™ IDE.
ST's software environment for STM32
Our STM32 family of 32-bit Arm® Cortex® core-based microcontrollers and microprocessors are supported by a comprehensive set of software tools.