Join conversations with your peers and ST experts. Explore the full potential of STM32 microcontrollers for your embedded design.
Most recent activity
I have a custom board using an STM32G431RB (LQFP64) that was previously programmable/debuggable without issue. After switching to a new ST-LINK debugger, I started consistently getting:Error: ST-LINK error (DEV_TARGET_HELD_UNDER_RESET)Root cause identified: the board was being powered entirely from the debugger's VDD/VTref pin rather than an independent supply. Powering the board from an external bench supply (debugger providing only SWDIO/SWCLK/GND, not VDD) resolves the connection issue. My working theory is that the ST-LINK's VDD/VTref pin is intended as a voltage sense input, not a real power source, and different probe units/firmware versions apparently have inconsistent (often very limited) current-sourcing capability there — my original debugger happened to supply enough current for this board to stay stable; every replacement unit since (including confirmed-genuine ST-LINK/V2 and V3 probes) could not, leading to what looks like repeated brown-out resets rather than an actual st
Having problem getting STM32C091FCP6 that is new (not otherwise programmed) to respond to STLINK device at power on.Details-Preparing to move a project from STM32C011J6M6 to STM32C091FCP6 to obtain larger pin count and larger memory capacity. On first attempt to attach STLINK V2 device to the target containing a new STM32C091FCP6 (SWDIO, SWCLK and GND to a device on 3.3V power), STLINK not starting as expected (power is being applied before STM32CubeProgrammer is commanded to “Connect.”To rule out PCB layout error on the (new) STM32CX091FCP6-based version of project, I attached another (also new from supplier) MCU to STLINK V2 device attaching only SWDIO, SWCLK and GND to STLINK, applied 3.3V power (all other pins open), and again STLINK not handling “Connect” command as expected. STM32CubeProgrammer is reporting “unable to get core ID” and/or “DFU_TARGET_CMD_ERR.The development environment (STM32CubeProgrammer) and STLINK device firmware are up-to-date.The STM32C091FCP6 devices are fr
In the STM32H5 series security document, STM32H5F4 is missing from the OEMiRoT + OEMuROT support controller list. Is STM32H5F4 a derivative of STM32H5F5, and does STM32H5F4 have the same security support as STM32H5F5?
Hello,I am working on an STM32 USB CDC (Virtual COM Port) device using the STM32 USB Device Library (CubeMX-generated project).My goal is to have the device appear on Windows as a custom COM port name such as:MO3 Device (COMx)However, I want to achieve this without using a custom INF file, since distributing and installing drivers on every PC is not practical for my use case.From my current understanding:The Product String (iProduct) in usbd_desc.c can be modifiedThe Interface String (iInterface) in the CDC descriptor may also influence the displayed nameWindows typically uses usbser.sys and assigns "USB Serial Device (COMx)" by defaultFriendly Name seems to be controlled primarily via INF, not firmwareI have a few specific questions:Is there any reliable way to influence or override the COM port Friendly Name purely from STM32 firmware (USB descriptors), without an INF file?Does modifying iInterface (or using IAD / composite device descriptors) improve the likelihood of Windows using
I am trying to use touchgfx and gfxmmu on H7R7 with a round lcd panel,but failed. So ,Is there a demo of this kind?
I have been reading the discussion here: Understanding the bootloader GO command on the STM32H5 seriesI am trying to understand one point in particular. The discussion describes the problems associated with using the bootloader GO command on STM32H5, and refers to the state of the device and peripherals when the bootloader transfers control to the application. Does the H5 system bootloader GO command actually support transferring execution to an application loaded into SRAM? I ask because the wording left me uncertain about whether the issue being discussed applies to SRAM applications, Flash applications, or both. Perhaps @STea or someone else from ST, could clarify please?
I am currently working with an STM32 MCU and facing an issue while trying to connect the board to my PC using an ST-LINK debugger. The board powers on normally and there does not appear to be any obvious hardware issue, but STM32CubeProgrammer is unable to detect the target device. The connection attempt either fails or reports that no target is found, so I am currently unable to program or debug the MCU.So far, I have checked the basic connections and setup:USB cable and ST-LINK connection Board power supply and voltage SWDIO and SWCLK connections STM32CubeProgrammer installation ST-LINK firmware and connection settingsI am not sure if the problem could be caused by the MCU configuration, SWD interface, boot mode, or some setting that may have been changed in the firmware. I would also like to know if there are any recommended STM32CubeProgrammer options or recovery procedures that should be tried when the target MCU is not detected.Has anyone experienced a similar issue with an STM32
I am trying to build a STM32L0 based low powered project , i am hitting target hold under reset randomly and when i left it power off for few hours its back to working . idk why its happening randomly
I'm trying to get USBX Device MSC to work in Standalone mode (without RTOS). I loosely followed @B.Montanari 's example in https://community.st.com/t5/stm32-mcus/how-to-implement-usbx-in-standalone-mode/ta-p/614435, and also referred to a CubeMX example for Device MSC which does use an RTOS (STM32Cube_FW_U5_V1.6.0\Projects\STM32U575I-EV\Applications\USBX\Ux_Device_MSC). I'm running this on an STM32U5 dev kit.There are no errors, Windows recognizes the USB MSC device, and a drive shows up. But something isn't working quite right, since Windows tells me to insert a disk, won't format the volume, and doesn't seem to recognize its size.I'm not quite sure yet where things are going wrong, but I thought I'd see if this configuration is expected to work or if I'm overlooking any other examples before digging further...
I'm learning embedded development and would like to build a simple USB game controller as a practice project. I also manage a gaming website called TomodachiLifeROM, where I write about Nintendo games and gaming-related projects, so I'd like to experiment with custom hardware in the future.I'm considering using an STM32 development board, but I'm not sure which one would be the best starting point.Could you please advise:Which STM32 Nucleo or Discovery board is best for beginners? Is STM32CubeIDE sufficient for this type of project? Are there any official examples for USB HID game controllers? Which STM32 MCU family would you recommend for learning embedded programming and USB development?I've read through the STM32 documentation and examples, but I'd really appreciate recommendations from developers with hands-on experience.Thank you!
Dear Sir/Madam,We have got below products " STM32F030C8T6 " from the authorized distributor and we found the label shows as below : Country of Origin: United Statis it the spelling error or other reason ? Is it the correct label ? when did it change the label format ? Will you have the relate documents with the PCN or the link ? Pls help to check and advise .Will be much appreciate it .Thank youSuki
I’m trying to implement USB mass storage class device standalone(no RTOS) on nucleo board STM32U575ZI-Q, using RAM for memory.I tried adapting these steps : but right now, in MX_USBX_Init(), inside ux_device_stack_initialize , at this point:#if UX_DEVICE_ENDPOINT_BUFFER_OWNER == 0 /* Obtain some memory. */ endpoints_pool -> ux_slave_endpoint_transfer_request.ux_slave_transfer_request_data_pointer = _ux_utility_memory_allocate(UX_NO_ALIGN, UX_CACHE_SAFE_MEMORY, UX_SLAVE_REQUEST_DATA_MAX_LENGTH); /* Ensure we could allocate memory. */ if (endpoints_pool -> ux_slave_endpoint_transfer_request.ux_slave_transfer_request_data_pointer == UX_NULL) { status = UX_MEMORY_INSUFFICIENT; break; }#endifit goes : status = UX_MEMORY_INSUFFICIENT;Because of that, ux_device_stack_initialize returns UX_ERROR; witch i think causes Hard fa
Dear ST Support Team,I am following the procedure described in AN5464 – Position control of a three-phase permanent magnet motor using X-CUBE-MCSDK. As mentioned in Section 5.8, MC_StartMotor1() performs the encoder alignment and zero-reset procedure, and MC_GetAlignmentStatusMotor1() is used to check whether the alignment has been completed.I have verified that the encoder Z (index) signal is working correctly and have checked the Z-index pulse separately. However, the alignment function call is still failing, and the alignment is not completing as expected.Could you please help me identify what could be causing the alignment function to fail even though the Z-index signal is working correctly? Please also suggest which parameters, configuration settings, or firmware sections I should check for debugging this issue.Reference: AN5464, Section 5.8 – API Usage.Regards,Prathmesh
Hello ST Support,I am using an STM32H743VIT6 on a custom PCB. The PCB has already been fabricated, and I discovered that the VBAT pin is left unconnected (floating).My application does not use RTC, LSE, backup registers, backup SRAM, or battery backup functionality.The MCU is continuously powered from 3.3 V through VDD.I would like to confirm whether leaving VBAT unconnected can affect normal MCU operation while VDD is present, specifically:CPU execution Flash operation GPIO DMA SAI/I²S UART USB interrupts timers normal peripheral operationI understand from RM0433 that the VBAT domain contains the RTC, backup registers and backup SRAM, and that when VDD is present the backup domain is supplied from VDD.The reference manual also states that VBAT may be connected directly to VDD, and that VBAT functionality is used when VDD is not present.My specific question is:With VDD continuously present and no requirement for RTC/backup functionality, is an STM32H743VIT6 with VBAT left floating guar
Hi All,So I have an STM32F469 on a PCB I’ve designed with a CS4270 audio codec. I am currently working on an I2C driver to initialize the codec (I am using code from Phil’s lab’s video on writing an I2C driver for the CS4270 - video here), however I seem to be running into a “Bus, memory management or usage fault (FORCED)” and an “Instruction access violation (IACCVIOL)” during an I2C register read function.Here is the codec init file. The faults happen in this function call:i2cStatus = CS4270_RegRead(CS4270_REG_DEVICEID, &deviceID);During one of the debug sessions I decided to “step into” every single instruction from the CS4270_RegWrite function (also going through all the HAL functions underneath) and surprisingly the function returned a HAL_OK, which puzzled me and lead me to believe there maybe some kinda timing issue somewhere, which doesn’t manifest itself when breaking down the instructions one by one. Something worth noting is that initially I had initialized the I2C1 modu
Hello ST Community,I am planning to use the NUCLEO-G474RE (STM32G474RE) for controlling a 3-phase AC motor using STM32 Motor Control Workbench (MCSDK).I would like to know: Is the NUCLEO-G474RE supported for 3-phase AC induction motor control using Motor Control Workbench? Can Motor Control Workbench generate the required 6 PWM signals for a 3-phase inverter? Does MCSDK support 3-phase induction motor (ACIM) control on STM32G474RE? If yes, which control method is recommended—V/f, sensorless FOC, or encoder-based FOC? Does ST provide a ready-made firmware/example project for this setup? What ST power stage/inverter board would you recommend for testing with the NUCLEO-G474RE? My expected application is a 3-phase AC motor drive, and I am evaluating the STM32G474RE for production use.Thank you.
Hi ST Community,I am designing a custom board with STM32WLE5CCU6 (UFQFPN48 package) for a LoRa application in the 470–510 MHz band.I will use RFO_LP only, with +14 dBm output power and VDD_MCU = 3.3 V.Could you please provide the ZOPT (optimal impedance) for the PA output matching network at 475 MHz for this configuration?AN5457 Appendix A only covers 868/900/915/923 MHz, so I cannot find the data for 475 MHz. If there is any reference design or application note for this frequency, please point me to it.Thank you very much.
I am currently using the STM32U599VI in our application and are attempting to achieve the low-power performance specified in the datasheet.According to the device specifications, the low power standby mode current consumption is expected to be approximately 195 nA under the specified test conditions. However, in our application, we are observing a significantly higher current consumption in standby mode, approximately 5-6 mA.I would appreciate support in identifying the possible causes of this high standby current and guidance on the necessary hardware and software configurations required to achieve the expected standby current consumption.
Hello. I am a beginner, I am trying to connect an STM32 nucleo f446re to an LCD, model 1602A V 2.0.I tried making a test code with no functions to see if the display worksI only see a grid of rectangles light up and when running the code no characters display. What could be the issue? This is the code: int main(void){/* USER CODE BEGIN 1 */HAL_Init();SystemClock_Config();// LCD Board label STM32 pin//---------------------------------------// RS D10 PB6// E D9 PC7// D4 D8 PA9// D5 D7 PA8// D6 D6 PB10// D7 D5 PB4// =====================================================// ENABLE GPIO CLOCKS// =====================================================RCC->AHB1ENR |= RCC_AHB1ENR_GPIOAEN;RCC->AHB1ENR |= RCC_AHB1ENR_GPIOBEN;RCC->AHB1ENR |= RCC_AHB1ENR_GPIOCEN;// =====================================================// CONFIGURE GPIO PINS AS OUTPUTS// =====================================================// PB6 = RSGPIOB->MODER &= ~(3U << (6 * 2));GPIOB->MODER |= (1U <<
I have created a dev board based on the STM32H743IIT6 MCU. On first power up I have managed to destroy two MCUs and I cant figure out what is killing them. On first power up 3V3 is immediately shorted to GND, after removing the MCU the pins are permanently shorted.Here is my schematic. The only changes I have made from the physical PCB is adding 10K pull up to PDR_ON, 10K in line from VBUS to the MCU and connecting the VCAP pins. Does anything stand out in the schematic?I have created modules from multiple STM MCUs(F1,G0,G4,WB,H5,N6) and this is the first time I am running into a power issue with a PCB.
is there a way to search for which stm32h7 mcus have integrated HS usb phy?the mcu finder product selector doesn't have such filter, is there an app note, a product brief or anything like that?How is one supposed to find such a controller? (besides manually checking all of them)Sometimes this is the main and only selection criteria. I didn't even know that such a feature even exists.I just stumbled uppon when i saw that the stmlink v3 has high speed usb but doesn't use an external usb phy.
We are planning to built a custom DC VFD in house.pleade refer below block diagramwhich devkit is suitable for prototype? Thanks and Reagrds, Prakash K Dhrutaraj
Hi,Unable to set the Product state to OPEN using the Provisioning script in the STiROT_OEMuROT example.Getting the below error: But,when i’m trying to set the Product state as CLOSED it is getting Success.Note: Ensured to connect the CN7/pin5 to CN7/pin7. Also,Below is the obkey_provisioning.log content:C:\My_New_Stuff\GIT\STM32H5\Projects\NUCLEO-H533RE\ROT_Provisioning\STiROT_OEMuROT>call ../env.bat Provisionning the .obk files ... ------------------------------------------------------------------- STM32CubeProgrammer v2.20.0 -------------------------------------------------------------------ST-LINK SN : 000E00264142501820353451ST-LINK FW : V3J13M4Board : NUCLEO-H533REVoltage : 3.29VSWD freq : 8000 KHzConnect mode: Hot PlugReset mode : Software resetDevice ID : 0x478Revision ID : --Error: Fail to read Flash SizeDevice name : STM32H533/523Flash size : 512 KBytes (default)Device type : MCUDevice CPU : Cortex-M33BL
Hi Community,I’m provisioning an STM32H573 (installed on a NUCLEO-H563ZI board; I replaced H563 with H573). I followed the ST example STiRoT_OEMuROT from STM32Cube FW H5 v1.6.0. During provisioning the script aborts with:Error when trying to Set SECBOOT_LOCK option byte to 0xC3 (unlock secure boot address) Provisioning aborted.Environment: - MCU: STM32H573 (2 MB flash)- Host tools: STM32_Programmer_CLI v2.19.0- Product state chosen in provisioning script: OPEN.after i read the option bytes using STM32_Programmer_CLI -c port=SWD -ob displ i found that, Product state: PRODUCT_STATE: 0xED (Open) BOR Level: BOR_LEV : 0x0 (BOR Level 1, the threshold level is low (around 2.1 V)) BORH_EN : 0x0 (0x0) User Configuration: IO_VDD_HSLV : 0x0 (0x0) IO_VDDIO2_HSLV: 0x0 (0x0) IWDG_STOP : 0x1 (0x1) IWDG_STDBY : 0x1 (0x1) BOOT_UBE : 0xC3 (ST-iRoT (system flash) selected) SWAP_BANK : 0x0 (0x0) IWDG_SW : 0x1 (0x1
Hi ST Team,We are currently considering the STM32H5F4 for an upcoming product, and Secure Manager support is a key factor in our device selection process.Could you please confirm whether STM32H5-SMAK support for STM32H5F4Z devices is planned and whether there is any documentation, reference project, or preliminary guidance available for evaluation?This information will help us assess the suitability of STM32H5F4 for our product architecture.Thank you for your support.Best regards,RJ
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.