Join conversations with your peers and ST experts. Explore the full potential of STM32 microcontrollers for your embedded design.
Most recent activity
Hi all,I am using the MTFC8GAMALNA-AAT 8GB flash memory via SDMMC1, operating in MMC 4-bit wide bus mode, along with FATFS (M7). I now require the diskio.c file. Kindly provide it, or if you have any related example code, please share that as well. Please note that I do not want to use DMA or an RTOS for this implementation.Thanks
Hi everyone, I'm working on a project using an STM32H725 microcontroller running ThreadX and NetX Duo, and I've run into a persistent issue with the TCP server on port 502(Modbus). Setup: Networking handled by NetX Duo TCP server bound to port 502 listen_queue_size = 1 The socket is created once and reused (not deleted or recreated) Six other TCP ports are also in use and working without issues After running for a few minutes, Wireshark starts showing repeated [TCP Retransmission] packets being sent from the STM32, even though the socket on port 502 remains in the LISTEN state. At this point, the port stops accepting any new connections. Why is NetX Duo sending retransmissions when the socket is in the LISTEN state?How can I prevent the board from getting stuck and ensure it continues to accept new connections reliably? Any insights, suggestions, or similar experiences would be greatly appreciated!Regards, Rahul
Hello... i am design a board based on STM32F767 using USB to upload and upgrade firmware i.e. USB DFU could anyone advise any EVK or schematic daigram for USB to STM32F767 ? Pls advise soon.
..
你好 我正在与 STM32H755BIT3 一起做项目。我设计的电路板的现状是,用DC-DC 3.3V电源上电后,芯片很快发热严重,不出现短路就无法下载程序。我推测这是由于外围电路的设计。 有人可以帮忙找出问题所在吗? 提前感谢大家的任何提示。 Translation: Hello I am working on a project with the STM32H755BIT3.The current situation of the board I designed is that after powering up with a DC-DC 3.3V power supply, the chip quickly heats up severely and the program cannot be downloaded without a short circuit. I have a doubt about the hardware. Can anyone help to find out what the problem is? Thank you all in advance for any tips.
I'm learning BLDC control using the EVSPIN32G06Q1S1 and MCSDK 6.4. The inner current loop is implemented in hardware. The current feedback goes to an op-amp PI controller (I think?),then is compared with a reference voltage.The reference voltage level depends on the TIM17 PWM duty cycle.The comparison result goes to TIM1 ETR. There is no documentation for this. I need a manual or design guide for selecting the capacitor and resistor values in the PI controller. I found a description of current loop control in X-CUBE-SPN7,UM2124 section 3.3.1 “Current Mode Control,”but it is not included in the MCSDK or EVSPIN32G06Q1S1 documentation.The principle looks similar to peak current mode control in switching power. Can anyone confirm this or provide me with the correct documentation?After all, UM2124 is not intended for the EVSPIN32G06Q1S1.Thanks
Hi guys i am trying to use stm32cryptolib library's encryption function. the main problem i am facing when i am trying to call the cmox_initialize function it is giving the error cmox_init.c:(.text+0x1a): undefined reference to `cmox_ll_init'collect2.exe: error: ld returned 1 exit statusmake: *** [makefile:64: crypto.elf] Error 1"make -j8 all" terminated with exit code 2. Build might be incomplete.but it is strange although i have included the include file to path under which it's .h comes. The other err which i am facing that is this function written below is not returning CMOX_HASH_SUCCESScmox_mac_retval_t ret_val = cmox_mac_compute(CMOX_HMAC_SHA256_ALGO, // Algorithmmessage, sizeof(message)-1, // Message and its length(const uint8_t *)key, strlen(key), // Key and its lengthNULL, 0, // No custom datahmac_bin, sizeof(hmac_bin), // Output tag and expected size&tag_len // Output tag length pointer);
Hello,In my project using the STM32H755 Nucleo development board, I need to use PA11, PC14, and PC15 pins as GPIO Output to drive relays. However, when I checked with a digital multimeter, I found that these pins cannot be driven to logic HIGH — they remain stuck at logic LOW. Hardware/Software details:MCU: STM32H755 (Nucleo-144 board)IDE/SDK: STM32CubeIDE Project constraint: Almost all pins are already in use, so I have very limited flexibility in choosing alternate pins. After reviewing the technical documentation and the board schematic, I noticed that these pins might be connected to other functions or components. I am attaching the relevant images from the documentation.Additionally, PE6 is used for the MOSI line of the HI8429 component in my project, so its function must remain unchanged. :pushpin:My question:Which resistors need to be removed or which solder bridges need to be modified in order to use these pins (PA11, PC14, PC15) as GPIO Output?Is it possibl
Hi,While I'm creating custom inverter board for 3 Phase BLDC motor Rail application. I had configured all motor related parameter, while Current sensing section, I have chosen Three Shunt Raw Currents Differential External Gain.I'm getting this error.Pin connection Details:MCU Part No: STM32G4A1VET6Motor 3 Phase BLDC Details Part No: BG65x50 dcoreNominal voltage: 48VDC. Nominal Current: 3.75A.Nominal Speed:- 3560rpm.RegardsVinod C
NUCLEO F411RE I'm checking to see if I've got FreeRTOS integrated properly. So I've set up 2 tasks each with their own counter. In debug I was expecting to see the counter for Task1 to count up whilst Task2 never gets updated.When I step through the scheduler appears to set up just fine but when its to the call to start the first task (prvPortStartFirstTask()) it falls fowl to the HardFault_Handler.I initially had a stack size of 100 for each task & thought that maybe an issue but reducing the stack size to 30 hasn't made any difference.Any pointers (pun intended)? My code... * USER CODE END Header */ /* Includes ------------------------------------------------------------------*/ #include "main.h" /* Private includes ----------------------------------------------------------*/ /* USER CODE BEGIN Includes */ #include "arm_math.h" #include "FreeRTOS.h" #include "task.h" #include <stdint.h> /* USER CODE END Includes */ /* Private typedef --------------------------------------
Hello, I've been trying everything for days to fix this error. They said to set the BOOT0 pin to GND. I followed these steps. I tried many solutions from YouTube videos and the STM32 website, as well as solutions from forums, but none of them worked. I downloaded apps and changed the settings on my computer, but to no avail. What should I do in this situation? Is the problem with my computer? I'm using the STM32 VL Discovery card. Could you help me? Best wishes, thank you in advance.
Hi, My MCU is a STM32H753BIT6. This is a custom board that works fine with SYNC-MODE displays types.I have a new display only works in DE MODE. It not requires the HSYNC or VSYNC signals.Is there any way to configure LTDC peripheral and TouchGFX to work only in DE MODE? This is a communication image about this mode. I disconnect physically the VSYNC/HSYNC signals and ground it to make sure.Thanks for any tip and help!
Hello.. Anyone can advise if using USB Device for DFU, which crystal should i use? 25MHz? Why i dun see the 25 MHz crystal on 767 Nucleo ? if i only include the 8 MHz crystal (as the main clock )is it fine to drive the USB Device DFU? Please advise?
We are using the STM32H573VIT3Q in our project and have developed a POC board.While programming via STM32CubeIDE in debug mode, we are encountering random errors (refer to the attached screenshots).Additionally, STM32CubeProgrammer is detecting the controller inconsistently—some boards are recognized, while others are not (error attachments included).In a few cases, boards that previously worked are no longer accepting new code uploads, although the existing firmware continues to run properly.Any ideas on what could be causing these issues?
Hello.. i m designing a board using STM32F767, could anyone advise what should be done to those unused pins? Ground it or set it to ERC on Altium?
Hi,i have a new EVLSERVO1 and a STLINK-V3SET ant try to program my MSDK 6.4.0 generated firmware but i am not able to connect to the bord. I use the latest STMCubeProgrammer 2 20.0 and the latest stsw-link009 USB Driver.I updated the Firmware on the V3 to the latest version. And i tried both variants of the firmware. The Software recognizes the V3 Hardware and reads the 3.3 Volt from the ELSERVO1 board.i tried to use a Win10 and a win 11 machine. But I am not able to connect or to flash the Board.The 14 pin cable to the board seams to be ok. I am able to connect and flash other STM Boards with this setup like the STM32H745I-DISCO. Is there anything I have to set to achieve a connection?I also tried the UART1 connection with Tera Term without success.Do I have to send the Bootloader activation patterns 15? From the Manual:Programming and debuggingThe EVLSERVO1 provides a J1 connector to program firmware on the STSPIN32G4
I create A project for STM32F411 Discovery board with STM32CubeIDE 1.19.0 and coding : while (1) { /* USER CODE END WHILE */ MX_USB_HOST_Process(); HAL_GPIO_TogglePin(LD3_GPIO_Port, LD3_Pin); HAL_Delay(500); /* USER CODE BEGIN 3 */ } and don't set anything else. (I saw that the connection settings for the leds were automatically created when Creating project) i Build and Run code sucessfully but i dont see led Blink. Thanks Edited to apply source code formatting - please see How to insert source code for future reference.
Hello. This is my first week with MCU's. I choose STM and want to stick with it. But it makes only pain :) So I was able to make some GPIO to work but have a complete disaster with LCD. The board came with some demo firm, and it was erased. So I am dealing with a complete new firmware. My helper is a chat GPT but he cant fix my Purple screen. I want to print some basic text like "Hello" and have no luck. Adding code here. Please advise that else I can share so there will be a clear mistake I made. Thank you. /* USER CODE BEGIN Header */ /** ****************************************************************************** * @file : main.c * @brief : Main program body ****************************************************************************** * @attention * * Copyright (c) 2025 STMicroelectronics. * All rights reserved. * * This software is licensed under terms that can be found in the LICENSE file * in the root directory of this software component. * If no LICENSE file
Dear all, Recently, when we were using STM32G071CBT6TR, we discovered some IC bent leads issues. At present, we have not found IC bent leads issues in the original packaging.We are investigating the risk points. Meanwhile, we have also checked the PCN of the materials. The carrier tape has changed New Carrier Tape with 4-side partial fence designBut before PCN, we didn't have this problem, and now with the New Carrier Tape with 4-side partial fence design, some IC bent leads issues have emerged.Could you help answer some of our questions:1. What suggestions are there for the use of New Carrier Tape to avoid IC bent leads issues?2. During the production of this IC, will IC bent leads issues be checked one hundred percent?Looking forward to your reply. Thank you!
Hi all static HAL_StatusTypeDef USB_CoreReset(USB_OTG_GlobalTypeDef *USBx) { __IO uint32_t count = 0U; /* Wait for AHB master IDLE state. */ do { count++; if (count > HAL_USB_TIMEOUT) { return HAL_TIMEOUT; } } while ((USBx->GRSTCTL & USB_OTG_GRSTCTL_AHBIDL) == 0U); count = 10U; /* few cycles before setting core reset */ while (count > 0U) { count--; } /* Core Soft Reset */ USBx->GRSTCTL |= USB_OTG_GRSTCTL_CSRST; do { count++; if (count > HAL_USB_TIMEOUT) { return HAL_TIMEOUT; } } while ((USBx->GRSTCTL & USB_OTG_GRSTCTL_CSRST) == USB_OTG_GRSTCTL_CSRST); return HAL_OK; } at the USB_CoreReset function, my code keeps on getting stuck at the count++ and doesn't progress from there. I have even included RCC->AHB2ENR1 |= RCC_AHB2ENR1_OTGEN; // enable USB OTG HS clock RCC->AHB2ENR1 |= RCC_AHB2ENR1_USBPHYCEN; // enable ULPI clock before that function call but it does nothing.My board is stm32u5g9
Hi everyone,I am working on a project with the STM32H755ZI-Q (Nucleo H755ZI-Q) board, and I am following this tutorial for Inter-Processor Communication (IPC) using OpenAMP: Link to tutorial.The setup involves two processors (M4 and M7). Here's the LED behavior that I have implemented:LED1 (PB0) is assigned to M4.LED2 (PE1) and LED3 (PB14) are assigned to M7.When M7 sends a message to M4, M4 replies, and LED1 turns ON.If M7 receives the expected message, LED2 turns ON; otherwise, LED3 should turn ON.The issue:Everything seems to work fine when LED2 is assigned to M7 (PE1), as it turns ON as expected. However, when I swap the assignments and move LED2 to LED3 (PB14), LED3 doesn’t turn on, despite the message being received and processed correctly.I have tried putting LED3 in a while loop in the main function and toggling it manually with:HAL_GPIO_TogglePin(GPIOB, GPIO_PIN_14);but still, LED3 (PB14) does not turn ON.Has anyone encountered a similar issue or can suggest where the pr
Hey, I have a custom STM32F407 based board with USB.USB_P is connected to PA12USB_N is connected to PA11In the STM32CubeMX I have configured USB Device and in the middleclass I have enabled Communication Device Class (Virtual Port Com) for the Class for FS IP.My main.c code:/* USER CODE BEGIN Header */ /** ****************************************************************************** * @file : main.c * @brief : Main program body ****************************************************************************** * @attention * * Copyright (c) 2025 STMicroelectronics. * All rights reserved. * * This software is licensed under terms that can be found in the LICENSE file * in the root directory of this software component. * If no LICENSE file comes with this software, it is provided AS-IS. * ****************************************************************************** */ /* USER CODE END Header */ /* Includes ------------------------------------------------------------------*/ #
Error in final launch sequence:Failed to execute MI command:target remote localhost:61234Error message from debugger back end:localhost:61234: Connection timed out.Failed to execute MI command:target remote localhost:61234Error message from debugger back end:localhost:61234: Connection timed out.Why?
hi,I have set ICL configurations in the MC workbench, but the generated project doesn't include "inrush_current_limiter.h" , "inrush_current_limiter.c" and any related calls, just some ICL parameters macro. What is wrong?Environment:MC Workbench: 6.4.1CubeMX: 6.15.0CubeIDE: 1.19.0Firmware Package: 1.6.1
Goal Measure input signal frequency using Input Capture (IC). Generate a regular waveform using Output Compare (OC) Toggle. Problem 1 — IC prescaler appears to have no effect I expected the IC prescaler to capture every Nth edge (e.g., DIV2 → every 2nd event) so that the measured tick delta would scale accordingly. However, regardless of ICPrescaler (DIV1/DIV2/DIV4/DIV8), the capture deltas (and computed frequency) are unchanged. I found a similar discussion here (same symptom):https://community.st.com/t5/stm32-mcus-products/input-capture-prescaler-does-not-work-as-expected-no-matter-what/td-p/176454 My configuration (summary): Counter: up-counting, ARR = XXXX, PSC = XXXX IC: rising edge, ICSelection = DIRECTTI, ICFilter = 0, ICPolarity = RISING No slave mode (SMS = 000), no triggers, timer just free-running ICPrescaler = TIM_ICPSC_DIV1 (works), then changed to DIV2/DIV4/DIV8 (register shows the change), but captured values don’t reflect prescaling In debug I can s
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.