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
Hi, I am planning to use IMU ASM330LHB for my project and test the sensor functionality using board STEVAL-MKI236A.I want to know whether I can plug STEVAL-MKI236A into the DIL24 connector of the SensorTile.Box PRO and test the functionality using SensortTile.box smartphone app ST BLE Sensorhttps://community.st.com/mems-and-sensors-62/getting-started-with-sensortile-box-192I want display the below values as mentioned on the link.Is it possible? Thanks,Sucheta
STM32CubeMX 6.18.0MCU: STM32H563RIT6To my understanding, this uses STM32CubeH5 1.7.0 Start a new project and enable ThreadX and NetX Duo.In “NETXDUO Mode and Configuration”, enable “NX Core”, “Crypto” and “TLS”In configuration, parameter column “NetXDuo” there are check-boxes for:TLS CORENX_SECURE_TLS_ENABLE_TLS_1_1NX_SECURE_TLS_ENABLE_TLS_1_3NX_SECURE_TLS_TLS_1_2_ENABLEDNX_SECURE_TLS_TLS_1_3_ENABLED This is a bug.According to https://github.com/eclipse-threadx/rtos-docs/blob/1e36a62618de3771c973196e7648cba50d19cf1f/rtos-docs/netx-duo/netx-duo-secure-tls/chapter2.md#configuration-options the proper configuration options areNX_SECURE_TLS_ENABLE_TLS_1_3 Defined, this option enables TLSv1.3 mode. TLS 1.3 is the newest version of TLS and is disabled by default. NX_SECURE_TLS_ENABLE_TLS_1_0 Defined, this option enables the legacy TLSv1.0 mode. TLSv1.0 is considered obsolete so it should only be enabled for backward-compatibility with older applications. NX_SECURE_TLS_ENABLE_TLS_1_1
Good day,We are using a composite USBX device class combining CDC and MSC over USB Full Speed, built on X_CUBE_AZRTOS-H7 version 3.3.0 (USBX 6.4). During testing we discovered that a certain Windows PC sends a MODE SELECT(10) command (opcode 0x55) and causes an endpoint stall.After a rather long debugging session, it was found that the USBX source _ux_device_class_storage_mode_select() is explicitly not implemented — it stalls the OUT endpoint, UX_FUNCTION_NOT_SUPPORTED (which is not checked in the thread) and never recovers:The MODE SELECT(6) SCSI command is not even implemented and the storage thread falls through to the default case, also triggering a endpoint stall. So:- Are there any plans to implement these MODE SELECT(6/10) commands properly in a future USBX release?- Does anyone already have a workaround for this?- Wouldn't it be cleaner to reply with an ILLEGAL REQUEST instead of stalling the endpoint?System details:- MCU: STM32H7- USBX version: 6.4 (X_CUBE_AZRTOS-H7 3.3.
When using the FDCAN peripheral on a STM32H743 or a STM32H753 and the message filters are setup to only accept certain messages, does the FDCAN hardware ACK a valid message that is rejected by the message filter?
Hi everyone,I wanted to share a frustrating issue I encountered in STM32CubeMonitor while working on a complex project (vienna_stm32g474), hoping to save some headaches for fellow developers.The Problem:When updating or switching to a new version of the .elf file in the Edit variables node / Edit exe-config node, the entire selected variable list (which contained around 30 complex nested structures) gets completely wiped out/deselected. Interestingly, this behavior occurred only in one specific node, while other lists on different flows updated perfectly fine, even though the variables still existed in the new file.The Root Cause:After a lot of debugging, we found out that STM32CubeMonitor handles the .elf file path/name as a strict unique hash key inside the flows.json architecture.If you rename the file (e.g., creating a backup like project-Copy.elf) or switch paths manually in the UI dropdown, the internal parser treats it as an entirely new project schema. Instead of safely migrati
I am working with an STM32 microcontroller and a VL53L0X sensor. The sensor readings are transmitted over UART1 at 115200 baud, 8N1.I have verified: UART initialized at 115200 baud, 8N1, no parity XCTU terminal set to ASCII mode (Hide Hex enabled) Line endings set to \r\n Any suggestions for reliable output?Numeric values are printed correctly, but the text parts like "Distance" and "mm" are missing or appear as dots in XCTU’s terminal. For example, instead of:CodeDistance: 25 mmI see:CodeD..ta..e: 25 mm
I am working with an STM32C542 processor using STM32CubeMX2 and the new HAL2 library framework. CubeMX2 generated the code and I imported the CMake project into STM32CubeIDE v 2.1.1.I am trying to configure Timer 2 for a basic 1-second interrupt to toggle an LED, but the callback function is never reached. Here is the initialization generated by CubeMX2 in mx_tim2.c:/* Includes ------------------------------------------------------------------*/#include "mx_tim2.h"/* Private typedef -----------------------------------------------------------*//* Private define ------------------------------------------------------------*//* Private macro -------------------------------------------------------------*//* Private variables ---------------------------------------------------------*//* Private functions prototype------------------------------------------------*//* Exported variables by reference--------------------------------------------*/static hal_tim_handle_t hTIM2;//HAL_TIM_RegisterUpd
Hi,first time TouchGFX user but not new to graphics programming and hoping to get some help understanding a TouchGFX problem I'm having on a Riverdi RVT50HQSNWC01-B I'm thinking of using for an automotive dashboard display.If I don't throttle my display changes, the display buffers don't have the same content. The buffer with the most complete looking content does have a small glitch towards the bottom right hand side of the RPM segmented display, so I'm guessing it's not as simple as TouchGFX didn't get around to doing all updates on both buffers but more like it ran out of space somewhere to manage the updates? I've tried putting invalidate()'s either side of making changes, as suggested in this (https://community.st.com/t5/stm32-mcus-touchgfx-and-gui/double-buffer-one-buffer-is-not-updated/m-p/165271#M9822) thread, but that doesn't help. The only thing that helps is to throttle updates inside the screen handleTickEvent() to every other tick (and not do them the first 3 ticks either
Hi,I am working with the OEMiRoT reference project (STM32U385) and I need to configure a single Secure application image without TrustZone isolation (S-only application), while still keeping the Secure Data Image enabled.From flash_layout.h, I see the following: #define MCUBOOT_APP_IMAGE_NUMBER 1#define FLASH_NS_PARTITION_SIZE (0x32000) /* default case */and also this condition: #if (MCUBOOT_APP_IMAGE_NUMBER == 1) && (FLASH_NS_PARTITION_SIZE == 0) which seems to define the “FULL SECURE” case.QuestionTo correctly implement an S-only application (no S/NS split) in OEMiRoT:Should I explicitly set both:MCUBOOT_APP_IMAGE_NUMBER = 1FLASH_NS_PARTITION_SIZE = 0ORIs FLASH_NS_PARTITION_SIZE automatically set to 0 by the OEMiRoT provisioning/build system when selecting the S-only configuration, meaning it should NOT be manually modified in flash_layout.h?ConcernThe header comment suggests that some Flash layout values are automatically generated by the ROT provi
Hello,long time lurker, now with an issue that I would like to solve. I developed a firmware that runs standalone without issue. I would like to use the secure manager on my STM32H573VI microcontroller.I followed the procedures at this link: https://wiki.st.com/stm32mcu/wiki/Security:How_to_make_your_application_compatible_with_Secure_Manager and I am able to run the python provisioning.py --sfi-flash command. Then from the cube ide I can debug my program that is written with cmake and the cubemx template.Since I am using threadx I set TIM6 as a time base for the HAL.What I observe is the following...- if I run the application straight away, I do not see the tick increment. - I set an __enable_interrupt() before HAL_Init() and I see that the tim6 interrupt is fired.Then in the ISR, I see that with the first line of HAL_TIM_IRQHandler, when reading htim->Instance->DIER then I land in a BusFault_Handler. I run out of ideas. No clue about how to deal
Hello STM Community,We are developing a battery-powered iot product using the STM32WLE5 (single-core variant) with LoRaWAN communication. Problem DescriptionAfter an under-voltage event, the SUBGHZSPI bit gets permanently stuck at 0. The radio becomes completely unresponsive. Key observations:The issue **persists across full power cycles** (battery removed for minutes, capacitors fully discharged) A **software system reset** (`NVIC_SystemReset()`) does NOT fix it **Re-flashing the firmware** does NOT fix it The only known fix is using STM32CubeProgrammer To Reset the bit ( Done in the picture below ). The error is SUBGHSPISD stuck to 0. Once we set the bit to 1 we can resume normal operation. What we have tried (without success):1.RF subsystem reset via RCC_CSR_RFRST LL_RCC_RF_EnableReset(); // delay LL_RCC_RF_DisableReset(); // wait for RFRSTF to clear 2. SUBGHZSPI peripheral reset (APB3 bus): __HAL_RCC_SUBGHZSPI_FORCE_RESET(); // delay __HAL_RCC_SUBGHZSPI_RELEA
Hi dear ST team & community, We are planning our mass production strategy for our product using a STM32MP25 MPU. We found that ST’s partner ElProtonic has the GangProgrammer tool. This document https://www.st.com/en/partner-products-and-services/gang-flasher.html mentions it supports MP2s but I got in touch with ElProtonic and they say there’s no currently available support for MP2. We are currently using STM32Prog CLI tool to flash our devices in development but it’s way too slow for mass production. Is there any available/official tool we can use to flash our eMMCs? Or is there any approach you could suggest for us?Thanks!
Good afternoon,at the power on our logic does not provide the clock signal to the ADC, while the OEB is 0 and the reference voltage and the power supplies are in the correct range.the ADC is not correctly reset.can this situation bring to an anomalous current absorption?Best regardsStefano
Hello ST Community, I've noticed that the STHS34PF80 is now marked as EOL (End of Life) across distributor platforms. Is there an official ST replacement or successor planned? Any advice would be appreciated. Thanks!
Dear ST Team,I am using the STM32H5 Nucleo-64 board (MB1814) to develop a CAN communication-based application. In my implementation, I am using the TX Queue for message transmission and RX FIFO0 for message reception, both operating through interrupts.While reviewing the HAL library, I observed that the Message RAM allocation for the RX FIFOs and TX Queue is defined using static, hardcoded macros, as shown below:#define SRAMCAN_FLS_NBR (28U) /* Max. Filter List Standard Number */#define SRAMCAN_FLE_NBR ( 8U) /* Max. Filter List Extended Number */#define SRAMCAN_RF0_NBR ( 3U) /* RX FIFO 0 Elements Number */#define SRAMCAN_RF1_NBR ( 3U) /* RX FIFO 1 Elements Number */#define SRAMCAN_TEF_NBR ( 3U) /* TX Event FIFO Elements Number */#define SRAMCAN_TFQ_NBR ( 3U) /* TX FIFO/Queue Elements Number */Since my application uses only TX Queue and RX FIFO0, I would like to know whether it is possible to reallocate the Message RAM to increase the number of elements for these two resources while set
acc + gyro + timestamp, ODR 208 hz, FIFO continous mode, timestamp resolution 25us, following is my register settingimu.__write_reg(CTRL3_C, 0x44)imu.__write_reg(WAKE_UP_DUR, 0x10)imu.__write_reg(CTRL10_C, 0x34)imu.__write_reg(CTRL1_XL, 0x5c)imu.__write_reg(CTRL2_G, 0x5c)imu.__write_reg(FIFO_CTRL2, 0x80)imu.__write_reg(FIFO_CTRL1, 45)imu.__write_reg(INT1_CTRL, 0x08)imu.__write_reg(FIFO_CTRL3, 0x09)imu.__write_reg(FIFO_CTRL4, 0x08)imu.__write_reg(FIFO_CTRL5, 0x2E)Occasionally, I get incorrect timestamp value in FIFO (acc and gyro value is ok), following are some example530929, 531123, 531316, 531510, 531704, 531898, 532092, 532286, 532224, 532673 (timestamp go backward)165672, 165866, 166060, 166254, 166448, 166641, 167087, 167223, 167417, 167611, 167804 (timestamp jump) Thank you very much for helping
Hi ST Team,I understand that the SensorTile.Box PRO is supported by MEMS Studio, can you please confirm?Currently the device/kit is not recognized by MEMS studio but the ST BLE App only.Thanks!
I need a help to find out which partnumber matches the diode below:
Hi!I have set up a project for the STM32H523RET6 using the following setup:CubeMX: 6.15.0STM32 vscode extension: 3.5.1The project is configured to use starm-clang and starm-clang++ and the STARM_PICOLIBC toolchainI have created a .cpp file () that i added to my build and updated my CMakeLists.txt with the following: # Setup compiler settings set(CMAKE_CXX_STANDARD 23) set(CMAKE_CXX_STANDARD_REQUIRED ON) set(CMAKE_CXX_EXTENSIONS ON) ... enable_language(C CXX ASM) ... # Add sources to executable target_sources(${CMAKE_PROJECT_NAME} PRIVATE Core/Src/myclass.cpp # Add user sources here ) When building the project, it compiles fine, but clangd reports the following problem: nsupported option '-mcpu=' for target 'x86_64-pc-windows-msvc'clang(drv_unsupported_opt_for_target) Unsupported option '-mfpu=' for target 'x86_64-pc-windows-msvc'clang(drv_unsupported_opt_for_target) Unsupported option '-mfloat-abi=' for target 'x86_64-pc-windows-msvc'clang(drv_unsupported_opt_for_t
Does STM32 provide an mbedTLS integration library for the STM32H573 crypto hardware accelerators? If so, could you please share the details? I found a library at the link below, but it does not cover all the hardware accelerators supported by the STM32H573. Could you share a more complete mbedTLS integration library if you have one?
Hi ST Team,I am using an STM32U585AII6Q on a custom hardware board. My firmware is based on SBSFU with TrustZone enabled.For production manufacturing, I would like to provision blank devices using STM Secure Firmware Install (SFI) over the ROM USB DFU interface.I would appreciate clarification on the following points:What is the recommended procedure to create and use an SFI package that contains both my custom firmware and the required production option bytes? Can the SFI package program both the firmware and the option bytes in a single operation through the USB DFU interface? My intended production option byte configuration is: TrustZone (TZEN) enabled BOOT0 pin tied High on the hardware BOOT_LOCK enabled RDP Level 2 enabled No OEM password provisioning (OEM2 not provisioned) Is this configuration supported through the SFI provisioning flow? After the SFI package has been programmed with the above option bytes, can anyone confirm that the ROM USB DFU bootloader will no longer
TouchGFX Version: 2.26.0Problem: preview in Designer looks different from generated code.Details: when moving a modal into an existing container, Designer does not draw the dimensions correctly. Steps to reproduce: Add a container that is smaller than the screen size and move to somewhere away from screen edges. Add a modal to the screen. Add a Box to the modal. Move the modal into the container. See the incorrect drawn modal. Switch between screens to force correct drawing.Workaround: in Designer, go to another screen, and then go back to the screen you were editing.See also attached images:
[English was established as the common basis so that everyone in the global community can understand each other (see ST Community Terms and Conditions - STMicroelectronics Community, article 10)]Can an STM32 microcontroller be programmed by OpenPLC? If so, how? Is there a video tutorial on YouTube?---apakah mikrokontroller stm32 bisa diprogram oleh open plc? jika iya, bagaimana caranya? apakah ada video tutorialnya di youtube?
I am using stm32h563zi microcontroller (Nucleo-H563zi) in this i have created project using trust zone. In this aim was to use UART4 to transmit message. But i am unable to transmit, i have uploaded main.c of secure and nonsecure. what is the possible error in not transmitting the message usign UART4 in nonsecure.
Board: STM32N6570-DKIDE/Toolchain: Zephyr RTOS + west, Zephyr SDK 0.17.4Repository: stm32-hotspot/zephyr-stm32n6-ai-people-detectionOS: Windows 11I am trying to run the STM32N6 AI people detection application in flash boot mode using MCUboot RAM_LOAD as described in the README. The application runs correctly in debug/development mode (west debug), but does not boot at all when built and flashed for boot-from-flash mode.No output is seen on the UART console after the MCUboot banner — inference never starts.Steps to Reproduce:Following the README exactly:# 1. Build west build -b stm32n6570_dk --sysbuild app -DSB_CONFIG_MCUBOOT_MODE_RAM_LOAD=y -p # 2. Flash model weights (board in Development Mode: Boot 0: L and Boot 1: H) west flash-weights # 3. Flash MCUboot + app (board in Development Mode) west flash # 4. Move boot switches to Flash Boot mode (Boot 0: L and Boot 1: L) # 5. Power cycle ``` --- ### Observed Behaviour After power cycle in Flash Boot mode, the UART console is silent — n
Already have an account? Login
Enter your E-mail address. We'll send you an e-mail with instructions to reset your password.