2025-11-14 10:55 AM - edited 2025-11-17 10:54 PM
We are pleased to announce that STM32CubeMX 6.16.0 release is available.
What is new in 6.16.0:
Added support for new microcontrollers across the STM32WBA, STM32N6 and STM32H5 series and the STM32WL3x product line. The related new boards include the NUCLEO-WL3RKB1 and NUCLEO-WL3RKB2.
Implemented the "Start from Board" feature for NUCLEO-WL3RKB1 and NUCLEO-WL3RKB2:
Preconfigured board setup through the Start From Board feature simplifies project creation and significantly reduces development time.
Released a new installer that natively supports Apple® Silicon :
Native support of ARM64 for mac computers.
Implemented the memory management tool for STM32N6:
This feature is designed to assist developers in configuring and optimizing the memory layout of their STM32N6 projects efficiently.
Enhanced the build process using CMake:
Default configuration: ST ARM CLANG with its own linker instead of GCC linker.
Picolib is selected as default library for the best footprint.
Removed the user authentication feature:
Simplified STM32CubeMX by removing the user authentication feature to enhance the user experience.
Migrated to SamacSys as a new CAD provider for STM32CubeMX.
Added access to video tutorials through multiple locations :
STM32CubeMX main tabs, MCUFinder tabs and some specific peripherals.
Main fixed issues in 6.16.0:
Refer to the STM32 microcontroller wiki at:
https://wiki.st.com/stm32mcu/wiki/STM32CubeMX_errata_6.16.x
Known problems and limitations in 6.16.0:
Refer to the STM32 microcontroller wiki at:
https://wiki.st.com/stm32mcu/wiki/STM32CubeMX_errata_6.16.x
How to get STM32CubeMX 6.16.0:
Under this link .
Or update your current installation of STM32CubeMX using: Help > Check for Updates
2025-11-14 11:25 AM
> Default configuration: ST ARM CLANG with its own linker instead of GCC linker.
Any reason for this? Changing default after many years seems odd without a reason. This change isn't mentioned in the release notes. Nor do they mention picolib. Unless I'm missing something.
I guess some of that is covered in this post:
STM32Cube further facilitates code development wit... - STMicroelectronics Community
> https://wiki.st.com/stm32mcu/wiki/STM32CubeMX_errata_6.16.x
Broken link, possibly meant to link to a different page instead of 2x links to the (missing) errata?
Release notes here:
STM32CubeMX release 6.16.0 - Release note
2025-11-15 12:42 PM
Move to clang and picolibc is a major earthquake. Could someone explain these changes in details (changes in startup code, linker scripts, multi-threading support vs. Newlib, stdio & floats, ... ) ?
2025-11-17 12:43 AM
Hello,
Thanks for your remarks.
In fact, the reason is mainly that with pure ST ARM CLANG we provide better size optimization.
In the release note it is related to this bullet but not detailed.
Regarding the errata it is now available, it took a bit time to be visible in st.com.
Regards.
2025-11-17 10:15 AM
Thanks. I misunderstood that the default was changed only when CMake was selected. I read it as though the default project setting had changed to CMake.
2025-11-19 2:22 PM - edited 2025-11-19 3:00 PM
I tried now to update a previous project based on a stm32g031f8 and done on cubeIde , after regenerating the code, a compilation will result in few multiple definition, which boils down to
the file system_stm32g0xx.c now compiled twice:
Drivers/CMSIS/Device/ST/STM32G0xx/Source/Templates/system_stm32g0xx.c
Core/Src/system_stm32g0xx.c
Another issue is that if I create a new project from 0, is not possible to compile it after beeing imported! The .project file is missing from a quick view.
Maybe I am missing some step ?
Also I would like to add, if I instead generate the code for CMake, all is working fine, so I just moved there.