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
@User_MV Thank you for all this information and for the CMake files. This helped me to create an OEMiRoT project exclusively with CMake, dropping the need for any provisioning script. @Saket_Om I’m looking forward for the possibility of using MCUBoot middleware directly in STM32CubeMX2. We can download it from the “Pack manager”, but it explicitely says “No” in the “Compatible” column (and thus it is not present in the middleware section). So what I did was just a git submodule, using mcuboot’s hal2 branch. A change that I needed to do : increase the memory buffer length of mcuboot, otherwise I was getting errors with MBEDTLS_ERR_MPI_ALLOC_FAILED return code, with an user application of size 0x16000. So I doubled the value of ROT_MBEDTLS_MEM_BUF_LEN, from 0x1000 to 0x2000. As a side note for anyone, make sure to call HAL_RCC_Reset() in either the OEMiRoT, or the user application. ST does it in the user application, but I prefer the other to do it in the OEMiRoT - just before jumping
I’m using a Raspberry Pi host to flash an STM32G030 via I2C.The Raspberry Pi (all models except 5 and newer) have a known hardware bug in their I2C clock-stretching support.See e.g. https://www.advamation.com/knowhow/raspberrypi/rpi-i2c-bug.htmlThe interaction between a Raspberry Pi and the STM32 Bootloader over I2C is thus erratic. It works most of the time (including full verify, erase and flash cycles), but around 10% of the time, it will fail on the first two commands sent. Since it is quite timing-sensitive, with the bug triggering if the STM32 responds within a specific time window, that might be a reason why commands like GET, GET_VERSION, and GET_ID seem to be affected more, but flashing (which is sent much more often) works. Obviously there is little that can be done on the STM32 side. But I wish the AN4221 would document the followup behaviour of the Bootloader more clearly to help identify this issue.Notably, the STM32 gets into an invalid state, in which it does not respond
Hi ST Support,I would like to know whether there is a supported mechanism to enable or disable debug console output at runtime across the entire boot chain, including the following components:TF-A (Trusted Firmware-A) OP-TEE U-Boot Linux Kernel Root File System (user space)Use case:I connect to the target board through the serial console to monitor boot logs. After the system has booted, I access the board over USB SSH. From the Linux shell, I would like to execute a command that enables or disables debug messages on the serial console.My goal is to control the debug console output without rebuilding or reflashing any of the bootloader or firmware components.Could you please let me know:Is there a supported way to enable or disable debug console output for all boot stages at runtime? If this is not possible, what is the recommended approach to achieve similar functionality? Does ST provide any framework or utility to control console logging across TF-A, OP-TEE, U-Boot, the Linux kernel
Hello,We are designing a custom board using the STM32MP157FAC1 device and interfacing its RGMII interface with the DP83869HMRGZT Ethernet PHY.We have some queries regarding the PCB implementation of the RGMII interface.Is it recommended to use series termination resistors on the RGMII signals? If yes, kindly clarify the following:(1.) Should the series termination resistors be placed only on the TX signals driven by the STM32MP157FAC1?(2.) Are series termination resistors also recommended on the TX signals driven by the DP83869HMRGZT (i.e., the RX signals of the STM32MP157FAC1)?(3.) Kindly advise the recommended resistor values and the preferred placement of these resistors with respect to the driver device.Your guidance on the recommended implementation would be highly appreciated.Regards,Prashant
这个是安装了很多版本后还是出现的问题,虽然点了ok后可以正常进入选择芯片的界面,但是最终生成的代码有问题,串口发不出去了(检查过了人为问题)重新下载了很多次,依然是有问题,希望有解答,谢谢
Hi,We've been working on a project using v1.3.1 of MEMS Studio, but I've had to use a new laptop and it doesn't have this installed. Unfortunately, when I go to the downloads page I can only see v1.4.1 of MEMS Studio and it's forcing me to upgrade the firmware, which I don't want to do as all our testing & benchmarking has been based on a specific configuration.Does anyone have, or can you point me to, the older version of the application? ST don't seem to have an archive of older builds anywhere and their support team has been unable to help.Thanks,Simon
Hi, Please forgive my ignorance in advance.I have been asked to acquire the equivalent of the hardware show in the attached photographs (both items).I am hoping that someone in the community can point me at the relevant product in on this website. I don’t have experience of what the product is used for to be able to make a proper judgement myself.I suspect the one that I have is old and has been replaced with a newer model, hence my inability to find a direct match in the product pages.Any assistance would be much appreciated.Thank you for your time.
Hi I recently started using CubeMX2 and my board is the Nucleo-C542RC. The issue is: I'm trying to use a timer interrupt, but the IRQ Handler doesn't seem to trigger when using the IAR toolchain. (The timer value itself increases normally when I use 'get Value', so the timer peripheral is working). However, it works perfectly when I use CMake. Are there any additional settings I should check in the configuration? Here’s my Main and Timer code : Main :/** ****************************************************************************** * file : main.c * brief : Main program body * Calls target system initialization then loop in main. ****************************************************************************** * * Copyright (c) 2025 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 th
Hi everyone,I am working on an STM32U5G7VJTx project where I am trying to capture analog composite video using a TW9912 video decoder and display it on an RGB TFT using LTDC. Hardware* MCU: STM32U5G7VJTx* Video Decoder: TW9912* Input: Composite Video (NTSC)* Display: RGB TFT driven by LTDC* Interface between TW9912 and STM32: 8-bit BT.656 with Embedded Sync Software FlowMy current flow is:TW9912 (configured through I2C)→ DCMI (Embedded Sync / BT.656)→ GPDMA→ SRAM buffer (YCbCr422)→ CPU converts YCbCr422 to RGB565→ LTDC framebuffer→ TFT display Current ProblemThe TFT powers up correctly.Most of the time the display is completely green.Sometimes I briefly see something that resembles the camera image but in black and white sometime or in the random colour, but it is heavily distorted and not recognizable. What I Have Already Checked* TW9912 is configured for BT.656 output with embedded synchronization.* DCMI is configured in Embedded Sync mode.* The Embedded Sync codes were updated from
I'm facing a very strange issue on my custom hardware based on the STM32N6 when trying to run my application using the Run configuration in STM32CubeIDE. My setup consists of a secure-only application with an FSBL and a separate application. The project is generated with STM32CubeMX, built in STM32CubeIDE, and uses TouchGFX. The build completes successfully. Debugging the application works perfectly, and I don't encounter any issues. However, as soon as I try to launch the exact same application using the Run configuration, it stops working. Both the Run and Debug configurations use the same build and the same ".launch" settings. The behavior is as follows: 1. I power-cycle the board while it is in development mode.2. I start the application using the Run configuration.3. The application does not produce any output on the display.4. After a few seconds, the watchdog expires, the board resets, and it ends up in a boot failure state. Interestingly, if I instead: 1. Power-cycle the board.
Hello, I’m writing in regards to a project that I am doing that involves a STM32G474RGT being used to control a synchronous buck converter. In this set up I plan to use Peak Current Mode Control, which I found was supported by Biricha’s WDS software. As a result I configured my HRTimers and ADC and Comparators like the guides that I found online, mainly the step by step setup on the Biricha Youtube Channel. However, upon opening up the software, I noticed that the circuit tab for the buck setup would only show up as an asynchronous buck, using a diode instead of 2 N-Channel mosfets. Is there anyway to configure the software to use a synchronous buck topology? Brian
This project tests the STM32C5's XSPI capability to drive QSPI display using the NUCLEO-C5A3ZG M.2/SerialMem connector. GitHub - stm32-hotspot/STM32C5-M2-Serial-Mem-QSPI-Display · GitHub
I use H563 and G491 MCUs. There is HAL_ADCEx_Calibration_Start() on both MCUs to calibrate for single or differential ended inputs. If I have mixed single and differential ended inputs on the same ADC, which do I use? Single or differential?
There does not seem to be any way of viewing a debug variable in hex.The closest workaround is to prefix (void*) before the expression in the watch window. This is no good for viewing an array of hex digits like for example a CAN bus message.
Hello,I would like to report what appears to be a code generation issue in STM32CubeMX 6.16.1.My configuration is:MCU: STM32H7R3 STM32CubeMX: 6.16.1 STM32Cube FW_H7RS: 1.3.0 SAI2 Block A configured as Master TX SAI2 Block B configured as Synchronous RX GPDMA channels 10 and 11 configured in Standard Request Mode and Circular Mode The generated HAL code internally creates a linked list with a single node for each DMA channel. In the generated sai.c file I get:DMA_NodeTypeDef Node_GPDMA1_Channel11;DMA_NodeTypeDef Node_GPDMA1_Channel10;However, these DMA node structures are not placed in a non-cacheable memory region.If I instead use the LinkedList Utility and configure the channels in Linked List Mode, CubeMX generates:DMA_NodeTypeDef Node_SAI2_A __attribute__((section("noncacheable_buffer")));DMA_NodeTypeDef Node_SAI2_B __attribute__((section("noncacheable_buffer")));The "noncacheable_buffer" section is defined in the linker script in a memory region accessible by the GPDMA and I confi
Struggling with a really weird issue here. I'm working on a project using Zephyr on an STM32U5A5ZJT6Q. We are using an LSE-clocked LPTIM as the tick source, PM enabled with STOP0 and STOP1 modes.At some point, we started noticing random crashes, which seemed to occur sporadically, more often on some boards than others. These would usually be in the `idle` zephyr thread, specifically after a `wfi` instruction. Digging around, I found some errata (specifically 2.2.26 for STM32U575xx STM32U585xx, related to flash prefetch, and now also 2.2.6 for STM32U59xxx STM32U5Axxx, related to wake-up from stop mode). HardFault on wake-up from Stop mode may occur in debug modeDescriptionA HardFault may occur at wake-up from Stop mode when the following conditions are met:• Device is in debug mode.• DBG_STOP bit is set in DBGMCU_CR.• A wake-up event/interrupt from an SRD peripheral (except EXTI) occurs in a timing window of four clockcycles during Stop mode entry sequence. SRD peripherals are
Hiya.I’m currently trying to capture an image from the OV7670 camera module over DCMI + GPDMA. I’ve been able to capture images, but I’ve run into an odd issue with vertical blanking. Using the STM32U575RIT3. I have the module configured for RGB565 in QVGA and I can fully confirm that it is outputting what it is meant to, the issue is just with GPDMA and getting it into memory.In GPDMA=Standard Request, I only get ¾ of the image, with the first ¼ being blanked. Sample image in GPDMA Standard RequestIn Linked List mode, I can only seem to get up to ½ of the image. I get ¼ with a single node, ½ with two nodes, but no more when introducing more nodes.Sample image in GPDMA Linked List ModeI can confirm that the GPDMA_CxDAR register shows that it has indexed by an entire image and reached the FrameEvent callback in StandardRequest Mode. In LinkedList mode, it seems to just lost the second half of the image as I do not get the callback and the DAR register records an increment of half the im
Hi, I’m really liking the STM32CubeIDE Extension for VSCode. Definitely a huge leap forward.One of the few things that I miss from STM32CubeIDE based on Eclipse (the “old” one) is the variable Watch (not live watch, regular watch) speed. It seems significantly slower on VSCode. I deal with a lot of multidimensional matrices so it’s very noticeable for me. Additionally, I know I can run some preRunCommands to set the watch variables to hex. But I cannot seem to figure out how to change them to binary or back to decimal while I’m debugging. This is a feature I use a lot since I deal with mixed formats in my projects. Any help is much appreciatedThanks
Hi,I found the new c562 chip and for that I needed to install the latest IDE, v2.1.1I am running Debian linux (testing) kernel 7.0.10 on an AMD cpu with nvidia, driver 595.80When I installed IDE 1.19 it installed mx1 automagically if I am correct, now with 2.1.1 mx1 or mx2 is no longer automagically installed anymore. Trying to install mx1 from the command line throws an error that I do not have JRE 17 installed even though versions 17/21/25 are installed.rth@castle:~$ uname -aLinux castle 7.0.10+deb14-amd64 #1 SMP PREEMPT_DYNAMIC Debian 7.0.10-1 (2026-05-27) x86_64 GNU/Linuxrth@castle:~$ java --versionopenjdk 25.0.3 2026-04-21OpenJDK Runtime Environment (build 25.0.3+9-2-Debian)OpenJDK 64-Bit Server VM (build 25.0.3+9-2-Debian, mixed mode, sharing)rth@castle:~$ dpkg -l | grep jreii default-jre 2:1.25-77 amd64 Standard Java or Java compatible Runtimeii default-jre-headless 2:1.25-77 am
I want iphone for gaming purpose with gyroscope customisation like 9 axis gyroscope customisation,is it possible?
Hello,We are designing a custom board based on the STM32MP157FAC1 device, which is available in the TFBGA361 package.In the STM32MP157F datasheet (Page 251), the recommended PCB design rules for the TFBGA361 package are provided. Snapshot is attached for your kind reference. However, we are unable to determine the recommended PCB pad size from the information given.Could you please clarify whether the recommended pad size corresponds to Dpad or Dsm, or advise which parameter should be used while designing the PCB footprint?Regards,Prashant
this is my code ADC real value read and calculation part but ADC real value not real when input drvoid process_adc_averages_and_filter(void){for (uint8_t ch = 0; ch < ADC_CHANNELS; ch++){uint32_t sum = 0;for (uint8_t i = 0; i < ADC_SAMPLES; i++){sum += adc_dma_buf[i * ADC_CHANNELS + ch];}adc_avg[ch] = sum / ADC_SAMPLES;// Apply exponential low-pass filter//float alpha = 0.1f; // Filter strength/// adc_filtered[ch] = (1 - alpha) * adc_filtered[ch] + alpha * adc_avg[ch];// adc_hist[ch] = (adc_hist[ch] * 31 + adc_avg[ch]) / 32;// adc_filtered[ch] = adc_hist[ch];// Fast stable filter// single smooth filter// adc_filtered[ch] = (adc_filtered[ch] * 0.95f) +/// (adc_avg[ch] * 0.05f);adc_filtered[ch] = (adc_filtered[ch] * 31 + adc_avg[ch])/32;}vfb_adc_fixed = (adc_filtered[3] + 2) / 5 * 5;Vref = 160.0f + (adc_filtered[1] * 100.0f / 4095.0f);Gain = 0.5f + (adc_filtered[2] * 30.5f / 4095.0f);Adjust = 0.5f + (adc_filtered[0] * 4.5f / 4095.0f);int32_t difference = (int32_t)vfb_adc_fixed - (i
Hi everyone,I am working on the STM32MP257DAI3 and using the SAI peripheral on the M33 core with an ADAU1772 audio codec.On the STM32MP157, the DMA configuration provides a Circular DMA option, which is useful for continuous audio streaming. However, on the STM32MP257DAI3, I cannot find an equivalent Circular DMA option in STM32CubeMX or the generated configuration.I would like to implement continuous audio transmit/receive for the SAI interface, similar to the circular DMA operation available on STM32MP157.Could anyone clarify the following?Is the traditional Circular DMA mode no longer available on STM32MP257? Does STM32MP257 use GPDMA Linked-List mode instead of the legacy circular DMA? If so, what is the recommended configuration for continuous SAI audio streaming on the M33 core? Are there any additional configurations required (such as queue, node, circular linked-list, cache settings, etc.) to achieve uninterrupted audio transfer with the ADAU1772 codec?If anyone has a working e
Hi,hope you doing good.We are currently using NUCLEO-L412RB-P along with X-NUCLEO-60K1A1 for testing. We are attempting to perform USB tunneling with the following sequence: 1.NUCLEO-L412RB-P is connected to X-NUCLEO-60K1A12. X-NUCLEO-60L1A1 part and peripheral lines are connected to NUCLEO-L412RB-P.3.X-NUCLEO-60R1A1 part of board is powered up.4.A pen drive is connected to the X-NUCLEO-60R1A1 part of board. Then started getting logs via UART in the following sequence: 1.RF detected( Once remote part is detected it under goes next state low power until it remains in RF detect state) 2.Low power state 3.Tunneling state 4.RSSI from Local and Host -16db on both side 5.L0 state though we got successful enumeration as per software, host end we got device not recognized pop up once it reaches L0 state. could you please give us resolving for this issue? Thank you
Hello, I was wondering where the installed software packs are stored on the disk? I would like to have a look at the content and the examples, assuming e.g. the HAL pack or the Nucleo board pack contains these examples.
Already have an account? Login
Enter your E-mail address. We'll send you an e-mail with instructions to reset your password.