Join discussions in the Product Forums. Ask questions, learn from your peers, and share insights on ST solutions to accelerate your design journey.
Most recent activity
I've read other posts and the relevant app notes about this and tried some testing on my side but still not finding an easy or even effective way to do this.I have a CubeIDE project built on a CubeMX ioc file for STM32G0B1KEU6 and want to change to STM32G0B1KCU6 (smaller flash). Same package, same core, same pinout, just smaller flash size. Should be easy.CubeIDE 2.1.0CubeMX 6.17.0I open the CubeIDE project and then the existing ioc file within that.I click Pinout -> List Pinout Compatible MCU's and select new the MCU. I click Import.It creates a new ioc file (instead of updating the existing file within this project which is what I actually want) and attempts to import all of the existing ioc project settings. It fails to import DAC and USB settings for some reason which I now need to go and manually edit and hope that everything else is correct. It is completely unclear what has and has not ported over successfully so I'll need to very carefully review everything. Now I
Hello, As part of a new project, I'd like to use DFU mode for programming my STM32F303VET6. I have a button that controls BOOT0. If the button is pressed during the microcontroller reset, there's no problem; I successfully enter DFU mode and can reprogram without any issues. I'd like to be able to perform this step without any physical intervention on the board, but rather by creating a 'jump' from my application to the internal ST Bootloader. My board is connected to the PC via a CDC connection. Using HyperTerminal, I send a command that calls a JumptoBootloader function. My function is as follows: void JumpToBootloader(void) { // 1. Stop USB peripheral RCC->APB1ENR &= ~RCC_APB1ENR_USBEN; // Disable USB clock RCC->APB1RSTR |= RCC_APB1RSTR_USBRST; // Reset USB RCC->APB1RSTR &= ~RCC_APB1RSTR_USBRST; // 2. Put USB pins (PA11/PA12) in analog mode RCC->AHBENR |= RCC_AHBENR_GPIOAEN; GPIOA->MODER |= (3U << (11 * 2)) | (3U << (12 * 2)); // Ana
Hi there,I am currently trying to create a custom power board in the Board Designer software and I am running into issues. I am using the NUCLEO-G431RB as the control board. In the designer for my custom power board, I have configured pins PB4 (MR27), PC7 (MR19) and PB0 (ML34) as Phase Voltage Generation Pins using the configuration "Driving HighSidesAndOneEnable". When I then try to configure a project, in the project creation phase I get the error "DrivingHighSidesAndOneEnable: No timer matches all signals requirement". However according to CubeMX, on the STM32G431RBTX MCU, all those pins are connected to three TIM3 channels respectively. Not sure where I am wrong, any help would be appreciated thank you. Additional Info:Version: 6.4.1Tool: MCSDK - Board Designer/Project CreationHow to Recreate: 1. Open the Board Designer and try to create a power board2. Configure the Phase Voltage Generation pins as states above3. Configure the Current Sensing Hardware config with other a
Hi everyone,As part of one of my projects, I have to use an SD card to store my data. Since the final board has not yet been manufactured, I started developing my software on the STM32303E-EVAL evaluation kit.For reference, it uses the same microcontroller that will be on my own board.Back to the STM32303E-EVAL. When I received this board, the provided demo worked correctly (GUI display and so on).I wanted to test the examples dealing only with the SD card (FAT32 format), which are available in the repository:→ STM32Cube_FW_F3_V1.11.0\Projects\STM32303E_EVAL\Applications\FatFs\FatFs_uSDImported into CubeIDE, it does not compile, files are missing – in short, it is a mess.So I started over from scratch, installed AC6, opened the project, flashed it, started a debug session, and I get stuck in f_mount().The SD card is correctly inserted.Could you help me?Or, failing that, provide me with a working example?
Hi all,I am using the STUSB4500 to power a device with a large inrush current. I have configured the PDO's for 20V @5A which should be more than sufficient to meet the power requirements. I have selected POWER_ONLY_ABOVE_5V so that it will not attempt to power the device at 5V (which would draw 4 times as much current). See my settings below: However, when I connect a 100W USB-C PD adapter to the circuit I see the chip first negotiate 5V before switching to 20V. I think that is expected but what I did not expect is the VBUS_EN_SNK to pass through the 5V. I believe this is causing the overcurrent protection to trip on the USB adapter (after a short delay) so we see the power turn off shortly after the switch to 20V. In the below scope trace the yellow is VBUS and the cyan trace is VSink (see schematic attached). Has anyone run into this issue? Any idea what I might be doing wrong?Let me know if I can provide any more details. Best regar
Hi, I was just reading about the new STM32C5 processors. The press release states: Enhancements to the development ecosystem include a new STM32CubeMX flavor, STM32CubeMX2, which introduces a preview feature that allows faster access to reference code thereby accelerating development and easing code reuse. Also new in the STM32CubeC5 embedded software offer, the latest code-size optimized hardware abstraction layer (HAL2), gives access to all MCU features and allows more of the MCU’s memory to be used for application code. What is CubeMX2 and HAL2? A
[PN]: EVSPIN32G4-DUAL[VERSION]: MCSDK 6.3.2[TOOL]: Firmware[DETAILS]:Hello,I am working on a dual-motor application using the EVSPIN32G4-DUAL board with MCSDK 6.3.2.I observe the following behavior:when both motors are running at the same time, the speed regulation is stablewhen only one motor is running, strong speed oscillations appearThis behavior is observed when running either motor alone. In other words, the issue does not seem to be linked to one specific motor channel.The motors are custom motors designed/manufactured by us, with the following configuration:5 pole pairsRs / Ls identified with the profilerHall phase shift = 121°Rotor angle measured using Hall sensorsPWM frequency = 16 kHzThe attached speed plot illustrates the issue:first phase: only one motor running → oscillations visiblemiddle phase: both motors running → stable behaviorlast phase: only one motor running again → oscillations visibleThe current regulator seems very stable, only the speed loop is going crazy wh
We are pleased to announce that the minor version 2.1.1 of STM32CubeIDE is available. What is new in 2.1.1: This release covers the topics listed below: SEGGER J-Link GDB server updated to 9.24 to fix an issue with the Live Expression view during the debug session Cmake updated to 3.30.8 to support "QUOTE" expression Main fixed issues in 2.1.1: Refer to the STM32 microcontroller wiki at: https://wiki.st.com/stm32mcu/wiki/STM32CubeIDE:STM32CubeIDE_errata_2.1.x Known problems and limitations in 2.1.1: Refer to the STM32 microcontroller wiki at: https://wiki.st.com/stm32mcu/wiki/STM32CubeIDE:STM32CubeIDE_errata_2.1.x How to get STM32CubeIDE 2.1.1: Under this link Or update your current installation of STM32CubeIDE using: Help > Check for updates (The in-tool update does not allow updating the drivers and STLINK server tool. Full installation is required for this to be done).
Hi,After updating to the latest VS Code extension pack v3.8, what is the recommended path for executing CMake commands from command line? I uninstalled the STM32CubeCLT since it's now bundled, perhaps this the wrong choice?I want to test running commands to upgrade our CI/CD pipelines to be up-to-date. Also found following path which contains `cube.exe` as a CLI wrapper. My concern is setting an environment variable to a path with a version number (`/...-core-1.2.0-.../`) that ends up being a moving target.> `C:\Users\USERNAME\.vscode\extensions\stmicroelectronics.stm32cube-ide-core-1.2.0-win32-x64\resources\binaries\win32\x86_64`Any assistance would be greatly appreciated.
Good day, recently I have watched a presentation telling that the NanoEdge AI Studio may be used for voice recognition. I have installed the latest version but when I came to the data importing stage it says that it may only import text and CSV files. My sound library that I would like to recognize is however in MP3 format. I could convert it to WAV but obviously not to text. Could anyone please tell me how to import already collected data to this software? With best regards,Dmitry
Hi ST community,Wanted to share a weekend project I built using STM32L412RBand NanoEdge AI Studio.Pulse is a real-time vibration anomaly detection device thatruns entirely on-device — no cloud, no internet.What it does:- Collects 3-axis accelerometer data at 500Hz via LIS2DH12 on I2C3- Runs NanoEdge AI anomaly detection on Cortex-M4F with FPU- Learns normal vibration on-device in ~30 seconds- Persists training samples to internal flash via Zephyr NVSwith CRC32 header validation- Detects anomalies in <600ms end-to-end- Python GUI monitor over USB CDCOne thing worth sharing for anyone doing similar work — gettingthe NanoEdge AI knowledge buffer placed correctly in flash requireda custom linker overlay (neai_overlay.ld). Took some debugging toget right. Happy to share details if anyone is working onsomething similar.Currently tested on a Xiaomi air purifier fan. The post onr/embedded got good engagement and raised an interesting questionabout multi-mode devices which led to thinking ab
I am evaluating the MotionFX library for a 9-axis orientation project. To confirm our hardware selection and production path, I have three quick questions:MCU Lock: Is the MotionFX static library (.a) restricted to STM32 microcontrollers only, or can it be linked and executed on a generic ARM Cortex-M platform?Sensor Lock: Does the algorithm require ST-branded sensors (Accel/Gyro/Mag) to function, or can it accept raw data from any 3rd party sensor?Commercial Licensing: Is there a "per-unit" royalty fee for shipping MotionFX in a commercial product, or is it royalty-free for use with STM32 silicon?We need to know if we are "locked" to the STM32 ecosystem before we begin development.
I use touchgfx on u599 ,internal flash is 4MB.My project have 2.4M fonts and images,so I devide internal flash to two parts,like this:RAM (xrw) : ORIGIN = 0x20000000, LENGTH = 2496KSRAM4 (xrw) : ORIGIN = 0x28000000, LENGTH = 16KFLASH (rx) : ORIGIN = 0x08000000, LENGTH = 1024KASSETSFLASH (rx) : ORIGIN = 0x08100000, LENGTH = 3096K because the assets are not changed everytime ,So I am thinking stop CUBEIDE to downloadASSETSFLASH and only download FLASH form 0x08000000. How can I do this ?
We are pleased to announce that the minor version 2.1.1 of STM32CubeIDE is available. What is new in 2.1.1: This release covers the topics listed below: SEGGER J-Link GDB server updated to 9.24 to fix an issue with the Live Expression view during the debug session Cmake updated to 3.30.8 to support "QUOTE" expression Main fixed issues in 2.1.1: Refer to the STM32 microcontroller wiki at: https://wiki.st.com/stm32mcu/wiki/STM32CubeIDE:STM32CubeIDE_errata_2.1.x Known problems and limitations in 2.1.1: Refer to the STM32 microcontroller wiki at: https://wiki.st.com/stm32mcu/wiki/STM32CubeIDE:STM32CubeIDE_errata_2.1.x How to get STM32CubeIDE 2.1.1: Under this link Or update your current installation of STM32CubeIDE using: Help > Check for updates (The in-tool update does not allow updating the drivers and STLINK server tool. Full installation is required for this to be done).
I'm using an STM32G0 with a 240 x 160 monochrome 1bpp SPI display. Is it possible to use the QR code component from the TouchGFX library?I'm using TouchGFX version 4.26.0.Many thanks!
i am using viper 22A. having three outputs. one output is regulated and other two are non regulated.I am having below problems1. i keep fan load of 120mA, output is regulated but as soon as i connect other load , all voltages dips including regulated ones.2. if i add more load on regulated winding, my voltage drops on regulated ones.3. if i increase grid voltage beyond 210v, ic enters into some kind of protection. it turns on and off. i have attached the transformer and circuit diagram.It will be very helpful if anybody could help
Dear STMicroelectronics Support Team,I am currently working with the A3G4250D gyroscope and evaluating its temperature sensor output over I²C.According to the datasheet, the temperature sensor output change versus temperature is specified as −1 °C per digit. I would like to clarify one point regarding the absolute digital value.At an ambient temperature of 25°C, is there a specified or typical digital output value for the OUT_TEMP register? Or is the temperature output only defined relative to an internal reference without a guaranteed absolute value at 25°C?In other words, should we expect a specific digital code at 25°C, or is the temperature register intended purely for relative temperature measurement and compensation?Your clarification would help ensure correct implementation and validation during thermal chamber testing.
I'm using a LIS3MDL magnetometer on my board, and I figured out how to calibrate it to account for distortions caused by the board, and the procedure works. However, it seems that every time the same magnetometer is turned off and re-powered, the measurements received are different. I saw somewhere that the LIS3MDL will self calibrate at startup and I think this might be what causes the differences. Is there any way to disable this process, and if that isn't the issue, do you know what it might be?
The original question is here I too have experienced something like this with my STM32F407ZET controller. TCP Client mode was not working in IAR whereas it worked CubeIDE. Dont know the reason, but had to migrate my whole code to IDE.
Hi,is there any HW guidelines to configure a USB OTG port with STM32H563VIT6 with VBUS detection?
Hello.I recently experienced an unusual MCU Problem and need to analyze it. Please help me. The FW program download to the MCU is successful, but it does not operate after a reset. I performed a short circuit test after disconnecting the power(Battery)but even when measuring VCC-GND and GND-VCC at the power supply, a resistance value of approximately 500 ohms is detected. When I disconnect only the MCU from the PCB and re-measure, the 500 ohm value disappears from the PCBbut this value persists when measuring directly from the MCU pins. Can I conclude that the MCU is dead due to a power supply failure?And in what cases does this problem occur?
Hi Team,Could you please confirm whether the following SPI erratum is considered in HAL version 1.11? I am currently using an MCU with revision V.
Hello, I am using an STM32F407VGT6 board with the ST-LINK debugger.When I plug the USB cable into the board, the LD1 LED on the ST-LINK stays Green and does not turn Red. From what I understand: Green LED indicates that ST-LINK is powered and idle. Red LED should appear during debugging or when an error occurs. However, in my case the LED always remains Green. My questions: Why does LD1 remain Green when I connect the board? Under what conditions does LD1 turn Red? Does a constant Green LED indicate that the MCU is stuck (for example in HardFault or reset)? I am using STM32CubeIDE for programming and debugging. Any guidance would be appreciated. Thank you.
Hi,I have this toolchain and need to generate a SBOM:STM IDE v1.18STM IDE GNU Tools for STM32 13.3.Rel1STM32Cube FW_L4 V1.18.1, specified in `\*.ioc` fileSTM32_USB_Device_Library (v2.0_Cube)STM32CubeMX 6.14.0FreeRTOS (10.3.1)How could I turn this into a SBOM?I tried scanning the folder strucutre with syft but this did not work. I then tried to manually make a syft Json file, but when testing for vulnerabiliteies (like e.g. here ) i could not find them. I am not sure how to specify the above components, such that they get recognized by the automated search engine (Grype).I found a statement from ST, that SBOMs will be provided for their products, but I could not find said lists for my toolchain. Some repositories on the GitHub Repositores contain `sbom_cdx.json`. However, I struggle to connect my Toolchain components to the repositories on Github (there are over 700 and for example "stm32cubeIDE" returns 0). Any help is appreciated! Related Links:Wikip
Hi,When reviewing the descrption of MCU pins used by the integrated system bootloader, I came across several documentation bugs in the latest AN2606 (rev70). Inparticular, Table 164 lists:USART1_TX pin - PA9 pin: USART1 in transmission mode. Used in input no pull mode: Input mode for an output pin? Same issue with USART2 and USART3.SPI1_MOSI pin - PA7 pin: slave data input line, used in push-pull, pulldown mode: Input pin does not have push-pull mode.SPI1_NSS pin - PA4 pin: slave chip select pin used in push-pull, pulldown mode: NSS ist used as an input, so it does not have push-pull mode.Same issues with SPI2 descrpition.The same problems are in Table 166. I have not checked the tables for the other CPUs, but I suggest a review of the document might reveal more issues.RegardsNorbert Unterberg
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.