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
I have a self-contained widget (a rectangle of 360x60) which has a draggable mixin and a custom handleDragEvent.void WarningModal::handleDragEvent(const touchgfx::DragEvent& event) { if (!draggingEnabled || !animator) return; int16_t newX = animator->getX() + event.getDeltaX(); // Hard clamp: never allow leftward movement past the resting position if (newX < WARNING_MODAL_VISIBLE_X) newX = WARNING_MODAL_VISIBLE_X; animator->moveTo(newX, WARNING_MODAL_Y); }Basically it can only be dragged from left to rightI'm noticing that, if I try to move it up and down, I'm able to generate a wobbling movement up and down because, the widget tends to return to its WARNING_MODAL_Y due to the modeTo line.Is there a way to disable the drag for an axis to get a smooth movement right-left or up-down
Hello Max VIZZINI ,I'm using SPC58EC80E5 evaluation kit in that im working on SARADC , PB[1] i'm taking as ADC pin and connected 10k potentiometer to it.im getting continous 8192 adc value even after rotating the potentiometer , im using 12 bit ADC and checking the ADC values in CAN bus, i shared related configuration check it and please help me to solve this issue. #include "components.h"#include "saradc_lld.h"#include "saradc_lld_cfg.h"#include "can_lld.h"#include "can_lld_cfg.h"#include "osal.h"#define ADC_CHANNEL 66Ustatic uint16_t adc_value;CANTxFrame txmsg;int main(void){componentsInit();/* Start ADC */saradc_lld_start(&SARADC12D1, &saradc_config_saradcconf);/* Start CAN */can_lld_start(&CAND2, &can_config_mcanconf);/* CAN frame setup */txmsg.IDE = CAN_ID_STD;txmsg.SID = 0x123;txmsg.RTR = 0;txmsg.DLC = 2;while (1){/* Start ADC conversion */saradc_lld_start_conversion(&SARADC12D1);/* Wait for conversion */while (SARADC12D1.saradc->ICDR[ADC_C
The STM32 toolchain based on gcc 13.3 already supports a lot of C23 features, e.g. constexpr. This is really awesome.But the current version of CubeIDE seems not to be able yet to parse these new features, so syntax checking / highlighting / code linking breaks.Is there any simple workaround for this? Or is there information available, whether the next version of CubeIDE will update this?
Hi I have a project with STM32F446RET6 which has custom bootloader and application in user defined location. This project does UART Bootloader for firmware upgrade - issue faced is if the device loses power while in between the firmware upgrade then the device is neither in UART bootloader/DFU mode nor has a valid firmware. The solution which i want to implement is keeping two image of the application in two slot A and B. Normal working in Slot A and backup in Slot B. Firmware upgrade happens in Slot A and if fails copy the firmware from Slot B otherwise copy Slot A to Slot B. can anyone provide a simple logic which can be implemented to check if the firmware upgrade is completed and successful in SlotA. I would not like to add CRC check.
In LSM6DSV16X DS13510-Rev 4 Page 8, Table lists sensor fusion performance: Question 1: are these values guaranteed over temperature and all angles, or at a particular angle and at room temperature?Question 2: without a magnetometer or GNSS heading input, what is meant by heading/yaw accuracy? Is it a drift value (over 5 minutes) from whatever value it is given at the beginning of 5 minutes?Thank you.
Hi,I am currently working on a feasibility project using the X-NUCLEO-67W61M1 and NUCLEO-U575ZI-Q.The sample code I am using is ST67W6X_FOTA.The FOTA functionality is working properly. However, during the initial connection phase, there is about a 50% chance of encountering Wi-Fi connection-related errors. The errors I have observed include:"Wi-Fi connect timeouted""Wi-Fi connect in error""Failed to initialize the DTIM"Whenever these issues occur, the only way to recover is by resetting the MCU and restarting the process.Are there any recommended methods or best practices to resolve these issues?
Many years ago, at ANU in third year physics, the professor provided an object and said explain and check it as a project. Let us assume that I have a SENSOR TILE.BOX pro and I follow my training and check the output of the MEMS Studio. The first step was to provide the CLI_Example amended so that it provided the files in the correct location for our downstream software. I would not use your MEMs software, it is just to kludgy. But I wanted to confirm my program and understand your data.The next step is to use MEMS Studio to get the output file processed log. The third step is to write a simple C# program to take the .dat files apart and complete necessary analysis and upload the needed output to the MYSQL cloud storage. {"c_type": 2,"data_ext": ".dat","data_fmt": "HSD_2.0.0","description": "","end_time": "2026-04-02T17:48:41.013Z","interface": 1,"name": "SensorTile.Box_PRO_acquisition","schema_version": "2.0.0","start_time": "2026-04-02T17:48:30.000Z","tags
I think this is diode. I have search on all internet but cant find correct. :) Thanks Best Regards Fredrik
Hello, everyone,I am currently working on a project using STM32WB07CC. During the design of low power consumption, I found that when waking up the MCU from the deepstop mode through the wakeup pin, it is impossible to obtain the wakeup source by accessing PWRC->SR1&SR3. However, when waking up through the RTC, it is possible to obtain the source. After referring to the demo provided by ST, I also discovered the same issue.I hope everyone can help me solve this problem.thank.
Hi all, I've noticed that a DHCP client can not get an IP address from the server if both mDNS server and DHCP client are enabled. The reason seems to be in ST Ethernet driver (nx_stm32_eth_driver.c): static UINT _nx_driver_hardware_initialize(NX_IP_DRIVER *driver_req_ptr) { ... FilterConfig.BroadcastFilter = ENABLE; ... } static UINT _nx_driver_hardware_multicast_join(NX_IP_DRIVER *driver_req_ptr) { /* Increase the multicast count. */ nx_driver_information.nx_driver_information_multicast_count++; /* Enable multicast frame reception. */ FilterConfig.PassAllMulticast = ENABLE; HAL_ETH_SetMACFilterConfig(&eth_handle, &FilterConfig); /* Return success. */ return(NX_SUCCESS); } In _nx_driver_hardware_initialize() FilterConfig is just prepared, there is no HAL_ETH_SetMACFilterConfig() call. That's why DHCP works OK if mDNS is not used. If mDNS is active, it calls _nx_driver_hardware_multicast_join() and applies a prepared 
I am using the STM32H733 controller along with the NetXDuo networking stack. The issue started after updating the HAL drivers in my project from version v1.11.0 to v1.16.0 (released on February 24, 2026).After this update, I observed that when the device boots up and no network activity occurs for a certain period (for example, no ping requests are sent to the device or device sending any UDP packet), the Ethernet connection is eventually lost permanently. Once this happens, the device becomes unreachable over Ethernet, and neither a soft reset nor a hard reset restores the connection.However, if the device receives a ping immediately after booting, or if it sends a UDP packet shortly after startup from the device, the Ethernet connection remains stable. In this case, normal operation continues without any issues until the device is reset again and no network activity is observed for a certain period as well.This problem only appeared after updating the HAL drivers to version v1.16.0 a
Hi,recently in STM32CubeProgrammer was introduced the Serial Numbering feature, which is much appreciated.However, it's limiting because the serial number is assigned manually, setting a starting value that is progressively incremented.In a production site with multiple test stations, it becomes difficult to synchronize the various stations on the SN to be used.Hence my request: it would be very useful if the Serial Numbering section were integrated with a "Script" field, in which the user can enter the filepath of a custom "C-style" script (or in the programming language of ST choice) whose return value is the SN to be programmed. The script (customizable by us) will provide the correct return value, based on the logic the end company wishes to use to assign the SN to its devices (e.g., databases, *.csv, etc.). Hoping for a future update, I look forward to hearing from you.Best regards,Matteo
Hello,There seems to be an issue with the I2C addresses listed in the MB1854 (B-CAMS-IMX) documentation and schematics (B01/B02).The documents show:IMU: 0xD4 / 0xD5ToF: 0x52However, these appear to be 8-bit addresses. The correct 7-bit I2C addresses should be:ToF (VL53L5CX): 0x29IMU (ISM330DLC): 0x6A / 0x6BThis can cause confusion when using standard I2C tools or drivers.Could you please clarify or update the documentation to specify the address format (7-bit vs 8-bit)?Thanks.
Hi everyone, In order to help our developers understand how their work is used and what to do in order to improve model zoo, we kindly ask you to look at this survey about ST Model Zoo Services. Link of the survey: https://docs.google.com/forms/d/e/1FAIpQLSeifejB0Ir6pJFlYHtqaEdOuIz1G3vjUZi3hlyNBygWIxJGCw/viewform?usp=dialog Your feedback is extremely valuable and will help us understand your needs, improve existing models and tools, and guide future developments. This survey should only take a few minutes, and your responses will remain confidential and used solely to enhance the STM32 AI Model Zoo experience. Thank you for your time, Have a good day!
Hi, I need to use a 5V external clock for an stm32g473. The datasheet in table 39. High-speed external user clock characteristics says Vhsel is max Vdd, but Table 12. STM32G473xB/xC/xE pin definition says PF0 / OSC_IN is FT_a (five volt tolerant). Is it safe to use an external 5V clock ? Thx,
Ok, this is perhaps esoteric, so maybe there is some research out there. I am looking at STM32U3 or STM32C5, but the problem applies to pretty much all CM33 based ST MCUs. The bus matrix implies a fast multiplexor for GPDMA (and SDMMC) to SRAM1. So unless dealing with burst transfers to SRAM (yes, SDMMC does that, and the GPDMA channels with the 32 byte FIFO could do that if the transfer is a multiple of 4 bytes), this fast multiplexor seems to save 1 clock reducing a beat to 2 clocks (if somebody has details for AHB vs. APB, that would be interesting). So to minimize latency and maximize bandwidth, DMA buffers (.dma section) should go into SRAM1. So if DMA goes into SRAM1, then should not all the stacks go into SRAM2 ? I would assume burst DMA to/from SRAM1 would introduce some additional latency, especially in the way for ISR stacking / unstacking. Is this just overthinking this, or is that measurable ? Now some U3 parts have SRAM3. One thought is to
Hello, I installed AutoDevKit Studio today and trying to create the AEK-COM-10BASET project from it. Basically there is no option to create / start the AEK-COM-10BASET from AutoDevKit. Also I tried to run Help > Install New Software > Work with http://autodevkit.spc5studio.com/ > Choose AEK-COM-10BASET > install the module. Even I tried couple of times it always fails due to unknown reason. After Fetching children step, the SW says "Cannot perform operation.", the SW tries to install some modules, and finally nothing is improved. Still I cannot start any AEK-COM-10BASET project. If I try to install the SW modules for AEK-COM-10BASET, it says below error message. And stucks here, I cannot move further. No AEK-COM-10BASET related menu items / projects are found, I cannot start. I want to get the AEK-COM-10BASET project source code, change something and do some of my own tests. Any help / comment are appreciate
Hello. I have a custom stm32mp135f board with emmc1(SDMMC2) and about to launch linux.(Minimized version of 135f-dk, no-sdcard, no-ethernet)I flashed the target with the CubeProgrammer normally.When the kernel loads userfs there says 'root '/dev/disk/by-partuuid/491f6117-415d-4f53-88c9-6e0de54deac6' doesn't exist or does not contain a /dev." and stopped.How do I solve this problem?This is full log capture.Starting kernel ... I/TC: Reserved shared memory is disabled I/TC: Dynamic shared memory is enabled I/TC: Normal World virtualization support is disabled I/TC: Asynchronous notifications are enabled [ 0.000000] Booting Linux on physical CPU 0x0 [ 0.000000] Linux version 6.6.48-gd96ac4cc57f6 (oe-user@oe-host) (arm-ostl-linux-gnueabi-gcc (GCC) 13.3.0, GNU ld (GNU Binutils) 2.42.0.20240716) #1 PREEMPT Fri Jun 20 08:08:22 UTC 2025 [ 0.000000] CPU: ARMv7 Processor [410fc075] revision 5 (ARMv7), cr=10c5387d [ 0.000000] CPU: div instructions available: patching division code [ 0.
I would like to connect a 12-bit ADC operating at 10MSps to the PSSI interface of the STM32N657 device. There is some confusion as to the nature of the clock source. The reference manual indicates that this may be either an input or an output. If configured as an output, what is the source of the clock? Examples suggest that a PWM timer needs to be used. Here is an illustration of what I would like to do:Do I need to use the PWM timer as the clock source?
Hello everybody.I try to convert an STM32CubeIDE project into a CMake project to be used on VSCode using the procedure included in "STM32CubeIDE for Visual Studio Code" extension.The procedure aborts with this error message: [Error] [ide-project-convert] Bad escaped character in JSON at position 15583 (line 322 column 55). Line 322 of "stm32cubeide-export.json" file, created by the procedure itself, is this one:, "option.includepaths": "-I\"C:\Repo_mgo\STM32Workspace\NGDrive\Appl\dDrive_Fwk2\application\Display\TouchGFX\generated\texts\include\", -I\"C:\Repo_mgo\STM32Workspace\NGDrive\Appl\dDrive_Fwk2\application\Display\TouchGFX\", -I\"C:\Repo_mgo\STM32Workspace\NGDrive\Appl\dDrive_Fwk2\application\Display\TouchGFX\gui\include\", -I\"C:\Repo_mgo\STM32Workspace\NGDrive\Appl\dDrive_Fwk2\application\Display\TouchGFX\generated\gui_generated\include\", -I\"C:\Repo_mgo\STM32Workspace\NGDrive\Appl\dDrive_Fwk2\application\Display\TouchGFX\generated\fonts\include\", -I\"C:\Repo
The API documentation for the "AT+CIPSTART" command on the ST67W611M1 chip seems to be incomplete. It is missing the parameter lists for UDP and SSL types. https://wiki.st.com/stm32mcu/wiki/Connectivity:ST67W611M_AT_Command#AT-2BCIPSTART The rest of the API is documented on the ESP-AT page: https://docs.espressif.com/projects/esp-at/en/latest/esp32/AT_Command_Set/TCP-IP_AT_Commands.html#at-cipstart-establish-tcp-connection-udp-transmission-or-ssl-connection
Hello,I am using VSCode on Windows with the STM32CubeIDE for VSCode extension.Before installing the extension, I had already installed and configured these tools separately on my system:CMakeArm GNU Toolchain (arm-none-eabi-gcc, arm-none-eabi-gdb)clangdAfter installing the STM32CubeIDE for VSCode extension, build works, but debug fails to start. I get the following popup error:bound doStepStartGdbClientDebug Failed: Failed to get gdb version.I would like to ask whether this issue may be related to how the extension detects GDB, conflicts with environment variables, or path priority when multiple toolchains are installed.Observed behaviorI already had a standalone ARM toolchain installed before installing the STM32CubeIDE for VSCode extension.After installing the extension, debug no longer starts correctly.The popup error is:bound doStepStartGdbClientDebug Failed: Failed to get gdb version.My current suspicion is that the extension is either:not finding the correct arm-none-eabi-gdb, or
(I've opened an issue on GitHub on this matter already, but I was asked to post it here again...)Hey there,I'm currently developing an audio application based on the STM32N657 MCU. I have already implemented a working version of this application on an STM32U5A5 MCU, but now I need to port it to the N6.The application receives a PDM audio stream from a MEMS microphone via SAI. The audio data is then converted to PCM using the PDM2PCM library. On the STM32U5A5 MCU, the application uses the CM33 variant of this library (libPDMFilter_CM33_GCC_wc32.a), but I cannot find a variant of this library for the CM55 of the STM32N6 in any of the STM32Cube firmware packages.I would be very grateful for any advice or help on this matter!Thanks in advance and best regards,Jens
Hi everyone,I’m working on the STM32N6570-DK and trying to run a NetXDuo Web HTTP server as part of a secure application executing in XIP (external flash).I started from the available examples (which run from internal RAM / FSBL), but after moving the application to XIP, I’m facing instability issues (intermittent crashing issues, no ping response, etc.).From initial debugging, this seems related to:Execution latency from XIPPossible cache / MPU configuration or memory placement issuesMy questions:Is there any official or reference example for:STM32N6570-DKNetXDuo (HTTP Web server)Running in XIP mode (external flash)Within a secure application contextAre there recommended guidelines for:Placing NetXDuo and ETH driver code (RAM vs XIP)?MPU/cache configuration when using XIP with networking?Memory regions for packet pools and DMA buffers?Has anyone successfully run NetX Duo HTTP server reliably in XIP on STM32N6?
Title: STM32N6 (NUCLEO-N657X0-Q) unable to flash on M3 Mac - libusb timeout errorEnvironment:- Board: NUCLEO-N657X0-Q (STM32N657X0H3Q, STLINK-V3EC)- Host: MacBook Air M3, Apple Silicon- STM32CubeProgrammer: v2.22.0- STM32CubeIDE: v2.1.1- ST-Link Firmware: V3J17M10- libusb: 1.0.29 (Homebrew)Problem:Unable to flash the board from M3 Mac. STM32CubeProgrammer and STM32CubeIDE both fail to connect consistently.Error from STM32CubeProgrammer CLI:ST-LINK FW : V3J17M10Board : NUCLEO-N657X0-QVoltage : 3.28Vlibusb: warning [darwin_transfer_status] transfer error: timed outError: Unable to get core IDError: No STM32 target found! If your product embeds Debug Authentication, please perform a discovery using Debug AuthenticationError from STM32CubeI
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.