Get ready for the STM32 Summit 2026 | Online, November 3
Join conversations with your peers and ST experts. Explore the full potential of STM32 microprocessors for your embedded design.
Most recent activity
We are pleased to announce that the minor version 6.18.1 of STM32CubeMX is available.What is new in 6.18.1:This release addresses and resolves the issues outlined below:Download error for crdb.zip during update STM32CubeMX displays a download error pop-up during data updates. Note : This issue is resolved for 6.18.1 and later versions. For the earlier versions customers may refer to the following workaround already shared in the community:Workaround for file download error: crdb.zip (Problem during download) | Community Error occurred while importing .ioc file created with STM32CubeMX older than 6.18.0 The “Continue and Migrate” features are not working properly for projects with PCC configured. Issue when setting clock to 240Mhz in STM32H743 and STM32H753 STM32CubeMX prevents the user from selecting 240 MHz, displaying the message: “240 MHz maximum frequency must be <= 225 MHz.” Fixed issues in 6.18.1:Refer to the STM32CubeMX online docum
We are pleased to announce that STM32CubeIDE 2.2.0 release is now available. What is new in 2.2.0: Added support for: STM32H5 microprocessors to the STM32H5 series STM3U3 series microprocessors to the STM32U3 series STM32V8 series Added support for new boards: NUCLEO-H553ZG NUCLEO-U345RC-Q, NUCLEO-U366RE-Q, STM32U366E-DK NUCLEO-V873XJ, and STM32V873J-DK Updated the target Platform to Eclipse 2025-12 and CDT™ 12.3.0 Added Multidrop support for debugging: STLINK-GDB server OpenOCD Segger J-Link Updated CMake to version 4.3.1 STARM-CLANG to version 21.1.1+st.7 Added support for OpenSTLinux 6.2.1 CMake static library template Ubuntu 26.04 and Fedora 44 Dependencies versions updates: Eclipse® 2025-12 and CDT™ version 12.3.0 Bundled JRE™: Adoptium® Temurin® 21.0.10+7 with JavaFX 21.0.10 ST-LINK GDB Server 7.14.0 supporting ST-LINK/V2 and STLINK-V3 SEGGER J-Link GDB Server V9.42 STM32CubeProgrammer v2.23.0 Open On-Chip Debugg
We are pleased to announce that STM32CubeProgrammer 2.22 is available What is new in 2.22: Support for the STM32U3 microcontrollers with 2 Mbytes of flash memory: Internal memory programming through debug and bootloader interfaces Option bytes programming through debug and bootloader interfaces OTP programming through debug and bootloader interfaces Core register programming through debug interfaces Automatic mode Serial Wire Viewer Register viewer Firmware encryption/signing RDP regression with password SFI through debug and bootloader interfaces (USB and UART) Support for STM32C5 series microcontrollers: Internal memory programming through debug and bootloader interfaces Option bytes programming through debug and bootloader interfaces OTP programming through debug and bootloader interfaces Core register programming through debug interfaces Automatic mode Register viewer Firmware encryption/signing RDP regression with password Support for STM32WBA2xxx microcontrollers: Inter
Hi!I'm trying to developing a Qt6 QML application with Vulkan support. But I having some issues. Can ST Dev Team give me an example of an Qt6 QML application that use Vulkan? It must work on STM32MP257. It will be a reference. I think I having wrong code settings on my Qt6 QML application. For OpenGL, it works. But not for Vulkan.Thank you!
Link https://www.st.com/resource/en/ibis_model/stm32mp2-ibis.zipThere should be STM32MP211_213_215
Hello STMicroelectronics Community,I am working with an STM32MP257DAI3 processor running OpenSTLinux with Linux kernel 6.6.11.I am trying to configure an LT8912B MIPI-DSI to HDMI bridge instead of the ADV7535.and My openstlinux version version openstlinux-6.6-yocto-scarthgap-mpu-v26.I referred to the Linux Device Tree binding documentation:"Documentation/devicetree/bindings/display/bridge/lontium,lt8912b.yaml"I have configured the HDMI connector, MIPI-DSI interface, and LT8912B bridge in my device tree. However, after booting the board with the `st-image-weston` image, the '/sys/class/drm/' directory is empty. 1. Device Tree Configuration HDMI Connector Nodehdmi: connector { compatible = "hdmi-connector"; label = "hdmi"; type = "a"; port { hdmi_connector_in: endpoint { remote-endpoint = <&lt8912_out>; }; };}; MIPI-DSI Node &dsi { vdd-supply = <&scmi_vddcore>; vdda18-supply = <&scmi_v1v8>; status = "
Subject: STM32MP257F-EV1 (MB1936D) not booting after PA6/PA7 MDF1 rework + SAI2 speaker addition — no console output, no USB DFU enumerationBoard: STM32MP257F-EV1, board reference MB1936DBackground — MDF1 microphone rework:We were bringing up PDM microphone capture on MDF1 (channel 6, PA6=SDI6, PA7=CCK0). On this board revision, PA6/PA7 are hardwired only to the onboard RTL8211F Ethernet PHY (ETH3.TXD0/TXD1 via series resistors R169/R175) with no external header access. To route these pins to MDF1 instead, we physically soldered a wire tap onto R169 and R175, and disabled Ethernet in our device tree so MDF1 could claim PA6/PA7 without a pinmux conflict.Background — speaker interface addition (same device tree, added afterward):Separately, we added a playback path using a MAX98357A I2S digital audio amplifier driving a 4Ω/5W speaker, over SAI2A:- CN5 pin 12 (PJ11, SAI2_SCKA) -> MAX98357A BCLK- CN5 pin 35 (PJ3, SAI2_FSA) -> MAX98357A LRCLK- CN5 pin 38 (PJ12, SAI2_SDA) -> MAX9835
Hello,We are assessing security maintenance for an STM32MP1 product using linux-stm32mp. Could ST clarify the following? Is the maintenance policy in the 2021 "FAQ: Updating OpenSTLinux" (https://community.st.com/stm32-mpus-61/faq-updating-openstlinux-19) still current? How are security fixes delivered after a release: through component branches, tagged minor releases, or another mechanism? Has ST published updated guidance in preparation for the EU Cyber Resilience Act? Does ST assess kernel.org CNA CVEs against its vX.Y-stm32mp branches? Are per-CVE affected/fixed decisions published anywhere, such as a vulnerability list, VEX document, or CVE_STATUS entries in meta-st-stm32mp? For security vulnerabilities in ST-specific kernel changes that have not been upstreamed, what is the CVE assignment and advisory process? Where are fixes announced? The FAQ describes 1.5 years of feature development, 2.5 years of corrections, and a possible additional year of vulnerability-related relea
Hello,According to Table 56 (Output voltage characteristics for all I/Os) in the STM32MP213FAL datasheet, the maximum VOL is specified as 0.4V under high load conditions (IOL = 5.5mA to 20mA).In my application, the connected device has a strict VIL(Min) requirement of 0.35V. My actual load current is very low, around 10uA.While I understand that VOL should stay very close to 0V under such a low load due to the CMOS structure, the datasheet only provides the Max 0.4V limit.Strictly speaking, this does not show a match with my 0.35V requirement on paper.Could you provide any reference curves, typical characteristics, or internal RON (on-resistance) values for the I/O pins to confirm that VOL drops well below 0.35V under a 10uA load? Thank you in advance for your support.
Product / board: STM32MP257F-EV1, MB1936 revision, configuration [A35-TD or M33-TD]SummaryThe board worked for one session after two hardware changes, then stopped booting. LD6, LD5 and LD11 light. LD3 and LD4 do not. The Boot ROM gives no response over UART or USB.What was changedA PDM microphone was wired to PA6/PA7 by a wire tap at R169/R175 (MDF1). This was our own design decision, not based on any ST recommendation. A MAX98357A speaker amplifier was added on SAI2A (PJ11, PJ3, PJ12 at AF4), with matching device-tree changes.What I have checkedCheck Result NRST (B1) 3.3 V idle, 0 V pressed, 3.3 V after release VDDIO 3.3 V 1V8 1.8 V VDDCPU 0.8 V VDDCORE 0.8 V VDDGPU 0 V (not treated as a fault) VDD_DDR 0.037 V (not treated as a fault) VDDA1V8_AON 1.8 V VDD3V3USB 3.3 V HSE Not checked; no accessible probe point Boot ROM tests (SW1 all OPEN)STM32_Programmer_CLI -l detects the ST-LINK V3. -c port=/dev/ttyACM0 br=115200 and -c port=/dev/ttyACM1 br=11520
Hello,I would design a PCB a compatible with both STM32MP23x and STM32MP25x series, using VFBGA424 package.I would support both 16x and 32x DDR4 controller configuration, so I will use fly-by routing to avoid stubs. STM => DDR4A => DDR4B => termination The question is:in the case we use 16x configuration, it is better to have the only memory chip near o far with respect to the STM32?I mean, the only populated chip shall be DDR4A or DDR4B? ThanksAndrea
Hi,I am currently using ST’s OpenSTLinux distribution, version 6.2.1, for our STM32MP135F-based custom board.My objective is to customize the boot and operating system components—TF-A, OP-TEE, U-Boot, and the Linux kernel—to meet our board-specific requirements. Boot media is emmc.I have successfully set up the Yocto build environment and can build the complete image. However, to reduce development and debugging time, I would like to build these components individually rather than rebuilding the entire image after every change.I have also set up the environment for building and installing these boot artifacts separately. I would appreciate your guidance on the correct build and deployment sequence, including which source files, configuration files, device trees, and generated binaries are required at each stage.Could you please clarify the recommended workflow for building, integrating, and flashing TF-A, OP-TEE, U-Boot, and Linux independently while ensuring compatibility with ST’s Op
Hello,I am attempting to run the OpenAMP_TTY_echo_CM33_NonSecure example following this guide Modify, rebuild and reload the firmware but run into the following error when attempting to run the example.IDE ErrorError in final launch sequence: Failed pre launchFailed pre launchFirmware remoteproc load failed, please: 1. make sure that /lib/firmware on your target has space 2. make sure that /lib/firmware has write access > you can open a Console View for this..Serial Terminal Logs[ 82.376063] remoteproc remoteproc0: powering up m33[ 82.378336] remoteproc remoteproc0: Image is corrupted (bad magic)[ 82.381610] remoteproc remoteproc0: Boot failed: -22Run configuration I have attempted to use the .elf file as suggested here https://community.st.com/t5/stm32-mpus-software-development/error-using-cubeide-ro-run-an-example-application-for-the/m-p/721825 but get the a similar IDE error with the followin
Hello everyone! I am following the tutorial on st wiki on how to work with STM32MP257F-DK board. Everything was going pretty good, until the “Develop on Arm® Cortex®-M33” part. This is a really important part for me, because the main reason I chose this MPU is because of the additional low-power cortex M33 and M0 co-processors. The part where I am stuck is “Modify, rebuild and reload the firmware for A35-TD flavor”. I have successfully built the “*_sign.bin” file and populated the board with it by using the “Run_Configuration” button. However past 78% the process stops and shows an error that states:“Error in final launch sequence:Failed pre launchFailed pre launchFirmware remoteproc load failed, please: 1. make sure that /lib/firmware on your target has space 2. make sure that /lib/firmware has write access > you can open a Console View for this..”In the STM32MP2 system a log of these messages are displayed:“[ 2321.306087] remoteproc remoteproc0: powering up m0 [ 2321.307
MCU: STM32MP215DAN3 (custom board, STM32MP2 series)STM32CubeMX versions tested: 6.17.0 and 6.18.1 — identical crash in bothSTM32Cube FW_MP2: V1.3.1Steps to reproduce:Open a working project where SDMMC1 is the boot device (A35 ROM + A35S(TF-A_BL2) runtime context checked) In SDMMC1 Mode and Configuration: uncheck A35 ROM and A35S(TF-A_BL2) In SDMMC2 Mode and Configuration: check A35 ROM and A35S(TF-A_BL2) (making SDMMC2/eMMC the new boot device instead of the SD card) Save project, click Generate CodeResult: Code generation crashes with the following exception, reproducible 100% of the time with this exact configuration: java.lang.NullPointerException: Cannot invoke "javax.swing.table.TableModel.getRowCount()" because "RifIPExtraTableModel" is null at com.st.microxplorer.mcu.rif.RIFService.getExtraTableModel(RIFService.java:341) at com.st.microxplorer.codegenerator.McuDataModel.getRIFInfo(McuDataModel.java:824) at com.st.microxplorer.codegenerator.McuDataModel.initMcuData(McuDa
Hi there I have a STM32MP257f-DK board running the latest Linux, and I’m trying to output to a waveshare 9.3” HDMI display at its native resolution. 1600x600I can output to it at 1920x1080. and I can output to the display from my Mac at it’s native 1600x600. I see a slight flicker when I try send video then black. then the display goes to sleep. So the display is losing sync.linux reports the output is working, but it seems it’s something to do with the ADZ7xx chip.any ideas?
Hello,I was checking if it is possible to test my M33 NS code I generated using CubeMX would work in Developer Mode. However, the information found on internet suggest it being difficult as it requires the clock to be configured by M33 and also needs RIF accesses making it difficult. Without proper documentation on use case and how to use developer mode, it becomes challenging to work on a project within a stipulated time. So please, I would request for the help and Information to test and debug the code in Developer mode. Thanks for the support.With regardsAmit
I am working on secure boot and firmware encryption on a custom STM32MP257F board based on the STM32MP257F-DK.I have already provisioned the encryption key material into OTP and am testing encryption through Yocto using ENCRYPT_ENABLE = "1", with a 128-bit key for FSBL and a 256-bit key for FIP.I noticed that when I use the correct encryption keys, the board boots successfully.When I use a wrong key, flash fails with a decryption error.But when I remove the encryption settings from local.conf, the board still boots even though the keys are already provisioned in OTP.I want to understand why this happens. I thought that once the encryption keys are provisioned, the board should not boot without the correct keys.Could someone please clarify a few things?Is it normal for the board to boot with an unencrypted image even after the encryption keys are provisioned into OTP? Does provisioning the keys into OTP only store the keys, or is there a way to enforce encryption at boot? What is the re
Hello,I’m bringing up a custom board based on STM32MP135F and cannot read OTP reg. I am using scarthgap based Yocto distribution “openstlinux-6.6-yocto-scarthgap-mpu-v26.06.10”I modified DTS of TF-A, Optee, u-boot according to my board. File generated from openstlinux-6.1 version, I am able to able to do read and write operation.I am able to program EMMC but not able to do OTP read and write. Getting following error on COM port-optee optee: TA_NVMEM invoke failed TEE err: ffff0006, err:0Error: OTP read issue -5dfu_read: Failed to fill bufferError Log from ST-programmer CLI-Error: Read OTP Partition failedError: Uploading the OTP structure failedError: Initializing the OTP structure failedDo I need enable any configuration or any build modification for this openstlinux-6.6?
Dear ST Support Team,I am working with the STM32MP257F-EV1 evaluation board and have found an issue with some of the on-board crystals while checking their clock frequencies.Observations:- X1: no frequency is observed- X2: no frequency is observed- X7 (ST-LINK crystal): a correct frequency of 24 MHz is observed againCould you please help me with the following:1. Possible reasons why X1 and X2 are not oscillating on this board.2. Any recommended checks (supply, load capacitors, bias, probing method) to confirm whether this is a hardware fault or a measurement issue.3. Whether this could be a defective board, and if so, the process for replacement or repair.I can share measurement screenshots, photos of the board, and further details if needed.Thank you for your support. I look forward to your reply.Best regards,Radha
Hai, I am trying to read the data stored in the EEPROM via I²C during the U-Boot SPL stage.The EEPROM data can be read successfully from both U-Boot and user space, as shown below. Uboot Area:iWave-G62H>iWave-G62H> i2c dev 0Setting bus to 0iWave-G62H> i2c md 0x50 0x0000.2 10000: 99 .iWave-G62H> i2c md 0x50 0x0000.2 10000: 99 .iWave-G62H> i2c mw 0x50 0x0000.2 0x01 1iWave-G62H>iWave-G62H> i2c md 0x50 0x0000.2 1 0000: 01 .iWave-G62H> i2c md 0x50 0x0000.2 10000: 01 .iWave-G62H> User Space:root@imx91-iwg62h:~#root@imx91-iwg62h:~# dd if=/sys/bus/i2c/devices/0-0050/eeprom bs=1 count=1 2>/dev/null | hexdump -C00000000 01 |.|00000001root@imx91-iwg62h:~#root@imx91-iwg62h:~#root@imx91-iwg62h:~# printf '\x99' | dd of=/sys/bus/i2c/devices/0-0050/eeprom bs=1 count=1 1+0 records in1+0 recor
Hi!I’m using this commangst-launch-1.0 -v filesrc location=bbb.mp4 ! qtdemux ! h264parse ! v4l2slh264dec ! waylandsink fullscreen=trueTo play video in 1080p without lagging. But this comes without sound.How can I play sound with gst-launch-1.0?I can only play sound with “aplay /path/to/file.wav”.
Hi! When I run the command "vulkaninfo --summary". I get this critical error."libvulkan_VSI.so.1.3.3 contained a 1.1 or greater API version, but does not support vkEnumerateInstanceVersion, treating as a 1.0 ICD".What this means is that according to the data sheet of STM32MP2, the GPU supports Vulkan 1.3. but due to the lack of support for vkEnumerateInstanceVersion, the Vulkan support falls back to 1.0.Question: is this true that Vulkan falls back to 1.0 fue to this warning?Is there any newer version of libvulkan_VSI.so?Here is the complete output: """WARNING: [Loader Message] Code 0 : loader_scanned_icd_add: Driver /vendor/lib/libvulkan_VSI.so.1.3.3 supports Vulkan 1.3, but only supports loader interface version 2. Interface version 5 or newer required to support this version of Vulkan (Policy #LDP_DRIVER_7)WARNING: [Loader Message] Code 0 : terminator_CreateInstance: Manifest ICD for "/vendor/lib/libvulkan_VSI.so.1.3.3" contained a 1.1 or greater API version, but does not support vk
I have heard that ST have tried QtNanoBrowser on the MP257 and according to them the web browser is working well.My question is if there are any more additional information about the user experience of QtNanoBrowser on the MP257?For example a benchmark and which pages did run smoothly and which pages took long time to load.
Hi listI am testing the STM32MP135d-odyssey for a project. It is small, still cheap, has support for POE and on board ethernet connectors and SD-card holder. The buildroot repositories are quite old so I wonder if the board is in actual use and can be recommended for new projects?The xogium repository seems very outdated but I have cherry picked a few patches from there to a fork of STMicroelectronics repository and it builds and boots with modern buildroot. I have only tested to boot from sd-card yet.Please test if interested. I have updated versions of buildroot-stm32mp135d-odyssey, u-boot and optee_os in my Github repository.https://github.com/GauiStori/buildroot-stm32mp135d-odysseyShall I make pull requests for u-boot and optee_os to STMicroelectronics or xogium? Or is there an updated version of xogium somewhere?Now I want to see if I can find a working Yocto recipe. RegardsGudjon
Already have an account? Login
Enter your E-mail address. We'll send you an e-mail with instructions to reset your password.