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, We are using F777VI and H743VI in our products and we need to meet UL requirement. https://iq.ulprospector.com/en/document?e=206486 Primary cells and batteries are not rechargeable. Secondary cells and batteries are rechargeable. Primary cells and batteries are designated to be either technician replaceable or user replaceable. Secondary lithium ion cells are not intended to be user replaceable. The circuitry containing the primary cells and batteries should include two diodes (or equivalent) to prevent charging current. Alternatively, the circuitry containing primary cells and batteries should include one diode (or equivalent) and a current-limiting device, such as a resistor. What is the solution you offer, is such capability embedded in ST processors or should be added externally?. It is not very efficient to have diode Drop (0.4V - 0.7V) in a 3V battery coin, or a 2 AA battery (2.4V).
Is it possible to get the schematic or direct me to the link of the STEVAL-IKR002Vx (RF motherboard) The RF motherboard has an STM32L microcontroller used for driving the SPIRIT1 transceiver and to communicate to a PC via USB. Thank you
When I started working with NUCLEO boards I was very cautious about powering the board up from 5V let alone 12V even powering the board via STLINK USB at 5V (maybe as much as 250mA)So I did some reading. On my NUCLEO-H5E5ZJ :-The buck regulator ST1S40IPUR (U16) becomes transparent at under 5V - it just conducts The linear regulator for main 3V3 is LD39200PU33R (U15) and has very low dropout Most of the STM32H5E5 pins have Absolute Max tolerance rated at 4V If not being used I could put the STLINK into reset via a jumper (less current to board) Avoid initial connection of Ethernet cable or any USBI tried feeding just under 4V limited to 150mA max into the buck regulator and still got 3.3 Volts out of U15. The MCU runs fine and I can boot it using USART1. I haven’t learned how to use STLINK just yet :)For my board with STLINK in reset the Ethernet PHY current about 45mA and total current was 95mA on wakeup and 115mA in bootstrap.Why do this, well if I short more than 4V to any port pi
Hello ST Community,I am working on a BLDC motor control project and would like to use STM32 Motor Control SDK (MCSDK) Workbench to generate firmware.My Hardware ConfigurationMotor Type: BLDCMotor Voltage: 48VMCU: STM32F405RGT6IssueWhen creating a new project in MCSDK Workbench, I cannot find my exact board/MCU configuration in the board selection list. Since the STM32F405RGT6 board is not available in the predefined options, I am unable to proceed with the standard project generation workflow.QuestionsIs STM32F405RGT6 officially supported by MCSDK Workbench?If yes, how can I create a project for this MCU when it is not listed in the board selection menu?Is there a way to add a custom board definition?Where can I obtain the required board configuration/JSON file (if available)?Can an existing board configuration be modified to support STM32F405RGT6?If MCSDK does support this MCU, what is the recommended procedure for configuring:PWM generationCurrent sensingHall sensors / Sensorless con
将LSPHB焊接至FPC上进行测试,测试时发现输出压力会随时间发生无规律的漂移,请问这是什么原因,应该如何解决
Our application is an intelligent antenna pointing system that uses two identical sets of IIS2MDC magnetometer + ISM330DHCX accelerometer/gyroscope — one pair on our base board, and one pair attached to the moving gimbal. Our overall hardware design was based on the IOT02A board: we got the DataLogFusion running flawlessly on the ST IOT02A first, then subsequently ported that code-base to our own STM32U5-based system.Our code currently runs MotionFX sensor fusion with two instance memory pointers, with each pair of MEMS sensors feeding into the MotionFX library at a 100 Hz interval — as recommended, and as we saw done in the DataLogFusion example for a single set of magnetometer, accelerometer and gyroscope sensors. Our firmware design used the DataLogFusion example application and setup as a starting point and then adapted it with multiple instances as we have two sets of sensors in our hardware controlled by a single STM32U575ZIT MCU.Most of the MotionFX API takes an explicit instan
Confirming that CubeMX loading problem has been fixed. But I need to point out that RAMCFG enabling still comes with issue: AXISRAM clocks enabling code is not generated. As I wrote in another post, clocks are partially enabled by RIF code: STM32N6 RIF and MMT autoconfiguration errors - STMicroelectronics Community But AXISRAM3 clock is not enabled, so firmware halts. And power needs to be enabled also. My workaround is to enable all the AXISRAM clocks and power in HAL_RAMCFG_MspInit: void HAL_RAMCFG_MspInit(RAMCFG_HandleTypeDef* hramcfg) { /* USER CODE BEGIN RAMCFG_MspInit 0 */ /* USER CODE END RAMCFG_MspInit 0 */ /* Peripheral clock enable */ __HAL_RCC_RAMCFG_CLK_ENABLE(); /* USER CODE BEGIN RAMCFG_MspInit 1 */ /* AXI SRAM1-2 is already enabled by BootROM. * Enable AXI SRAM3-6 clocks manually because CubeMX doesn't do it. */ __HAL_RCC_AXISRAM3_MEM_CLK_ENABLE(); __HAL_RCC_AXISRAM4_MEM_CLK_ENABLE(); __HAL_RCC_AXISRAM5_MEM_CLK_ENABLE(); __HAL_RCC_AXISRAM6_MEM_CLK_ENABL
Hi Support Team, We are assessing a 125°C manufacturing burn-in process for a medical electronics product and would like to understand whether AIS2IH has undergone any qualification or reliability testing at or above 125°C.Are there any available data or reports relating to:HTOL (High Temperature Operating Life) HTSL (High Temperature Storage Life) Burn-in testing Accelerated life testing Other high-temperature qualification activitiesWe are not seeking approval for continuous operation beyond the datasheet limits, but rather any information that may support the assessment of a limited-duration burn-in process.Any relevant data, reports, or guidance would be greatly appreciated.
Hi all,I am using ST link v3 mini when i try to connect the controller using the st link v3 it is showing as theError : unable to get the core ID.But when i try to connect the controller using the DFU mode.i am able to connect to the controller and able to program the controller and option bytes are also AA(RDP 0)>. What is issue why i am not able to connect to the mcu using the St link (SWD) but able to connect to the controller using the DFU mode.is there anything i have to make changes in the cube programmer.
Hi,I am evaluating the LSM6DSV16X for a project that requires gyroscope Angular Random Walk (ARW) and In-Run Bias Stability specifications. I understand these AVAR (Allan Variance) parameters are not tested at production level and therefore not included in the datasheet.However, I noticed that ST has previously shared characterization data for related parts under the same request:- LSM6DSR: https://community.st.com/mems-sensors-48/what-is-the-bias-in-run-stability-instability-of-the-lsm6dsr-gyros-and-accelerometers-41777- LSM6DSV16BX: https://community.st.com/t5/mems-sensors/bias-instability-and-random-walk-of-lsm6dsv16bx-and-ism330dlc/td-p/574922 Could someone from ST please share the equivalent characterization results for the LSM6DSV16X (gyroscope, and accelerometer if available)? Specifically, if possible, could you provide the full Allan Deviation plot (σ(τ) vs. averaging time τ) rather than just the extracted ARW / bias instability numbers — we need to see the noise floor and cor
We are looking for a more details on STDES-ESP01 product and product which does cuffless BP measurement as discussed in this video.
Hello ST Community,I am using an STM32G431RBT3 on a custom-designed PCB. The STM32 is used to control a DRV8334 3-phase motor driver for a blower motor application.I am facing a critical issue where the controller works correctly when using ST-LINK debugging, but it does not run correctly when the PCB is powered on standalone.HardwareMCU: STM32G431RBT3 Package: LQFP64 Motor driver: DRV8334 PCB: Custom-designed PCB IDE: STM32CubeIDE Programmer/debugger: ST-LINK MCU supply: 3.3 VProblemWhen I power the PCB directly without ST-LINK, the following happens:The STM32 starts executing the firmware. A GPIO that I set HIGH in main() becomes HIGH. The GPIO that I toggle inside the while(1) loop does not toggle. I added a GPIO HIGH operation inside HardFault_Handler(). That HardFault GPIO becomes HIGH.Therefore, it appears that the MCU reaches main() but subsequently enters HardFault before the normal while(1) execution continues.When ST-LINK is connectedIf I connect ST-LINK and program/debug/ru
Hii All,I am working on a custom PCB based on the STM32H747IITX MCU, and I am facing an issue with the Ethernet interface.The Ethernet connection is currently not working on my custom board. I have checked the basic hardware connections, but I am unable to identify the root cause.I have attached the Ethernet schematic of my custom PCB for reference.Could someone please help me review the schematic and suggest what I should check?In particular, I would appreciate guidance on:STM32H747IITX Ethernet RMII configuration and pin assignments PHY hardware connections and required configuration PHY reset and power-supply requirements 25 MHz/50 MHz Ethernet clock configuration PHY address and MDIO/MDC communication Required Ethernet termination/bias components STM32 Ethernet GPIO alternate-function configuration Any hardware-specific requirements or common mistakes when designing Ethernet on a custom STM32H747 board Recommended steps to debug whether the issue is on the MCU, PHY, clock, or PCB s
Support request: STM32WL33CC — DEEPSTOP average current rises well above datasheet spec, even within a single uninterrupted dwellPart / packageSTM32WL33CC (custom board, not a Nucleo/eval board).SummaryOn our custom board, DEEPSTOP average current starts near the expected low-µA range on entry but climbs over tens of seconds to a plateau of roughly 360–390 µA — two to three orders of magnitude above the datasheet's Table 13 "Current consumption in DEEPSTOP mode" figures (≈1.2–2.1 µA ICORE across all listed LSI/LSE/RTC/IWDG/LPUART configurations). This is reproducible, happens within a single uninterrupted DEEPSTOP dwell (i.e. it is not an artifact of repeated entry/exit cycling), and we have ruled out every peripheral, sensor, and firmware-level cause we can identify. We'd like ST's input on whether this is a known/expected behavior of the DEEPSTOP power architecture (e.g. an internal analog settling time not captured in the static spec table) or points to a board- or configuration-lev
Hello, I have an ST Nucleo U5A5ZJ-Q board. I am powering the board through the CN1 connector and using the ST-LINK at the same time.In the project I am working on, I would like to connect a USB device to the hardware. For this purpose, I want to use the USB Type-C connector.When I connect the sensor to the Type-C connector, it does not receive any power. My assumption is that I cannot power the device through the USB Type-C connector. Also, LD7 does not light up.I wanted to consult you about this before doing anything that might damage the board.In addition I use usb standalone(STM32Cube FW_U5 V1.8.0).Thank you in advance for your support. Best Regards,Faruk
I am using EVLSPIN32G4-ACT. Am I correct to assume that if I want to use external resistors R16,19,23,26,29 & 32, I will have to connect TP3,4&5 to GPIO1_EX, GPIO2_EX & GPIO3_EX on CON6, as this is the only way I can connect the op-amp outputs to ADC inputs?
i can't get to download stm32cubeide. download jus
Introduction:Hello ST Team and Community, Following a recent architectural discussion on the Zephyr RTOS project (recommended by @erwango to be shared here), I would like to submit feedback and a feature proposal regarding how the Flexible Memory Controller (FMC) master controller enable gate is handled in the STM32Cube HAL/LL drivers.Background: On newer STM32 architectures (STM32H7, STM32U5, STM32H5, STM32H7RS, STM32N6, STM32MP1/2), the FMC block contains a master peripheral gate bit (FMC_BCR1_FMCEN or FMC_CFGR_FMCEN) which must be asserted for external bus transactions to occur. Currently in the STM32Cube firmware:There is no standalone HAL_FMC_Init() or public LL_FMC_Enable() API.The master gate is only asserted via the private macro __FMC_ENABLE() inside: HAL_SRAM_Init() HAL_SDRAM_Init() HAL_NOR_Init() Inversion of responsibility: While this chip-centric approach works seamlessly in standard STM32CubeMX bare-metal projects with discrete SRAM/SDRAM chips, it creates architectu
Hello,I ran into a bug in fx_stm32_sd_driver function.Our firmware was calling fx_media_volume_set on a partitioned card and we found it was corrupting the disk. The issue is that the FX_DRIVER_BOOT_WRITE case statement hardcodes the boot sector to be at sector number 0. This works for unpartitioned (superfloppy) layouts, but does not work on partitioned SD cards with a master boot record. Calling fx_media_volume_set on a partitioned drive overwrites the MBR instead of the boot sector and corrupts the disk.Note that the FX_DRIVER_BOOT_READ, which also has to manage this problem correctly calculates the offset using the _fx_partition_offset_calculate function.Regards,Mike
Hi everyone,I am currently working on a project using an STM32H533RET6 and I need to implement an RS485 Slave interface. To save as many GPIOs as possible, I was wondering if it is possible to use just one single CPU pin for both USART TX and RX (and one additional pin for both RE and DE)?I know that the STM32 supports a Single-wire Half-duplex mode (setting HDSEL in the USART_CR3 register). From my understanding, this makes the TX pin bidirectional and completely frees up the RX pin to be used as a standard GPIO.However, my main concern is how to connect this to the external RS485 transceiver. A standard transceiver (like the MAX485) requires at least three pins: DI, RO, and the DE/RE control pin.My thoughts so far: If I tie DI and RO together and connect them to the STM32's TX pin, I would still need a second GPIO to toggle the DE/RE pin. That would be a 2-pin solution.Has anyone successfully implemented this approach in a real project? Are there any hidden pitfalls regarding the con
Part: STM32U375CE (Cortex-M33 r0p4), ChibiOS, system clock MSIS 4 MHz, FLASH_ACR = 0x100 (0 WS, prefetch on), ICACHE enabled, LDO. Firmware enters Standby from a small function: PWR_CR1.LPMS = 100b, SCB_SCR.SLEEPDEEP = 1, DSB, ISB, WFI. Standby exit is by reset, as documented. Symptom. With identical source, whether the part enters Standby depends on where code lands in the image. Inserting n nops into a function that is not even on the idle path flips idle current between 4.4 uA and 1040 uA (0/2 nops sleep; 4/8/16/32 stall; three trials each). Two builds with a byte-identical 77-instruction arming function, same WFI offset within its flash line, same call list, differing only in two literal-pool data words, behave differently. Whole-tree -O0 always sleeps. Disabling ICACHE, or running the arming sequence from SRAM (.ramtext), makes every build stall. What the stalled state is. Plain stores into retained SRAM2 (PWR_CR1.RRSB3) read back over SWD after connect-under-reset show the firmwa
Hi all,I’m configuring a GitHub Actions CI pipeline for an STM32 project with auto-generated CMake files (STM32CubeIDE/CubeMX).I already created a custom Debian container including the dedicated ARM toolchain (arm-none-eabi) version 14.3.rel1 for reproducible builds.What is the best practice: how do I have to configure the CmakeList? Is there a template?How can I keep custom flags/include paths/post-build steps without editing generated files directly?Do you have a minimal working example for STM32 + CMake on GitHub Actions (including .elf/.bin/.hex artifacts)?Thanks in advance for any recommendations.
I am using the STM32F405RGT6 built-in System Memory CAN bootloader for firmware update.Configuration:MCU: STM32F405RGT6 CAN: CAN2 (PB5 RX / PB13 TX) External HSE: 24 MHz CAN bitrate: 125 kbps Host: Jetson Linux / SocketCAN Standard 11-bit CAN IDI am facing an issue with the CAN Erase command (0x43).For example, to erase Sector 8:cansend can0 043#08The STM32 responds with the first ACK:043 [1] 79but I never receive the second/final ACK after the erase operation.So the sequence is: Jetson -> 043#08STM32 -> 79 <-- received <-- final 79 is NOT receivedImportant observations:Mass erase using 043#FF works. Individual sector erase using STM32CubeProgrammer + ST-Link/SWD works, including Sector 8. RDP = AA (Level 0). WRP0–WRP11 are unprotected. Sector 8 address is 0x08080000. CAN communication with the ROM bootloader otherwise works.Therefore, it appears that the 0x43 command is being accepted by the ROM bootloader, but the sector erase operation doe
So I have an STM32 project in VSC and when I first set up this project and started debugging, I vaguely remember being asked by VSC to create a launch.json file.Now it seems I can build a ‘debug’ session, and launch it, and debug with all the usual features like step-in, step-out, continue, and so on. But how do I now add a ‘release’ build, which strips debug info and allows me to program a device without debugging it? [I am trying to be a good citizen and get along with STM32 for VSC, but so far it seems like i) A retrograde step ii)A mix of modern UI’s and very old looking Java (MX) and iii)You need a science degree in CMAKE to understand anything. ]My launch.json looks like this:{ // Use IntelliSense to learn about possible attributes. // Hover to view descriptions of existing attributes. // For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387 "version": "0.2.0", "configurations": [ { "type": "stlinkgdbtarget", "requ
OverviewThis chapter introduces how to use the on-chip DAC of the STM32C5 to generate a fixed analog voltage output. The STM32C5 DAC supports 12-bit/8-bit resolution, external pin output, output buffering, and DMA. In 12-bit mode, the digital input range is 0 to 4095.In this experiment, DAC1 Channel 1 is used, with the analog voltage output through PA4 (DAC1_OUT1). The program calculates the DAC digital value according to the reference voltage and the target output voltage, sets the conversion data using HAL_DAC_SetChannelData(), and then starts the DAC output using HAL_DAC_StartChannel(). Hardware PreparationFirst, prepare a development board. In this example, I use a self-designed development board. Samples can be requested if needed.The main MCU is STM32C542CCT6. Reference CodeGitHub:https://github.com/CoreMaker-lab/STM32C542_SENSOR Creating a Project with STM32CubeMX2In this example, STM32CubeMX2 is used to generate the project, with STM32C542CCT6 selected as the target MCU.
Already have an account? Login
Enter your E-mail address. We'll send you an e-mail with instructions to reset your password.