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,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
I create this post as my own (and others) experience contradicts the solution to the follow ticket. More information found in the replies section.Please look into it and see if you agree.https://community.st.com/t5/stm32-mcus-products/does-stm32h56xx-1mb-device-has-extra-memory-for-high-cycle-data/td-p/849391
Hi everyone,I'm planning to build an IoT-based data logger using an STM32 microcontroller and would appreciate some advice from those who have worked on similar projects.The project requirements include:Reading multiple environmental sensors (temperature and humidity) Logging data to an SD card Sending data to a cloud platform via Wi-Fi or LTE Low power consumption for long battery life Ability to update firmware remotely in the futureI'm currently considering the STM32L4 or STM32U5 series because of their low-power capabilities, but I'm open to suggestions if another family would be more suitable.A few questions:Which STM32 series would you recommend for this type of application? Is STM32CubeMX sufficient for managing a project of this size, or would you recommend another workflow? Have you used FreeRTOS for sensor reading, data logging, and communication tasks? Was it worth the added complexity? Are there any common pitfalls I should watch out for when designing the hardware or firmw
We took cue from the ADC_Downsampling example from MX to write our Vbat measurement code. We are getting very small values of raw adc data - somewhere always between 0x160 and 0x200. We are using a coin cell with 3.3V nominal and are naturally expecting codes in the range of 3000 - 4000 (decimal format). I have attached our code and the MX configuration here. Can you please help us understand where we are going wrong? int32_t Get_Battery_Voltage_mV(void) { uint32_t adc_val = 0; uint32_t vbat_mv = 0; // 1. Start ADC, poll for conversion, and get value /* Start ADC group regular conversion */ if (HAL_ADC_Start(&hadc1) != HAL_OK) { /* ADC conversion start error */ Error_Handler(); } /* Wait for ADC conversion completed */ if (HAL_ADC_PollForConversion(&hadc1, 10) != HAL_OK) { /* End Of Conversion flag not set on time */ Error_Handler(); } adc_val = HAL_ADC_GetValue(&hadc1); HAL_ADC_Stop(&hadc1); // 2. Convert
STM32CubeMX v6.17.0STM32CubeIDE v2.1.1With STM32Cube MCU Package for STM32H7 v1.12.1, STM32CubeMX does not copy USART files to Drivers project folder, when I deactivated BSP and activated one USART.I had to import them manually from STM32Cube\Repository\STM32Cube_FW_H7_V1.12.1/Drivers/STM32H7xx_HAL_Driver in Src and Inc, respectively: stm32h7xx_hal_usart_ex.c, stm32h7xx_hal_usart.c; and stm32h7xx_hal_usart.h, stm32h7xx_hal_usart_ex.h.(Even though I only want to use UART capabilities, so they are not imported to CM7 Drivers folder.)Also, I reverted MCU Package back to version v1.12.1, because, with MCU Package for STM32H7 v1.13.0, STM32CubeMX v6.17.0 did not create the dual core project structure correctly and so was not interpreted correctly by STM32CubeIDE v2.1.1. It didn't create the subproject files and were displayed like usual folders, while on creation, I explicitly used STM32CubeIDE project and on import used the new import for STM32CubeIDE v2
Using project setup from NUCLEO-U3C5ZI-Q, when ADC1>ADCs_Common_Settings>Mode is set to `Dual regular simultaneous mode only` CubeMX fails to generate the HAL_ADCEx_MultiModeConfigChannel() call to configure the ADCs for dual mode. This must be manually added by the user, otherwise the slave ADC does not trigger conversions. I believe this call was supposed to generate in MX_ADC1_Init. Am I missing something here?Here is my ioc file:#MicroXplorer Configuration settings - do not modifyADC1.Channel-2\#ChannelRegularConversion=ADC_CHANNEL_3ADC1.ConversionDataManagement=ADC_CONVERSIONDATA_DMA_CIRCULARADC1.DMAAccessModeView=ENABLEADC1.EOCSelection=ADC_EOC_SINGLE_CONVADC1.EnableInjectedConversion=DISABLEADC1.ExternalTrigConv=ADC_EXTERNALTRIG_T1_TRGOADC1.IPParameters=Rank-2\#ChannelRegularConversion,Channel-2\#ChannelRegularConversion,SamplingTime-2\#ChannelRegularConversion,OffsetNumber-2\#ChannelRegularConversion,MonitoredBy-2\#ChannelRegularConversion,NbrOfConversionFlag,NbrOfConvers
Hello.We meet the overtaking around 200M Hz, the base frequency is around 20M. I have the below questions: where does it from? Is it be spread spectrum? what’s the relation with the pump frequency? what’s the countmeasure of the overtaking issue?
MCU: STM32H743VIHx / STM32H743VIHPower: PWR_LDO_SUPPLYVoltage scale: Power Regulator Voltage Scale 0 / VOS0Clock setting:SYSCLK = 480 MHzD1CPRE = /1HPRE = /2HCLK = 240 MHzD2PPRE/D3PPRE = /2, PCLK = 120 MHzActual result:STM32CubeMX marks HCLK 240 MHz as error:"240 MHz max frequency must be <= 225 MHz"Expected result:According to STM32H743 datasheet, with VOS0 and LDO enabled,fCPU max is 480 MHz and fHCLK max is 240 MHz.This configuration was accepted before updating STM32CubeMX / STM32H7 MCU package.
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.