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 Team,We are developing custom board using STM32N657X0H3Q MCU. I could not find information regarding GPIO status in datasheet during boot mode, sleep mode, stop mode and standby mode. It will be helpful for us if you can share information with us.Thanks
Hello everyone,I am developing a firmware for an **STM32U5** microcontroller using Azure RTOS (ThreadX / USBX). I am implementing a USB Composite Device with two classes: **CDC** (Virtual COM Port) and **MSC** (Mass Storage Class). The MSC is interfaced with an eMMC using an 8-bit bus for data communication.I am facing a persistent issue that I cannot seem to resolve: the device drops the USB connection after about 5 to 10 minutes of operation. By debugging the code, I noticed that the disconnection is triggered because the device eventually calls the HAL_PCD_DisconnectCallback() function.My main concern (and source of confusion) is that this behavior is highly OS-dependent. For instance, on my dual-boot PC, the device works flawlessly without a single disconnection on **Ubuntu 22.04**, but it consistently crashes/disconnects on **Windows**.### What I see on Windows (Event Viewer)Right before the disconnection occurs, Windows throws several SCSI timeout errors in the Event Viewer. Spec
Hello,I'm trying to start using STM32CubeIDE for VS Code 3.7.0I have tried to follow the instructions to set up an example project via STM32CubeMX and those to setup an empty project.In both cases I end up with an apparently unconfigurable project, seeing just this:Clicking on "Configure" does not result in a change.Just trying to build the project anyway results in CMake telling me that it cannot find the C Compiler. Any hint welcome.Many thanks,Titus
Hi ST,I understand that CubeIDE (clang-based) code-completion cannot coexist with Microsoft C++ IntelliSense. However, it seems that once IntelliSense is disabled (which is presented as the default option), it also stops working for other non-STM32 C++ projects permanently.I wasn’t able to figure out how to re-enable it, disabling Cube IDE extension was not helpful. After about 30 minutes of trying, I ended up reinstalling VS Code- which probably isn’t the best or recommended solution.Moreover, it looks like Cube IDE extension modifies default use settings. Even after disabling Cube IDE extension code colors look much different than originally, and code formatting does not work.What is the proper way to handle this situation? I really would like to use Cube IDE extension but only occasionally.Please do not alter my default VS code settings for C/C++!Thanks,ThomasHere is the message I get trying to format other, non-cubeide project C code after disabling cube ide extension.Here is how c
Dear ST Team,I Need the clarification can I use YT9218MB in place of RTL8211F-CG ,Please recommend me , If we can then we need to use OpenWRT
STM32CubeMX 6.17.0 STM32CubeCLT 1.21.0 which provides GNU Tools for STM32 which provides a toolchain with GCC 14.3 and newlib 4.5.0. STM32CubeH5 1.6.0 (as downloaded by STM32CubeMX) STM32H563 With these tools, you can easily generate a project which uses ThreadX as RTOS and NetX Duo as network stack by point and click in STM32CubeMX. In this case, the project is generated to use CMake and the GCC toolchain. NetX Duo requires some random numbers even for non-cryptography use cases. E.g. this code for allocating a random ephemeral TCP port so that the other endpoint doesn't think an old socket is reused when the MCU restarts for some reason: Middlewares/ST/netxduo/common/src/nx_tcp_client_socket_bind.c: UINT _nx_tcp_client_socket_bind(NX_TCP_SOCKET *socket_ptr, UINT port, ULONG wait_option) { ... /* Determine if the port needs to be allocated. */ if (port == NX_ANY_PORT) { /* Call the find routine to allocate a TCP port. */ port = NX_SEARCH_PORT_START + (UINT)(((
Hello everyone, I am trying to bring up a NetX Duo TCP Server on the STM32H755ZIQ Nucleo board using Azure RTOS ThreadX + NetX Duo, but I keep running into issues during initialization and runtime. Unfortunately, I haven't been able to find any fully working examples for dual-core H7 devices using NetX Duo. Most examples online are either for single-core MCUs or for different boards. Here is what I am trying to achieve: STM32H755 Nucleo board M7 core running ThreadX + NetX Duo Basic TCP server (listening on a port, accepting connections, sending/receiving data) Using STM32CubeMX for configuration LwIP is NOT used — only NetX Duo Ethernet driver: nx_stm32_eth_driver (CubeMX generated). It seems like the current CubeMX-generated NetX Duo code for the STM32H745/H755 series might be incomplete or not fully compatible. My questions: Has anyone successfully created a NetX Duo TCP Server project on the STM32H745/H755 Nucleo boards? Is there an official working example
Hi everyone,I'm currently validating a custom board featuring the STM32MP257 interfacing a single 16-bit DDR4 at 2133MT/s (Point-to-Point topology). I am using the ST-provided Excel tool ("Examples of DDR memory routing on STM32MP2 MPUs") to extract the Die-to-Ball Package Trace Lengths (mm).I’ve run into a few specific SI conflicts regarding the hardware guidelines, primarily driven by my PCB stackup. Due to routing density, my Address/Command (A/C) signals are split across two different layers:L6 (Bottom Layer): Microstrip. Outer solder mask is 0.6mil (Dk 4.85) over a 3.91mil 3313 Prepreg (Dk 4.4). Effective Dk is much lower due to air exposure.L3 (Inner Layer): Stripline. Sandwiched between a Core (Dk 4.6) and Prepreg (Dk 4.5). Effective Dk is approx 4.5.This leads to the following questions:1. Balancing Physical Length (mm) vs. Electrical Delay (ps): The ST guideline dictates an A/C to CLK_P/N equalization of +/- 140 mils (3.55 mm). However, if I strictly match the physical length
Hello dear community!I've migrated from F7 to H7, everything fine so far.To save CPU time I don't want to use HAL for sending two SPI bytes.My F7 transmit SPI code was very simple and perfectly working :SPI6->DR = byte_0; SPI6->DR = byte_1;But on the H7, the same code doesn't work :SPI6->TXDR = byte_0; SPI6->TXDR = byte_1;In both F7 and H7 projects, this is always working (but time-consuming) :HAL_SPI_Transmit(&hspi6, const_cast<uint8_t*>(buffer), 2, 1000);Do you know why bypassing HAL is not possible on the H7 ?Thanks!Jean
Good morning everyone,i am having a problem after i copied the example from the example project folder to another location.i am using STM32CubeIDE 1.5.0. i opened this project C:\Users\Admin11\STM32Cube\Repository\STM32Cube_FW_WB_V1.16.0\Projects\P-NUCLEO-WB55.Nucleo\Applications\BLE_LLD\BLE_LLD_Chat\STM32CubeIDE i build it, ran it, without any issue. the board worked correctly as it should. However, when i copied the said folder "STM32CubeIDE" to my desktop to make some changes according to my requirements, i opened a new instance of IDE, chose a different workspace, chose the project on my desktop C:\Users\Admin11\Desktop\NewFolder\STM32CubeIDEclicked build, i got this error how do i fix it? is there any other way to modify the example code according to my own requirnment without changing the original code in the example? or can i change something to get rid of the error?your help will be appreciated :)Thank you in advance
Hey everyone, I'm having a weird issue with my STM32F4DISCOVERY board (MB997). It was working fine before, but now I can't program it anymore. Board info: Board: STM32F4DISCOVERY Device: STM32F407VGT6 ST-LINK FW: V2J46M33 ST-LINK SN: 0671FF37324D423143244649 Symptoms: STM32CubeProgrammer connects OK (Device ID 0x413 confirmed) Flash erase fails: Error: failed to erase memory sectors [0-2] RDP Option Byte shows 0xFF (corrupted) BOR_LEV = 3 (BOR OFF) Writing RDP from 0xFF to 0xAA fails, always comes back as 0xFF VDD measured at 2.89V What I've tried: Under Reset mode ST-LINK Utility STM32cubeProgrammer Different USB cable ST-LINK firmware update Nothing works. RDP is stuck at 0xFF. Has anyone seen this before? Any suggestions? Thanks in advance!
Hello All,I am working on a custom project using STM32C011J6/SO8.I was trying to use PIN4 as ADC with 3 differents states but once I connect to GND, mcu resets. So now, I have no access to the mcu via Debugger because I set NRST_MODE in Option bytes to : 0x10 only internal RESET is possible.My questions:- Is there a way to recover it knowing that I tested and I can't access system memory.- I am using all the 6 pins (4 ADCs and 2 Outputs). Can I use the PIN4/PA0 as ouput without having reset issues?I know I can still block the reset by Option bytes but I am not sure if I would need a FW change in the future.Thanks,Ayoub
I upgrade my project recently to the above firmware (STM32Cube FW_WL V1.5.0) which ended up not working.Lots of errors, I think mostly because of the introduction of the relay node.After a couple of days trying to get this working I started a fresh project from CubeMX and this did not compile into the STM32WLE5CB. Any idea on what the issue could be?
Hello,STM32CubeMX installer on linux doesn't creating desktop entry file.Thanks in advance.
Hi everyone,I'm currently working on a project involving a stepper motor controlled by an STM32 microcontroller, and I wanted to share a quick overview of how I set it up using STM32CubeMX.Hardware:STM32F103C8T6 (Blue Pill)Stepper Motor (28BYJ-48)Stepper Motor Driver (ULN2003 or A4988)Steps I Followed:STM32CubeMX Configuration:Created a new project for my STM32 board.Enabled GPIO outputs for the control pins connected to the driver.Set up a Timer for delays or PWM (if using A4988).Generated code with HAL libraries.Coding in STM32CubeIDE:Wrote a simple function to send step pulses and direction signals.For A4988, I toggled the STEP pin with a delay and used the DIR pin to control direction.For ULN2003, I used a stepping sequence on 4 GPIO pins.Testing:Got the motor running with basic forward and reverse motion.Planning to implement acceleration profiles and microstepping next.Let me know if anyone needs sample code or has tips on improving the motion control. Also, is anyone using FreeR
Hello,I am working on an STM32F7 project where I need to sample multiple ADC peripherals using DMA triggered by a timer. Problem: No ADC data is being written to ADC_BUF or ADC3_BUF even though main loop runs (buffers ADC_BUF and ADC3_BUF remains zero while counter increases) Current Setup:ADC1: 1 Channel, DMA2 Stream 0, triggered by TIM2 TRGO UPDATE ADC3: 2 Channels, DMA2 Stream 1, triggered by TIM2 CC2 DMA: Circular mode, DMAContinuousRequests enabled TIM2: 10 Hz update event Mode: ContinuousConvMode is Disabled, ScanConvMode is Enabled What do I need to change to fix this? /* USER CODE BEGIN PV */ volatile uint16_t ADC_BUF[ADC_BUF_LEN]; volatile uint16_t ADC3_BUF[ADC_BUF_LEN]; uint16_t counter = 0; /* USER CODE BEGIN PV */ /* USER CODE BEGIN 2 */ HAL_CAN_Start(&hcan1); HAL_ADC_Start_DMA(&hadc1, (uint32_t*)ADC_BUF, ADC_BUF_LEN); HAL_ADC_Start_DMA(&hadc3, (uint32_t*)ADC3_BUF, ADC_BUF_LEN); HAL_TIM_Base_Start(&htim2); /* USER CODE END 2 */ /* USER CODE BEGIN
Dear Team,I have a board contain STM32WBA5MMG and AD5941. We have provided a single RESET for both the chips.The circuit is given below.May Iknow will this cause any issues. RegardsHiyo
When I followed the link https://wiki.st.com/stm32mcu/wiki/Connectivity:STM32_Sniffer_for_BLE_Setup_guide,I successfully make Neclueo-WB55 be sniffer device while STM32WB sniffer displayed in the wireshark startup page,meanswhile I really capture the BLE advertise packets like this screenshot 1, But come problems,it only capture advertise packet as title said,connection packet like GAP parameters update or CONN_REQ all cannot be captured,how I should do to solve this problem like screenshot 2,
Hi everyone,I am designing a custom Power Distribution Board (PDB) handling up to 200A at 24V. This PDB will eventually interface with an STM32 and a Jetson Orin Nano for telemetry and control, but my current focus is solely on verifying the robustness of the analog/power switching layer.I would love to get your thoughts on the pre-charge (soft-start) and emergency shutdown logic I’ve implemented, as well as the layout approach. Here is the operational breakdown of the circuit:Turn-On & Soft-Start Sequence: When the main switch is closed, Q1 directly pulls K1's coil to GND, turning it on. The pre-charge resistor (R3) starts charging the bulk capacitors (C1, C2). Simultaneously, the RC timer network (C3 + R5 / 220k) starts charging. After about 1-2 seconds, it triggers Q2, which then pulls the main contactor K2's coil to GND. K2 closes, taking over the 200A main load and dropping the current through the R3 pre-charge resistor to near zero. Note: I can always swap R5 to 330k or 470k
Hi.I'm working with the FSM in LSM6DSO. I'm able to program detection which I want, but I struggle to do something like "fail-safe" to avoid the algorithm to stuck in the middle of the detection.For example, I want to do a "throw" detection of a thing. The accelerometer is in the thing.I can simply wait for enough acceleration in -X (in my case it will be always in this axis), then wait for the "fly" of the thing, where simply I can use norm V, which must be almost 0, as it's almost free fall, and it must fly for some time.But I struggle to do some timeout to jump out of the fly detection, when there is no any, after e.g. 1s.The problem is, that I can't use 2 timers (there is only single TC), because from manual, every time when comparison is done, the TC is loaded automatically and even when setting SCTC1, it loads anyway when I do comparison of 2 different timers.Here is the example in the MEMS studio: Now the FSM is able to stuck at S4, where it will wait for the "fly" det
Hello, Is it possible to use two OSPI with below configuration. I can make this configuration in cubeMx but whiel debugging ospi1 is not working after ospi2 initialize.
* https://www.st.com/en/evaluation-tools/steval-usbc2dp.html#overview For the USBC2DP board is the source code available for it. I'm trying to do something similar with a N6 chip. Page for the software* https://www.st.com/en/embedded-software/stsw-usbc2dp.html
Goal boot from a Quad SPI flashI shouldn't need to change any OTP settings. Any sNor flash chip connected to XSPIM_P2 that can operated in single spi mode can be booted off from? From my understanding if we want to make a dev board and use a different external memory that is not Octo SPI flash but just Quad SPI flash we shouldn't have to change any of the OTP registers. SinceIn sNor flash it starts in single spi modeThen in your FSB you can configure the SPI to your given device(From my understanding)There are no OTP registers for Nor flash settingsThese are all setup in the ROMChanging OTP 11 bits (5-8) would force us to loose the ability of Dev up (From my understanding) Most of this info is from theHow to proceed with boot ROM on STM32N6 MCUshttps://www.st.com/resource/en/user_manual/um3234-how-to-proceed-with-boot-rom-on-stm32n6-mcus-stmicroelectronics.pdf No boot source is programmed in OTP default source is serial NOR No configurati
I have a STM32N6570-DK and i can't seem to program it any more. I tried it in both the STM32 programmer gui and terminal application. So i can connect to the device read and read the flash but i can't seem to write to it any more. I can't even erase the flash. I have another Boot 0 = 0 (L)Boot 1 = 1 (H)
i need build a slider as following picture, when i change the item up and down , at the same time, the slider need move up and down with the item's movement;
Already have an account? Login
Enter your E-mail address. We'll send you an e-mail with instructions to reset your password.