With this release, device configuration, previously handled within CubeIDE via CubeMX, is now exclusively available through the stand-alone CubeMX tool. Users will configure microcontroller peripherals and generate initialization code separately in CubeMX, then import the generated projects into CubeIDE for coding and debugging. This separation enhances modularity, allowing each tool to focus on its strengths and offer a more streamlined, flexible development workflow.
Why the change?
CubeIDE was launched in 2019 to unify STM32 development in a single tool, which worked well for simpler devices. However, today’s STM32 portfolio includes over 4,000 diverse devices, from basic MCUs to complex multi-core MPUs, making the IDE heavier and harder to manage. This resulted in:
- Slower performance and reduced stability
- Forced log-ins and “all-or-nothing” updates
- Limited project flexibility
- Lost focus on core IDE improvements
Meanwhile, CubeMX already supports other IDEs in stand-alone mode. With 2.0.0, CubeIDE follows suit: smaller, modular tools that are easier to maintain and update.
Developers will now use CubeMX and CubeIDE separately, without breaking existing project compatibility.
What does this change mean for developers?
- Separate download and installation: CubeMX is now a stand-alone tool, requiring separate download alongside CubeIDE 2.x for configuration and code generation.
- Tool update flexibility: Developers can update and freeze CubeMX and CubeIDE independently, with multiple versions of each installed side-by-side.
- Multiple project types: CubeMX can now generate Makefile and CMake projects in addition to CubeIDE projects.
- IOC-file association: The OS controls which app opens ioc-files; ensure CubeMX stand-alone is associated to avoid conflicts with older CubeIDE versions.
- Refreshing the IDE project: After code regeneration, refresh the project explorer (F5) to sync file trees; automation is planned for future versions.
- Harmonized CubeIDE project wizard: A single STM32 project wizard simplifies project creation for all supported types.
- Memory footprint and performance: Removing CubeMX integration reduces installation size (~3.7GB to 2.9GB) and lowers CPU/RAM usage, improving stability especially on Linux and Mac.
- No more log-in requirement: The login from CubeMX is removed since it's no longer integrated.
- Focus on edit/compile/debug: Decoupling CubeMX allows more development focus on improving core CubeIDE workflows.
Version 2.0.0 marks a key transition to enhance scalability, flexibility, and performance of STM32Cube tools, supporting future MCU/MPU portfolios and ecosystem growth.
Other relevant updates in CubeIDE 2.0.0
- GNU tools for STM32 - GCC-14: available through the toolchain manager update site.
- Major GCC update with many improvements and bug fixes (see changelog here).
- Newlib rebuilt with -O2 optimization (instead of -Os) for better performance at the cost of larger code size.
- Toolchain manager now gives direct access to ST Arm Clang
- Separately installing STM32CubeCLT is no more needed.
- The debug configuration GUI for the ST-LINK GDB server now offers easy activation of Semihosting support.
What’s next
- CubeIDE will keep supporting current and future STM32 devices.
- Our main focus will shift to improving CubeIDE for VS Code.
- The existing CubeIDE still offers better debugging features.
- Version 2.0.0 makes maintenance of the current IDE simpler and more efficient.
Your feedback is essential in shaping the future of CubeIDE(s) as it allows us to tailor it precisely to your requirements. We look forward to reading your ideas and questions on our community forum!
First published on Nov 19, 2025