Ask questions and find answers on STM32 microcontrollers software development tools.
Most recent activity
We are pleased to announce that the minor version 6.18.1 of STM32CubeMX is available.What is new in 6.18.1:This release addresses and resolves the issues outlined below:Download error for crdb.zip during update STM32CubeMX displays a download error pop-up during data updates. Note : This issue is resolved for 6.18.1 and later versions. For the earlier versions customers may refer to the following workaround already shared in the community:Workaround for file download error: crdb.zip (Problem during download) | Community Error occurred while importing .ioc file created with STM32CubeMX older than 6.18.0 The “Continue and Migrate” features are not working properly for projects with PCC configured. Issue when setting clock to 240Mhz in STM32H743 and STM32H753 STM32CubeMX prevents the user from selecting 240 MHz, displaying the message: “240 MHz maximum frequency must be <= 225 MHz.” Fixed issues in 6.18.1:Refer to the STM32CubeMX online docu
Pleased to announce that the new release 3.10.0 of STM32CubeIDE is online FeaturesAdded internationalization support. [Build analyzer] Added binary (.elf) file processing to improve build analysis results to a level comparable with STM32CubeIDE for Eclipse [Build analyzer] Added support for Zephyr build artifacts. [Documentation] Added support to export the User Guide as a PDF or zipped HTML file. Added Command-Line Interface (CLI) support for empty project creation. Added core selection for empty project creation on multicore target devices.Chores [STLink GDB server launch] Enabled the live watch feature by default. Updated CMake directives for the empty project creation process to align with the STM32CubeMX2 user experience. Updated CMake directives for the STM32CubeIDE to Eclipse project conversion process to align with the STM32CubeMX2 user experience. [Build analyzer] Improved hyperlinks to source code by excluding static nodes from the rendering. Improved information about enabl
An issue has been identified in STM32CubeIDE 1.19.0 and earlier versions where a download error pop-up may appear during data updates. This issue does not prevent STM32CubeIDE from functioning properly. To continue: click OK twice. STM32CubeIDE should then operate normally. Optional workaround If this pop-up impacts your workflow, you can disable the Auto-Refresh feature: Go to Window → Preferences In the search field, type Firmware Updater Select: Offline Mode No Auto-Refresh at Application start Notes If Auto-Refresh is disabled, STM32CubeIDE will use the local cube-finder-db.zip file and will not automatically retrieve updates. Manual update If needed, you can manually update the data via: Help → STM32Cube Updates → Check for Target Selector Device Database Updates
Dear ST Community members, At the moment, STM32CubeMX2 uses the latest packs available on the public server.A script is available for a specific use case if you prefer not to start a project with the most recently published pack version.This script can be used when a project needs to be created or maintained with the STM32C5 v2.0.0 packs, instead of the most recent version available.If this matches your situation, feel free to use the script as an alternative.Where to get the script: check How to start with previous versions of HAL2 For more details on how to use it, please check the README. If you have any feedback, please don’t hesitate to share it with us in the: STM32CubeMX2 (MCUs) - STMicroelectronics Community The STM32CubeMX2 Team
An issue has been identified in which STM32CubeMX displays a download error pop-up during data updates. This issue does not prevent STM32CubeMX from working properly. To continue: Click OK twice. After these steps, STM32CubeMX can operate normally. If this pop-up affects your workflow, disable the Auto-Refresh feature: In Help → Connection and Updates, select No Auto- Refresh at Application start. Please note that if Auto-Refresh is disabled, STM32CubeMX uses the local cube-finder-db.zip file and does not retrieve updates automatically. If needed, manually update the data: Help → Refresh Data A fix is in progress in a future version.
We’re happy to announce that STM32CubeMX2 v1.1.0 has been released and is now available. This release includes updates and improvements aimed at enhancing the user experience and supporting your development workflow with STM32. What’s new Enhanced installation support for multiple STM32CubeMX2 versions, including linked IOC2 files and a pinned icon on the Windows taskbar Added Expand All and Collapse All functions in software configuration panels Added confirmation dialog boxes for selected actions Added options to export the pinout as CSV from a menu: without alternate functions or with alternate functions Added pin labels that can be used from configuration panels Improved command-line interface (CLI) capabilities for software configuration Added a pack version compatibility check Added end-user guidance to run Pack update steps in the correct order, with a focus on device family pack (DFP) and hardware abstraction layer (HAL) packs Increased pin name visibility in the pinout view to
We are pleased to announce that STM32CubeCLT 1.22.0 release is now available What is new in 1.22.0: Updated to align with STM32CubeIDE v2.2.0 Updated STM32CubeProgrammer to version 2.23.0 Updated ST-LINK GDB server to version 7.14.0 Updated JRE™ to version 21.0.10+7 Updated STARM-Clang to version 21.1.1+st.7 Updated Ninja to version 1.13.2 Updated CMake to version 4.3.1 Added support for make 4.4.1_st_20260330-0700 Main fixed issues in 1.22.0:Refer to the following Link here Know problems and limitations in 1.22.0: Refer to the following Link here How to get STM32CubeCLT 1.22.0: Download STM32CubeCLT 1.22.0 from here
We are pleased to announce that STM32CubeIDE 2.2.0 release is now available. What is new in 2.2.0: Added support for: STM32H5 microprocessors to the STM32H5 series STM3U3 series microprocessors to the STM32U3 series STM32V8 series Added support for new boards: NUCLEO-H553ZG NUCLEO-U345RC-Q, NUCLEO-U366RE-Q, STM32U366E-DK NUCLEO-V873XJ, and STM32V873J-DK Updated the target Platform to Eclipse 2025-12 and CDT™ 12.3.0 Added Multidrop support for debugging: STLINK-GDB server OpenOCD Segger J-Link Updated CMake to version 4.3.1 STARM-CLANG to version 21.1.1+st.7 Added support for OpenSTLinux 6.2.1 CMake static library template Ubuntu 26.04 and Fedora 44 Dependencies versions updates: Eclipse® 2025-12 and CDT™ version 12.3.0 Bundled JRE™: Adoptium® Temurin® 21.0.10+7 with JavaFX 21.0.10 ST-LINK GDB Server 7.14.0 supporting ST-LINK/V2 and STLINK-V3 SEGGER J-Link GDB Server V9.42 STM32CubeProgrammer v2.23.0 Open On-Chip Debugg
We are pleased to announce that STM32CubeProgrammer 2.23 is availableWhat is new in 2.23:AI Assistant : Sidekick is now accessible from STM32CubeProgrammer, with a dedicated access button at the top. Native Raspberry Pi support for the Linux Arm 64-bit command-line interface (CLI) package.You must choose Linux ARM in the download widgetReadable File Paths Launch After Install Online documentation. Support for STM32H543/553 devices: Internal memory programming through debug and bootloader interfaces Option bytes programming through debug and bootloader interfaces OTP programming through debug and bootloader interfaces Core register programming through debug interfaces Automatic mode Serial Wire Viewer Register viewer Firmware encryption/signing OBkey generation/provisioning Certificate generation Debug authentication SFI through debug interfaces Support for STM32U335/345 devices: Internal memory programming through debug and bootloader interfaces Option bytes programming th
Dear STM32CubeProgrammer Community, I hope you are all doing well. Over the past months, you may have received an email from me, either through the STM32CubeProgrammer survey or on other topics like CSAT or Raspberry Pi support. First, I would like to thank you a lot for all your contributions and feedback, we highly appreciate them, your voice matters ! We’re currently working on improving STM32CubeProgrammer’s usability and would like to 1. reduce the number of repetitive / low added value actions you have to perform, and 2. provide you with clearer error messages. We need your contributions to address priority scenarios. Could you please share in the comments which improvements, use cases, or automated actions you would like to see in the tool to make your daily work easier ? This includes typical errors you often get that you think the tool could prevent or handle automatically, as well as any “why do I have to do this myself every time?” situation you e
Hello The version 1.12.0 of STM32CubeMonitor is available on st.com : https://www.st.com/en/development-tools/stm32cubemonitor.html What are the main changes in this version ? Node-RED® updated to version 4.1.3. STM32 devices list updated. Software dependencies updated ( Electron, Chromium, nodeJS) The release note is available on ST.com : rn0119-stm32cubemonitor-release-v1120-stmicroelectronics.pdf Do not hesitate to create new posts if you have any question. The STM32CubeMonitor team.
Hello A new release of STM32CubeMonitor-RF is available on st.com. Click on "Get latest" to download the version 2.19.0. What are the main changes in this version ? Alignment with STM32CubeWB firmware 1.24.0. Alignment with STM32CubeWBA firmware 1.8.0. Alignment with STM32CubeWB0 firmware 1.4.0. Upgrade of Java® runtime version from 21.0.4 to 21.0.8 Upgrade supported OpenThread version to 1.4.0 API 511 Bug fix Changes details can be found in the release note RN104 and User manual UM2288 Note that whatever STM32CubeWB0 firmware 1.3.0 or 1.4.0 used, displayed version is 1.2.0 without futher impact on the tool behavior. Do not hesitate to create new posts if you have any question. The STM32CubeMonitor-RF team.
I would like to move the project from:C:\ST\STM32Cube_FW_WB_V1.24.0\Projects\P-NUCLEO-WB55.Nucleo\Applications\BLE\BLE_HeartRateFreeRTOSto:C:\Projects\Myprojectso that I can make modifications at will and not worry about corrupting the original code. At the same time, I want all the libraries, etc. to fall under the same directory as the new code will eventually be submitted to version control.How can I do this?Note: All my other projects under the C:\Projects directory were started with CubeMX and all seem to do as I want.
CubeMX 6.18 does not persist two critical STM32U5A5 USBX and FileX settings when their values are entered as multiplication expressions in the form N*1024. This results in incorrect macros being generated in the app_azure_rtos_config.h header. The correct minimum values are provided below.UX_APP_MEM_POOL_SIZE 40*1024FX_APP_MEM_POOL_SIZE 2*1024USBX_MEMORY_STACK_SIZE 24*1024In the case of the STM32U5G9, CubeMX does not persist the USBX System Stack Size setting. The minimum required value is 24 KB.
I’ve been using STM32CubeIDE, STM32CubeMX, STM32CubeProgrammer, and STM32CubeMonitor on a Mac currently running macOS 26.6.When I run env or export in Terminal (which uses Zsh by default), I find these two STM32-related environment variables.STM32CubeMX_PATH=/Applications/STM32CubeMX.app/Contents/ResourcesSTM32_PRG_PATH=/Applications/STM32CubeProgrammer/STM32CubeProgrammer.app/Contents/Resources/binExamined Zsh dotfiles in my home folder and found the following two *export*s in ~/.zshrc that set them.export STM32CubeMX_PATH=/Applications/STM32CubeMX.app/Contents/Resourcesexport STM32_PRG_PATH=/Applications/STM32CubeProgrammer/STM32CubeProgrammer.app/Contents/Resources/binWhich apps have added these; CubeMX, CubeProg, or perhaps the respective plugins from CubeIDE? What is their intended purpose, and in particular, which other STM32Cube tools rely on them? Also, do the apps add these every time on launch or only once during installation?
STM32CubeIDE v2.2 has left all of our code in question. We need guidance with the CMake since we no longer have any helper dialogs of the old IDE to create a project within the new framework that matches the old IDE. list of helpful guidesNo HAL is neededa CMSIS and DFP environment for the selected processorCMake snippets that allow us to create and include legacy library code (adjusted for new processor)methods to control code optimization for code sections and filesdirectory structure methodsbasic commands to show what size of code we just compiled and output formats ie .hexWe believe this would be a great tutorial to ease the transition. I’m sure I have missed many other features of the old environment that you will quickly attend to.Any guidance that doesn’t require 200 hours of head banging appreciated. Glenn
So I have an STM32 project in VSC and when I first set up this project and started debugging, I vaguely remember being asked by VSC to create a launch.json file.Now it seems I can build a ‘debug’ session, and launch it, and debug with all the usual features like step-in, step-out, continue, and so on. But how do I now add a ‘release’ build, which strips debug info and allows me to program a device without debugging it? [I am trying to be a good citizen and get along with STM32 for VSC, but so far it seems like i) A retrograde step ii)A mix of modern UI’s and very old looking Java (MX) and iii)You need a science degree in CMAKE to understand anything. ]My launch.json looks like this:{ // Use IntelliSense to learn about possible attributes. // Hover to view descriptions of existing attributes. // For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387 "version": "0.2.0", "configurations": [ { "type": "stlinkgdbtarget", "requ
As shown in the picture above, on Fedora 43, the CubeProgrammer application is not matching the OS scaling and there are no options to configure it like in CubeMX. CubeProgrammer is the latest version (v2.22.0), installed today.My computer is a laptop with a 2256x1504 screen and OS-level scaling is set to 133%. All other applications behave as expected, I only ever have issues with ST’s applications.This issue has been reported multiple times in the past on different linux distributions. I have tried all suggested fixes in those posts, none worked. Links to other issues that had no solutions:
Hi, Summary. The ONNX importer in ST Edge AI Core 2.2.0 (X-CUBE-AI 10.2.1) ignores the dilations attribute of Conv. It applies the padding but convolves as if dilation = 1, so the output length is L + 2*pad - (k-1) instead of L. The TFLite importer handles the same operator correctly. Minimal reproducer (attached, 51 KB): a single Conv1d(64->64, kernel 3, dilation 4, padding 4), input 1x64x80. The ONNX node is Conv {pads:[4,4], strides:[1], dilations:[4]}. Per the ONNX spec the output is (80 + 4 + 4 - ((3-1)*4 + 1)) / 1 + 1 = 80. PyTorch and onnxruntime both produce 1x64x80. stedgeai analyze --model dil_f32.onnx --target stm32u5 | model handed to stedgeai | reported output | expected | |------------------------------------------------------|-------------------------|--------------| | ONNX float32 | f32(1x64x86) | 1x64x80 | | ONNX int8 QDQ (per-channel) | int8(1x64x86)
Hello, I am experiencing a reproducible issue with STM32CubeMX when generating a project for the first time on our U: drive. Our environment is part of an Active Directory domain, and each user has a U: drive mapped to their personal network home folder. Error in STM32CubeMX.logDuring generation, CubeMX successfully creates several temporary files in: U:\FreeRTOS_M2\testv10\MXTmpFiles\ For example: 17:02:54.994 oldGeneratedFile ...\rtos_kernelStart.tmp_save17:02:55.076 Generated code: ...\rtos_kernelStart.tmp However, during the next generation pass, CubeMX tries to access the .tmp_save file again: 17:02:56.195 oldGeneratedFile ...\rtos_kernelStart.tmp_save17:02:56.200 ERROR ProjectBuilderjava.io.FileNotFoundException:U:\FreeRTOS_M2\testv10\MXTmpFiles\rtos_kernelStart.tmp_save(The system cannot find the file specified) 2026-09-03 17:02:55,707 [INFO] CodeEngine:297 - oldGeneratedFile, U:\FreeRTOS_M2\testv10\MXTmpFiles\rtos_threads.tmp_save2026-09-03 17:02:55,774 [INFO] CodeEngine:321
There does not seem to be any way of viewing a debug variable in hex.The closest workaround is to prefix (void*) before the expression in the watch window. This is no good for viewing an array of hex digits like for example a CAN bus message.
Dear ST Team,I am following the STM32 wiki guide:https://wiki.st.com/stm32mcu/wiki/Security:How_to_start_with_STM32CubeMX_STiRoT_Boot_path_on_STM32H57While working through the steps, I encountered an issue with STM32CubeMX.The Boot Path and Debug Authentication configuration pages are blank and do not display the expected options shown in the tutorial. Because of this, I am unable to continue.STM32CubeMX Version: 6.18.1 Could you please advise how to resolve this issue?Thank you for your support.Best regardsRJ
For STM32C562RE, why can CubeProgrammer validate the OEM key and report "RDP2 unlocked successfully", while the RDP regression does not erase the existing user flash and flash erase remains prohibited? Is this a known CubeProgrammer/ST-LINK limitation or does this indicate that the device was provisioned with a non-regressible security configuration?Device: STM32C562RETx / NUCLEO-C562RECubeProgrammer: v2.22.0ST-LINK: V3J17M11SWD connection works.Device ID: 0x44E.OEM key is available.RDP unlock operation sometimes reports:"Validation Status: 3"followed by:"RDP2 unlocked successfully"After physical power removal and restoration:RDP_level = 0xFF (Unknown Value)Flash still contains:0x08000000 : 200007C8 08000671 0800073D 08000735Mass erase:Error: Mass erase operation failed. Please verify flash protectionProgramming:Erasing internal memory sector 0Error: failed to erase memory
Hello,I am experiencing a reproducible issue with STM32CubeMX when generating a project for the first time on our U: drive.Our environment is part of an Active Directory domain, and each user has a U: drive mapped to their personal network home folder.Error in STM32CubeMX.logDuring generation, CubeMX successfully creates several temporary files in: U:\FreeRTOS_M2\testv10\MXTmpFiles\ For example: 17:02:54.994 oldGeneratedFile ...\rtos_kernelStart.tmp_save17:02:55.076 Generated code: ...\rtos_kernelStart.tmp However, during the next generation pass, CubeMX tries to access the .tmp_save file again: 17:02:56.195 oldGeneratedFile ...\rtos_kernelStart.tmp_save17:02:56.200 ERROR ProjectBuilderjava.io.FileNotFoundException:U:\FreeRTOS_M2\testv10\MXTmpFiles\rtos_kernelStart.tmp_save(The system cannot find the file specified) The relevant part of the stack trace is: java.io.FileNotFoundException:U:\FreeRTOS_M2\testv10\MXTmpFiles\rtos_kernelStart.tmp_save(The system cannot find the file speci
In STM32CubeMX2 1.1.1, for the STM32C542RC MCU, enable the IWDG.In “Applicative services”, enable “Start function generation”. In the subfolder “Calculator”, you have the possibility to change the “Time unit”. Set it to “Seconds”. The only change is the unit used in comments, e.g.: /* Start the Independent Watchdog (IWDG) with the following parameters: - Maximum time before watchdog reset : 132 seconds - Minimum time before refresh (window) : 0 seconds - Early Wakeup Interrupt (EWI) time : 0 seconds*/hal_status_t mx_iwdg_start(void){ return HAL_IWDG_Start(&hIWDG, 0UL, 132UL, 0UL);}The arguments given to HAL_IWDG_Start() are not updated by this unit change. So the configuration of the time unit in this window is useless and does not touch any part of actual code. This is a problem and should be fixed.For the unit change to effectively take effect, it is currently done in “Project settings” → “HAL common definitions” → “HAL IWDG” → “Use HAL IWDG time unit”. We can now sel
ST Community highlights – April to June 2026
Already have an account? Login
No account yet? Create an account
Enter your E-mail address. We'll send you an e-mail with instructions to reset your password.