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
I am using the STM32H7B3I-EVAL board. According to the user manual, both the ST-LINK Virtual COM Port and the RS-232 connector (CN9) use USART1 on PB14/PB15 in the default configuration.I have configured USART1 in asynchronous mode with:TX: PB14 RX: PB15 Baud rate: 115200 Hardware flow control: NoneThe ST-LINK VCP works correctly, and I can see the transmitted data on the PC. However, the RS-232 port on CN9 does not work.I am using a DTECH USB-to-RS232 cable connected to CN9.My questions are:Is any jumper or solder bridge configuration required to enable the RS-232 port, even when using PB14/PB15? Since both ST-LINK VCP and RS-232 share USART1, should the transmitted data appear on both interfaces simultaneously? Does CN9 require a straight-through RS-232 cable or a null-modem cable? Has anyone successfully used the RS-232 port on STM32H7B3I-EVAL with a USB-to-RS232 adapter?Any suggestions on what else I should check would be appreciated.
I created an external flash STLDR file for my board, with STM32H750VB chip and W25Q64 QSPI FLASH. After copying the STLDR file to the cubeprographer directory, it can perform normal external flash read/write and sector erase functions. However, when selecting full chip erase, the cubeprographer prompts me "please select external loader before performing external full chip erase". But I am sure that my code contains the correct int MassErase (void) function, and I used the readelf command in Ubuntu environment to read the STLDR file I created, which also includes the MassErase function. But it seems that this function cannot be correctly detected by the cubeprographer. How can I locate the cause and solve this problem?Wishing you peace
Hello Sir,We are currently facing a Country of Origin (COO) issue regarding the STM32F722RET6 MCU and would appreciate your assistance in clarifying the following questions.Could you please confirm whether the Country of Origin (COO) of the STM32F722RET6 is France, as indicated on the STMicroelectronics official website? Could you please provide the manufacturing locations for the STM32F722RET6, including: Wafer Fabrication (Wafer Fab) location Assembly location Testing location Your prompt assistance would be greatly appreciated.
Hi ST Community and Support Team,I am currently working with the STM32F722RET6 microcontroller and would like to seek some clarification regarding the physical markings on the chip package.Regarding the "CHN" marking on the IC surface, I would like to confirm the following details for compliance purposes:Back-end Origin: Does "CHN" confirm the assembly and test (ATP) was done in China (e.g., ST Shenzhen)? Wafer Diffusion Origin: Where is the front-end wafer fabrication usually performed for this part? Authentication: Please help verify the following laser-etched markings: Part Number: STM32F722RET6 Country Code: CHN
I’ve set pin PD8 and PD9 for USART3 and I’ve checked the baud rate that is 115200, but usart3 does not transmit data to serial monitor yet. How can I solve the problem?
Hi everyone,I'm working on a battery-powered sensor node project based on STM32 MCU.The device needs to wake up periodically, collect sensor data, process it briefly, transmit the data, and then return to sleep mode.The expected lifetime is several years, so I am focusing on reducing the average current consumption rather than only optimizing active mode performance.Currently, I am considering several areas:1. Which STM32 low-power modes are usually the best choice for long sleep intervals? (Sleep vs Stop vs Standby)2. How much impact do you normally see from:disabling unused peripherals? reducing clock frequency? SRAM retention configuration? wake-up time optimization?3. For sensor applications that wake up every few seconds or minutes, is it generally better to:run the MCU at higher frequency for a shorter time and sleep longer? or keep a lower frequency continuously?4. When measuring low current consumption, do you usually measure only the MCU current, or the whole system including
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
OverviewThe LSM6DSV80X represents a breakthrough in wearable technology. Its ability to measure both high- and low-acceleration ranges, combined with high energy efficiency and advanced processing capabilities, makes it an ideal choice for users who need detailed data analysis and improved performance tracking in high-impact sports and activities such as volleyball, football, tennis, boxing, and explosive jumping.This IMU provides a comprehensive solution for wearable devices, high-impact detection, and activity tracking, delivering an excellent combination of accuracy, integration, and efficiency.The LSM6DSV80X is the world’s first IMU to combine high-g acceleration measurement of up to 80 g and low-g sensing capabilities in a single package. It integrates advanced features, including edge processing and sensor fusion, to provide consistent performance and valuable data for sports-wearable tracking and high-impact detection. The device supports edge AI capabilities, using a finite st
I am planning to use STM32H563VIT6TR in my design and all the peripherals (I2C devices, temp sensors, other ASICs) are at 1.8V. Can I use this MCU at 1.8V. Can I connect VDD, VDDA, VREF+, VBAT at 1.8V. I understand VDDUSB is USB and needs to be connected to 3.3V. Could you please confirm if it will work at +1.8V across -40C to +85C temperature.
Hi, Can anyone share the below Thermal details of STM6824SWY6F part?1. Junction temperature2. Junction-to-ambient Thermal resistance3. Junction-to-case Thermal resistance4. Max power dissipationThanks Deva
Hi I’m trying to explore what I can do with 12 good bits.I’m experimenting an output noise ,even in this simplified condition where the converted ADC value is directly sent to DACAnalog and digital ground are separated and return current paths in PCB should be goodADC is driven by op amp output + 20 ohmADC is triggered by a timer ,oversample 4 times ,the ADC values with Vin=½ VDDA varies between 2044 and 2046 chacking samples for ten seconds,saving max and min values) ,ADC sample and hold=24,5 clock cyclesDAC is used with no SampleHold,and with Buffer : DAC1->MCR=0;DAC is triggered by the same timer interrupt related to ADC,only when ADC end of conversion flag is 1(once in 4).The output value is obtained with DAC1->DHR12R1=global_adc_val;Notice that in case DAC1->DHR12R1=2048; there is no noise.Noise lowers if MCR->MODE1=0x2 instead of 0;Why only 2 fluctuating bits on 4096 bits can cause an huge audible noise?And why excluding buffer makes it better?Thanks
Hello,I tried to get the HP properly working for hours now, but I get zeros on all axes every third output.What ist wrong? I tried a lot of different setup variation buts always with similar result.When disabling FDS (HP function), there are no zeros in the data stream.In this example I shaked the sensor.##########################WHO_AM_I: 0x33LIS3DH found.--- Register-Verification ---TEMP_CFG (0x1F) = 0x00CTRL_REG1 (0x20) = 0x2FCTRL_REG2 (0x21) = 0x08CTRL_REG3 (0x22) = 0x00CTRL_REG4 (0x23) = 0x80CTRL_REG5 (0x24) = 0x00CTRL_REG6 (0x25) = 0x00REFERENCE (0x26) = 0x00FIFO_CTRL (0x2E) = 0x00INT1_CFG (0x30) = 0x00INT1_THS (0x32) = 0x00INT1_DUR (0x33) = 0x00INT2_CFG (0x34) = 0x00INT2_THS (0x36) = 0x00INT2_DUR (0x37) = 0x00CLICK_CFG (0x38) = 0x00CLICK_THS (0x3A) = 0x00TIME_LIMIT (0x3B) = 0x00TIME_LAT (0x3C) = 0x00TIME_WIN (0x3D) = 0x00ACT_THS (0x3E) = 0x00ACT_DUR (0x3F) = 0x00--- Configuration finished --- ms; X; Y; Z;INT1 56; 184; 1
After weeks of debugging TXERR on USB host, I figured out that changing OTG clock from PLL3Q to HSI48 errors disappear.STM32H733 running at 336MHz from HSE @25MHz. USB connected to an LTE modem (CDC ECM). With few tasks and interrupts errors occur at an average rate of 1/minute, but under heavy load (30+ tasks and 5 TIM interrupts <1ms) the error rate rises to 20/minute ca.As said, using HSI48 errors completely disappear under any condition. Is HSI48 more stable than PLL? How does CPU load influence PLL? Alessandro
I'm trying to figure out which clock source the STM32L412 ADC uses in synchronous mode. The documentation doesn't seem to be consistent.Most diagrams show SYSCLK, while the text says HCLK (AHB clock).It looks to me like RM0394 Figure 13 and DS12469 Figure 5 are incomplete because they don't show the AHB bus as an ADC clock input. Am I missing something, or is this a documentation error?
I'm working with an STM32F070 and trying to verify the Independent Watchdog (IWDG). My expectation is that if the watchdog is not refreshed, the MCU should perform a system reset after the timeout expires.The IWDG is configured as follows:MCU: STM32F070 Clock: HSI = ON (System Clock) LSI = ON (for IWDG) IWDG configuration: Prescaler = 256 Reload = 4095 Window = 4095 The watchdog is initialized using HAL_IWDG_Init().To force a timeout, I intentionally do not refresh the watchdog: // IWDG_KICK();while (1){ HAL_GPIO_WritePin(GPIOA, GPIO_PIN_0, GPIO_PIN_RESET); HAL_GPIO_WritePin(GPIOA, GPIO_PIN_1, GPIO_PIN_RESET); HAL_GPIO_WritePin(GPIOA, GPIO_PIN_2, GPIO_PIN_RESET); HAL_GPIO_WritePin(GPIOA, GPIO_PIN_3, GPIO_PIN_RESET);}The full initialization is: hiwdg.Instance = IWDG;hiwdg.Init.Prescaler = IWDG_PRESCALER_256;hiwdg.Init.Reload = 4095;hiwdg.Init.Window = 4095;HAL_IWDG_Init(&hiwdg);According to the reference manual, with Prescaler = 256 and Reload = 4095, I expect a wat
I reviewed the code and found anti-windup is not implemented in the loop, is that correct? Let me know if there is a version with anti-windup implemented, thank you.
Please tell me the model number of the QFN24L package IC marked "S2TX".
Hi,I want to configure STM32L152RE board to max speed of 32MHz using HSE 8MHz. As per reference manual, flash latency can be configured only in 64 bit read operations. I want to use 32bit read operation for low power consumption. I am confused on how to use the board in bare metal programming specifically for flash latency part. I am using platform.io and want to initialize the RCC using HSE and PLL. I need guidance for RCC initialization and flash latency configuration portion.
In section 1.2 of DB5834Time-of-Flight (ToF) sensors software expansion for STM32Cube it is written that “The package is compatible with STM32CubeMX. It can be downloaded from and installed directly into STM32CubeMX, as described in UM1718”. I followed UM1718 but could not find “X-CUBE-53L9A1” in Tab “STMicroelectronics”. I’m using the CubeMX version 6.18.0. Also the upload of the zip-file via “From Local...” failed. The error message: “This file is eighter corrupted or not recogniced package. [...]”. How to proceed? Thanks for your help.
I have a very nice study using RTC smooth calibration, with the RTC steered by a GNSS receiver one second pulse and a software PI controller that redetermines the calibration every 32 seconds, kind of a PLL. I am using a STM32F746G Disco evaluation board for development. Phase comparison is by hardware (1 second RTC alarm output and 2 channel input capture on a 10 MHz timer).For optimizing the PI controller i would like deterministic results, but i don’t know what happens when i set a new smooth calibration value during an ongoing 32 second period.Does that initiate a new 32 second RTC smooth calibration period with the requested number of adjustments?Is a certain one of the 32 seconds better for setting the new calibration value? Which one?I could analyze the 32 phase measurements in my PI controller time interval to see how many calibration steps actually happened, but maybe there are some simple rules.
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.
I'm working on a completely bare-metal STM32L476RG project using GCC + CMake + OpenOCD + GDB (no HAL, no CubeMX).The MCU consistently HardFaults immediately after entering Reset_Handler, before any .data copy or .bss initialization occurs.ToolchainMCU: STM32L476RG GCC: arm-none-eabi-gcc 15.2.1 OpenOCD + GDB CMake project -mcpu=cortex-m4 -mthumb -nostartfiles LinkerMemory layout:FLASH (rx) : ORIGIN = 0x08000000, LENGTH = 1024KRAM (rwx): ORIGIN = 0x20000000, LENGTH = 128K_estack = ORIGIN(RAM) + LENGTH(RAM);Relevant symbols:_sdata = 0x20000000_edata = 0x20000030_sidata = 0x08000A7C_sbss = 0x20000030_ebss = 0x20000034 Vector tableVector table begins at 0x08000000.First entries:0x20020000 // MSP0x08000197 // Reset_Handler0x08000201 // NMI0x0800018D // HardFaultReading both0x00000000and0x08000000shows identical contents, so the Flash alias appears correct.VTOR:0xE000ED08 = 0x00000000 Reset_Handlervoid Reset_Handler(void){ extern uint32_t _sdata, _edata, _sidata; extern
Hello, I created a project (BLE_p2pServer) in STM32CubeMX (6.18.0), but it won't build.Unlike other projects, this project has a folder-like icon in the Project Explorer.I created the project using the same procedure as other projects (BLE_TransparentMode, etc.), so do you know why this is happening?Deleting and recreating the project doesn't change the situation.
I programmed BLE_TransparentMode to perform RF testing on a custom board equipped with an STM32WBA23.I want to transmit unmodulated CW, but I can't find a way to do this using HCI commands.Is there a vendor-specific command to achieve this? Alternatively, methods such as calling an API or modifying registers would also be acceptable.
Hi,I have a system with 11 STM32 in a single JTAG chain. I’m trying to debug device with JTAG address 10,45 (JTAG device position 10, IR -pre-length of 45) and I’m getting this error message when running my launch configuration:This is my entry in launch.json, my probe is a J-link:{ "type": "jlinkgdbtarget", "request": "launch", "name": "JTAG Launch Dev 10", "origin": "snippet", "cwd": "${workspaceFolder}", "preBuild": "${command:st-stm32-ide-debug-launch.build}", "runEntry": "main", "serverInterface": "JTAG", "serverJtagCfg": "45,10", "imagesAndSymbols": [ { "imageFileName": "${command:st-stm32-ide-debug-launch.get-projects-binary-from-context1}" } ] }, Debugging device 0,0 on the same chain works (has similar firmware written on STM32Cube extension for VSCode) from STM32CubeIDE extension for VS
Already have an account? Login
Enter your E-mail address. We'll send you an e-mail with instructions to reset your password.