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, I am working on a visual inertial odometry system. It basically contains a camera, a vision processing unit and an IMU. For vision processing part I was thinking of the STM32N6. Can you elaborate on the performance of the ST Neural-ART processsor? Can you elaborate on the inference time? How many images per second can it process?
Im using SPC58C80E5, working on Autodevkit studio, #include "components.h"#include "can_lld.h"#include "can_lld_cfg.h"#include "pal.h"#include "osal.h"/* Define your custom CAN packet ID for triggering the reset */#define FLASH_RECOVERY_CAN_ID 0x7F0UCANRxFrame rxmsg;void HandleBootloaderRequest(void) { /* Check Mailbox 0 of CAND2 (which your working reference project proves is the exact driver module tied to your physical PB9/PB10 pins). */ if (can_lld_receive(&CAND2, 0, &rxmsg) == CAN_MSG_OK) { /* FIXED INVERTED LOGIC: pal_clearpad pulls pin LOW, turning LED 2 (PH4) ON */ pal_clearpad(PORT_H, 4U); /* MATCH VERIFICATION: Using the exact '.SID' layout and array index bracket notation proven to execute successfully on your hardware bench. */ if (rxmsg.SID == FLASH_RECOVERY_CAN_ID && rxmsg.data8[0] == 0xAA) { /* Cleanly disable system interrupts before register access */ irqI
Hi everyone,I'm deploying a model on the NUCLEO‑H563ZI using NanoEdge AI Studio (v5.2.0). My full training dataset is about 2 GB, and I cannot downsample or reduce features – I must use the complete dataset.My PC specs:- CPU: 12th Gen Intel i7‑12700 @ 2.10 GHz (16 cores total)- RAM: 32 GB (31.7 GB usable)- Storage: 1.82 TB HDD (mechanical drive, WDC WD20EZBX‑00AYRA0)- OS: Windows 64‑bit- Cores allocated to benchmark: 16 (all available)In a previous test with only 40 MB of data, the benchmark took 40 hours on this same machine. If time scaled linearly, 2 GB would take ~2000 hours – impossible for our schedule.Since I cannot change the dataset itself, I'm looking for practical ways to reduce benchmark time through external measures. Specifically, I would like to know:1. Storage bottleneck – My dataset resides on an HDD. Would moving the entire NEAI workspace and dataset to a fast NVMe SSD (or even a RAM disk) dramatically cut the time? Does NEAI repeatedly read from disk during benchmark
I am using STM32F411CEU6 Black Pill from WeAct. Stlink was working I was able to flash the code but now after testing when I tried to connect it wouldn't connect I keep getting this error. I am using stlink clone. USB under DFU mode gets connected, full chip erase works but when I try to flash the code I get this error Please help me out
I'm using an L6561 to build a flyback circuit to control an LED with constant current. The input voltage is 220VAC 50Hz. The output controlling the LED is 12V 0.15A. I tested it with 12V 0.7A and the circuit worked very well with a power factor (PF) of 0.96 and THDI <10%. However, when testing with 12V 0.15A, the PF was 0.68 and THDI was around 40%. Could it be that the L6562 doesn't have a good power factor under light load?
I am working on STM32G474RE Nucleo board. Imported an example into ICE/IDE, compiled, linked, downloaded and ran. Just used MX to build my application based on the Nucleo board. Compiled and linked. Execute debug session and received this error, see attached. I checked “Debug Configuration” and see nothing unusual. What has changed? How I fix this problem?
We have recently designed and implemented a PCB with TS4436 IC. And we are using this IC as a comparator in our application.While testing, we have observed that the IC taking near 40mA as supply current during OUT enable time (for FB input > 0.6V). But as per datasheet it won't take more than 4mA. We request you to go through the issue and share the resolution asap. Sharing our application schematic for reference.
Hey, I'm using the ST67W611M (NCP + STM32f7 host, X-CUBE-ST67W61, T01 firmware v2.0.97) in WiFi station mode, with TLS running on the NCP via W6X_Net_Socket(..., IPPROTO_TLS_1_2). I'm trying to download a 750 KB file over HTTPS from a server that sits behind Cloudflare, and it reliably dies after about 200 KB - W6X_Net_Recv returns -1 ("ssl_read FAILED: -0x0001") and the socket goes DISCONNECTED. Same spot every time. So I took a packet capture to see what's actually happening (TLS 1.2, AES-128-GCM). Cloudflare uses dynamic record sizing, so its TLS record size grows over the connection: 1369 -> 4229 -> 16384 bytes. Everything up to the 4229-byte records comes through fine (~200 KB). But the moment the first full 16384-byte record arrives, the device immediately sends a fatal TLS alert and RSTs the connection - the abort clearly comes from the device, not from Cloudflare.That made me suspect the NCP's TLS record buffer is simply too small to hold a full 16 KB record. Looking at t
Hi,I'm bringing up Ethernet (RGMII) on a custom STM32MP257 board using a Marvell 88E1512 PHY.The MAC driver loads successfully, the PHY is detected, but bringing the interface up fails with a timeout.I have attached the driver code, dts and pinctrl.dtsi for you reference. eth1_mdio_pins_mx: eth1_mdio_mx-0 {pins1 {pinmux = <STM32_PINMUX('A', 9, AF10)>; /* ETH1_MDC */bias-disable;drive-push-pull;slew-rate = <2>;st,io-clk-edge = <0>;st,io-retime = <0>;st,io-delay-path = <0>;st,io-delay = <0>;};pins2 {pinmux = <STM32_PINMUX('A', 10, AF10)>; /* ETH1_MDIO */bias-disable;drive-push-pull;slew-rate = <0>;st,io-clk-edge = <0>;st,io-retime = <0>;st,io-delay-path = <0>;st,io-delay = <0>;};};eth1_mdio_sleep_pins_mx: eth1_mdio_sleep_mx-0 {pins {pinmux = <STM32_PINMUX('A', 9, ANALOG)>, /* ETH1_MDC */<STM32_PINMUX('A', 10, ANALOG)>; /* ETH1_MDIO */};}; eth1_rgmii_pins_b: eth1-rgmii-1 {pins1 {pinmux = <STM32_PINMUX('
Hello,I have created a framework for OEMiROT + OEMuROT boot path wherein I have tried implementing a two-boot stage. This boot path isn’t included in the ST template examples unlike that for OEMiROT or STiROT_OEMuROT. I was able to run both existing examples on my board correctly.For OEMiROT + OEMuROT boot path, I have made changes in the scripts specific to boot paths and UBE. The memory layout is also defined depending on the image sizes where I am using the flash memory divided for OEMiROT, OEMuROT , secure application and nonsecure application referring the below boot path when TZ is enabled. Post reset the control jumps to OEMiROT in this case.I could write the OEMiROT binary at base address 0x8000000 and OEMuROT at 0x800E000 using the scripts.I am able to verify if they are flashed by reading the respective memory addresses using ST programmer. I could see the non-zero or non-FF values at both memory addresses. I have shown one for base address 0x8000000 Besides the images gettin
STM32H7 series MCU package version: V1.13.0SPI4 clock is selected as PCLK2, but in the actual generated project, the SPI4 initialization function incorrectly sets RCC_SPI45CLKSOURCE_D2PCLK1 instead. The clock tree diagram and code snippet are shown below.
STM32CubeIDE 1.19.0STM32C092GCU7 with 256kb flash, 128 pages with 2kb size I have 106,25KB of code. If I shift the start adress from 0x8000000 to 0x800A000 (to reserve space for future bootloader) CubeIDE cuts of the code to 88KB and only erases the pages till page 63 (Code would use now space in the second part of flash). Length in linker file is sufficient.If I take the generated .elf file and program it by STM32CubeProgrammer, everything goes well. But this is only a part solution for me, because I want to have the possibility to debug in CubeIDE. Start adress 0x8000000ST-LINK SN : 57FF6F067186535436441487ST-LINK FW : V2J46S7Board : --Voltage : 3.22VSWD freq : 4000 KHzConnect mode: Under ResetReset mode : Hardware resetDevice ID : 0x44DRevision ID : Rev ADevice name : STM32C09xFlash size : 256 KBytesDevice type : MCUDevice CPU : Cortex-M0+BL Version : 0x121Opening and parsing file: ST-LINK_GDB_server_a12268.srecMemory Programming ... File : ST-LINK_GDB
Hello ST Community,I am considering using the High-Resolution Timer (HRTIM) on the STM32G4 series (specifically STM32G4x4 / G474) and would like to ask a few technical questions regarding its Input Capture functionality:1. Is my understanding correct that the 184 ps high-resolution feature applies mainly to PWM generation (using DLL), while the Input Capture function operates at the base HRTIM clock frequency (up to 170 MHz, giving ~5.88 ns resolution)?2. Is it possible to capture the timer counter values using the HRTIM capture units (CPT1 / CPT2) triggered by External Events (EEV) or internal signals (such as comparator outputs)?3. If Q2 is yes, does capturing via internal signals (e.g., comparator) yield the same measurement resolution (~5.88 ns based on 170 MHz) as capturing via external pins?Any clarification would be greatly appreciated. Thank you in advance!
I am an STM32 developer.I recently started studying AI, but unfortunately, I discovered that there is no version of STM32Cube AI Studio for Mac. The same applies to Edge AI Studio. Are there any plans to release a version for Mac?
Hello,Document: RM0090 Reference Manual for STM32F405/415, STM32F407/417, STM32F427/437 andSTM32F429/439.https://www.st.com/resource/en/reference_manual/rm0090-stm32f405415-stm32f407417-stm32f427437-and-stm32f429439-advanced-armbased-32bit-mcus-stmicroelectronics.pdfRevision: 21, 07-Jun-2024.Location: Pages 847-862 in Section 27. Also, Figure 241, 242, 243, 244, 245, Table 125.This section, figures and table all contain 17 references to ITEVFEN bit, supposedly from I2_CR2 control register.In reality, there is no such bit in this register, the actual name is ITEVTEN (interrupt event enable), and it is located in I2C_CR2, bit 9.Section 27.6.2 has correct name.stm32f405xx.h file, and others related to i2c, use the correct name: #define I2C_CR2_ITEVTEN_Pos (9U) #define I2C_CR2_ITEVTEN_Msk (0x1UL << I2C_CR2_ITEVTEN_Pos) /*!< 0x00000200 */ #define I2C_CR2_ITEVTEN I2C_CR2_ITEVTEN_Msk /*!<Event Interrupt Enable */Therefore, the ITEVFEN in the document should be repla
I am really very new to wireless communication but i need to make the project up and working. I have purchased 2 Wio E5 boards, getting confused how to build and make it working. I have gone through two gitshubs STM Repository and the seed studio repository seedrepository At present i am looking for point to point communication. I found similarities with both the projects for example BSP folders for nucleo and LoraE5mini, i understand is i have to port the code, i tried hard but it is showing compilation errors. Please recommend me how do i proceed in terms of compilation.
Hi ST,Today I decided to give STM32CubeIDE for VS Code another try.I installed all 15 latest packages (Rev. 3.10).Using the STM32Cube Bundle Manager, I installed all required bundles, including Ninja 1.13.2.After opening in VS Code the folder containing the code generated by STM32CubeMX (CMake option) and trying to configure CMake for the first time (Ctrl+Shift+P → CMake: Configure), I received the error below.What am I missing? The last time I tried this several months ago, the project at least configured correctly and built successfully. Kind regards,Thomas [main] Configuring project: Firmware[driver] NOTE: You are configuring with preset Debug, but there are some overrides being applied from your VS Code settings.[proc] Executing command: "C:\Program Files (x86)\Microsoft Visual Studio\2022\BuildTools\Common7\IDE\CommonExtensions\Microsoft\CMake\CMake\bin\cmake.exe" -DCMAKE_BUILD_TYPE=Debug -DCMAKE_TOOLCHAIN_FILE=C:/Projects/All-purpose-Micro-Controller-2/Firmware/cmake/gcc-arm-none
STM32CubeIDEI have Project Directory (Fully populated from an earlier version of the IDE on a different machine)that I bundled up and then unwrapped on my new build machine.However, when I point my newly installed (up to date) IDE to my unwrapped Project directory,it “sees” the Project is there...but when I click “Finish” to bring it into my IDE, the IDE showsthe project (with the correct name) but devoid of any project properties...and no Source Code Tree(where I normally--and previously--could navigate all the source files). I can see all the expected source code files in my Project DirectoryWhat is the disconnect?Do I need to manually edit the PROJECT.ioc or .project file (or .cproject or .settings or *something*) ?Is there a known issue with transferring a Project from an earlier version of the IDE?Guidance Appreciated!Paul++
Hello,We have designed a custom RF module based on the STM32WL33, and one of ourcustomers is asking us to demonstrate that the RX sensitivity of our modulematches the values published in the datasheet: - RX sensitivity @ 1% BER: -132 dBm @ 300 bit/s, 433 MHz, OOK -128 dBm @ 300 bit/s, 868 MHz, 2(G)FSK -112 dBm @ 38.4 kbit/s, 868 MHz, 2(G)FSKTo validate this, we would like to reproduce the exact test conditions usingan official ST development board (e.g. NUCLEO-WL33) and theSTM32WL33 GUI, so the result is directly comparable to thedatasheet.In the GUI's "Radio settings" tab we can set: fc, DR (ksps), Fdev (kHz),CHF (channel filter bandwidth, kHz), modulation (OOK/2(G)FSK/4(G)FSK/ASK),Spread Factor, and Pout.Could you please help us with the following:1. What DR / Fdev / CHF / Spread Factor values did ST use internally to characterize each of the three sensitivity points above? In particular: - For -132 dBm @ 300 bit/s / 433 MHz / OOK: Under the test conditions of 1
Hello! I installed the extension and configured it to work through a proxy (downloading the compiler, etc.), and everything works fine, but when I try to download devices list via cube pack sync, I get the error: Failed to download with Unsupported `GLOBAL_AGENT.HTTP_PROXY` configuration value: URL protocol must be "http:" I tried adding the proxy via platform environment variables, but that didn't help. Platform: Win11 IDE pluggin: 3.6.4 Pack manager: 0.3.12
Dear Community,I am currently following the official MEMS Studio tutorial "Module 5 - MLC Configuration and Visualization" available on YouTube.I am using the following hardware and software setup:MEMS Studio version: 2.4.0 Board: NUCLEO-F401RE with X-NUCLEO-IKS4A1I was able to successfully complete all tutorial steps up to the Automatic Filter & Feature Selection (AFS) stage. However, whenever I click "Run" in the AFS tool, MEMS Studio displays the following error message:"Unexpected error with code 104 occurred during AFS request processing."The issue occurs consistently, even though I am following the tutorial exactly as shown in the video.Additional information:The PC has internet access. I tested both my company network and a mobile hotspot, but the error persists in both cases. No firewall events indicating blocked connections were detected. The board is correctly recognized by MEMS Studio and all previous steps work as expected.Could you please help me identify the cause of
Hello ST Community,I would like to report a bug in the code generated by STM32CubeMX 6.17.0 for the STM32WBA55 with firmware package STM32Cube FW_WBA V1.9.0. Environment- MCU: STM32WBA55CGU6- CubeMX: 6.17.0- Firmware package: STM32Cube FW_WBA V1.9.0- Toolchain: Keil MDK-ARM V5.37- Middleware: STM32_WPAN (BLE Basic stack) Problem descriptionThe application crashes with a HardFault after approximately 2 minutes of operation. The fault is caused by a NULL function pointer call in the generated file `Utilities/tim_serv/STM32_timer.c`, inside `UTIL_TIMER_IRQ_Handler`. Suggested fixAdd a NULL guard before the callback invocation in `UTIL_TIMER_IRQ_Handler`:if( currentExecutionHead->Callback != NULL ) { currentExecutionHead->Callback(currentExecutionHead->argument);} NoteThis issue appeared after migrating from FW_WBA V1.6.1 to FW_WBA V1.9.0. The same project worked correctly with the previous version.
I'm configuring SAI4 (Block A) to receive I2S audio from an external microphone (Knowles SPH0645), using HPDMA3 for continuous circular DMA transfer, targeting the Cortex-M33 (Cube) context.Configuration so far:SAI4 → SAI A → Mode: Master, I2S/PCM Protocol, Audio Mode: Master Receive, Data Size: 24 bits, Mono HPDMA3 Channel (currently CH2) → Request: SAI4_A Circular Mode: Enable Direction: Peripheral To Memory Priority: HighProblem:The field "DMA Handle in IP Structure" under Request Configuration shows a red ⊗ error icon, with the value stuck as a placeholder. When I try to click the dropdown to select a proper handle (e.g. DMA_Handle1, DMA_Handle2), the available options appear grayed out / not selectable — I cannot click or choose any of them. This leaves the field marked invalid (red cross), which propagates up to the HPDMA3 channel, CH tab, and Features tab all showing red crosses.I confirmed:SAI4's runtime context is properly checked (currently testing M33NS) The Request field co
Hi,I am working on a Matter-over-Thread firmware project on the NUCLEO-WBA65RI / STM32WBA65RIVx, and I am seeing an issue where the Amazon Alexa app does not detect the board during Matter commissioning.My current environment is: Board: NUCLEO-WBA65RI MCU: STM32WBA65 STM32Cube FW_WBA: V1.9.0 X-CUBE-MATTER: V1.6.0 STM32CubeIDE: 1.17.x Commissioner being tested: Amazon Echo 4th Gen, model L4S3RE Matter / connectedhomeip version: v1.3.0 as packaged in X-CUBE-MATTER V1.6.0 The device boots correctly, Thread and Matter initialize, and the commissioning window opens. From UART logs I can confirm: Thread task starts successfully Matter task starts successfully BLE stack initializes successfully Matter BLE advertising starts Matter service UUID 0xFFF6 is present in the advertising payload Manual pairing code and QR payload are generated Fabric count is 0 Commissioning window opens successfully The device is also visible in BLE scanner tools such as nRF Connect. nRF Co
Hello,I am trying to create an FSBL XIP project for the NUCLEO-N657X0-Q with the following structure: FSBL running from internal SRAM Application executing in place from the external XSPI flash ThreadX and NetX Duo running in the Application context Ethernet using the onboard LAN8742 PHY External Memory Loader project The STM32CubeN6 firmware package contains two relevant examples: Projects/NUCLEO-N657X0-Q/Templates/Template_FSBL_XIP Projects/NUCLEO-N657X0-Q/Applications/NetXDuo/Nx_UDP_Echo_Client However, the two examples use different project structures.Template_FSBL_XIP provides the required FSBL, XIP Application, and External Memory Loader structure, but it does not contain the ThreadX, NetX Duo, and Ethernet application configuration.Nx_UDP_Echo_Client, on the other hand, contains the required ThreadX, NetX Duo, Ethernet, LAN8742, and UDP configuration, but the complete application is assigned to the FSBL context instead of being built as a separate XIP Application.Copyi
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.