Ask questions on STM32CubeMX. Discuss code generation and configuration challenges, among other topics.
Most recent activity
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 are pleased to announce that version 6.18.0 of STM32CubeMX is now available. What is new in 6.18.0: Added support for new microcontrollers in the STM32U3 series with 256 Kbytes and 512 Kbytes flash memory. Added support for new microcontrollers in the STM32H5 series with 1 Mbyte flash memory. Added support for new boards: NUCLEO-U345RC-Q, NUCLEO-U366RE-Q, STM32U366E-DK and NUCLEO-H553ZG. Added Start From Board feature for NUCLEO-U345RC-Q, NUCLEO-U366REQ, NUCLEO-H553ZG, NUCLEO-F446RE, NUCLEO-L432KC, and NUCLEO-L476RG. Released the following new features: Added support for PLAY for STM32H5 devices with 1 Mbyte of flash memory. Add support for the MP25-DK board in the M33-TD flavor Renamed all STM32CubeMX installers. Added DMA comparison to the "Compare projects" feature. Removed the JxBrowser dependency. Upgraded the OpenSTLinux version to OpenSTLinux (OSTL) 6.2.1. Main fixed issues in 6.18.0: Refer to the STM32 microcontroller online documen
Hi, i would like to use relative path to firmware. UI has option to enter “Firmware Relative Path” but only option is to select trough Browse dialog and resulting paths in cmake are absolute. There is no way to enter path manually, as UI applet for that is read-only.Also i have noticed, that clone of firmware without submodules causes CubeMX to error out with cryptic message on code generation.
Dear All!I’m try to handle my Thesis project. With ETH block, when i download program to STM32H732Z nucleo kit, it can Pìn IP correctly. But when i download to my custom board, it fail to Pin IP, i compare schematic with STM32H732Z nucleo kit→ it same. right now i supplt 25Mhz from NB3L553DG( page 1, oscillator block), reset Pin use deafault( just have 1 pull-up resistor). 2 indicator led( green, and yellow) still blink. On RJ45 connector: The orange led is on, the green led flashes at first then stays on.I use oscilloscope to check some signal:signal REF_Clock to pin PA1: 50Mhz,MDC SIgnal: 2.5Khz,MDIO signal: 100~220Khz,VDDCR=1.244V,votage at pin 24 Rbias 1.248V, some can you share how to fix this issue. I tried many sample( FrerRTOS & non FreeRtos) already but stil can’t fix this issue.
We have recently updated to the latest STM32CubeMX 6.17 and then STMCubeMX 6.18 and noticed in both versions that the internal temperature sensor is mis-reading (by something like 100x).Previously the project was reading the temperature correctly (STMCubeMX 6.14 or 6.15 not sure exactly).I have checked that all the ADC3 settings are the same and there are no changes causing by migrating the .IOC project.I’ve also checked the TSEN and VREFEN are enabled in ADC3_CCR. The value is 0x00C00000.Before I invest a lot of time rolling back to the old STM32CubeMX version and investigating what changed that broke the ADC3 internal temperature reading I’m hoping that this is known issue with the latest STM32CubeMX?STM32CubeMX generated code: /** Common config */ hadc3.Instance = ADC3; hadc3.Init.ClockPrescaler = ADC_CLOCK_ASYNC_DIV1; hadc3.Init.Resolution = ADC_RESOLUTION_12B; hadc3.Init.ScanConvMode = ADC_SCAN_ENABLE; hadc3.Init.EOCSelection = ADC_EOC_SINGLE_CONV; hadc3.Init.LowPowerAutoW
其它网络功能如升级版本,MCU包安装正常
I encountered a potential bug in CubeMXs Configuration Checks for USBX.I am trying to configure USBX in standalone mode. When i try to increase the value of “USBX System Stack Size” to be higher than 1024 i get a warning that it needs to be lower than the USBX memory pool size, even when this is the case.Attached is a screenshot with example settings. To reproduce the error set USBX System Stack Size to 1025.The used MCU is a STM32U385CGTxBest regards, Cecil
I’m working on a new project based on the STM32H5E4, and hit a weird problem, that smells like a CubeMX bug, with PLL3 init.Seems CubeMX is putting out incorrect values for the VCI Range (PLL3RGE bits in the init structure), relative to the comments in the H5 HAL RCCEX header.I’ve got a 12MHz HSE, divided by 3 [PLL3M] for 4MHz, then multiplied by 48 [PLL3N] in the PLL for 192MHz, then divided by 4 [PLL3Q] for 48MHz for the USB 48MHz clock.Here’s it’s generated code:PeriphClkInitStruct.PeriphClockSelection = RCC_PERIPHCLK_OTGFS;PeriphClkInitStruct.PLL3.PLL3Source = RCC_PLL3_SOURCE_HSE;PeriphClkInitStruct.PLL3.PLL3M = 3;PeriphClkInitStruct.PLL3.PLL3N = 48;PeriphClkInitStruct.PLL3.PLL3P = 2;PeriphClkInitStruct.PLL3.PLL3Q = 4;PeriphClkInitStruct.PLL3.PLL3R = 2;PeriphClkInitStruct.PLL3.PLL3RGE = RCC_PLL3_VCIRANGE_0;PeriphClkInitStruct.PLL3.PLL3VCOSEL = RCC_PLL3_VCORANGE_MEDIUM;PeriphClkInitStruct.PLL3.PLL3FRACN = 0;PeriphClkInitStruct.PLL3.PLL3ClockOut = RCC_PLL3_DIVQ;PeriphClkInitStruct.Ot
I am using the STM32WBA55C 48-pin package, and TSC Group 4 cannot be set as a sampling capacitor. Does this mean I cannot use TSC in Group 4? I plan to use 12 TSC channels, 1 SPI channel, and 1 ADC channel, so please give me some advice.
When adding the VectU2F function to a processing list, it defaults to creating three buffers: pDst (float32_t), pSrc (float32_t), and pSrcuint32_t (uint32_t), instead of just pDst and pSrcuint32_t.There seems to be no way to select a different uint32_t input in the GUI. There is a field pSrcuint32_t, but this only allows me to select a float32_t buffer. I believe the type checking in the GUI for this buffer is incorrectly set to float32_t instead of uint32_t, and as a result it both creates the extra unused float32_t buffer (pSrc), and won’t let me change the actual pSrcuint32_t buffer it uses. This is supported by the VectItoF function which correctly checks that pSrcInt32_t is an Int32_t, and creates only two buffers. This results in extra memory used in the BRAM section, and means I can only ever have one buffer that converts uint32_t into float32_t. I suspect I will be forced to bypass the GUI to create this processing list as a result. (As an aside, the function naming in the Vect
after selecting the pins from cube MX, it will generate code in c but i want that in cpp
Helloi’m using USBX 6.4.0 with CUBEMX to make a custom id device on a stm32H5 everything work fine BUT my report descriptor have four report ID i wanto to use :hid_event.ux_device_class_hid_event_report_id = 3;// some data in the bufferux_device_class_hid_event_set(hid_custom, &hid_event); and in order to do that i have to change custom_hid_parameter.ux_device_class_hid_parameter_report_id = UX_FALSE;to custom_hid_parameter.ux_device_class_hid_parameter_report_id = UX_TRUE;in the function: UINT MX_USBX_Device_Stack_Init(void) i can’t find in cube MX the property to change.. where is it?? thank you in advancebest reguards
I'm using Stm32CubeMx 6.18.0 on whole clean new Windows system. When I try to open New Project from Board It is downloading some file initially and when search for HTTP server it fails with error I typed at Title. I follow other releated topics suggestions to change directory and proxy server but its still fails. What should I doCurrently New Project from a Board UI opened, but still when I select a board or click tabs there, it is giving following error: `Error during Data Refresh - Download has failed, some data may be not updated. Please retry later`
Hi,I have a firmware running on an STM32H753 that was working correctly. After updating the STM32H7xx_HAL_Driver (by performing the migration in STM32CubeMX), the MCU gets stuck during the execution of SystemClock_Config().While debugging, I noticed that before the migration CubeMX generated:HAL_RCC_ClockConfig(&RCC_ClkInitStruct, FLASH_LATENCY_2)After the migration, the same function is generated as:HAL_RCC_ClockConfig(&RCC_ClkInitStruct, FLASH_LATENCY_0)If I manually change it back to:HAL_RCC_ClockConfig(&RCC_ClkInitStruct, FLASH_LATENCY_2)the MCU works correctly again. However, every time I regenerate the code from CubeMX, it goes back to FLASH_LATENCY_0.I have already tried changing the PLL and clock parameters in the Clock Configuration tab of CubeMX and then restoring the original values, to check whether CubeMX was not correctly updating the clock tree calculation, but the generated code still contains FLASH_LATENCY_0. Is this a bug introduced in the new HAL driver/C
Hello,I wish to report what I believe to be a bug in the new version of CubeMX (6.18.0).When configuring an STM32H743IIT6, I encounter an error in the Clock Configuration view (please refer to the attached screenshot). The same procedure carried out with CubeMX 6.17.0 works correctly.I have therefore reverted to CubeMX 6.17.0, which is not a critical issue for me, but I thought it important to bring this to your attention.Yours faithfully,Philippe
Similar problems with STM2CubeMX v6.18.0 when generating STM32CubeIDE project and sub-projects structure for STM32N657X0HxQ processor. The only way to succeed is to have ‘Use Default Firmware Location’ checked and ‘Generate Under Root’ NOT checked.Since I need to use ‘private’ SDK, later manually edited the .cproject and .project files accordingly :-( In my previous project I was able to use custom path (‘Generate Under Root’ NOT checked), that was STM2CubeMX v6.12.0 and the target was STM32U5 (SDK was STM32Cube_FW_U5_V1.5.0). I still have to adjust the paths manually from time to time and manually add required files.In short, STM2CubeMX always seems to be broken one way or another ...
I discovered some strange behavior in the STM32CubeMX code generation for Keil µVision.I created a project with STM32CubeMX that I compile using Keil µVision. In Keil µVision, I configured two user commands in the "Options for Target" dialog under "User" in the "After Build/Rebuild" section. These commands must be executed after the software has been compiled.Whenever I regenerate the project in CubeMX due to configuration changes, the "After Build/Rebuild Run #2" command is always removed.I then tested all commands and was able to narrow the issue down exclusively to "After Build/Rebuild Run #2".Is this a bug in CubeMX, or do I need to change a setting somewhere to ensure that these commands are preserved?Please also refer to the attached screenshots.Best regards,Kai RiekBefore running CubeMX:After running CubeMX:
这个是安装了很多版本后还是出现的问题,虽然点了ok后可以正常进入选择芯片的界面,但是最终生成的代码有问题,串口发不出去了(检查过了人为问题)重新下载了很多次,依然是有问题,希望有解答,谢谢
Hello,I would like to report what appears to be a code generation issue in STM32CubeMX 6.16.1.My configuration is:MCU: STM32H7R3 STM32CubeMX: 6.16.1 STM32Cube FW_H7RS: 1.3.0 SAI2 Block A configured as Master TX SAI2 Block B configured as Synchronous RX GPDMA channels 10 and 11 configured in Standard Request Mode and Circular Mode The generated HAL code internally creates a linked list with a single node for each DMA channel. In the generated sai.c file I get:DMA_NodeTypeDef Node_GPDMA1_Channel11;DMA_NodeTypeDef Node_GPDMA1_Channel10;However, these DMA node structures are not placed in a non-cacheable memory region.If I instead use the LinkedList Utility and configure the channels in Linked List Mode, CubeMX generates:DMA_NodeTypeDef Node_SAI2_A __attribute__((section("noncacheable_buffer")));DMA_NodeTypeDef Node_SAI2_B __attribute__((section("noncacheable_buffer")));The "noncacheable_buffer" section is defined in the linker script in a memory region accessible by the GPDMA and I confi
Hi everyone,I am working on the STM32MP257DAI3 and using the SAI peripheral on the M33 core with an ADAU1772 audio codec.On the STM32MP157, the DMA configuration provides a Circular DMA option, which is useful for continuous audio streaming. However, on the STM32MP257DAI3, I cannot find an equivalent Circular DMA option in STM32CubeMX or the generated configuration.I would like to implement continuous audio transmit/receive for the SAI interface, similar to the circular DMA operation available on STM32MP157.Could anyone clarify the following?Is the traditional Circular DMA mode no longer available on STM32MP257? Does STM32MP257 use GPDMA Linked-List mode instead of the legacy circular DMA? If so, what is the recommended configuration for continuous SAI audio streaming on the M33 core? Are there any additional configurations required (such as queue, node, circular linked-list, cache settings, etc.) to achieve uninterrupted audio transfer with the ADAU1772 codec?If anyone has a working e
We used to define STM32 pinout in STM32CubeMx since it's aware of all the possiblilities of the MCU.Then we manually need to transfer the pnout into Altium Designer Schematic. And to keep those in sync when design changes.So we want to automate that step if possible.Thus the question: How can I Import pinout generated from STM32CubeMx into Altium Designer Schematic.
Error downloading crdb.zipI have tried on both STM32CubeMX 6.18.0 and STM32CubeIde 18.1. Attempting on MacOS(Intel)Tried changing proxy server type to “Use System Proxy Server” Tried different networks. Tried removing cache directories. Tried deleting crdb.zip Previous posts mention downloading (http://xsel.stmcufinder.com/refresh/v2/crdb.zip) manually - appears to be a server issue?Any help appreciated… thanks
Why after last update the pins PD7 , PD6 are only with USB_OTG_HS functions:
I'm configuring SAI4 (Block A) to receive I2S audio from an external microphone (Knowles SPH0645), using HPDMA3 for continuous circular DMA transfer, targeting the Cortex-M33 (Cube) context.Configuration so far:SAI4 → SAI A → Mode: Master, I2S/PCM Protocol, Audio Mode: Master Receive, Data Size: 24 bits, Mono HPDMA3 Channel (currently CH2) → Request: SAI4_A Circular Mode: Enable Direction: Peripheral To Memory Priority: HighProblem:The field "DMA Handle in IP Structure" under Request Configuration shows a red ⊗ error icon, with the value stuck as a placeholder. When I try to click the dropdown to select a proper handle (e.g. DMA_Handle1, DMA_Handle2), the available options appear grayed out / not selectable — I cannot click or choose any of them. This leaves the field marked invalid (red cross), which propagates up to the HPDMA3 channel, CH tab, and Features tab all showing red crosses.I confirmed:SAI4's runtime context is properly checked (currently testing M33NS) The Request field co
I have an existing IOC project originally created using STM32CubeMX v6.6.1 with STM32Cube Firmware Package FW_L4 v1.17.2. When opening this project, STM32CubeMX fails to properly render the UI (see error message below).During this issue:All Save-related menu options are disabled (greyed out). The project filename displayed in the upper-right corner includes a *, indicating unsaved modifications. When attempting to close the project or exit the application, a prompt appears to save changes, but the project cannot actually be saved.Given this behavior, I would like clarification on the following:Could the IOC file be corrupted? Is this strictly a UI rendering issue, or something deeper (e.g., metadata or version incompatibility)? What is the likely root cause of this error, and how can it be resolved? 2026-07-01 09:08:40,585 [FATAL] ProcessBarDialog:168 - ProcessBarDialog action 4java.util.concurrent.ExecutionException: java.lang.ArrayIndexOutOfBoundsException: Index 1 out of bounds for
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.