Join conversations with your peers and ST experts. Explore the full potential of STM32 microcontrollers for your embedded design.
Most recent activity
Hello.I'm having trouble transfer the UserApp to SBSFU. Here's the description of the issue.I am working on SBSFU on STM32H753-Eval, So i altered the given sample for my UART to map to ST-LINK VCP. I am able to see logs post this changes. Later I Dissabled all security stuffs with below macro and fully erase the board (by setting RDP level 1->0 ).I'm using the 2-Image example code, All security feature were disabled by#define SECBOOT_DISABLE_SECURITY_IPS in app_sfu.h. I loaded SBSFU.elf onto the board and transferred the UserApp.sfb via YMODEM. However the program went into a infinite reset loop. It is rebooting every time i send UserApp.sfb. I tried Increasing the Download Timeout from 3000 to 10000 from this macro, same issue /* Teraterm YMODEM */ /* #define SFU_COM_YMODEM_DOWNLOAD_TIMEOUT ((uint32_t)3000U) */ #define SFU_COM_YMODEM_DOWNLOAD_TIMEOUT ((uint32_t)10000U) /* IIs there any specific step i need to follow ?... kindly guide me here.&nb
Hi,I'm trying to control a BLDC motor connected to B-G431-ESC1 driver in Open Loop Voltage mode. With Motor Pilot control there's no problems. I'm not able to find the correct HAL commands to use for:A) Set Open Loop Voltage mode ( B) Set the reference voltageC) Set the speed in RPMStart, Stop, Ack Fault commands are ok. AI gave me a lot of indications but nothing seems work ok. Many thanks who will help me.Bye Rossano
Hi everyone,I am developing a project on the STM32N657X0H3Q where I need to implement a Dual CDC ACM composite device.I am following the "Standalone" implementation to avoid a full ThreadX dependency, as I plan to integrate this with a FreeRTOS project (using X-CUBE-FREERTOS).While looking at the USBX configuration in CubeMX and the ST Wiki (Introduction to USBX), I noticed the option USBD_COMPOSITE_USE_IAD ( As seen in the picture).If I enable USBD_COMPOSITE_USE_IAD , can I simply increase the number of CDC ACM class instances in CubeMX to 2?Does CubeMX automatically handle the IAD grouping for the second CDC instance, or do I need to manually adjust the interface descriptors in the generated ux_device_descriptors.c ?Can you provide an approach to configure this using MX? Which are all the files that should be edited to configure this.
Hello,I came across the following problem: whenever firmware writes some data to flash memory, the NRST pin doesn't work. I mean, when low level is asserted on NRST pin the device starts to run software not at 0x0800... address but at 0x1FFF.... The same happens in the debugger: when I press "Reset the chip..." button. I get the message: "Break at address "0x1fff5236" with no debug information available, or outside of program code."The data is written to flash memory page which is not used by the running program code. Data is correctly written and no error is shown in the FLASH->SR register. I didn't change any option bytes. The device runs at 80 MHz, BOOT0 pin is grounded. What am I doing wrong ?
Hi Community,I am working on STM32H747I-DISCO Board and trying to bringup digital MEMS Mic (MP34DT05) which is integrated on STM32H7-DISCO Board.I am trying to record random voice for 5 seconds and need to play back via audio jack out which is connected to codec also it is integrated on the board. I am sharing you schematic of the board as below:MP34DT05 is connected to MCU directly with SAI4 Interface and Solder Brifdges are provided to connect via codec Here I developed the application code to interface and record via MIC and playback via Audio Jack out./* Includes ------------------------------------------------------------------*/ #include "main.h" /* Private includes ----------------------------------------------------------*/ /* USER CODE BEGIN Includes */ #include "stm32h747i_discovery_audio.h" #include <math.h> #include"log.h" #include<string.h> #include "pdm_config.h" #include "pdm2pcm_glo.h" #include <stdio.h> /* USER CODE END Includes */ /* Private t
I want to measure the MCU temperature using the internal temperature sensor of the STM32U356VGT.Could you provide details on the accuracy of the temperature readings? Additionally, I would like to understand whether the sensor requires user calibration for reliable results, or if it is factory-calibrated and ready to use as-is.
Hi Team,Is there any framework or lib support available from ST for automation testing of TouchGFX based UI either on simulator or on actual device?If anyone has any idea or workaround, then please share!Thanks
Left commented out SFU_NO_SWAP and defined ENABLE_IMAGE_STATE_HANDLING in app_sfu.h, but when trying to build SECoreBin and SBSFU errors appear:/Middlewares/ST/STM32_Secure_Engine/Core/se_fwimg.h:47:61: error: unknown type name 'SE_FwStateTypeDef'Is there something I am missing? I selected AES-GCM crypto schemeI have followed https://www.st.com/resource/en/application_note/an5056-integration-guide-for-the-xcubesbsfu-stm32cube-expansion-package-stmicroelectronics.pdf (Chapter 8.5)
Hi, I try to get the USB-Host running with USBX. Hardware is a custom board with TCPP02 and STM32U575. Init process is running, but I never get an interrupt (ux_host_event_callback) when plugging in a USB stick. Any idea? ioc file and schematic are attached. Best regards, Achim
The MCU I use is H533, but I guess the SPI peripheral in other MCUs would be similar.I'm looking for the recommended way to regularly transmit over SPI "small" data frames (in the sense that one frame fits into the FIFO) that can vary in size. For example, in response to different events I would be updating values of different DACs or shift registers and they all have their own data frame format and size, usually between 16 and 32 bits.SPI peripheral has TSIZE and DSIZE settings seemingly exactly for that, but they require disabling the SPI peripheral to be changed (for TSIZE it's documented, for DSIZE, it seems not), and it adds latency to transfers.So far it seems the optimal approach in my case is to as follows. Please bear with me for a moment and let me know if I'm missing something.1. Keep DSIZE at 8 bits.2. Keep the SPI enabled and set CSTART once at the beginning.LL_SPI_Enable(SPIx); LL_SPI_StartMasterTransfer(SPIx);3. When transferring, manually fill the FIFO with the data fra
Hello all,I’m working with an STM32 microcontroller (specifically the STM32H743), and I have a question regarding the use of an external TCXO as the HSE clock source.As per the datasheet, when using an external clock source (such as a TCXO), the HSE must be configured in bypass mode, and the input clock is expected to meet the digital I/O thresholds (e.g., 0.7 × VDD for logic high). However, many high-quality TCXOs have typical output swings of only 0.8–1 Vp-p (clipped sine wave), which do not meet CMOS thresholds when VDD is 3.3 V.Therefore, directly driving OSC_IN with such a TCXO in bypass mode is not viable per the datasheet.That said, I made an observation I’d like to confirm with you:While using a crystal in crystal resonator mode (not bypass), I probed the OSC_IN pin using a low-capacitance active probe and measured a signal of approximately 1 Vp-p. Since this amplitude is generated internally by the oscillator circuit when using a crystal, it seems the STM32’s HSE input is desi
The STM32L476 does not have an nBOOT0 option bit in its option bytes. Is there a way to boot from the main flash memory without using the BOOT0 pin?
I'm developing using the STM32WBA65I-DK1. I'd like to know how to implement interrupt handling for button presses. It appears that stm32wba65i_discovery.h does not contain any APIs related to button presses (which is perhaps to be expected since the DK does not have push buttons). The sample code I'm using is BLE_HeartRate_Thread. If you have any source code that might be helpful, please let me know.
Hello everyone,I'm working with the STM32L562E-DK board and the STM32Cube_FW_L5_V1.5.0 firmware. I want to integrate my own code (which reads a sensor MPU6050 via I2C) into the STM32CubeL5 TFM (Trusted Firmware-M) application, running it in the Non Secure environment. The base project I'm using is TFM_Appli, which comes in the package, and I've added my source code to the NonSecure section.I created a separate project in STM32CubeMX using the board's I2C1, which utilizes pins PB6 (SCL) and PB7 (SDA). I then generated the code and copied the I2C communication initialization code into the "main.c" file of my "TFM_Appli_NonSecure" project. Specifically:/* This is before "int main (void)"-----------------------*/ I2C_HandleTypeDef hi2c1;/*------------- I'm calling these function from "int main(void)" ------------*/ static void MX_GPIO_Init(void) { /* USER CODE BEGIN MX_GPIO_Init_1 */ /* USER CODE END MX_GPIO_Init_1 */ /* GPIO Ports Clock Enable */ __HAL_RCC_GPIOB_CLK_ENABLE(); __H
Hi everyone,I'm facing a really frustrating issue where my STM32CubeIDE can no longer detect my ST-LINK, and I've narrowed the problem down specifically to stlinkserver.exe failing to launch. This problem appeared completely randomly on my PC.Here are the symptoms and what I have already ruled out:The Problem: When I try to manually execute stlinkserver.exe via PowerShell to see what's wrong, it exits instantly without printing any output, errors, or logs. Even forcing the help menu or debug mode does absolutely nothing:PowerShell PS C:\Program Files (x86)\STMicroelectronics\stlink_server> .\stlinkserver.exe PS C:\Program Files (x86)\STMicroelectronics\stlink_server> .\stlinkserver.exe -d 5 PS C:\Program Files (x86)\STMicroelectronics\stlink_server> .\stlinkserver.exe -h Running Get-Process stlinkserver confirms the process is not running in the background at all. It just dies immediately upon execution.What DOES work (Hardware & Drivers are fine):STM32CubeProgrammer
Hello everyone i am currently working on a project with a NUCLEO-C092RC Board. With this Board i want to send OBD-II Frames to my car and receive reponses with data. I also use a LCD Display via SPI. But now i have a problem. i connected CANH/L with the Board. I also connected 12V and GND from the OBD-II-Port to a buck converter, which steps the voltage down to 7 V for VIN on the Board, which should be within spec. Then i tried to send a frame, but i did not get a response, when the Board was only powered by 12V via buck converter. After that i think i broke my MCU, because then i connected my PC with the Board and switched the power source back from VIN to ST-Link with a jumper. I was able to debug my programm. but when i also disconnected CANL and CANH from the Board or switching the jumper from VIN to ST-Link (i am nor sure anymore), the red LED from STMPS2141STR came on. It only turns off, if i disconnect VDD from 3V3 Volt with pulling JP5. I also measured from what i think
Hello. I've a problem regarding LSE On stm32l562xx mcu. Sometimes it boots, sometimes it doesn't "90 % of time it generates timeout Error" . and it takes too much time to boot up to 4 seconds. I've tried all your sdk initializations, also tried setting lse drive to all 4 modes but nothing changes. Same behaviour and same time. Below is my initialization code and attached how we connect LSE on our board. Regards RCC_OscInitTypeDef RCC_OscInitStruct = {0}; RCC_ClkInitTypeDef RCC_ClkInitStruct = {0}; /** Configure the main internal regulator output voltage */ if (HAL_PWREx_ControlVoltageScaling(PWR_REGULATOR_VOLTAGE_SCALE0) != HAL_OK) { /*Error*/ } /** Configure LSE Drive Capability */ HAL_PWR_EnableBkUpAccess(); __HAL_RCC_LSEDRIVE_CONFIG(RCC_LSEDRIVE_HIGH); /** Initializes the RCC Oscillators according to the specified parameters * in the RCC_OscInitTypeDef structure. */ RCC_OscIn
Hello,My goal is to wakeup the end node to send a single frame then go to shutdown mode, but I'm having some hard time putting the device in shutdown modeI am calling HAL_PWREx_EnterSHUTDOWNMode(); in LoRaWAN_Process() function, after checking on a successful TxDone state.
Hello, I want to use an I2C port of a STM32F411 MCU (MCU_A) in target mode to receive data from another MCU (MCU_B), MCU_B code already existing and verified with other receivers.I configured the project with STM32CubeMX, with interrupts enabled to handle communication in interrupt mode.I used MX standard settings to generate CubeIDE project with HAL code.With some effort for setting up the initialization and other code for MCU_A in CubeIDE, communication looks ok from sending MCU_B perspective.Additional check of SDA and SCL signals with DSO looks ok to. But the problem was: No data was transfered to the receive data buffer in MCU_A. After several hours of debugging, I found a suspicious code section in the HAL code (stm32f4xx_hal_i2c.c).In the HAL function static void I2C_Slave_ADDR(I2C_HandleTypeDef *hi2c, uint32_t IT2Flags)which is called in HAL_I2C_EV_IRQHandler ()when adress matches, the direction flag received from MCU_B
Hello Community,I'm trying to interface STM32 P-NUCLEO-WB55 with ADS1293 via SPI communication protocol, But there is a issue I'm unable to read data, to verify the SPI I tried to print "Reg10 = %d\r\n" but it is returning zero as value. I'm attaching the connections diagram and ioc diagram and code file, Can anyone please help me with where I'm getting wrong..Thank you
I am trying to troubleshoot and reverse engineer a project no longer in production and for which the developer is no longer reachable. The project is based on the ST MB997C and uses an attached daughter board that serves as an R232 communications interface to external I/O (whatever other functions it may perform are unclear). Are there PCB suppliers that manufacture MB997C compatible PCBs to provided specifications? The subject PCB in this project is silkscreened with the project name "ProBox V1R1", so it is not a generic OTS part. Also, are there resources out there that can reverse engineer the functions of this PCB? Any guidance would be greatly appreciated.
Hello, I am searching for a example project to integrate a camera (e.g OV-Series) via DCMI interface. Can someone recommend an ST-Project or else? Thanks in advance!
Hey. I currenlty have a wba55 baord and use it as a ble p2p server. The main idea is to put put the board to stop0/1 mode when disconnected so that it consumes some μ amps and turn it back on when receiving a specific interrupt (eg button, timer etc).I tried a minimal bare-metal example, where i turned on every peripheral (uart, i2c etc) i would use on my actual project to monitor power consumption and before sleep mode i de-inited each and every one of them and all interrupt sources other than the specific EXTI line. The thing is that the device seemed like unable to even enter stop mode. I turned off the rf module through mx and it worked perfectly. So from what i understood, the rf module and be in general produces a ton of interrupts which doesn't let the device to stay in stop mode. Is there any way to disable the rf module/ ble during runtime and re enable it once the device wakes up from the intended interrupt source ?
I'm running into an issue where my STM32G4 gets stuck in an infinite while loop inside R3_2_SwitchOffPWM() during the motor control initialisation sequence, and I wanted to share it here in case others have encountered the same thing.---Hardware & Software- Board: EVSPIN32G4- Code generation tool: ST Motor Control Workbench v6.4.2- No manual edits made to any generated files---What happensDuring startup, MX_MotorControl_Init() is called from main(), which triggers MCboot() → FOC_Clear() → PWMC_SwitchOffPWM() → R3_2_SwitchOffPWM(). Inside that function, execution enters this loop and never exits:/* wait for a new PWM period to flush last HF task */LL_TIM_ClearFlag_UPDATE(TIMx);while (LL_TIM_IsActiveFlag_UPDATE(TIMx) == 0u){}LL_TIM_ClearFlag_UPDATE(TIMx);(Project Files attached)
Hello, Started to dwell info embedded development and got my hands on a NUCLEO-H7S3L8 development board. Firstly wanted to analyze the example code that comes with the development board and modify it a bit. But when started to debug, it seems to stop at I and D cache enable functions, and example LED blinking disappeared. Has anyone encountered something similar and could help to fix this problem? Only change I made to the example code is set-up a PC8 as a PWM to drive a LED switch. Additionally, tried a mass erase and re-flashing, but still nothing, the problems remains the same as I mentioned.
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.