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 Team, I am using STM32N657X0H3Q, I am planning to integrate external RAM; however, the mentioned standard PSRAM, APS256XXN-OBR-BG, is not readily available on the market, so I chose to upgrade to DRAM, APS512XXN-OB9-BG. Is this upgrade safe? Also, are there any alternatives to MX66UW1G45GXDI00 that can serve as a good NOR flash? Regarding the USB-C connection, I am using a much simpler structure here, where I have left the VBUS Floating(I do not intend to use this USB to drive anything or for power delivery, just using it to communicate with pc and STM32CubeIDE) as shown in the picture below. Can you please let me know if this is a viable USB connection and if it's good enough for communication with STM32CUBEIDE ? Thanking You
I discovered this issue while trying to program the Riverdi SM-RVT50HQSNWC01 using the STM32UG59. I spent days trying to figure out why the Riverdi demo in TouchGFX 4.26.1 was failing to program the external flash. It always failed when trying to erase external flash. This was with Programmer version 2.23.0. Even with the GUI version, I found that after connecting to the board, the first read of external flash would fail. Sometimes immediately, sometimes after a minute or so. I discovered that the second read performed immediately after the failure would work. Once I suffered through the first failure, I was able to read and program the external flash with no problem. I was ready to give up on the Riverdi board when I decided to try a different system. On this second system, I was able to create a demo from the Riverdi template, built it and program the board from TouchGFX 4.26.1. Same version as the failing system. I then noticed that the STM32CubeProgrammer on the second s
I made a project using CubeMX and imported it to CubeIDE. When I clicked Run → Debug, following message appeared, “The selection cannot be launched, and there are no recent launches.” I used CubeIDE version 1 before, and I could debug a program. What is wrong?
Hi ,I am using STM32H573VIT3Q MCU, I need USB so i am using internal PHY. I configured all in cubeMx all other things are working well only problem is with USB. I have tried both Host and Device modes but nothing works. Then i created a test project only for USB in device mode, I have connected the logic analyser on USB pins to see the data , but no single pulse is there if i plug/ unplug the usb cable to PC. I have attached this full project as well for your reference. I have tried GPIO toggle to confirm all connection are ok and well soldered. Here is my circuit diagram of MCU.I have also attached my IOC files. Please help me to solve this error. Thanks
OK, thank you it is so easy to omit.Could you please help me with another issue on usbx: Default value for “CoreStack Device/Host” is “enable” but there is warning in red: The component “USBX/CoreSystem” must be selected alongside either “USBX/UX Host CoreStack” or “USBX/UX Device CoreStack” Core Sytem is selected as you can see. Or is it referencing to some other component?
Hello , While configuring the I2S1 why i cant find its reference on the GPDMA1? Is it not available for DMA transfers?All other peripherals are available ( like uart,SPI,I2C but not I2S).Here is the snapshot.Regards,D
I'm using a Macbook Air M5. I downloaded the STM32CubeIDE 2.2.0 macOS (Apple Native) version to my computer. After importing my projects, I tried to debug. It connects to the ST-Link and performs the necessary operations. Then, when debugging is ready, I start the debug and get this error: GdbSession, Lost target connection, Exiting... GdbSession, Lost target connection, Exiting... I checked the permissions on my Mac and updated the STM Link version. Also, when I install the Mac (Apple Native) version of STM32CubeProgrammer, I can program the same board using the ST-Link. The port is visible. And interestingly, when I open the same project on my Windows computer, I can debug it without any problems using the same ST-Link.Any advice on how to resolve this issue so I can debug directly from STM32CubeIDE would be greatly appreciated!Thanks in advance for your help.Best regards,
Hi,I'm bringing up a USB MSC device on an STM32U385CGT6 with the USBX middleware in standalone mode. Everything comes from CubeMX 6.18.0 with STM32Cube FW_U3 V1.4.0 (USBX 6.4.0): USB_DRD_FS in device mode, USBX Core System + UX Device CoreStack + UX Device Controller + UX Device MSC.While comparing the generated code and some example applications (NUCLEO-U385RG-Q Ux_Device_HID_Standalone) it looks there is a regression in the generated HAL_PCD_MspInit. While the version from the example application enables Vdd USB, this is missing from the currently generated version of HAL_PCD_MspInit causing the peripheral to remain powered down. As a fix HAL_PWREx_EnableVddUSB(); can be called in the user code section at the bottom of HAL_PCD_MspInit. Best Regards, Cecil
I am following these steps :- Create STM32 ProjectFile → New → STM32 ProjectSelect STM32L476RGTx (LQFP64) MCU/board → Next → FinishOpen the .ioc fileConfigure LED1In Pinout & Configuration, Set PA2 to GPIO_Output, then click on project → generate code ( The ‘main.c’ file is not generate for given MCU and also for other MCU for similar steps code is not generating).
I Can't Connect to X-Nucleo-53L5A1 board & Nucleo-L476RG in order to run the "VL53L5CX GUI Software" Firmware and driver installed properly according to the manual, but can not get it to connect.Do I have to use the STM32-F401RE board to get the software to connect?
Hello everyone,I am trying to download and run my application firmware into internal SRAM of STM32F407, but it does not execute as expected.Here is what I have done:1. I built my project with Keil MDK‑ARM, configured the scatter‑linker script to place all code and data into SRAM region (0x20000000).2. I generated the .bin firmware file.3. Using STM32CubeProgrammer, I downloaded this bin file to SRAM address 0x20000000. Memory window verification shows the binary content is correctly written into SRAM.4. I used the "Run after programming" option in STM32CubeProgrammer, or performed a software reset after downloading.Symptom:The tool reports download completes. However, my application is not actually running.When I check the Cortex‑M4 core registers in STM32CubeProgrammer:VTOR register shows value 0x1FFF0000, which points to ST‑system boot ROM, not my SRAM address 0x20000000. The CPU stays in the system bootloader, it never jumps to my SRAM‑located application.I understand from the refer
I have the X-NUCLEO-53L9A1 board and NUCLEO.H563ZI. I load the binary provided by ST (53L9A1_PostprocessSingle.bin) and I attach what I get in the serial terminal. I was expecting different data, like a distance value array that I could draw as bitmaps. How is this supposed to work?
Hi, I got a black pill. It says everywhere that to enter DFU mode, you have to keep pressing BOOT0, then press and release RST, then release BOOT0. But every time I do this, Cube IDE says ST-Link is not in the DFU mode, please restart it.
During the SMT process, air may get blown into the pressure port from the pick-and-place nozzle, will the sensor inside be damaged?
I purchased X-NUCLEO-53L9A1 with NUCLEO-H563ZI as it was recommended by ST. I just want to load the binary and see a simple ranging output value array. The binary provided didn´t work. Now it seams like they recommend Nucleo N657X0. Could please someone clarify what board should I use so that there is a working binary provided?
Hello ST Community,I am facing a critical issue while configuring OEMiRoT on an STM32H523 device. I used the official provisioning project from the NUCLEO-H533RE example in STM32Cube_FW_H5_V1.7.0 (since there is no dedicated H523 example). I need help recovering the device.Background: I‘ve modified the <DoEncryption> value to 0 according to ‘How to create ROT examples for STM32H5’. I ran the provisioning project (from the NUCLEO-H533RE example) to configure OEMiRoT on the target STM32H523 device. During provisioning, the configuration failed and the product state became Provisioned. After that, the device could no longer be connected via ST-LINK SWD. DA also failed. Then I regenerated a new Key file to confirm if there was any problem during the configuration process. I still have the private key file key_1_root.pem . But the public key file key_1_root_pub.pem and certificate file cert_root.cert have been overwritten. So I tried the method provided by the AI assistant to
Hello ST Community,I am working with the STM32N6570-DK and running a custom-trained ST YOLOX Nano object detection model using the STM32N6 Getting Started Object Detection application.My custom model has 5 classes.The model is successfully generated and integrated into the STM32N6570-DK object detection project. The application starts correctly, the camera/display starts running, and I can see a few frames initially.However, after processing a few frames, the display freezes/stops updating. The board itself does not appear to continue normal inference after this point.I also noticed an unexpected LED indication on the board. This LED was not active when I previously ran the standard/reference object detection model. I have attached photos of the front and back of the STM32N6570-DK showing the LED state. My setup is:Board: STM32N6570-DK Application: STM32N6 Getting Started Object Detection Model: Custom ST YOLOX Nano Input: 480 x 480 x 3 Number of classes: 5 Camera: ST camera module con
Dear STM32 Advisor, I'll design a system based on Nucleo 64 H533RE. The system will act as USB CDC and USB HID Keyboard at the same time. The idea is when the CDC receive a character, here for example "F" then the Nucleo H533RE will output a high going pulse. And, if the Nucleo H533RE receive falling pulse external interrupt, the the Nucleo H533RE will press the F8 key. As a beginner on STM32, is it possible? Thanks and regards, Fuad Purnomo.
I have a question regarding your company’s NUCLEO-H753ZI model.I evaluated two boards of this model (let’s call them a and b), and observed the following phenomenon exclusively on ADC channel 2 of board a. [Phenomenon]When we applied various input voltages and measured the output, we found that the output dropped by approximately 800 LSB (equivalent to about 0.04 V) within the input voltage ranges of 0.825–1.65 V and 2.475–3.3 V (1/4–2/4 and 3/4–4/4 of full scale).*The input voltage conditions (accuracy, ripple) were identical across all boards and channels. [Board Information]ADC Channel 2 Assignment: PA3Resolution: 16-bit modeSampling Time: 16.5 cyclesSampling Frequency: 250 kHz (timer-triggered) Since this phenomenon is not observed on other boards or channels, we suspect that some kind of malfunction is occurring. Based on the symptoms, we also suspect a failure within the successive approximation ADC. If you know the cause of this phenomenon, please let us know.Also, if there are
Moving the motor in small steps how to avoid phantom steps, I notice for example the the stepper moves 50 times 10 steps, moves 15 to 25 more steps, could you describe how to stop when a motion is completed.ATT
Hello ST Community,We are working with the STM32N657X0H3Q controller and interfacing an S80KS5123GABHB020 HyperRAM using the XSPI1 (Octal SPI) interface. The external HyperRAM is intended to be used as the LTDC frame buffer.We have configured the HyperRAM in memory-mapped mode, and according to our configuration, it should be accessible at the address 0x90000000.However, we are unable to access this memory region. Any read or write operation to 0x90000000 fails. For initial testing, we have configured the XSPI clock to 2 MHz.Our setup is based on the STM32N657-DK board example, and we have followed the same memory-mapped configuration.Could you please let us know if any additional configuration is required to access the HyperRAM at 0x90000000? Specifically, we would like to know:Are there any additional XSPI configurations required for memory-mapped mode? Does the MPU or cache need to be configured for this external memory region? Are there any system, clock, or pin configurations that
OverviewThe STM32C542 & SENSOR is an evaluation kit based on the STM32C5 series microcontroller. Built on ST's 40 nm process technology, the STM32C5 offers faster Flash access, higher performance, and lower power consumption.The board also features a rich set of peripherals and interfaces, including dedicated connectors for the ST MEMS sensor (SENSOR) series, providing developers with a convenient and flexible platform for rapid prototyping and application development.In this tutorial, we will perform a simple LED blinking test by configuring a GPIO pin as an output.Hardware PreparationFirst, prepare an STM32C542 development board. In this tutorial, I will use a custom-designed development board. If you are interested in using the same board, feel free to contact me for samples.Main MCU: STM32C542CCT6Reference ProjectThe complete project source code is available on GitHub :GitHub: https://github.com/CoreMaker-lab/STM32C542_SENSOR Creating a Project with STM32CubeMX 2This tutorial u
OverviewIn practical project development and mass-production maintenance, in addition to using ST-LINK for programming, firmware updates are often performed through interfaces such as USART, USB DFU, SPI, or FDCAN. In these cases, the MCU must first enter the factory-programmed System Memory Bootloader before the Flash memory can be programmed through these interfaces. For the STM32C5 series, whether the external BOOT0 pin is used to enter the Bootloader is closely related to the BOOT_SEL setting in the Option Bytes.Simply put, BOOT_SEL is used to select the source of the BOOT0 signal. When BOOT_SEL enables the external BOOT0 pin, the MCU can enter the System Memory Bootloader by pulling BOOT0 high and resetting the device. When BOOT_SEL selects the internal Option Bit, the boot mode is determined by the BOOT0 configuration in the Option Bytes. Therefore, understanding the relationship between BOOT_SEL, the BOOT0 pin, and the System Memory Bootloader is important for subsequent firmwar
OverviewTimers are among the most commonly used peripherals in an MCU. They can be used for periodic timing, PWM generation, input capture, output compare, motor control, and many other applications.This tutorial is based on the STM32C542CCT6. It uses STM32CubeMX2 to configure TIM1 and demonstrates how to modify the prescaler (PSC) and auto-reload register (ARR) using the built-in HAL2 functions, thereby changing the timer output frequency. It also introduces the basic usage of multi-channel PWM output. Hardware PreparationFirst, prepare a development board. In this tutorial, I use a custom-designed development board. If you are interested in obtaining one, you can apply for a sample.The main controller is the STM32C542CCT6. Reference ProjectThe reference project is available on GitHub:https://github.com/CoreMaker-lab/STM32C542_SENSOR Creating a Project with STM32CubeMX2Use STM32CubeMX2 to generate the example project. The MCU used in this tutorial is the STM32C542CCT6. Open STM32Cub
OverviewIn the previous experiment, TIM1 was used to generate PWM output, and the PWM frequency and duty cycle were controlled by modifying the PSC, ARR, and CCR values.Building on that experiment, this article uses the TIM15 input capture function to measure the PWM signal generated by TIM1, thereby detecting its frequency and duty cycle. Hardware PreparationFirst, prepare a development board. In this tutorial, I use a custom-designed development board. If you are interested in obtaining one, you can apply for a sample.The main controller is the STM32C542CCT6. Reference ProjectThe reference project is available on GitHub:https://github.com/CoreMaker-lab/STM32C542_SENSOR UART ConfigurationRefer to the schematic and note that PA9 and PA10 are connected to the UART interface on the development board. In the Peripherals panel, navigate to Connectivity → USART1. Set Mode to Async to configure USART1 for asynchronous communication. Verify that Function used by the component is d
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.