Join conversations with your peers and ST experts. Explore the full potential of STM32 microcontrollers for your embedded design.
Most recent activity
I have encountered a specific issue using the STM32F411RE NUCLEO Board and I2C peripherals:The problem:When i plug in the board with I2C devices (DFROBOT BMM150, MPU6050, ADAFRUIT ICM20948) already connected to the board my PC (LINUX) cannot find the device.when trying to flash CUBEIDE says something along the lines of ‘STLINK not found’ and PROBE-RS says:ERROR nusb::error: interface not found (errno 2) WARN probe_rs::probe::list::linux: Make sure you have reloaded udev rules after setting everything up WARN probe_rs::probe::list::linux: Read more under https://probe.rs/docs/getting-started/probe-setup/ Error: Failed to open probe: Failed to open the debug probe. Caused by: 0: The debug probe could not be created. 1: A USB error occurred. 2: interface not found (errno 2)The fix:1) UNPLUG BOARD2) DISCONNECT I2C peripherals3) PLUG in BOARD4) RECONNECT I2C peripherals5) the STLINK is found again and I can flash code like normalWill this be an issue if I design a PCB with permanently conne
Hello, I am using an STM32H750I-DK Discovery board with LAN8742 PHY, MII mode, FreeRTOS and LwIP.Ethernet works initially: the STM32 IP appears in arp -a and I can ping it. After some time, the ARP entry disappears and ping gives Request timed out or Destination host unreachable.I have already checked the IP configuration, MII configuration, PHY link, DMA, MPU/cache, and tried disabling RTP traffic, but the issue still occurs.What could cause the STM32H750 Ethernet connection to stop responding to ARP and ping after working normally for some time? What should I check next?
Hello, I am currently developing a test environment based on the NUCLEO-F411RE evaluation board (MB1136C).As part of this project, I am designing a mechanical enclosure with modular plastic components, which I plan to 3D print. While several enclosure designs are available on Thingiverse, none of them meet the specific requirements of my project. Could you please provide, if available, the official CAD files (STL or STEP format) for the MB1136C?This would allow me to integrate the board's exact dimensions into my assembly and ensure proper tolerances with my existing parts. Thank you for your time and assistance. I look forward to your response. Best regards,Alexandre
Hi STM Team,We are currently using the 25 MHz crystal configuration based on the NUCLEO-H723ZG reference design for our STM32H723 + LAN8742 Ethernet implementation.The original/reference crystal used is:NX2016SA 25 MHz – EXS00A-CS11321 (NDK)Frequency: 25 MHz Load capacitance (CL): 6 pF ESR: 80 Ω Reference design uses approximately 5.1/5.6 pF load capacitors.However, the above crystal is currently not readily available in the market, so we evaluated the following alternatives:ECS-250-6-37-JTN-TR – 25 MHz, 6 pF, 80 Ω X2C025000DZ1H-U XRCGB25M000F1SBAR0With the above replacement crystals, we are observing significant data loss during Ethernet communication through the LAN8742.We have already tried the recommended/reference crystal configuration and compared the Ethernet behavior with the replacement crystals, but the issue is still observed with the alternate parts.Could you please help us identify a suitable 25 MHz crystal for the STM32H723 + LAN8742 configuration, preferably a currently
I am using STM32CubeIde, No RTOS, USART1, RX DMA (Circular), TX DMA in normal mode with DMA_IT_HT disabled.I’ve got main loop periodically outputting a simple message on the USART. System appears to hang when commanded to change baud. I’ve tried perhaps dozens of variations that have been recommended by “STM32 Sidekick” and Google AI. Most work with the debugger connected. None work without the debugger which is making this difficult to troubleshoot. Sidekick example shown below. // 1. Wait for any ongoing transmissions to finish safely // This prevents splitting a character mid-air. while (__HAL_UART_GET_FLAG(huart, UART_FLAG_TC) == RESET) { // Optional: Implement a timeout mechanism here } // 2. Temporarily de-initialize the UART peripheral // This turns off the UART but keeps your GPIO and DMA settings intact. if (HAL_UART_DeInit(huart) != HAL_OK) { return; //H
Hi all, I’ve seen in other manufacturers MCUs( sometimes) calibration values that may get lost if I wipe out the whole chip. It was long long ago.I’m new to this STM32U5 series. I’m working with the STM32U5G9J-DK2 kit. I’m porting the LCD stuff to my empty program. But I’m debugging and sometimes I need to go back and program the BSP example. Then I go back to my program and the thing is it keeps showing the demo screen (from the BSP example) even though I don’t have it in my program. It goes away if I unplug the USB cable. I was wondering if instead I can use the STM32cubeprogrammer and use the erase full chip button instead? Am I gonna lose anything important? Thanks
Hello,I am working on a custom application with BLE OTA on the Nucleo WB55RG. The OTA loader is placed at 0x08000000. My main application is linked to start at 0x08007000.In normal mode, the main application runs an ADC test and continuously prints ADC values. I added a hardware OTA trigger on pin PC2. When PC2 is driven high, the application prepares the BLE OTA request and then calls NVIC_SystemReset(). The OTA request is passed to the loader at the start of SRAM.After this, the OTA loader starts correctly. The loader detects the OTA request from SRAM. The loader erases the application flash area starting from sector 7, corresponding to address 0x08007000. The loader then attempts to initialize the BLE stack and start advertising.The issue is that BLE advertising does not start when entering OTA mode after the NVIC_SystemReset(). Pressing the on-board reset button also does not make BLE advertising start. However, if I completely power cycle the board by removing USB power and reconn
In my application on an STM32H7S3 I’ll have to often read option byte keys, and I want to limit the possibility of accidentally writing to option byte keys.According to the reference manual, that’s where the PG_OPT bit of FLASH_OPTCR comes in:PG_OPT: Program options0: Update operations to user option bytes and option byte keys do not start1: Write operation to user option bytes and option byte keys is enabledPerfect, so I just need to be sure this bit is not set when I don’t want writes.To double check this bit is not needed to be set during the configuration of FLASH_OBKCR to initiate read operations, the description of the KEYPROG bit - when set to 0 - seems to hint the PG_OPT bit doesn’t need to be set according to the reference manual:KEYPROG: Key programThis bit must be set to write option byte keys (keys are read otherwise).0: Read key. Result of the operation is stored in FLASH_OBKDRx registers, if applicable.1: Program key if PG_OPT is set in FLASH_OPTCR register, and KDREF fla
Hi everbody,we are using an STM32H573 with ST Secure Manager and would like to perform the final Product State transition from TZ-CLOSED to CLOSED at the end of production.At this point, the device is already assembled and SWD/JTAG is no longer accessible. Therefore, we would like to trigger the transition through an authenticated internal command from the Non-Secure application.From the documentation, we understand that:PRODUCT_STATE is controlled via Flash Option Bytes. The Non-Secure application cannot directly modify the relevant Secure Flash registers. We could not find a documented Secure Manager runtime API for changing the Product State.Could you please clarify:Is there an existing Secure Manager API to perform TZ-CLOSED → CLOSED at runtime without SWD/JTAG? If not, can this be implemented via an OEM Secure Module? Is an OEM Secure Module allowed to modify the PRODUCT_STATE Option Byte?Thanks and best regardsMario
How can stm32f407 reset and run in vscodeide ?
Hello Team,I am working with an STM32C552RET6 and an NVIDIA Jetson Orin Nano EVK. I would like to flash the STM32C552RET6 firmware over the UART interface directly from the Jetson using a Linux utility.I have the following questions: 1. UART flashing from Jetson Linux:What is the recommended method/utility to flash an STM32C552RET6 over UART from a Linux-based system such as the NVIDIA Jetson Orin Nano? Is STM32CubeProgrammer CLI supported for this use case, or is there another recommended Linux utility for the STM32C5 UART bootloader? 2. STM32C552RET6 bootloader connections:What physical connections/signals are required between the Jetson and STM32C552RET6 to enter the system bootloader and perform firmware flashing over UART?3. BOOT configuration:Which STM32C552RET6 boot-related pin(s) need to be controlled to select the system-memory bootloader? Can these be controlled directly from the Jetson GPIOs? 4. NRST control:Is it necessary to control the NRST pin from the Jetson to reliably
Hello,I am currently evaluating the STM32 G4 platform for motor control. I would like to control 3 motors with one MCU, and I was planning to order: 1 * B-G473E-ZEST1S3 * STEVAL-LVLP011 * B-ZEST-ADAPT13 motorsI have installed x-cube-mcsdk-6.4.2 and tried to create this setup, but I cannot see how to add 3 motors, and how to interface many power boards to 1 control board : The file supporting B-ZEST-ADAPT1 needs to be imported ?The support for 3 instead of 2 motors needs to be done manually (by editing the code) ?The 3 motors will be using biss or ssi so I will have to create those drivers. Are there any other points to check for compatibility ?Thanks for your support
I found an issue while using STM32F051, and the background is that I want to generate an interrupt when the host receives a CRC error, in order to perform my error handling in the interrupt handler. But when a CRC error occurred, the CPU did not jump into the interrupt service function. At this point, I checked that the CRCERR flag was raised and the ERRIE interrupt enable was also enabled. I have tried other conditions that can trigger error flags to generate interrupts, such as OVR, FRE, MODF, etc. These flag bits can generate interrupts and enter the interrupt service function, which proves that my interrupt enable steps are correct. I carefully reviewed the manual again, and it clearly states that when ERRIE is set, CRCERR can trigger an interrupt. So I want to know if there are some hardware defects that did not connect the CRCERR signal to the NVIC.
I'm working on an STM32G0B1RE and have a question regarding PWM generation and timer limitations. Current Hardware ConfigurationThe hardware design is already fixed, so changing pins is difficult. Current PWM signals are routed as follows: PA8 -> TIM1_CH1 PA9 -> TIM1_CH2 PC11 -> TIM1_CH4 PC9 -> TIM3_CH4From CubeMX I confirmed that: PA8 -> TIM1_CH1 only PA9 -> TIM1_CH2, TIM15_BKIN PC11 -> TIM1_CH4 only PC9 -> TIM3_CH4, TIM1_CH2My software currently uses TIM1_CH1, TIM1_CH2, and TIM1_CH4 simultaneously. What I ObservedI have a PWM abstraction layer that allows setting frequency per logical PWM device. However, after reviewing the implementation and STM32 timer architecture, I realized that changing the frequency of one TIM1 channel modifies the timer ARR value, which affects all channels on TIM1. DeviceA -> TIM1_CH1 DeviceB -> TIM1_CH2 DeviceC -> TIM1_CH4If I execute: setFrequency(DeviceA, 1000);and later: setFrequen
Hi. I want to implement position control, I dont know where to write codes to start motor and write move commands. Please send an example.
I am using Motor Control v6.4.2 to run the motor with the custom board with STM32G4 Series controller with Currents + HALL feedbacks for BLDC hub motors. Currently we are using Main Sensor "Observer+PLL" and auxiliary sensor "Hall Sensor" during STARTUP and Swap these sensors in RUN state.We could see motor is running at a constant speed all the time and not reacting to any change in parameters even after change the requested torq parameters to the torq PI controllers.Questions1 PLL and HALL electrical angles are not in Sync during motor running phase. How can we make the Electrical angle phase shift between HALL and PLL to 0?2 Motor Controller is not responding to the update current commands as expected, What Would be the Possible root cause for this kind of behavior?any Help on these is greatly appreciated. Thanks:)-Himavanth
Hello, I would like some help with starting up the STEVAL CTM 015A1. I use an external power supply on terminal CN6. I supply a constant power supply from 0 to 32V on terminal CN5, but the fault diode D10 is constantly on when it is compressed with the STM32CubeProgrammer, then it goes out. I also have Hall sensors connected for the position of the rotor of the SRM.
Device: STM32WB55Hi Community,We are receiving HCI_HARDWARE_ERROR_EVENT with code 0x04 from bluetooth full stack (version 1.18 up to 1.24 tested), while advertising and C1 enters STOP1. It happens randomly, and the device becomes sometimes unconnectable after this unless we reset the stack.We are NOT using STM32CubeWB, but followed recommandations found in AN5289 regarding PLL management and entering/leaving STOP1 mode.Any insight on what can cause this and how to fix it properly ?Thanks,
Hi ST Community team,Our STM32F103‑based project uses FreeRTOS integrated by STM32CubeMX, currently kernel version is V10.3.1.Questions:1. Does ST have any official roadmap / plan to update the bundled FreeRTOS kernel inside CubeMX STM32F1 software pack to a newer FreeRTOS kernel release (e.g. V10.6.x)?2. What is ST’s official recommended solution for users who want a newer FreeRTOS kernel, given CubeMX will overwrite custom‑replaced kernel sources on code regeneration?3. Are there any known compatibility constraints when manually replacing underlying FreeRTOS kernel while keeping ST’s CMSIS‑RTOS v1 wrapper unchanged?Our context:‑ Application uses almost exclusively CMSIS‑RTOS v2 APIs, very few direct native FreeRTOS calls.‑ No FreeRTOS+TCP network stack, no network‑facing interfaces.‑ Concern comes from CRA / component long‑term maintainability requirement.Thanks & best regardsAllen
I can't decipher the silkscreen markings on this chip. Could you please help me confirm?This chip looks like it's from ST, but I didn't see the ST logo. I suspect it's an abbreviation for STM32G473ME, but I can't confirm it, and the chip's datasheet doesn't provide detailed information on device markings.
Hello,We have a design that uses an STM32G071 microcontroller and we are currently having issues sourcing the components. We are in discussions with a supplier from China who claims to have old stock, but we have doubts regarding its legitimacy.On our assembled boards, we use parts purchased from Mouser, which are laser-etched: The part the Chinese supplier is offering is this one: I'm not sure what to make of this second image. Instead of laser etching, it has a white silkscreen/ink marking, and every single one of the ICs has the exact same lot and date codes.Could anyone clarify if ST ever used white ink markings on this package, or if this is a clear sign of a counterfeit?
I would like to ask if there’s any major differences when making the chips in STM32G4 series, like the STM32G441 to STM32G473 for example
I try to do power wirign for the STM32N645 but unfortunately the AN and the User Guide are not perfectly clear and somewhat incomplete.When I understand it correct, the STM32N6 generates the VDDCORE voltage of 0,89V internally, so all I have to do with the VDDCORE-pins is to connect them with each other and to couple each of them with 100 nF to ground, right? For this I need a specific SMPS configuration which lets the MCU generate this voltage. Here I have a description in the AN and the User Guide which shows some wiring scheme named “Configuration when using SMPS (option 1)” that consists of two inductances and a capacitor and external 1.8V feed into VDDSMPS input.My problem here: the wiring scheme of the development board of that MCU is completely different to what the documentations say. And: neither in the AN nor in the User Guide there are any values for these components. So the question is: what wiring should i use with which component values to let the MCU generate the VDDCORE
We have been trying to access DBGMCU on an STM32H7A3 via software. The background is that the project shares code that in an other project runs on an H743 and for example needs to adjust how it interacts with the flash.We’re now experiencing the strange behaviour that when a debugger is connected the DBGMCU ID code reads correctly as 0x10076480. When no debugger is connected it reads as zero (0x00000000). This is the case when debugging using GBD or when connecting via STM32CubeProgrammer. Connecting via STM32CubeProgrammer to an already running processor makes it readable. After disconnecting it reads zero again.We’ve tried accessing the ID both viaAL_GetDEVID()HAL_GetREVID()as well as directly viaDBGMCU->IDCODEwith the same results.Testing access to the writable parts of DBGMCU show a similar behavior where it works when connected to the debugger but not otherwise.Now we are wondering if there are any clock or power configurations that could lead to such a behavior. We’ve seen sim
All the microcontrollers in this comparison test are STM32L072CZT6, and they used the same firmware, PCB, and testing procedures. The test results are as follows:PCB new batch MCU – UID: 16473531-32333338-003C0041This is the STM32L072CZT6 from the new batch we received. Without making any changes to the firmware, the LED indicator flashes blue (instead of green), and the current consumption in sleep mode is about 6.44 mA.Previously manufactured batch MCU – UID: 19513931-30383135-0017004EThe LED flashes green, and the current consumption in sleep mode is about 117.97 µA.DigiKey STM32L072CZT6 – UID: 04473234-34313430-00160034This component was purchased directly from DigiKey. The LED flashes green as expected, and the current consumption in sleep mode is about 43.07 µA. The newly supplied components show significant performance differences compared to the reference components obtained from DigiKey.The difference in sleep current is extremely noticeable: the former is around 6.44 mA, whil
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.