Join conversations with your peers and ST experts. Explore the full potential of STM32 microcontrollers for your embedded design.
Most recent activity
I have added an external watchdog STWD100 to an STM32L433, but want to check that I have implemented it correctly. See schematic below.... The STM32 reset pin has a reset button circuit (copied from the Nucleo development board) and an ST Link programming connector (tag connect).The watchdog needs to work in combination with the reset button and programmer.The STM32 uses standby and shutdown low power modes, so I cannot use the STM32 internal watchdog as I need to disable the watchdog when in these low power modes.
Hello STM community, I am currently working on a project that involves connecting a PS5 controller to an STM32 microcontroller. I would like to inquire about the feasibility and potential approaches for achieving this integration. Specifically, I am interested in: Whether the STM32 microcontroller supports USB host mode and is capable of communicating with USB HID (Human Interface Device) peripherals such as the PS5 controller.Any available libraries, examples, or resources that could help with implementing USB host communication and interfacing with the PS5 controller on the STM32 platform.Any considerations or challenges to be aware of when connecting and communicating with the PS5 controller, such as protocol compatibility, power requirements, and data handling.If anyone has experience or insights regarding this topic, I would greatly appreciate your input and guidance. Thank you in advance for your assistance. Best regards,Hirani Bhavik.
Hi!In version 4 of the reference manual for STM32U0, it is suggested that BOR is enabled and on Level 3 from the factory.Is that correct?I'm currently working on an construction running @ 2V, so it would never start up, if so. And when I read out the Option Bytes on a new MCU, BOR is disabled? https://www.st.com/resource/en/reference_manual/rm0503-stm32u0-series-advanced-armbased-32bit-mcus-stmicroelectronics.pdf
利用Opus在STM32WB上实现BLE全双工语音流 | 新闻中心 | STM32/STM8 | MCU单片机 | 意法半导体STM | STMCU中文官网 The project in this link is encountering compilation errors. *This post has been translated from Chinese to comply with the ST Community guidelines.
I have some text that should not be translated.If a translation field in the table is empty, is there a way to make it automatically display the text from the first translation box, instead of having to copy and paste the same text into every box?
Edited you post for the Book title in French. Hello, We are pleased to inform you of the publication of a new technical book dedicated to STM32 microcontrollers. Written by three professors at INSA Toulouse (engineering school, France), this book is available in French and English: Programmation des systèmes embarqués. Application aux μcontrôleurs STM32F10x Microcontrollers - Vincent Mahout, Thierry Rocacher, Guillaume Auriol – ISBN 13: 978-1-83612-004-9 – ISTE Editions – 2024 Programming of Embedded Systems: Applications to SM32F10x μControllers - Vincent Mahout, Thierry Rocacher, Guillaume Auriol – ISBN 13: 978-1786309518 - John Wiley & Sons Inc, 2025 Designed with an educational approach built on 20 years of experience in the field of embedded systems, this book combines essential theoretical foundations with structured and rigorous practical application. It uses a common thread example to illus
Hi,hope you doing good.We are currently using NUCLEO-L412RB-P along with X-NUCLEO-60K1A1 for testing. We are attempting to perform USB tunneling with the following sequence:1.NUCLEO-L412RB-P is connected to X-NUCLEO-60K1A12. X-NUCLEO-60L1A1 part and peripheral lines are connected to NUCLEO-L412RB-P.3.X-NUCLEO-60R1A1 part of board is powered up.4.A pen drive like device is connected to the X-NUCLEO-60R1A1 part of board.We tried debugging the sequence for USB TUNNELING using the example code, however we are unable to achieve the expected result.could you please give us resolving for this issue?Thank you.
I am using EVSPIN32G4 DUAL and observed the following behavior.When calling:LL_OPAMP_Enable(OPAMPx); the OPAMP output immediately shows about 208 mV.I measured this voltage at TP25.This behavior occurs even though DAC3 is completely disabled.After calling LL_OPAMP_Enable(), I checked the DAC3 registers and confirmed that: All related DAC_CR and DAC_DHR12R registers remain set to zero. I checked these registers because DAC3 Channel 2 is configured as the OPAMP minus (−) input, as shown in the configuration below. My questions are:1. Why does the OPAMP output show approximately 208 mV when the OPAMP is enabled ,even though DAC3 has no value configured and is fully disabled?Thank you.Best regards,Pelino
Hello,I've developed custom hardware using the STSPIN32G4 MCU and I'm encountering an unusual motor behavior that I'm hoping to get some insight on.Issue : When running the motor for the first time, it begins vibrating after approximately 2-3 minutes of operation. I'm using the Motor Control Pilot application to manage the motor and control its speed.Observation: If I stop and restart the motor after this initial vibration occurs, it then runs continuously for 24+ hours without any issues. Additionally, when I test with the ST development board (EVSPIN32G4), the motor operates perfectly from the very first start—no vibration issues at all.Question: Could you provide any insights into what might cause this type of behavior? I'm particularly curious why the issue only appears on the initial startup with my custom hardware, but not on subsequent runs or with the official dev board.Any guidance would be greatly appreciated!
Dear Team,I am currently working on a motor control project using the STEVAL-IPMM15B, NUCLEO-G474RE, and X-NUCLEO-IHM09M2 evaluation boards.After referring to the user manuals, I connected the boards as per my understanding and powered the system with the following supplies:375 VDC and 20 VDC to the STEVAL-IPMM15B12 VDC to the VIN pin of the NUCLEO-G474REUpon powering the setup, I observed that the NUCLEO-G474RE was drawing approximately 0.9 A, and the onboard LDO temperature rose to around 95°C, as observed using a thermal camera. To prevent any potential damage, I immediately powered off the system and disconnected all the boards.Subsequently, I tested the NUCLEO-G474RE independently using STM32CubeProgrammer, and the board programs and operates normally when used standalone.At this stage, I would appreciate your guidance on:The correct interconnection between STEVAL-IPMM15B, NUCLEO-G474RE, and X-NUCLEO-IHM09M2The recommended power supply scheme, including appropriate voltage levels
I have been using PE micro Multilink FX for several years, but its Linux support is terrible. Is there a ST (or another) alternative with this functionality compatible with stm32CubeIDE? I just need to supply power (up to 100 mA at 3.3V) to my board for debugging. I don't need high tracing performance or anything like that. Thanks in advance,Gaston
Hi Team,Issue summary: when button is clicked then other button callback function getting trigger on TouchGFX simulation and same on hardware.Hardware details: STM32F429 Disc1 boardTouchGFX version: 4.24.0UI snip: When I click within area marked in square sky color box which is button area then kitchen callback function is triggered which is fine; but which also covers the 30% around area of Lobby. So when I click on Lobby button which is part of Kitchen button(around 30%) then kitchen callback function is triggered. So question is how to resolve this isseu.TouchGFX UI screenThanks MR
Hello everyone, I recently bought the NUCLEO-N657X0-Q and I am trying to debug it using the ST-LINK_gdbserver.Also this is my first development board and I don't know where to look. The data sheet and reference manual give me nothing in this regard and I am helpless. Here is the command line output:$ /opt/ST/STM32CubeCLT_1.20.0/STLink-gdb-server/bin/ST-LINK_gdbserver --swd \ -cp /opt/ST/STM32CubeCLT_1.20.0/STM32CubeProgrammer/bin -v -l 31 --frequency 8000 -k STMicroelectronics ST-LINK GDB server. Version 7.12.0 Copyright (c) 2025, STMicroelectronics. All rights reserved. Starting server with the following options: Persistent Mode : Disabled Logging Level : 31 Listen Port Number : 61234 Status Refresh Delay : 15s Verbose Mode : Enabled SWD Debug : Enabled InitWhile : Enabled COM frequency = 8000 kHz Target connection mode: Under reset Target not halted after reset. Force halt Failed to halt target Target not halted Error in initializing ST-LINK device. Rea
Hello, rm0456 in chapter 33.4.8. talks about "Software procedure to calibrate the ADC" and "Extended calibration mode" on some products. It is not clear, if "Software procedure to calibrate the ADC" is enough for products with "Extended calibration mode" or if extended procedure should be done always when available?Please clarify! Thanks
Are the design files of this board available from ST website? I'd need to know where can I get 3.3V and tie it to pin1 (Target VCC) off CN14. Then I'll be able to power the target MCU through this connector. Please check next post for further information:https://community.st.com/t5/stm32-mcus-boards-and-hardware/arm-debug-probe-with-power-to-target-capability/m-p/878207#M29644thanks in advance,Gaston
I'm developing the STM32H735ZG using IAR EW.I wanted to design sectors 4-7 of the STM32H735ZG's flash memory as a readable/writable data storage area, so I created it by referring to the reference manual, but I can't read or write data properly. I modified the .icf file as attached, defining sectors 4-7 (0x08080000-0x080fffff) as the data storage area(named MEMORY block)./*###ICF### Section handled by ICF editor, don't touch! ****/ /*-Editor annotation file-*/ /* IcfEditorFile="$TOOLKIT_DIR$\config\ide\IcfEditor\cortex_v1_0.xml" */ /*-Specials-*/ define symbol __ICFEDIT_intvec_start__ = 0x08000000; /*-Memory Regions-*/ define symbol __ICFEDIT_region_ROM_start__ = 0x08000000; define symbol __ICFEDIT_region_ROM_end__ = 0x0807FFFF; define symbol __ICFEDIT_region_RAM_start__ = 0x24000000; define symbol __ICFEDIT_region_RAM_end__ = 0x2404FFFF; define symbol __ICFEDIT_region_ITCMRAM_start__ = 0x00000000; define symbol __ICFEDIT_region_ITCMRAM_end__ = 0x0000FFFF; define symbol __ICFEDIT
Hi there, I am using the Motor Control Workbench tool (6.4.1) and having issues after flashing using the Motor Pilot tool (6.4.1). My current setup is the Nucleo-F401RE + Nucleo-IHM16M1 + GBM2804H-100T motor.The project creation and code generation works fine, and the code builds and I am able to flash the code onto the STM32F401RE. I am designing for 3xPWM input and 3 Current Sensing resistors. All other settings are default. Then, using the Motor Pilot tool I am encountering the "Driver Protection" error right after connection. After investigating the generated code with a debugger, I found the issue to be with these two lines in the MX_NVIC_Init() function. I have not made any changes to the generated code. I am using the STM32CubeIDE. HAL_NVIC_SetPriority(TIM1_BRK_TIM9_IRQn, 4, 1)HAL_NVIC_EnableIRQ(TIM1_BRK_TIM9_IRQn); At the second line the code fails silently and gets stuck in a infinite loop (not sure exactly where). Even after this failure,the motor pilot ap
Good day everyone!We are working with a custom PCB based on the STM32H750 Discovery board. We are trying to replace the existing MT25QL512ABB8ESF dual-bank setup with a dual S25FL512S setup (both driven with the same chip select).I've got a board with the replacement S25FL512S ICs soldered on and am following the ST MOOC on QSPI flash loaders, but I'm running into issues in passing the recommended testing script; it fails at the memcmp function. As per the ST course, I created an empty project, set up the ioc file, and copy-pasted the user code section to the appropriate commented regions in the generated qspi c and h files from the repo, and I used the provided code from stm32-external-loader/QSPI_Drivers/MT25QL512/quadspi.h at contrib · STMicroelectronics/stm32-external-loader · GitHub .I've reduced the SECTORS_COUNT to 3 for quicker debugging, commented out the MPU_Config function for now, and am watching the contents of a smaller buffer after calling the CS
I am configuring the RTC and using the user button on NUCLEO-H563ZI, but it is not working as expected. When I check the configuration in .ioc, I see that yellow signal in the RTC section. I have checked it and do not understand what is happening.Could someone guide me about that warning and how it affects the operation of the RTC?Thank you in advance.
Hello guys,I have a stm32G474RET board. I am using tim1 in PWM input mode and i want to update on the fly the hrtimA period and compare values using DMA. This is the code i have written: // Addresses for HRTIM registers (Timer A) destPER = (uint16_t*)&HRTIM1->sTimerxRegs[HRTIM_TIMERINDEX_TIMER_A].PERxR; destCMP = (uint16_t*)&HRTIM1->sTimerxRegs[HRTIM_TIMERINDEX_TIMER_A].CMP1xR; // Start DMA transfers in circular mode HAL_TIM_IC_Start_DMA(&htim1, TIM_CHANNEL_1, destPER, 1); HAL_TIM_IC_Start_DMA(&htim1, TIM_CHANNEL_2, destCMP, 1); HAL_HRTIM_WaveformOutputStart(&hhrtim1, HRTIM_OUTPUT_TA1); HAL_HRTIM_WaveformCounterStart(&hhrtim1, HRTIM_TIMERID_TIMER_A); HAL_TIM_IC_Start(&htim1, TIM_CHANNEL_1); HAL_TIM_IC_Start(&htim1, TIM_CHANNEL_2); My problem is that the period of the hrtim is changing dynamically based on the input PWM signal, but the CMP1 doesn't. The only thing I could find is that when i tried to configure the channel 2 of tim
Hi ST Community,I'm facing an issue with FatFs on SDMMC where f_open() or even f_mount() returns FR_DISK_ERR, even though the SD card is initializing correctly at the HAL level.Here's a summary of the problem and what I’ve verified so far.HAL_SD_Init() completes successfullyCard information is read correctly:CIDCSDRCACapacity (LogBlockNbr, LogBlockSize)SDMMC interface appears operationalRaw HAL read/write tests (CID/CSD) work fineI would be grateful if ST experts or anyone familiar with SDMMC + FatFs integration please help me to resolve this issue :
Setup Details:Board: STM32H750B-DK Discovery KitSTM32CubeIDE: Version 2.0.0 (Build 26820_20251114_1348 UTC)STM32Cube FW_H7: v1.12.1STM32CubeMX: v6.16.0TouchGFX Designer: v4.26.0 (MVP pattern)External Memory: 1GB QSPI Flash (MT25TL01G) + 8MB SDRAMProject Configuration:Created TouchGFX project in Designer, saved and generated codeOpened .ioc file in STM32CubeMX v6.16.0Configured:QSPI in memory-mapped mode with 30-bit addressing (1GB flash)SDRAM via FMCMPU configured with QSPI region execution enabled (0x90000000, 256MB)Vector table relocated to 0x90000000Linker script modified for external flash executionThe Problem:Debugger fails with protocol error when attempting to debug:Error in final launch sequence: Failed to execute MI command: monitor reset halt Protocol error with Rcmd Failed to execute MI command: monitor mww 0xE000ED08 0x90000000 Protocol error with Rcmd Failed to execute MI command: monitor reg pc 0x90000004 Protocol error with RcmdWhat Works::white_heavy_check_mark: Code pr
Typo fixed in title - was "Helliun" I'm developing a project that will heavily utilize DSP for audio processing, including neural networks. However, I'm having difficulties with the DSP; I haven't finished reading all the documentation yet. I even consulted Claude Opus on the process and other AI resources, but they all point to a non-existent path, which would be to install CMSIS-DSP via CubeMX in the ARM software tree. Is anything else needed for DSP use? Taking advantage of this post, how should I access the board's internal microphone? Are there any code examples besides STM32N6-GettingStarted-Audio, or is that the best example to learn how to handle the microphone that comes with the board? Thank you for your help.
I have an XCore407I board with an Ethernet port installed. I'm trying to create a simple UDP server in Stm32CubeIDE. Compilation and uploading to the board is OK. But the board doesn't respond to ping and isn't visible in the router's device list.Here are my settings in IDE.Spoiler (Highlight to read)Here is the main code.int main(void) { HAL_Init(); SystemClock_Config(); /* Initialize all configured peripherals */ MX_GPIO_Init(); MX_LWIP_Init(); // Udp init function udpServer_init(); while (1) { MX_LWIP_Process(); } }Unfortunately, I can't attach the entire project here. But I can add code from other modules upon request.Can you tell me how to set this up correctly so it works? Thank you.
Dear Gfx Team, 1. Could you please consider adding project setting to automatically delete ./touchgfx folder when Designer exits or project closed (Ctrl+Q) ? The folder's size is nearing 300Mb. I have tried many Designer Examples and they consume a lot of disk space because of ./touchgfx folder. This would mirror auto copy of the "./touchgfx" folder into project if not present. Something like this: 2. Idealy, option to set to auto delete "./simulator/msvs/.vs" folder as well would great as it is often even bigger than ./touchgfx. Thank you.
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.