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
https://www.linkedin.com/posts/edwin-amaya-63006b225_next-little-free-project-is-a-segger-rtt-activity-7459971377140469760-ik6Vhttps://github.com/EdwinFairchild/ProbeStream
Hello,I would like to ask about the current status of Bare-Metal support for the Cortex-A35 core on the STM32MP2x platform (STM32MP257F-DK).While searching the ST Community, I came across the following discussion related to this topic:https://community.st.com/t5/stm32-mpus-embedded-software-and/stm32mp257f-dk-bare-metal/td-p/787100Since that discussion is now more than one year old, I wanted to check whether there have been any updates regarding Bare-Metal development support on the STM32MP2 platform.When creating a project in STM32CubeIDE for the STM32MP257F-DK, I could not find an option to create a Bare-Metal project targeting the Cortex-A35 core.Could you please clarify the following:Is there now an official Bare-Metal project template for Cortex-A35 in STM32CubeIDE?Are there any application notes, examples, or documentation demonstrating how to run Cortex-A35 without Linux?Is there any roadmap update regarding official Bare-Metal support for STM32MP2x?Our use case requires:Fast bo
Hi, I am currently implementing an HTTPS server using mbedTLS 3.6.5 and LwIP on an STM32H7S7L8 platform running FreeRTOS.Our mbedTLS configuration are fully functional, as we already have a stable, working TLS implementation on an MQTT client using the same stack.However, we are encountering an issue during the TLS Handshake phase on the server side after configuring the client sockets to non-blocking mode (O_NONBLOCK). While the listening socket correctly accepts incoming connections, the handshake loop fails.I have attached the relevant snippet of our server thread implementation, including our I/O callbacks.Could you please review our non-blocking I/O logic and handshake loop to see if we missed a specific configuration requirement or state handling for mbedTLS 3.x in server mode? /* STM32CubeMX Specific Parameters (not defined in opt.h) ---------------------*/ /* Parameters set in STM32CubeMX LwIP Configuration GUI -*/ /*----- WITH_RTOS enabled (Since FREERTOS
Hi, we have purchased stm32h750vbt6 microcontroller for analog signal validation with 10k potentiometers to integrate with game controller joystick especially joy.cpl using windows 10 OS. We have dealt with DMA Circular mode configuration pointing cortex-M7 DRAM to 0x30000000 to retrieve the analog signals associated with respective 10k potentiometers. Totally we have four analog pins such as PA0,PC0,PA3 and PC5 from ADC1 & ADC2 with proper distinguished rank allocation alongside desired maximum sampling cycles but although we have altered and tested with different values of this above configuration it ended up with ADC channel leakage which is declared 16 bit ADC. Moreover we have tried adding external 100nf capacitors to avoid these linkage but failed. We kindly request you to resolve the ADC channel leakage in our current stm32 Project. Our entire stm32 project attached for your reference and fault identification.
I am using the Analog Devices EVAL-ADE9430 Evaluation board for testing one of their devices. The Evaluation board uses the NUCLEO-144 STM32F413ZH processor. I am using the Keil uVision development setup to run and debug code. I am specifically concentrating on the SPI Bus Driver and the timing. I have no previous experience with STM Devices and how the SPI transfers happen in the processor. so I apologize a head of time. My question is very basic I am trying to understand how the NUCLEO-144 STM32F413ZH board is transmitting the data over the SPI Bus. What setup is involved and what kicks off the actual transmission in the the HAL_SPI_Transmit() code below. The code i am using is transmitting 8 bits at a time. The Chip Enable (SS) is set active prior to this code. I see a structure called hspi that has a bunch of parameters that are initialized at line 29 below By single stepping know when line 108 below executes I can see 8 bits of data on my scope. I
DeviceSTM32H563ZIT6, single binary (no separate bootloader), dual-bank OTASetup Bank1: Current running firmware (original)Bank2: New OTA firmware (potentially corrupted)IWDG: Started in Bank1 before swapOTABootSafetyCheck: In Reset_Handler of every binary buildBKP0R: Boot counter set before swapProblemAfter bank swap, if Bank2 firmware is corrupted and Reset_Handler never executes: Bank swap → resetCPU reads 0x08000000 → SP (may be valid)CPU reads 0x08000004 → Reset vector (may be valid)CPU jumps to Reset_Handler addressReset_Handler code is corrupted → garbage instructions → crashOTABootSafetyCheck never runsBoot counter never incrementsIWDG fires → reset → same crash → infinite loopRollback never happensBank1 original firmware never recoversDevice is permanently stuck What We Have Tried1. OTABootSafetyCheck in Reset_Handler asmReset_Handler: ldr r0, =_estack mov sp, r0 bl OTABootSafetyCheck ; before SystemInit and main bl SystemInit bl __libc_init_array bl
Hello, I am working on a project using DMA and UART HD to communicate between multiple MCUs. I have an issue where when one MCU starts up, it momentarily interrupts the UART HD bus and sometimes causes a UART and/or DMA error.Since I am using the STM32CubeMX packages for the HAL libraries, I tried to recover from the issue by several means, but I noticed there seems to be no provided method in the stm32h5xx_hal to recover once hdmarx->State = HAL_DMA_STATE_ERROR. Calling any of the UART or DMA abort functions (HAL_UART_Abort(), HAL_UART_AbortReceive(), HAL_UART_DMAStop()) does not reset the DMA State. The call chain for HAL_UART_Receive_DMA() eventually checks the DMA State and just returns an error.I have found 2 methods that manage to work around the issue, but I am not satisfied with them because they are not at all elegant:Method 1: Call HAL_DMA_DeInit(), reset the Parent pointer back to huart, then call HAL_DMA_Init(). I feel like it might be missin
Hello, I am trying to import the RTSP example for the NUCLEO-N657X0-Q. It is not appearing in the IDE as a choice, but I see the project in D:\STM32\STM32Cube_FW_N6_V1.3.0\Projects\STM32N6570-DK\Applications\VENC\VENC_RTSP_Server
I'm looking for a working example of how to program the OTP memory on the STM32H573.I am looking to program with TrustZone enabled, from secure mode. I'm using STM32Cube_FW_H5_v1.4.0, and am not in a good position to move to v1.5.0. Any working example would do, using HAL, LL or direct register access.Thanks in advance.-Rob
Hello all, I've been having trouble with the ADC system on the STM32G071G8U6. I'm using the STM32CubeMX to generate initialization code. I have 5 external A/D inputs and it appears I am not getting readings anywhere near the real values, so I have switched to trying to just read the internal reference. I hope that if I can get the internal reference or the temperature to read correctly, I'll be able to solve the problems with the external inputs. My VDD is provided from a 2.5 volt LDO. Looking at it with a DVOM, that looks accurate. I am running the A/D at 12 bit resolution and my clcok prescaler is Synchronous clock mode divided by 2. I have the sampling time set to the maximum available in Cube, 160.5 cycles. I have a polling routine running every 1 second that reads all 5 external and all 3 internal channels. I set the VREFEN and TSEN bits in the ADC CCR register at the end of init and leave them enabled. I realize there may be board related problems wi
Hello,I am an engineering student working on my senior graduation project using the STEVAL-WBC2TX50 evaluation board. I need the STSW-WBC2STUDIO (or the updated WPSTUDIO) GUI to configure the board, but all official links on the ST website return a 404 error.Could you please provide a working download link or the installer files? My project exhibition is approaching soon, and this is a critical blocker.Thank you for your support.
Are HAL drivers and/or LL driver available for SR5E1E3 or E1E5?Where can be found?I saw some HAL LL drivers fin the MCTK SR5E1x Motor Control Toolkit 1.3.0 folder in Stellar Studio (\StellarStudio-9.0\contrib\SR5E1_MCTK-1.3.0\) but they are not present for all peripherals.Drivers present in SDK are not HAL style and seems not complete Thanks
Hello,I am designing a high-speed data logging architecture using STM32H743VIHx. I would like the community to validate my DMA architecture and answer specific questions about eMMC access. I did not find answers in the forum and I am also not an expert in microcontroller hardware/software architecture. --- SYSTEM OVERVIEW ---The logging produces a continuous signal sampled by the ADC. I need to log raw data samples along with GPS and IMU data to an eMMC for post-processing.Key parameters:- ADC: 14-bit dual interleaved on PA6 (ADC12_INP3), differential ~10 MSPS effective- eMMC: S32 GB, eMMC 5.1- SDMMC1 in 8-bit MMC mode- IMU: on SPI2 (PB12-15) at 8 kHz- GPS: on UART4 at 115200 baud --- PROPOSED DMA ARCHITECTURE ---Four concurrent DMA paths:1. ADC1+ADC2 interleaved → DMA1_Stream0 → AXI SRAM (ping buffer)Triggered by ADC1 EOC, reads CDR register (32-bit = 2 interleaved samples)Rate: ~20 MB/sPriority: VERY HIGH2. AXI SRAM (pong buffer) → MDMA_Channel0 → SDMMC1 → eMMCTriggered aft
ST moderator: updated the title to be more concise according to the below exchanges. Hello All, I am facing a problem for debugging one of the board which uses stm32h7 controller. I am not sure why this is happening but on other board I am able to debug it, but for first one its not working. Though the code and debug config settings are same for both the board and using same system to debug both, but on one board I am able to debug while on other its is not. so could you please tell me what I can try to resolve this issue. Thanks, SD
Hello ST Community,I am working on STM32H7B3LIH6Q with TouchGFX.I have successfully initialized the TFT RGB display on hardware, and the RGB test output is working properly. I created two screens in TouchGFX Designer, where pressing a touch button on Screen 1 should open Screen 2.This works correctly in the PC simulator, but on actual hardware the touch command/button press is not working. The display is visible, but touch input is not detected.I have attached the hardware output image and my touch enable/source code for reference.Could anyone please suggest what I should check in the hardware touch interface? Is the issue likely related to , BSP touch driver, I2C touch controller initialization, or touch coordinate mapping?Thank you,Vijaya.
Hi, I have all configured using internal loop FDCAN1 and there is not working on my STM32G474RE-Nucleo board
Hi, We are busy making a setup with 2 nucleo-c092rc boards. Our first test was to send from board 1 to board 2 by the integrated CAN interface on these boards. We started at 1Mbits and this worked great. Also on 4Mbits the setup worked great. But we also want to test this on 8Mbits and now the transmitter is not sending correctly. We only see that the arbitration phase is send out and a couple of bits of the data part, but then the transmitters stops sending. We have tried with internal HSI(48Mhz) and external HSE crystal which is also 48Mhz on the nucleo boards. We calculated the values for the SyncJumpWidth and timeseg1 and 2 and also tested with values slightly altered. hfdcan1.Init.DataPrescaler = 1; hfdcan1.Init.DataSyncJumpWidth = 2; hfdcan1.Init.DataTimeSeg1 = 2; hfdcan1.Init.DataTimeSeg2 = 3; But we allways have the same outcome. Sometimes it's not sending anything and sometimes only a small part of the total message of 64 bytes. What could be the issue here?
Hello,I am evaluating the STMicroelectronics IIS2MDC magnetometer and measuring its supply current using a Joulescope. According to the datasheet, the device should draw approximately ~1.5 µA in idle mode, yet I consistently measure about 450 µA, which is far from the specified behavior.Test setup & observationsSupply: 3.0–3.3 V (also tested across the allowed 1.71–3.6 V range).Measurement instrument: Joulescope (µA resolution).Verified results across multiple PCBs and multiple IC samples.Tested the sensor stand-alone (no MCU connected, only power rails).Same behavior observed on the STMicroelectronics evaluation board.Datasheet behavior (expected)After power-on, the device performs a ~20 ms boot procedure to load trimming parameters and then enters Idle mode automatically.In Idle mode, most internal blocks are switched off to minimize power consumption, while I²C/SPI remain active.Idle mode is selected with MD[1:0] = 10 or 11 in CFG_REG_A.A single-measurement cycle (MD=01) perform
This is some feedback for the STM32C5 OEMiRoT example provided by ST.This is based on the STM32C5-MCU-HAL2.0.0 pack download 06-05-2026.Attached you can also find the CMake Config files for the example, specifically for the NUCLEO-C542RC board.General Bug Provisioning Python ScriptThe provisioning python script has a small bug when it comes to the prebuild script which adjusts the linker files.These files are compiler specific so the correct adjustment function needs to be called.This compiler dependent code is missing in the `_update_linker_define()` function in `STM32C5-MCU-HAL/rot/rot_provisioning/helper/project/project_generic.py` starting at line 318:linker_path = self.config.get_compiler_linker(compiler) value = f"0x{self.flash_layout.get_flash_layout(define):X}" update_define_in_file(linker_path, define, value)change tolinker_path = self.config.get_compiler_linker(compiler) value = f"0x{self.flash_layout.get_flash_layout(define):X}" if (compiler == "gcc"): update_variable_
Hello, ST expert For GPIO structure, what are the differences between FT and TT mode? Are there any differences for the ESD diode and the other diode in these two modes? BR Yang
Hi, I am working on a TPMS project and I have migrated from FXTH to NTM88. With the FXTH I was using the MKW01 board for RF communication, on the NTM88 side, to use the same RF board I need the Starter Package for NTM88 and MKW01. The link can be found on NXP website but doesn't work. I have been advised to get in touch with you as the NXP MEMS sensor products have been transitioned to you since February 2026. I have also search on ST website but with no luck. Would it be possible to advice how can I get hold of the info from the NTM88 and MKW01 package? Regards,Mihnea
I am working on UART communication between an STM32H563 and a Raspberry Pi CM4.Currently, I am using UART without hardware flow control (RTS/CTS disabled). During continuous communication, I am frequently getting ORE (Overrun Error) on the STM32 side.Configuration details:MCU: STM32H563Communication: UARTFlow control: DisabledUART mode: InterruptPeer device: Raspberry PiI would like to know:1. What is the best workaround to avoid ORE errors without enabling hardware flow control?2. Is it reliable to use UART communication continuously without RTS/CTS?3. What are the recommended UART settings or software handling methods for STM32H5 series?4. How should ORE recovery be handled properly in STM32H563?Currently, once ORE occurs, The data became lost.
Is there anyway to increase the size of the icons in the top menu bar in the IDE?I am 70 now and my eyesight needs a wake-up here :)
Hi All,I've just been watching an ST tutorial video on how to implement bare-metal Device CDC USB on an STM32U3.During the video, the lecturer says that the code is available within the workshop download. No link is provided to the workshop code....Does anyone know where I can find it? This is the video in question : https://youtu.be/m8ph9JIY5QE?list=PLTJzs51NlEIAHFfePhKJPsnWvT5XidJuU&t=1164Any help would be appreciated.CheersMichael
Hello ,I am working on a project with the STM32L562CET6 microcontroller and have encountered an issue with the timer interrupt callback function. 1. I configured TIM6 as the clock source for the microcontroller. Consequently, the HAL_TIM_PeriodElapsedCallback() function is automatically triggered whenever the TIM6 interrupt occurs. 2. Now, I have configured TIM2 for a different purpose, but I noticed that when the TIM2 interrupt occurs, the same HAL_TIM_PeriodElapsedCallback() is triggered.Since the HAL_TIM_PeriodElapsedCallback() is defined with the weak attribute, I understand that I can redefine it in my user code. However, this causes conflicts when multiple timers (like TIM6 and TIM2) trigger this callback.Questions: 1. Is there a way to alias or redirect the HAL_TIM_PeriodElapsedCallback() to separate functions for different timers (e.g., one for TIM6 and another for TIM2)? 2. Is there any other specific callback function available for timers i
Already have an account? Login
Enter your E-mail address. We'll send you an e-mail with instructions to reset your password.