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
Hello, Using STM32F4 USB USB_OTG_HS, PCD_SPEED_FULL for USB Device CDC we are transmitting data to Host.After some minutes the transmission gets stuck. Although the TXFE IRQ is received, no XFRC IRQ happens and consequently TX state is not set back to 0. The DTXFSTS counter stays on 0x40 (empty is 0x80).The USB trace looks normal. When the problem occurs the peripheral answers all IN Transactions with a NAK.Why does the peripheral not transmit the data but does NAK instead?The problem is seen with different types of Hosts (PC or other embedded devices).Attached Log Output and Screenshot of the Trace.HAL 2.4.2 us used. The TxState fix was applied (Enable/Disable IRQ moved to USBD_CDC_TransmitPacket)Many thanks for any help.
For our product we use sliders to set parameters in our software. Some parameters effect the range of others at runtime. Sometimes the allowable range of the values is limited to a single value. In such a case min equals max. This leads to an assert error in the simulator and undocumented behavior on the target.We would like to see support for min=max. One way to implement it is to show the Indicator Image in the center (or left), disable sliding, and set the value=min=max. This would simplify our firmware since we wouldn't need to handle it as a special case.I also added the tag bug-report since undefined behavior on the target is unacceptable.
Hi@all Curently i was using STM32F407VGTX but i found that there is no support of snmpv3 on this board so i decided to go for stm32H753ZI. Kindly please suggest that does this board supports snmpv3 or not and if not please suggest me the board that supports snmpv3 i want to deploy in my products
Environment:Tool: STM32Cube.AI Studio (Windows Desktop)MCU: STM32N647 (Flashless)Board: Custom board (Non-ST DK/Nucleo)Issue: The Memory Pool option is locked to "Auto" and cannot be switched to "Manual" in the GUI. Since STM32N647 has no internal Flash, the default "Auto" mode triggers a Memory Overflow error as it attempts to place weights in non-existent Flash.Question: I have already prepared a custom mpool and Jason file. How can I explicitly point the Studio to use this JSON file via the GUI? I've checked the Wiki but couldn't find the specific input field...
Hello, I am experiencing an I²C communication issue between my MPU6050 sensor and an STM32F429I-DISC1 board. The sensor is properly powered at 3.3 V, and I have already verified its operation with an ESP32 board (communication is successful). However, with the STM32, no communication is established. Actions performed: Configured I²C1 on the STM32 (tested in fast mode at 400 kHz and standard mode at 100 kHz) Verified the MPU6050 address (default 0x68, AD0 pin connected to GND) External pull-ups: tested with and without 4.7 kΩ resistors on SCL and SDA Checked physical connections (SCL to PB6, SDA to PB7 for I²C1 on the board) Configured the LCD screen Observed behavior: The I²C scan does not detect any address Blocking point: The same sensor, using the same basic I²C code, works perfectly on the ESP32. Therefore, the sensor is not the cause. The issue appears to be related to the I²C configuration on the STM32 or a hardware detail. Question: Has anyone encountered this behavior with
Hello,I currently need to transfer ADC data from a nucleo-n657x0Q to a PC. I've configured the stm32n6 using ST's example on GitHub, but I still don't know how to use the `ux_device_class_cdc_acm_write` function to transfer the data.Can anyone guide me on how to transfer data using this USB HS?
Hi,This is my first time using an STM32N6 without internal flash, and since I am right before handing over files for artwork, I would appreciate it if you could check if the power lines and XSPI memory connections are correct.I have searched around a lot, but since it is my first time, I feel a bit nervous, so please let me know if everything is correct.>I looked it up and found that to boot via Nor-Flash (quad), I need to connect XSPI1 to XSPIM_P2. Also, since I try to connect the 16-bit PRAM in DTR without DQS mode, I connected it as XSPI2->XSPIM_P1. Is this correct? I really need to BOOT via Nor-Flash and use PRAM after that. (swapped mode? in CubeMX)>This is the power line. It operates at 1.8V, and an STM employee told me to connect all CSI/USB lines to ground if I am not using CSI/USB. Is this the correct way like this all? I won't be able to fix it if the power section is wrong, so I would really appreciate it if you could let me know.
Hello ST Community, I am currently evaluating an architecture based on STM32H7 series MCUs (STM32H743 / STM32H7A3) and would appreciate guidance on external memory scalability and best practices. Target Architecture Bootloader in internal Flash Main application stored and executed from external OctoSPI NOR Flash (XIP mode, memory-mapped at 0x90000000) External RAM for buffering (TCP/IP, DLMS stack, application data) Planned External Memory External NOR Flash via OctoSPI (large size, potentially >512 Mbit) External RAM target: ~256 MB (initial requirement) Key Questions 1. XIP Execution from OctoSPI NOR Is full application execution from OctoSPI NOR considered reliable for production systems? What are the recommended: MPU settings for external flash (cacheable, bufferable, execution attributes)? I-Cache / D-Cache configuration? Are there known limitations regarding branch-heavy code or interrupt latency when executing from external flash? 2. External SDRAM via FMC What is t
Hello Community, I am working on an STM32N657X0H3Q project and have successfully configured both USBX and X-CUBE-FREERTOS (v1.4.0) within the same Application runtime context using CubeMX. My goal is to implement a USB CDC Composite device. Since USBX traditionally relies on Azure RTOS (ThreadX) for its RTOS primitives, I am seeking the recommended best practice for running USBX on a FreeRTOS-based system. Should I configure USBX in standalone mode? If running USBX in Standalone mode, what is the best way to handle thread safety when accessing the USB CDC interface from multiple FreeRTOS tasks? Are there any known issues using the USBX Composite Builder when the underlying kernel is FreeRTOS instead of ThreadX?
Subject: STM32H503 – ADC trigger shifting from OFF midpoint at duty > 50% in center-aligned complementary PWMHi all,I am working on a DC-DC converter using the STM32H503RBT6. I have configured TIM1 to generate:Two complementary PWM pairs180° phase shift between the two PWM channelsCenter-aligned mode 1Additionally, I am generating:Two ADC trigger events (using TRGO/TRGO2)These triggers are also intended to be 180° phase-shiftedTrigger frequency is the same as the PWM frequency:direct_hit: RequirementFor both PWM phases, the ADC trigger should occur:At the midpoint of the OFF time of the high-side (top) switchThis is required for accurate current sensing.:gear: Current ImplementationTimer: TIM1 in center-aligned modeComplementary PWM enabledInterleaving achieved using PWM mode 1 and PWM mode 2Two trigger sources:One near CNT = 0One near CNT = ARRADC is triggered using TIM1 TRGO and TRGO2:exclamation_mark: ProblemFor duty cycle up to 50%, both triggers correctly occur at the midpoint
Hi, I am working on STM32MP257F-EV1 Evaluation Board. I want to use shared memory (like DDR) between M33 and A35 cores. M33 should write data samples collected form peripherals in shared memory array and A35 should read this memory array to process it further. How to achieve this?
Working on STEVAL-SPIN3201 board and need help in expected low-speed torque performance using Field-Oriented Control (FOC).System Configuration:Motor Driver Board: STEVAL-SPIN3201Motor: 3-phase BLDC (Rated torque=0.25Nm)Position Feedback: Hall sensorsObserved BehaviorDuring testing, I observed that the motor struggles to start at lower commanded speeds when a load is applied.Load: 0.05Nm1000–1500 rpm: Motor struggles to start.2000 rpm: Motor starts reliably.Load: 0.1 Nm1000 rpm: Motor does not start.1500–2000 rpm: Motor struggles to start.3000 rpm: Motor starts reliably. Whether this behavior is expected and advise on any key parameters (e.g., startup current, Hall alignment, or rev-up settings) that should be optimized?Is there any startup current limitation in STEVAL-SPIN3201 firmware?FOC should provide high torque at low speeds, including during startup. However, the current behavior suggests that the available starting tor
Hello,I am currently developing a presence detection system using the STHS34PF80 sensor. My goal is to detect a person at a distance of approximately 2.5 meters.I am experiencing an issue regarding stationary subjects. While the sensor successfully detects a person entering the Field of View (FoV) at 2.5m, the TPRESENCE signal (read from TPRESENCE_L and TPRESENCE_H) gradually decreases over time if the person remains completely still. Eventually, the value falls below the threshold, and the sensor no longer reports "Presence."Please refer to the attached graph below.
Hi, You know, there are some strict requirements about MCU used in optical module or production, which include1. Size and package2. Internal resource3. IO amount, especially ADC and DAC with >= 12bit resolution which be used to monitor signal and control4. Power efficiencyCould you please recommend latest ST MCU which are used widely in ultra high-speed optical module such as OSFP and NPO? or, share me roadmap about ST MCU series used in optical production? Thanks in advance!Best regards!Jason
I have this Riverdi board with a STM32H757XIH6 microcontroller. I have been using it consistently and loading touchgfx programs on it. Today I was trying to use the 40 pin header and program one of the gpio pins on it to act as a gpio output. I put an led on a ground and the PA4 pin, which was the pin I was using on the 40 pin header, to verify the toggling code was working. Nothing happened and so I tried to load a basic program onto the board using stmcubeMX and selecting the STM32H757XIH6 microcontroller. I selected the PA4 pin on the .ioc file and generated the code. However, when trying to run the program I get this error, . Not sure if it was that program or touching the multi meter to certain pins that cause a hard fault or something. I would not think a multi meter could do anything like that, but I'm trying to figure out why all of a sudden I am unable to upload a program to the board when I have been consistently. 
Software Versions: - STM32CubeMX: 6.15.0 - MCU: STM32G474QET6 - Firmware Package: STM32G4xx HAL Library V1.6.1 Bug Description: CubeMX 6.15.0 generates incorrect HRTIM deadtime prescaler macro definitions. These macros do NOT match the register bit definitions described in the STM32G4 reference manual (RM0440). This is a code generation bug in CubeMX, not a HAL library issue. Old Correct Macros (Previous Version): #define HRTIM_TIMDEADTIME_PRESCALERRATIO_MUL8 (0x00000000U) #define HRTIM_TIMDEADTIME_PRESCALERRATIO_MUL4 (HRTIM_DTR_DTPRSC_0) #define HRTIM_TIMDEADTIME_PRESCALERRATIO_MUL2 (HRTIM_DTR_DTPRSC_1) #define HRTIM_TIMDEADTIME_PRESCALERRATIO_DIV1 (HRTIM_DTR_DTPRSC_1 | HRTIM_DTR_DTPRSC_0) #define HRTIM_TIMDEADTIME_PRESCALERRATIO_DIV2 (HRTIM_DTR_DTPRSC_2) #define HRTIM_TIMDEADTIME_PRESCALERRATIO_DIV4 (HRTIM_DTR_DTPRSC_2 | HRTIM_DTR_DTPRSC_0) #define HRTIM_TIMDEADTIME_PRESCALERRATIO_DIV8 (HRTIM_DTR_DTPRSC_2 | HRTIM_DTR_DTPRSC_1) #define HRTIM_TIMDEADTIME_PRESCALERRATIO_DIV16 (HRT
..
Hi. I have a request. Is it possible to compile STM32CubeProg for arm linux?Right now it is possible to compile firmware for stm32 on arm linux using the stm32duino toolchain from ST.However, the STM32CubeProg is only available on intel linux. This means we can compile firmware on an arm system such as Raspberry Pi 4, but there is no official tool to upload the firmware.Note I'm not asking for the whole STM32Cube IDE - just the STM32CubeProg cli would be sufficient.
Hello, I have managed to use stm32flash to flash custom binary to the STM32 through the raspberry pi.This involves moving BOOT0 to 0V, pressing reset and running the command.I can also include -R to software reset the STM32 after this is finished.I then decided to try using a GPIO from the PI to change BOOT0 from 3.3v to 0V and this also works but I still have to manually press the reset button on the bluepillI have read the following but finding it a little hard to understandGPIO sequence: - entry sequence: GPIO_3=low, GPIO_2=low, GPIO_2=high - exit sequence: GPIO_3=high, GPIO_2=low, GPIO_2=high stm32flash -R -i -3,-2,2:3,-2,2 /dev/ttyS0Are these GPIO pins from the Pi or from the STM32?How do I connect this?I thought about applying 0V to the reset pin on the STM32 but I see a capacitor is used and this is further confusing.The reason I need this is for firmware updates to the STM32 and flashing new sketches through the Pi without the need for user input or manual pressing of the reset
STM32CubeProgrammer has a C++ API which allow to create program compiled using qt creator. Is it possible to compile for linux os and run in rasperry os which is debian based?
We want to use the Sensor TileBox pro to measure temp pressure and acceleration in structures. We have been using some of your boards the MKI versions and they will run at a maximum of 1400 time steps per second when configured for about 2000. I have the tilebox pro exporting on the USB and picking it up with a new C# program. See below. It is reading at 18 cycles per second, I need to adjust the freq output, I thought I had a higher rate. it is really easy to use, but I have the Android Program setting 75 from pressure and temp and 480 for acceleration and getting 18 time steps per second. Is this your board's limitation on exporting via the USB cable. Where am I supposed to post this?
I am using STM32H7R7L8H with MX25L12833F external memory. I created a project with has bootloader, application and external memory loader.Before starting this project I opened another to test if I can read/write/erase MX25L12833F. By using XSPI in Quad mode I could do all the operations. Below I shared the configuration: XSPI1: EXTMEM_LOADER: EXTMEM_MANAGER: With this configuration I built the project and it generated external loader. In STM32CubeProgrammer I can read MX25L12833F memory, it can do mass erase too but it can't do sector erase. I created an application hex which is located at 0x90000000 and tried to write this file to external memory by using generated loader. Here is the result: 00:51:51 : Opening and parsing file: Appli.hex 00:51:51 : Memory Programming ... 00:51:51 : File : Appli.hex 00:51:51 : Size : 8.54 KB 00:51:51 : Address &n
Hi everyone,I am working on a custom PCB designed , but I’ve run into a hardware design constraint and would appreciate some architectural advice on the best way forward.The Setup:Main MCU: STM32L476 (Programming via STM32CubeIDE / HAL)Coprocessor/WiFi: ESP32-WROOM (Intended to handle AWS IoT connections)The Constraint: The PCB designer connected the STM32 and ESP32 exclusively via an I2C bus. There are no physical UART traces connecting the two chips.The Original Goal: The initial plan was to use the STM32 to write firmware directly to the ESP32 over UART, or to use a UART software bridge, and then use UART for passing sensor data to the ESP32 for AWS publishing.The Dilemma: Because the ESP32 ROM bootloader requires UART0 (TX0/RX0) for flashing, I realize a software bridge from the STM32 over I2C to flash the ESP32 is physically impossible.My Questions for the Community:The Initial Flash: Aside from tack-soldering temporary wires to the ESP32's TX0/RX0 pins to perform the initial flas
Hello,I am planning to use STM32H562RGT6 in my product to communicate and update my firmware via CAN FD.To plan that, I am using STM32CubeMX 6.17.0, the datasheet and the AN2606 (Rev 70).And I would like to use only one CAN FD to communicate and to update my firmware in this MCU. But it is impossible to do this in STM32CubeMX. I have only access to FDCAN1. And there are no FDCAN2 on the pins.So, is it a problem in STM32CubeMX ? Or should we use FDCAN1 to do firmware updates via FDCAN for this MCU ?PS: it is the same problem with the MCU STM32H562VGT6 (and maybe other similar MCUs)
Already have an account? Login
Enter your E-mail address. We'll send you an e-mail with instructions to reset your password.