Join conversations with your peers and ST experts. Explore the full potential of STM32 microcontrollers for your embedded design.
Most recent activity
Hi, Currently I face problem that TouchGFX 4.26.0 use a lot of PC RAM up to 9GB RAM Project info: Resolution 480x800 Number of screen 26 Number of custom container 82 Support language: 5 Typographies: 25 With the same design for resolution 272x480 use up to 3GB RAM How can I reduce number of RAM usage? Thanks, Phat
There have been great improvements to TouchGFX Designer and the build process. It now cleanly allows integration into the STM32CubeIDE project structure. The problem is that even though you can provide a project name and the output will be placed in a folder with that name, the .IOC file always has the same name as every other project made with the same device. My workflow from the Designer, to CubeMX to CubeIDE is painless. Generate code, then allow CubeMX to open the project and it's imported into CubeIDE. The first project is great. If you go back to Designer and create a different project with the same device, the process breaks down. You'll have the same project as the last project as far as CubeIDE is concerned. Now if you create a new workspace for each project, you can get all of your projects imported albeit you have to switch workspaces. You can at least name them, so you know what project you're working on. No
Hello everyone, I’m working on a custom version of the FP-SNS-DATALOG2 firmware and attempting to integrate a new sensor, LSM6DSV320X, which is available on the STEVAL-SensorTile.Box Pro but not on the STEVAL-STWINBX1. To add support for this sensor, I performed the following changes: Added Drivers/BSP/Components/lsm6dsv320x/lsm6dsv320x_reg.c/.h Integrated corresponding PnPL + App Model .c/.h files Added that sensor task Modified: DatalogAppTask.c/.h App.c/.h sysdebug_conf.h SensorManager_conf.h HardwareDetect.c/.h Updated existing DTM(Device Template Model) from stdatalog-pysdk pnpl module(FP-SNS-DATALOG2-9.json) to include the new sensor Removed ism6hg256x from the build With these changes, I’m able to start logging using a custom device template, and the sensor appears to work initially. However, the system becomes unreliable after a reset. Main Issue The board operates correctly until it is reset. After reset, I encounter multiple faults, including: HardFaults Bus faults
I am using the STM32L433 MCU and both the HID and VCP interfaces are not working even though the DFU is.I am simply using the STM32CubeMX software to generate a standard default USB Setup but I keep getting the same Windows USB Error "USB Device Not Recognised" which is the "Device Descriptor request failed".My hardware is a custom design and believe that I have the correct differential impedance or the DFU would not have worked. VBUS is at 3.3V (<4V)D+/D- traces > 2 inches but differential impedance has been matched to 90 Ohms using Altium.I have a 12MHZ Crystal, the MCU can run Crystal-less.USB is 48MHz but runs from RC, also used PLLSA1 from HSE.STM32CubeIDE v2.1.1MX_USB_DEVICE_Init() called. If the DFU is working then why not the other USB Interfaces?
Hi Team,I am working with the STEVAL-SPIN3202 evaluation board and facing an issue while trying to flash firmware to the target MCU.Setup Details:Board: STEVAL-SPIN3202Programmer: Onboard ST-LINKTool: STM32CubeIDEIssue Description:ST-LINK is detected in STM32CubeProgrammer but not able to connect to the target MCU STM32F103CBT6Programming fails consistentlyPFA, Kindly suggest to resolve this issue.Thanks,HimansuSmall Signals India Pvt. Ltd
Hi,We are looking for a WiFi module or preferably a WiFi + BT module to be used in a battery-operated device where audio files are recorded onto a uSD card and whenever required they are downloaded through WiFi or BT link to a PC. For context, the audio files are 20MB in size.These are the main specs:- pre-certified module: WiFi or WiFi+BT- highly reliable for mass production- uSD card interface (specific for audio and files)- means to record and play back the audio files- low-power - compact & SMD- straightforward to integrate from a firmware perspective (library available) and well supported in terms of documentation and ecosystem.Could you please make recommendations:- for such suitable modules?- for alternative system architecture using ST products and ecosystem to implements such device?Thank youRicko
I am using STM32G0B1KCT6 MCU, i would like to use the full flash of 256KB starting from 0x8000000 to 0x803FFFF. but am unable to flash in bank 2 (ranging from 0x8020000 to 0x803FFFF).if i reduce the flash size to Bank1 only, then am able to flash and run the code.I am aware its default dual bank MCU. PFA code snippet for changing it to single bank.Also tried changing it single bank using the stcubeprogrammer but still fails to flash the MCU. void ConfigureFlashToSingleBank(void) { FLASH_OBProgramInitTypeDef OBInit; HAL_FLASHEx_OBGetConfig(&OBInit); /* Check if Dual Bank mode is enabled */ if (OBInit.USERConfig & FLASH_OPTR_DUAL_BANK) { HAL_FLASH_Unlock(); HAL_FLASH_OB_Unlock(); OBInit.OptionType = OPTIONBYTE_USER; /* Disable Dual Bank (enable linear 256KB flash) */ OBInit.USERConfig &= ~FLASH_OPTR_DUAL_BANK; if (HAL_FLASHEx_OBProgram(&OBInit) == HAL_OK) { HAL_FLASH_OB_Launch(); // triggers reset } HAL_FLASH_OB_Lock(); HAL_FLASH_Loc
HiI need help in erasing the device: STM32H735IGK3, This device is getting erased only till sector 0.There were total 8 sectors.I am following the steps given in Reference manual for erase operation but still it didn't work.Could you please suggest something to resolve this issue with Erase?Or please point out the reason which is throwing this issue.Thanks!Saista
Hi,I hope you are doing well. I am currently developing a project based on the STM32WBA55CGU6 MCU. The hardware design (PCB) and firmware have been developed and validated using this device, particularly relying on its BLE capabilities and STM32_WPAN stack. However, I am currently facing a supply issue, as the STM32WBA55CGU6 appears to be out of stock across major distributors and local suppliers in Türkiye (e.g., Digi-Key EKOM). I would like to kindly ask: 1- Is there an estimated timeline for restocking or production availability? 2- Are there any recommended drop-in or near drop-in alternatives within the STM32WBA series that can be used with minimal hardware and firmware modifications? Thank you very much for your support.
Hello, I am working with the STM32H745 using a Lauterbach TRACE32 debugger and i am evaluating ways to control Readout Protection (RDP). I am able to configure RDP levels using STM32CubeProgrammer, however I would like to achieve the same using a TRACE32 (.cmm) script, without relying on the ST programmer. Is there any recommended or reference TRACE32 PRACTICE (.cmm) script for setting and reverting RDP levels (Level‑0 to Level‑1) and (Level‑1 to Level‑0) on STM32H7 devices? I could not find any official examples demonstrating direct RDP control using .cmm script. Is it supported or recommended to control RDP level changes from firmware on STM32H745? While setting RDP from Level‑0 to Level‑1 is possible, reverting from Level‑1 to Level‑0 results in a mass erase. When reverting RDP from Level‑1 to Level‑0, is the mass erase automatically triggered by the hardware as part of the RDP regression, or is there an additional register or command that must be explicitly programmed t
Hi ST Community,,I’m working with the STM32N6570-DK board and trying to implement a USB Video Class (UVC) device.From my exploration in STM32CubeMX, I couldn’t find any native option to enable or generate a UVC class . Based on this, my understanding is:UVC is not directly supported in STM32CubeMXIt may require manual porting (e.g., from X-CUBE-WEBCAM or other examples)Could you please confirm:Is UVC officially supported on STM32N6570-DK?Is there any roadmap to include UVC support in STM32CubeMX?Are there any reference implementations (for STM32N6 or similar series) available?What is the recommended approach:Should we start from a CubeMX-generated USB project and manually integrate UVC class?Or is there a preferred middleware/package for this?Additionally, it would be very helpful if you could outline the high-level steps for implementing UVC on this platform .
Hi,how am I supposed so handle the reinsertion event while using the FileX with an SD card? All the examples I saw assume the SD card cannot be ejected while in use which is obviously unrealistic.I tried to do it according to the official docs and when the ejection is detected I call the fx_media_abort and fx_stm32_sd_deinit. But during the reinsertion when I call the fx_media_open again I get the FX_IO_ERROR. At this point the driver should be in an uninitialized state and the fx_media_open should call the fx_stm32_sd_init function.Can anyone relate to this problem? Here is the code example. The FX_STM32_SD_INIT macro is defined. if(card_insertion_flag.Get(0x03, EventGroup::Access::bit_or_clear, TX_WAIT_FOREVER,flag)) { if(flag & 0x01) { //Card inserted uint8_t cntr = 0; do { status = fx_media_open(&this->sdio_disk, (char* )"SD card", fx_stm32_sd_driver, 0, (VOID *) media_memory, this->media_memory_size); HAL_Delay(50); } while(cntr++ &
in HS, HAL_PCD_Init fails with timeout in USB_CoreReset Hello everyone,I am working with an STM32H7S78-DK and I’m trying to use USBX in standalone mode for a composite USB device (CDC ACM + PIMA) over USB_HS at 480 Mbit/s.At the moment, I have only implemented the CDC ACM class. PIMA will be added later.Situation:If I configure USB as Full Speed, the peripheral initializes correctly.If I switch to High Speed, initialization fails at:MX_USBX_Init() -> MX_USBX_Device_Init() -> MX_USB_OTG_HS_PCD_Init() -> HAL_PCD_Init(&hpcd_USB_OTG_HS)The error occurs at:if (USB_CoreInit(hpcd->Instance, hpcd->Init) != HAL_OK) { ... }Because inside USB_CoreInit, in USB_CoreReset, a HAL_TIMEOUT is returned while waiting for the CSRST bit in GRSTCTL to clear:Core Soft Reset (CSRST) is writtenThe bit never clears and eventually times outTechnical summary:FS works, HS does notThe timeout occurs right after PHY selection and USB core resetThe issue seems related to clock/PHY/HS con
I have looked https://community.st.com/t5/stm32-mcus/implementing-uart-receive-and-transmit-functions-on-an-stm32/ta-p/694926 and https://wiki.st.com/stm32mcu/wiki/Getting_started_with_UART#Configure_UART_Interrupt and tested sending tx data with a Salae Logic analyzer. And I am able to see the data sending. However, I cannot for the life of me get an rx interrupt to trigger. It seems like my code is correct, but something is off. /* USER CODE BEGIN Header */ /** ****************************************************************************** * @file : main.c * @brief : Main program body ****************************************************************************** * @attention * * Copyright (c) 2026 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. * ****
I am working on a new design using the using the STM32H753XIH6. The microcontroller has 1Mbyte of RAM onboard. The software requirement calls for 4Mbyte of RAM. I plan to add 4Mbyte of SRAM using the FMC parallel bus. How does the STM32H753 handle the transition from onboard RAM to off chip RAM data? Any tips or recommendations for implementing the design?I have also wondered how this same situation would be handled with the FLASH portion of the memory, but that might call for another thread to be started for that answer.Thank you
Greetingwhat want to achiveThe current state.What we have tried.Hey there Community,We are running a project were we need to interface with an AP memory on a custom made board. We intend on using the PSRAM for image capture for a 5mpx image dumped by the dcmipp peripheral. To test the PSRAM separately, we came up with a test to confirm that we get no errors while interacting with it.We are failing to communicate with the memory at frequencies higher than 100Mhz, and seeing a large number of errors at 100Mhz and zero errors at 50Mhz. This is a big hinderance because the memory should be able to be set all the way to 250Mhz and we do also see these errors appear in the images taken.We have attached the specifications we are working with as well as the configurations we are using.SpecificationsSTM32N657X0HxQAPS256XXN-OBx9XSPI interface (x16) (xspi1)Other SpecificationsMemory mapped modeSchematic similar to the STM32N6 DK.Below are the materials used to aid with the configuration
Hello fellow STM32 users.Only after making a prototype where I use PC13 for calibrating the RTC, I stumbled upon the PC13 issue. Or maybe I had seen it before, and forgotten about it.For those unfamiliar with this issue, using PC13 for anything I/O related may affect the RTC clock frequency, in case you use an external RTC crystal (LSE oscillator). This is copied from the STM32G4 errata sheet:But how bad can it be, really? After (re)discovering this, I decided to put it to the test. I made a firmware version where I could select which I/O port to use for calibration. I use the 1 Hz calibration output, and have a frequency counter measure the average pulse period over 32 consecutive pulses. The frequency counter uses an external GPSDO as frequency reference, so the result should be pretty accurate.Using PC13 for the 1 Hz calibration signal, I measured a 243.7 ppm deviation. Pretty big, actually, but still possible to compensate for in the RTC_CALR register.However, when I used PB2 for t
(firstly sorry for the repost, I accidentally made the original post in the wrong topic)If you, like me, have explored using STM32 with other systems languages or even custom HALs, you’ve probably had this thought at some point:“it would be really nice to somehow combine this with STM32CubeMX”At least that’s how it was for me :DI’ve been working with STM32 in bare-metal for a while now, building small custom abstractions, and this idea kept coming back: not necessarily using CubeMX directly, but trying to bring some of its ideas — especially around validation and configuration — into these more independent setups.For a few months this was just one of those ideas that comes and goes. Until around 5–6 months ago, when I finally decided to try doing something about it; Since then I’ve been experimenting with it little by little — still very much an ongoing work — but I think it has reached a point that’s interesting enough to share and get some feedback.The main goal is to bring some of t
Hi,I am trying to create a trustzone application for my board, but suddenly I could no longer flash to non-secure memory. Secure memory flashing still works fine. What am I doing incorrectly?Thank you in advance,Michalthe failing flash (fails even if I flash template trustzone project from CubeIDE)PS C:\Users\test> STM32_Programmer_CLI.exe -c port=SWD mode=HotPlug -d test16.bin 0x08020000 -v ------------------------------------------------------------------- STM32CubeProgrammer v2.22.0 ------------------------------------------------------------------- ST-LINK SN : " ST-LINK FW : V2J47S7 Board : -- Voltage : 3.28V SWD freq : 4000 KHz Connect mode: Hot Plug Reset mode : Software reset Device ID : 0x455 Revision ID : Rev Y Device name : STM32U535/STM32U545 NVM size : 256 KBytes Device type : MCU Device CPU : Cortex-M33 BL Version : -- Debug in Low Power mode enabled ------------------------------------------------------------------- Choose flashing speed for Cortex M33 series.(
Hello! I'm using two STM32F446RE (NUCELO-64) boards through CAN communication, we want to perform CAN operation with one slave as master.How do I know how to ensure that CUBEMX is communicating with each other? #CAN #Example #STM32CubeMX
TX works but RX interrupt not triggered Hello,I am currently using a custom board based on STM32H563ZIT6. My goal is to establish communication over RS485 between the STM32 and a PC (using Hterm). The system is designed to receive a command and send a response.Communication Details:Interface: RS485 (half-duplex)PC Tool: HtermConverter: USB COM 485 PLUS 4Packet size: Very small (typically 4 bytes)Transmission interval: ≥ 300 msCurrent Situation:Communication works perfectly between 115200 and 2,000,000 baudI am trying to increase the baud rate up to 12 MbaudProblem:At 12 Mbaud:STM32 → PC communication works correctly(I can see transmitted data on Hterm)PC → STM32 communication does NOT workSTM32 does not receive any dataRX interrupt is not triggered at allIt behaves as if no data is arrivingAdditional Notes:I have checked the termination resistor, and it seems correctThe data sent from PC is valid (verified from Hterm)UART baud rate is configured up to 12.5 Mbaud in CubeMXThe issue
Hello, I am using HAL2 and wrote the basic code below: while (1) { HAL_GPIO_TogglePin(LD1_PORT, LD1_PIN); HAL_Delay(1); } I looked at the pin with an oscilloscope and I see that the signal stays 2ms low and 2ms high. If I change the code to HAL_Delay(0) I get a signal that stays low 1ms and high 1ms. It's as if the delay is actually the HAL_Delay parameter plus 1ms. Any explanation?-Gil
Hello St community !for now i'm trying to build a project based on the nucelo-N675-Q board. I'm trying to interface an STEVAL-66GYMAI1 camera and plot 2 frames values into the terminal . I'm building my project based on this repo https://github.com/supungamlath/STM32N6_Survivor_Detection . I made sure to copy the middlewares for my specific sensor but i'm finding that the camera camera never streaming a real data based on the debugging and getting an callback error on line 1 I'm attaching my project zip file so can anyone help get through this problem !Thank you !
Hello, I used STM32CubeMX2 to configure a timer (timer 2, channel 4) for input capture. I'm starting the timer and then applying the signal on the timer input pin. Since I configured the TIM interrupt, the interrupt callbacks do occur. void HAL_TIM_InputCaptureCallback(hal_tim_handle_t *htim, hal_tim_channel_t channel) { if (htim == mx_tim2_gethandle() && channel == HAL_TIM_CHANNEL_4) { uint32_t value = HAL_TIM_IC_ReadChannelCapturedValue(htim, HAL_TIM_CHANNEL_4); #ifdef DEBUG SWD_printf("ICTIM: %d\n", value); #endif } } The problem that I am having is that HAL_TIM_IC_ReadChannelCapturedValue always returns 0. The number of callbacks is actually correct (it matches the number of positive and negative edges of the signal). The timer frequency is 10,000Hz (the period is 0.1ms) and the signal pulses are between 2ms and 9ms so the timer is not overflowing. I would expect timer readings to be between 20 and 90. I attached the timer configura
Hi, Does anyone have any experience or knowledge on how to successfully connect the TMC5160 Plus (BigTreeTech) stepper motor driver board and an STM32 ( I have the Nucelo F446RE)? I have tried SPI but can't get a clear signal back.
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.