Get ready for the STM32 Summit 2026 | Online, November 3
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
Hello Team,I am using the STM32N657x0-Q Nucleo board with the STEVAL-66GYMAI1 (VD66GY) camera board connected via FFC. Both CN8 and CN10 are connected to the PC, and I am viewing the camera stream through UVC.I tested the official precompiled HEX files from: X-CUBE-N6 Camera Capture STM32N6 Getting Started Object Detection In all cases, the image is heavily blurred. Objects appear relatively clear only at approximately 1–2 cm from the lens, while anything beyond that distance becomes significantly out of focus.I attempted to adjust the M12 lens focus across its full rotation range, but no noticeable improvement was observed. The same behavior occurs with multiple example projects and unmodified hardware.Could you please advise which of the following areas is most relevant to investigate? Camera board compatibility with STM32N657x0-Q Sensor/lens configuration in the example firmware Lens focus or alignment issue Defective lens or hardware issue Recommended reference project/co
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
Hi again,Since the new version of ST Community I can't find my previous post, so I'm creating a new topic to follow up on the old one. The replies from @AScha.3 and @Brian TIDAL on that thread helped me a lot before it disappeared.As I mentioned, I'm a beginner in this field. The full context is in my earlier post:I have just one more question. You mentioned that building an external antenna is easy, but is it really doable for a beginner? I'd like to know whether I can realistically do it myself if I buy the right equipment to measure inductance, or whether I need an expert to guide me.Also, in addition to AN6065, I found AN2866, which is more readable in my opinion and provides a step-by-step procedure. I don't understand everything yet, but I'll work through it.Thanks!
Hello Team,We are currently developing a custom board based on the STM32MP255 and have encountered a routing challenge.According to the STM32MP255 DDR routing guidelines, the single-ended trace impedance should be 55 Ω. However, after optimizing the PCB stack-up and routing, the closest value we have been able to achieve using the Saturn PCB Toolkit is 70 Ω.Could you please confirm whether this deviation from the recommended impedance is acceptable? Specifically, we would like to understand:Will this impact DDR functionality, signal integrity, or overall system reliability? Is 70 Ω within an acceptable tolerance for the STM32MP255 DDR interface, or would you recommend modifying the PCB stack-up to achieve the target 55 Ω?Your confirmation and guidance will help us proceed with confidence before finalizing the board design.DDR Routing imageMeasuring toolLayer Stack-up
How can stm32f407 reset and run in vscodeide ?
Hello,I would like to test the VL53L9CX using the GUI interface compatible with the X-NUCLEO-53L9A1 board. This software appears to be the STSW-IMG052. The ST webpage for this software returns a 404 error. Were there issues with using this software that led to the download being suspended, or is it simply a broken link on ST's servers?Thanks for your answers,Christophe
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
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
For the BLUENRG-M0A Bluetooth module, what is its normal shelf life when stored in a warehouse? We plan to purchase 1000 units at one time, but it will take several years to use them up. Will long-term storage affect the product lifespan? How can we achieve long-term proper storage, and what are the environmental requirements for the warehouse?
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
Wondering if VL53L9CX generates per-pixel histograms?It looks like there is no relevant information either in the datasheets or the released firmware. Many thanks,Z
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,
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?
Did anyone have issue with freezing LPS22DFsensor?Have it connected using 4 wire SPI at 3.3 and 3.3 Volts. It successfully starts and reads temperature and air pressure once and than stays at the same value with no updates until I reset power on it. I can still read the Who_Am_I register which returns the correct valie (zeroed every time after it is read, so no doubt it reads every time) but the Air pressure and Temperature registers not updating. I use NoFIFO setting and sensor updating once per second. What I may be doing wrong?I do not use burst mode for reading and read individual bytes separately (not sure why but burst reading does not work for me)Using MikroC compiler.and PIC18F25K83 MCU
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
Already have an account? Login
Enter your E-mail address. We'll send you an e-mail with instructions to reset your password.