Get ready for the STM32 Summit 2026 | Online, November 3
Join discussions in the Product Forums. Ask questions, learn from your peers, and share insights on ST solutions to accelerate your design journey.
Most recent activity
Hello,TouchGFX seems to have some sort of a “bug”, where in PORTRAIT orientation the text will glitch with some weird white lines, unless there is an image in the item-tree situated ABOVE text items. It doesn’t have to be any image in particular, but MUST be an image.If there isn't any image added, then every text element is glitched the moment I rotate to PORTRAIT:touchgfx::HAL::getInstance()->setDisplayOrientation(isPortrait ? touchgfx::ORIENTATION_PORTRAIT : touchgfx::ORIENTATION_LANDSCAPE);The glitched text looks as such (see the white weird lines corrupting the text):This is my item tree in TouchGFX Designer (I also tried removing the background but the white lines remained):Then, if I add any kind of image, any text area under that image in the designer stack-up, it will be displayed without glitches and any text area placed above will glitch as such (Note, the XY location in the screen does not affect this, only the stack-up arrangement!):This is the stack-up to produce such
I am using a custom PCB design with a 480x800 pixel RGB input LCD display. I am driving the display via the LTDC peripheral. When I change the default colors, the color on the screen changes accordingly, which indicates that there is no apparent hardware issue with driving the LCD.However, when I try to display a simple text on the screen using TouchGFX, the system enters the DMA2D_XferErrorCallback function due to a DMA2D error. Because of this, the text cannot be rendered on the display.Could you please explain the possible reasons for this DMA2D transfer error and what might be causing it? best regardsCelil Bayrakdar
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
Hello ST Community,I'm trying to connect via UART instead of ST_LINK to the NUCLEO-H755ZI-Q, but it just won't connect.First, I connect the 3.3V pin to BOOT0, and it activates in bootloader mode. Then, I click "Connect" in the STM32CubeProgrammer environment, and I get this error:The UART's RX and TX (it's a USB SERIAL CH340) are connected to the Arduino pin PD5 and PD6 (USART2) of the NUCLEO-H755ZI-Q. Pin GND are also connected correctly. The settings on the STM32CubeProgrammer are as shown in the photo:Why isn't it connecting, or is there something wrong?thanks for supports
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?
Hello,I'm stalling with an issue with Optee on a custom board with 256 MB of ram and an STM32MP135D.The environment was working with the DK (MP135F and 512M ram).I followed the guide for the configuration with 256 MB of ram (https://wiki.st.com/stm32mpu/wiki/How_to_configure_a_256MB_DDR_mapping_from_STM32_MPU_Distribution_Package), however it panics as soon as optee starts.Am I missing something or do you have some hints?Thank you NOTICE: CPU: STM32MP135D Rev.Y NOTICE: Model: STMicroelectronics custom STM32CubeMX board - openstlinux-6.6-yocto-scarthgap-mpu-v24.11.06 ERROR: nvmem node board_id not found INFO: PMIC version = 0x21 WARNING: VDD unknown WARNING: stm32_rng_init: No RNG found in device tree. NOTICE: Reset reason (0x35): INFO: Power-on Reset (rst_por) INFO: FCONF: Reading TB_FW firmware configuration file from: 0x2ffe0000 INFO: FCONF: Reading firmware configuration information for: stm32mp_fuse INFO: FCONF: Reading firmware configuration information for: stm32mp_io INFO:
Hi everyone,I’m currently working on a camera preview pipeline on the STM32MP257F-DK using the Sony IMX335 (MIPI CSI-2) sensor.One important point is that STM32MP2 uses a media-controller-based camera architecture (DCMIPP + CSI subdevices). Because of this, Qt Multimedia cannot directly detect the MIPI camera as a standard /dev/videoX capture device. For that reason, I am using libcamera as the capture backend. It correctly handles the media graph configuration internally and exposes a usable video stream to GStreamer, which makes camera streaming stable and reliable.The functional pipeline is working. However, the goal is to display the live feed inside a Qt6 QML application with proper GPU acceleration, and this is where I am facing a major performance bottleneck: CPU usage is very high during preview, while the Vivante GPU remains mostly idle.I’d really appreciate guidance from anyone who has implemented a zero-copy GPU camera pipeline on STM32MP2.Platform OverviewBoard:
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 .
Hello. I have LIS2DUX12 accelerometer and have sucessfully ran machine learning example from STMems (activity_recognition_for_mobile) on our custom hardware.https://github.com/STMicroelectronics/STMems_Standard_C_drivers/blob/master/lis2dux12_STdC/examples/lis2dux12_mlc_activity_mobile.cFor our application, we need to be able to reliably detect when our device is being transported with a car but its not so straightforward. The few difficulties include:1. The device orientation is not fixed2. The device may shake gently or move very slowly during its normal application. This is perfectly fine and we should somehow not detect that. I have looked at different application_examples :https://github.com/STMicroelectronics/STMems_Machine_Learning_Core/tree/master/application_examplesbut not sure which would work best for us. If we cant find any suitable application example, we can try and train our own model with our own data.I would appreciate if someone could share their insights and pr
I tried to install CubeMx 6.17.0 i get following errorHow do i resolve?
Hello,We have the ISM330DHCX designed into a new product but I am having trouble getting reliable readings using the I2C interface. I am able to read the WHOAMI register and get 0x6B but OUT_TEMP_L (20h), OUT_TEMP_H (21h) always return zero.I have the interface instrumented and I can see that the signalling is correct, with repeated start and everything, but only zeros.Does anyone have a suggestion of how this is happening? Do I need to do something special to enable temperature readings?Thanks
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++ &
Hi everyone,I am working with the LSM6DSM and an external LIS3MDL magnetometer and have the FIFO ODR set to 208 Hz, with no decimation configured.I am trying to understand exactly how the FIFO handles data in the following four scenarios. Could someone clarify what happens to the samples in the FIFO for each case?The Accelerometer or Gyroscope ODR is set higher than 208 Hz.The Accelerometer or Gyroscope ODR is set lower than 208 Hz.The external Magnetometer ODR is set higher than 208 Hz.The external Magnetometer ODR is set lower than 208 Hz.Any clear explanations on how the samples are handled (e.g., are they dropped, duplicated?) in these specific situations would be greatly appreciated.Thanks!
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
While using the iis3dw sensor, I discovered that when I employed an interrupt-based polling method to read data—where, ideally, the sensor captures data, triggers an interrupt, and then the data is read—the data acquisition frequency should be around 26 kHz (based on SPI transmission and code execution time). However, I found that reading the data was taking up some of that time; when I disabled this process, the issue disappeared. My SPI rate is 18 Mbps. Subsequent testing with FIFO reading also exhibited this behavior. Specifically, when I disabled the function `iis3dwb_acceleration_raw_get(&IIS3DWB_ctx, accel)` during the read process, reading 10,240 data points took approximately 391 ms (about 26k). Without disabling it, reading the same 10,240 data points took 523 ms (about 19k). Below is my read code without using FIFO. The attachment contains the official ST driver. `uint8_t iis3dwb_init_drdy_mode(void)` is the initialization function without using FIFO, int16_t iis3dwb_read
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
Already have an account? Login
Enter your E-mail address. We'll send you an e-mail with instructions to reset your password.