Join conversations with your peers and ST experts. Explore the full potential of STM32 microcontrollers for your embedded design.
Most recent activity
Dear ST Support Team,I am currently working on a USB Host Mass Storage Class (MSC) implementation using the STM32H750VBT6 microcontroller.:white_heavy_check_mark: The configuration is done using STM32CubeMX (version: [ V6.14.1]):white_heavy_check_mark: Firmware package used: STM32Cube FW_H7 V1.12.1:white_heavy_check_mark: USB_OTG_FS is configured in Host Only mode, and FATFS is integrated via USB Host interface.:white_heavy_check_mark: USB 2.0 flash drives are detected and work as expected.:cross_mark: However, when I connect USB 3.0 / 3.1 / 3.2 flash drives (FAT32 formatted), the drives are **not detected**, and `Appli_state` remains `APPLICATION_IDLE`.---:magnifying_glass_tilted_left: I would like clarification on:1. Whether the STM32H750VBT6 supports USB 3.x devices (backward compatibility) in USB Host mode?2. If not supported, is there any workaround to support USB 3.0+ flash drives with this MCU?3. Is there any documented limitation or Error regarding USB 3.x detection failure?4.
I was comparing the STM32 Debug Support documentation (Chapter 26 in RM0360) with official ARM documentation and noticed something that I cannot explain. The documentation for the SW-AP registers appears to be wrong. It is simply a rewording of the documentation of the SW-DP registers. The IHI0031 document from ARM shows the correct definitions of the SW-AP registers. It however leaves certain fields as implementation defined and I believe this information should be in RM0360. I have checked and the same appears in the RMs for the G030 and the C030. I am interested in knowing, for example, the details of the PROT bit field (Bits 30..24) in the CSW register which should be at address 0x00 in the AP.
Hello Community!I have an issue with reading / writing the RTC in an H723 MCU.The issue is:I can set the Clock to a date, but when I read out the RTC, then the year is 10 years in the future.e.g. I set the time to now (2025 / 06 / 22 19:mm:ss) and I read out the RTC after that, i get the corret day of month, month, hour, minute and second but the yearis 2035 (or better: 35 instead of 25, because the year in the Date Typedef is an u8 integer). This is my code: RTC_DateTypeDef d; RTC_TimeTypeDef t; d.Year = (uint8_t)(hDateTime->dt.year - 2000); d.Month = hDateTime->dt.month; d.Date = hDateTime->dt.day; t.Hours = hDateTime->tm.hour; t.Minutes = hDateTime->tm.min; t.Seconds = hDateTime->tm.sec; if(hDateTime->tm.dst) { t.DayLightSaving = RTC_DAYLIGHTSAVING_ADD1H; } else { t.DayLightSaving = RTC_DAYLIGHTSAVING_NONE; } uint8_t retval = 0; if(HAL_OK != (HAL_RTC_SetTime(&hrtc, &t, RTC_FORMAT_BIN))) retval |= 2; if(HAL_OK != (HAL_RTC_SetDate(
How can you help me customize, my motor pilot to a customized application, and how can I read data from the controller sperately so that I can view it on the remote cloud. And could you please make for us An Stm GSM MODULE FOR US FOR IOT WITH THE GPS EMBEDDED IN IT Small IN SIZE BUT STRONG.
HiIm a bit new and have som RF related question.I am doing a heart monitoring project where i want to measure ECG signals, put it through my AFE (analog frontend), then into the ADC inside the MCU and then output the data through BLE into a phone. I am using STM32WB55CEU6. My question is: Is it very important to get the two matching networks correct (one for the RF pin and one for the antenna)?Can i just copy the matching networks from the reference example in the application notes of the MCU and the antenna even though im using different PCB-stackups?I don't know enough about RF to design my own matching network. Keep in mind i just want to make the BLE work, im not trying to have optimal performance. Thanks in advance.
I have an existing project on an STM32F746g_disco board. The project uses lvgl under zephyr rtos. When I build and flash the zephyr/subsys/fs/fs_sample for this board, The terminal does read the sd card and return a listing of the root contents.I tried to apply the devicetree overlay, kconfig, and code to my lvgl based project, but it now shows an error of the mount point is unknown.I did more digging and with the help of claude came up with these changes. Error: 1. At one point I could get it to compile but the error reported was that the mount point didn't exist. 2. With this code I have a " undefined reference to `__device_dts_ord_208'" error, which seems to be associated wih the ".rodata.sdmmc_config_" file. Questions: Is this the correct approach to adding an sdcard to an lvgl project in zephyr?
Hi everyone, Is that not connecting BOOT0 to GND a problem? I forgot to connect it. İs it fine to be floating? Thank you in advance.
Hi allI'm struggling for a while getting a µSD Card to run via SDMMC on FileX. I'm using a Nucleo U575 Board with an external SDMMC/SDIO-breakout board. I tried to follow the "Fx_uSD_File_Edit" example for the U575I-EV board.Long story short, I set up a FileX application thread on ThreadX and I'm trying to just open the media.In main.c there's the automatically generated MX_SDMMC1_SD_Init() initializing the the SDMMC1 interface just after GPIOs and ICACHE were initialized. In main.c everything runs through without any error.However, when entering the FileX application, the very first function getting called is MX_SDMMC1_SD_Init() again - as I configured FileX to initialize the SD IP (just as seen in the Fx_uSD_File_Edit-example). This time it ends in a HardFault in the Init. The one thing that I really don't understand is that it happens just on the call of sdmmc_clk = HAL_RCCEx_GetPeriphCLKFreq(RCC_PERIPHCLK_SDMMC);in stm32u5xx_hal_sd.cI enabled a breakpoint on the very first li
Hi.I'm working with the EVAL STM32WB5MM-DK for a while now, already programmed the stack and the FUS many times, and it's the first time I got this error.After successfully open STM32CubeProgrammer (v2.19) and connected to the programmer, Selecting the latest FAS file (1.22.1)And pressing "Firmware Upgrade", the upgrade fails and stop on warning "FAS_STATE_IMG_NOT_FOUND".Same for my 2 laptops, 2 Evals, and 1 board connected to the ST-LINK programmer.Happen also for stack programming, and after full chip erase.Please advice. Pressing Read FUS Info show information even after full chip erase.
Hello everyone,I have been working with the STM32L431RCTx on a project where I need to log audio data to an SD card. I have attempted to do multiple things unsuccessfully and would really appreciate your help to see where I am going wrong. I am new to working with SD cards, so I recognise that I may have missed something in my research. For all of the below, I have tested with SDHC and SDXC cards with the same results.First; I have tried to setup the SDMMC interface with at least 20MHz clock speed (clock divide factor 0)The behaviour is very intermittent. It sometimes mounts, opens, writes, closes, then unmounts, but other times will not open or write without an FR_DISK_ERR. My error handling attempts to correct any errors, but I believe there is no fix for a FR_DISK_ERR right? After a while a Hard Fault occurs.I tried again with 40MHz clock speed and clock divide factor of 4. With these settings it goes for longer without errors, however now and then there are still errors that
I am using NUCLEO-H7A3ZI-Q (32 bits) . While Debugging the LED4 starts blinking solid red and never exits debugging,it shows a breaking point at MCU config();.I was running a program to obtain a sawtooth wave through the DAC pin PA5./* 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 ------------------------------------------------------------------*/ #include "main.h" /* Private includes --
Hello, I'm attempting to work with the AD5592 ADC/DAC in SPI mode and am unable to confirm communication. I'm attempting to read and write to single registers to determine whether communication takes place since I don't have an oscilloscope or logic analyzer at the moment. Whenever I try to read any register, even if I try to write to a register first, I receive this same result. I tested the AD5592 with an Arduino Uno in DAC mode and was able to successfully generate outputs on the channels so I'm sure there isn't an issue with the board. However, when I test the AD5592 with both a nucleo and a custom board it doesn't work. I saw a similar post here and tried to use the same settings but to no avail: SPI debug for mode 1 on STM32G4 using HAL APIs - STMicroelectronics CommunityThe most updated code shown here was an attempt to convert the C++ code on the Arduino to use the STM32 HAL, and in this example, I'm trying to change bit 6 of register 0x03 from 0 to 1 and read th
There are already a few threads discussing this topic, but none of them have an answer.How can one force the STM32WB35 to send an event upon receiving a scan request? The documentation (rather vaguely) states that this can be achieved by setting the appropriate mask (0x1u) when calling the aci_hal_set_event_mask function (as far as I remember, there is no mention anywhere that this function is available only in BLE_Stack_full_extended_fw.bin).Even though the function executes successfully (returns 0), during scanning (with NRFConnect) I do not receive any information from the stack indicating that someone has read the data from the scan response.In SVCCTL_App_Notification, I am handling HCI_VENDOR_SPECIFIC_DEBUG_EVT_CODE, and within that, I handle ACI_HAL_SCAN_REQ_REPORT_VSEVT_CODE. Best,msemegen
Hi. I am using STM32H735VG for SPI communication with external ADCs.But I want to add external ADCs and I already used all 5 SPIs.So I will use OCTOSPI, can OCTOSPI play the same role as classic SPI?In menual, OCTOSPI in indirect operating mode works like a classical SPI interface.If they play the same role, how I set the pin?(I will use only one OCTOSPI.) Thank you.
I am working on the communication between ADS199FE-PDK and the STM32F407-DISCO board. I created SPI code using the HAL library. MOSI line seems to be working, but MISO line returns 0xFF all the time. I cannot even read the registers. I am sharing my created code below. Also, I am sharing the logic analyser result of the SPI line. Thanks for your help./* 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 */
Hi,I want to know pinout to read flash from CHIP stm32F103zet6 using ST-LINK.Can someone provide it, im new on STM32 chip. Thanks.
Hello. I'm using a custom board with STM32F105RBT6. I used the MX_USB_HOST_Init() funtion to configure the host usb in mode usb_otg_fs. The problem is that some USB keys don't work (the USBH_Process() function can't go further the HOST_ENUMERATION state).Checking all the value returned by the involved functions I see this:USBH_HandleEnum() returns USBH_BUSY (in the ENUM_IDLE state);USBH_Get_DevDesc() returns USBH_BUSY;USBH_GetDescriptor() returns USBH_BUSY;USBH_CtlReq(phost, buff, length) returns USBH_BUSY;Inside the USBH_CtlReq() function, after the CMD_SEND, the functions goes to the CMD_WAIT state and the USBH_HandleControl() function returns USBH_BUSY.The USBH_HandleControl() is in the state CTRL_SETUP_WAIT, where the USBH_LL_GetURBState() function returns sometimes USBH_URB_IDLE or USBH_URB_NOTREADY or USBH_URB_ERROR.What could be the reason?
Hi, I’m trying to configure UART4 on the STM32H753ZIT to work with a USB-TTL converter for data transmission and reception. I can see that the STM32 is sending data, but the TTL converter isn't receiving it. I've attached the code file and the output file.
No Data Received on MCU.We have connected MAX3232 RS-232 IC on UART2 (PA2 - Tx & PA3 - Rx) of STM32F0303RCT6.When UART2 is Configured in Loopback, we are receiving the data that is being transmitted by MCU - on both MCU Loopback & MAX3232 Loopback.But when we are using CP2102 USB to TTL with MCU or USB to Rs-232 Convertor with MAX3232 IC Interface, we are not receiving any data on the MCU. We have check USB to TTL (CP2102) with UART4, we are receiving the Data.We have checked waveform on Oscilloscope, when using USB-TTL or USB-RS-232 data on Rx is observed on every 2-3 send from Laptop, but no data is received on MCU. Find the Schematic & Layout in Attachment
Hi,I've installed TouchGFX following the instruction at https://support.touchgfx.com/docs/introduction/installation on a completely new installation of windows 10. When I try to create a project, TouchGFX crashes at 88% and simply closes. When I checked the TouchGFXDesigner.log file the error is System.IO.FileLoadException: Failed to load native freetype library!Any idea how I can fix this?Please see attached log file.Thank for your help. Looking forward to get the designer working.Richard
I am working on a project using the STM32F207ZG (NUCLEO-F207ZG) microcontroller with FreeRTOS, LwIP (Ethernet), and wolfSSL to communicate securely with cloud servers over HTTPS. I am able to successfully perform a TLS handshake and communicate with an AWS server by loading the Amazon Root CA 1 certificate—everything works as expected in this case. However, when I attempt to connect to a Firebase server using the corresponding root certificate, the TLS handshake fails with error code -188, which corresponds to ASN_NO_SIGNER_E. I verified that the Firebase root certificate is valid by testing it with the wolfSSL example code on a PC, where it worked correctly, indicating the certificate itself is not the issue. I also encountered the same -188 error when trying to connect to an Azure server, again using the appropriate root certificate. This suggests the problem is specific to the STM32 + wolfSSL embedded environment. Since AWS, Firebase, and Azure all use similar TLS configurations and
Hi,I have created an lwIP + FreeRTOS application using CubeIDE for my Nucleo 439 Board. The problem here is that the the init sequence generated by CubeIDE LWIP/App/lwip.c functionMX_LWIP_Init()it calls the following function without checking for the actual status of PHY (even when it is possible)/* We must always bring the network interface up connection or not... */ netif_set_up(&gnetif);So, even if I don't plug in my LAN cable to the RJ45 of Nucleo board, my network is marked as "UP", while actually its is "DOWN"I don't understand the need for this. I have seen the the EthLink thread is already testing the status of the actual phy and calling the same function for us. So what is the need to call it in init sequence?Ethernet Link State (Physical Ethernet Cable connection)This thread manages the Link state of netif. The thread's task function is defined in the file LWIP/Target/ethernetif.cIt runs in an infinite loop. With 100ms delay between loops.In each iteratio
Hey there,i have a custom board designed which is broadcasting stuff over BLE.So far i am using the full_stack_fw which works quite well.In order to turn on extended advertising i wanted to switch over to the full_extended_stack (needed for extended advertisement).So i flashed the chip with the extended firmware.After that i created a brand new project in CubeIDE and configured all the things.Now i try to flash the application but it wont boot up :\It gets somewhat of a HardFault after turning on BLE WAPN.If i disable BLE again, it works.. So i am able to toggle an LED for example. No problem. This only occours as soon as BLE is activated.Do you know what this is about?Attached the IOC file aswell
HICan you tell me how to configure filter to accept only ID 202 to 205 .CAN_FilterTypeDef sFilterConfig; /* USER CODE BEGIN CAN1_Init 2 */ sFilterConfig.FilterBank = 0; sFilterConfig.FilterMode = CAN_FILTERMODE_IDMASK; sFilterConfig.FilterScale = CAN_FILTERSCALE_32BIT; sFilterConfig.FilterIdHigh = 0x0000; sFilterConfig.FilterIdLow = 0x0000; sFilterConfig.FilterMaskIdHigh =0x0000; sFilterConfig.FilterMaskIdLow = 0x0000; sFilterConfig.FilterFIFOAssignment = CAN_RX_FIFO0; sFilterConfig.FilterActivation = ENABLE; sFilterConfig.SlaveStartFilterBank = 14; if (HAL_CAN_ConfigFilter(&hcan1, &sFilterConfig) != HAL_OK) { Error_Handler(); }note:What value should come ?all I have configure as standard ID onlyEdited to apply source code formatting - please see How to insert source code for future reference.
For the Nucleo-575ZI-Q, while in stop mode 2, I have the capture module enabled, I set CH1 IO Usage as input.A square wave generator connected to PC1->LPTIM_CH1.While the Micro is in stop mode 2 an indeterminate number of pulses trigger successive captures.If the pulses on PC1 were odd CCR1 has the correct data.If the pulses on PC1 were even CCR1 value doesn't updated at all.Please note that all pulses arrive while STM32U575 is on stop mode. I made a very short project isolating the problem, the RTC is used to exit stop mode 2 every second, when waking up only CRR1 is read and returns to stop mode 2. void FM_MAIN_Main() { uint16_t capture = 0; HAL_LPTIM_IC_Start(&hlptim1, LPTIM_CHANNEL_1); __HAL_RCC_LPTIM1_CLKAM_ENABLE(); for (;;) { HAL_GPIO_WritePin(LED_GPIO_Port, LED_Pin, GPIO_PIN_SET); capture = LPTIM1->CCR1; FM_DEBUG_UartUint16(capture); HAL_GPIO_WritePin(LED_GPIO_Port, LED_Pin, GPIO_PIN_RESET); HAL_SuspendTick(); HAL_PWREx_
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.