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
Hi,We are evaluating the LSM6DSR's noise floor for a specific use case. Based from the datasheet the noise is 60ug/sqrt(hz). So calculating the RMS noise at 208Hz should result to 0.00062 m/s^2 right? However, we are getting measured RMS values around 0.002 to 0.004 m/s^2. Here are some configurations setFS: +-2GODR: 208HzData acquired using FIFO reading every 500 samplesNo onboard filtering enabled. I have attached a sample dataset for your analysis as well.
Hi everyone, I’ve been stuck on a CAN communication issue between two boards: STM32F429 Discovery (Classic CAN) STM32H743XIH6 (FDCAN) I’m trying to establish CAN communication between them. Currently, the F4 board can transmit and receive data correctly. The H7 board, however, can transmit but is unable to receive any messages. I’m wondering if the issue is due to the H7 using FDCAN (Selected Classic CAN on H7 Board .ioc file) while the F429 uses Classic CAN. If this difference causes compatibility problems, please let me know. Otherwise, if you know what might cause the H7 to fail in receiving classic CAN frames, I would really appreciate your help. Thanks in advance! would be great
Hello.I try to get the nema-gfx working on a STM32H7S78-DK.But there's a bug in the NEMA library, or a bug in the ST toolchain. When I try to call the library function nema_cl_create() in my function nema_gfx_init(), according to the STM32H7RS GPU2D document (page 6), stm32h7rs-system-gpu2d.pdf the stack is overwritten with values, so the return address on stack (0x7002AEFB) is no longer available (0x00000000) and the cpu goes in hard fault. I suspect it's a bug in the NEMA library. The correct version for the H7 series was used. The error occurs with both versions: libnemagfx-float-abi-hard.a and libnemagfx.a. I looked inside the function in the disassembler, and at the end of the function, registers r0-r3 are written to the stack, but much too far! (See images) Stack bevore calling nema_cl_create. Return-adress: ok Stack after calling nema_cl_create. Return-adress: 0x00000000 Dissass. inside der nema_cl_create: overwriting behind actual stack en
Hi. This is a Linux problem, because with the same parameters it works on Windows. I tested with v2.21.0.I am trying to use the UART connection mode with these parameters:RTS: HighDTR: Negative pulseI can see, with a voltmeter, that the RTS/DTR signals (MCU side) change states.This is what the log shows:17:32:36:714 : RTS High 17:32:36:714 : DTR Negative pulse with delay 200 17:32:36:935 : Serial Port ttyUSB0 is successfully opened. 17:32:36:935 : Port configuration: parity = even, baudrate = 115200, data-bit = 8, stop-bit = 1,0, flow-control = off 17:32:36:935 : No Init bits value is : 0 17:32:36:935 : Sending init command: 17:32:36:936 : #byte 0x7F sent successfully to target 17:32:38:937 : Wait ends after 1 loop, dataready = 0, delay = 2001 17:32:38:937 : Timeout error occured while waiting for acknowledgement. 17:32:38:937 : No response from target received 17:32:38:937 : Retrying UART init connection... 17:32:38:937 : #byte 0x7F sent successfully to target 17:32:39:037 : Wait en
Hi,I have purchased NUCLEO-F411RE controller EVK and X-NUCLEO-IHM08M1 expansion board to write motor control application and check the motor parameters on Motor Control Work bench tool.While checking for sample application or extension packages for the expansion board and controller, I don't find SPN8 package on X-CUBE extension list. And don't find sample application to add and compile on STM32IDE for NUCLEO-F411RE + X-NUCLEO-IHM08M1. Please suggest me sample application for the NUCLEO-F411RE + X-NUCLEO-IHM08M1 and how to add it into STMCUBEIDE, Compile and Run.Regards,Omkar
Hello,I'm trying to detect a USB stick insertion event to write a text file in the stick. I'm working on a NUCLEO-H563ZI with a jumper connected to JP2 USB USER line and a USB TYPE-C TYPE-A connector attacched in CN13. I started the code from an ST Example but without the USB-PD because I need only two lines (USB_FS_P and USB_FS_N).I saw others example with USB_OTG but my .ioc doesn't have this option. The problem is that I can't catch the USB stick insertion event. I put a breakpoint on "_ux_host_class_storage_activate" and on the "ux_host_event_callback" functions but I never reach these points.Where the event is cathced in the ST functions? What I'm missing / I'm doing wrong?I have attached the project. Thanks for the support
I would like to automate code generation of my .ioc file using CubeMX from command line or PowerShell.AI says its possible with the -q (quiet mode) option but it does not seem to work.
Hi everyone,I’m using the STM32F407VET6 VBAT pin to power the RTC, and I plan to use a CR2032 coin cell directly.I noticed that many schematics add a diode between the CR2032 and the VBAT pin to prevent reverse charging, but after checking the datasheet I’m still not fully sure whether this is actually required.I’d like to ask two questions:When the main supply is present, can the F407’s VBAT pin back-charge the coin cell? Is a diode necessary?Does ST provide an official reference design for powering VBAT with a CR2032? If so, where can I find it?Thanks for your help!
I have multiply\accumulate operations that I want to streamline by using the FMAC. For my application I will be loading the X1 buffer by DMA from peripherals and I don’t want to use circular mode. Documentation mentions ‘vector mode’ which matches what I need, but I don’t see documentation anywhere detailing how to make it work this way. Is this really supported?I'm researching how to improvise by tweaking the R\W pointers, but I'm not sure it is allowed either:Is there a way to keep the pointers from advancing after setting FIR and START bits?Can I reset the read pointer to the base address before executing the start commands?
Hello All,I am trying to get back into Microcontroller programming by attempting to use the STM32F407 Discovery Kit. But my first difficulties are to get the STM32CubeIDE installed and configured properly and to work. I have downloaded and installed the Windows version of the STM32CubeIDE 2.0.0; and I am running Windows 11; but when creating my first project and selecting the STM32F407 Disc1, the STM32CubeIDE is not displaying the configurable Pinout of the STM32F407 that I am expecting to see as shown in the most Tutorial videos I have seen so far. Please, help on how I can configure the STM32CubeIDE correctly in order to program the STM32F407 Discovery Board I am trying to work with.Kindest regardsStarting_Point
In a recent design I needed an additional pin and I configured the PA13 / SWDIO pin as a GPIO input.All going fine, code works, but then this happened: After I program the chip in automatic mode and set the option byte rdp to 0xBB I can't connect again with the programmer. Programmer sais: No STM32 Target found...I tried different modes and reset modes, no luck.The readout protection alone is not the issue, I have been able to connect and reset this on other designs after it was set. The difference here is that the processor is using the SWDIO as an input when running. I thought this would not affect it as it should be available to the programmer directly after reset. The code without the readout protection set does not prevent me from connecting either. This must be the combination of both somehow.Any smart ideas how to circumvent this and connect the programmer again?Regards, PeterP.S. I know you like to look at the schematic for a custom board, so I will attach a snippet of the rele
I’m using the X-NUCLEO-IHM16M1 BLDC driver board, which is based on the STSPIN830, together with a NUCLEO-F446RE. In the STSPIN830 datasheet, ST clearly mentions that the device supports both 3-PWM and 6-PWM input modes.But in practice, on this expansion board:Only INU / INV / INW are connected to the MCUENU/ENV/ENW are present but “NP” (Not Populated) unless manually solderedNone of the INxH / INxL pins (the 6-input mode pins) are routed to the Nucleo connectorsTIM1 complementary outputs (CH1N/CH2N/CH3N) have nowhere to goMotor Control Workbench only allows 3-PWM mode for this boardThe user manual (UM2415) seems to confirm that the 6-input mode requires hardware changes: removing R12, replacing R11, and populating the NP resistors that route INxH/INxL to the MCU. Out of the box, the board is locked to 3-PWM “direct driving” mode.My question:Has anyone actually gotten TRUE 6-PWM complementary drive (TIM1 CHx + CHxN with dead-time) working on the X-NUCLEO-IHM16M1?Not "6 logic inpu
I updated The FUS of my STM32WB55 Nucleo Board to FUS v2.2.0.0 and the BLE Stack to v1.24.0.3After this change Flash erase operations fail at the call of `SHCI_C2_FLASH_EraseActivity` with the error code `SHCI_FUS_CMD_NOT_SUPPORTED`Additionally BLE does not advertise anymore.The log from the `Read FUS infos` returns some warnings:notably:10:35:12 : Warning: Option Byte: nSWboot0, value: 0x0, was not modified. 10:35:12 : Warning: Option Byte: nboot0, value: 0x1, was not modified. 10:35:12 : Warning: Option Byte: nboot1, value: 0x1, was not modified. 10:35:12 : Warning: Option Bytes are unchanged, Data won't be downloadedThe entire log:10:35:12 : Warning: Option Byte: nSWboot0, value: 0x0, was not modified. 10:35:12 : Warning: Option Byte: nboot0, value: 0x1, was not modified. 10:35:12 : Warning: Option Byte: nboot1, value: 0x1, was not modified. 10:35:12 : Warning: Option Bytes are unchanged, Data won't be downloaded 10:35:12 : Time elapsed during option Bytes configuration: 00:00:
I am using STM32N657 with USBX (MSC device).The function ux_device_stack_initialize() is returning UX_ERROR, and after debugging inside USBX I found that the failure occurs when USBX tries to allocate endpoint transfer buffers. The failing code inside USBX is: #if UX_DEVICE_ENDPOINT_BUFFER_OWNER == 0 /* Obtain some memory. */ endpoints_pool -> ux_slave_endpoint_transfer_request.ux_slave_transfer_request_data_pointer = _ux_utility_memory_allocate(UX_NO_ALIGN, UX_CACHE_SAFE_MEMORY, UX_SLAVE_REQUEST_DATA_MAX_LENGTH); /* Ensure we could allocate memory. */ if (endpoints_pool -> ux_slave_endpoint_transfer_request.ux_slave_transfer_request_data_pointer == UX_NULL) { status = UX_MEMORY_INSUFFICIENT; //0x12 break; } #endif So the device stack initialize fails because of UX_MEMORY_INSUFFICIENT. My current USBX memory setup: #define UX_APP_MEM_POOL_SIZE (128 * 1024) // 128 KB total pool#define USBX_DEVICE_MEMORY_STACK_SIZE (5 * 1024) // only 5 KB given to USBX I allocate memory f
The below device tree is for RTL8211F-CG, but i needed help with configuring DT for DP83867IRRGZT, which DT binding should i refer, and if possibly have a DT configured for DP83867IRRGZT, do share it. Hoping for a quick reply,Thanks in advance.&eth1 { status = "disabled"; pinctrl-0 = <&eth1_rgmii_pins_a &eth1_mdio_pins_a>; pinctrl-1 = <&eth1_rgmii_sleep_pins_a &eth1_mdio_sleep_pins_a>; pinctrl-names = "default", "sleep"; phy-mode = "rgmii-id"; max-speed = <1000>; phy-handle = <&phy1_eth1>; st,eth-clk-sel; snps,ext-systime; mdio1 { #address-cells = <1>; #size-cells = <0>; compatible = "snps,dwmac-mdio"; phy1_eth1: ethernet-phy@4 { compatible = "ethernet-phy-id001c.c916"; reset-gpios = <&gpioj 9 GPIO_ACTIVE_LOW>; reset-assert-us = <10000>; reset-deassert-us = <80000>; realtek,eee-disable; reg = <4>; }; }; };FYI, im working on a custom b
a F407 developer board in hand, it don't fit to touchGFX project, No OS, think to use DMA rise color data send speed,color data in external sram be to send LCD interface, a lots of trying, lost! DMA poll amd interrupt mode had test!for guiding
Hello,We have designed a custom board based on the STM32MP157F-DK2 platform.The design uses the STM32MP157FAC MPU and includes the following peripherals:MicroSD (SDMMC)STPMIC1 PMICDDR3L memoryEthernetUART4 for console My power sequencing, PMIC wiring, and clock architecture are identical to the DK2 reference schematics.All voltage rails appear stable except the DDR rails, and SDMMC signals look correct during boot.However, when I try to boot from the SD card and monitor UART4, I only receive the following messages:PANIC at PC : 0x2ffeada7Exception mode = 0x00000016 at : 0x2ffeada7There is nothing else printed afterward. From the Cortex-A7 exception codes, 0x16 indicates an Undefined Instruction exception, and the address 0x2FFEADA7 lies inside the SYSRAM area. This suggests the crash happens very early, likely during TF-A execution.My problem is that the MPU never seems to wake up properly, and I cannot identify the exact origin of the failure.I would appreciate guidance on w
I am currently working with the Yocto BSP/meta-layer you provide for the Odyssey STM32MP157C board. I am trying to include the following packages in my image:CORE_IMAGE_EXTRA_INSTALL += "kernel-modules"CORE_IMAGE_EXTRA_INSTALL += "kernel-devsrc"CORE_IMAGE_EXTRA_INSTALL += "kernel-dev"However, these packages are not being recognized or supported in the meta-layer provided. The build either fails or reports that these packages do not exist. I would like to understand whether these components are intentionally excluded from your BSP or if there is an additional layer, configuration, or package feed that I need to enable to use them.I built the image using the github documentation in this link https://github.com/Seeed-Studio/meta-st-odyssey .Could you please guide me on how to properly include kernel modules, development sources, and kernel headers/dev packages in the image for this platform?Any help or documentation reference would be greatly appreciated.
Hello,I developed a product,but customer wants that if no touch detected in 10 seconds the device will go in home page. I believe that the only way is to manage STM32TouchController.cpp in the point I have higlighted Is it the best way ?Thankyou for your patience.
Hi, We are planning to use PSRAM chip apmemory (APS12808L-3OBM) with STM32U575QII6. Please check pin assignment from STM32 to PSRAM chip And also please share the schematic and layout guidelines for STM32U575QII6 OCTASPI to PSRAM chip integration. And general layout guidelines. Thanks.
I'm using an STM32H725 to communicate with an i2c sensor. I'm using the I2C4 bus with the HAL DMA functions. I also enabled the BDMA channels for the rx and tx and respective interrupts. The problem is that the complete rx/tx callbacks are not triggered. I found that this could be related to the problem described here: https://st.my.site.com/community/s/article/FAQ-DMA-is-not-working-on-STM32H7-devicesAny solutions to this problem?
i use STM32N6570-DK to do a simple project but i cannot get any useful info via printf() on SWVITM data console. (1) I add some code in systemcall.c for printf() on SWVITM data console or UART1 via a "define" in my main.c. (AS many professionals suggested on the net) Now i can get info correctly by using uart but not the SWVITM. (2) I also choose SWD under DEBUG in .ioc config. Three wires are used. SWO is populated.(2) when i use SWV ITM data console, the display is just messy symbols. AI told me that it is either due to the wrong Baud rate or wrong encoding. The default is UTF-8. I tried different Baud rates and coding standards. No one works. The same messy display (3) I have watched a few youtube clips and followed their methods. No one works either. Has anyone got the correct display of printf () in SWV ITM data console ON THIS STM32N6570-DK?Thanks a lot in advance!
Now I want to know whether the STM32C011J6Px has a Low-Power Timer (LPTIM).Currently, we are planning to use the STM32C011F6P6 MCU in STOP Mode 2. Since we do not have any external pin interrupt available as a wakeup source, we are planning to use the LPTIM to wake up the system every 1 ms, read one analog value, and then go back to deep sleep again.I checked the datasheet and found the following list of timers for this series. Can you please confirm whether this is correct, or let me know if I am missing anything?TIM1 – Advanced-control 16-bitTIM3 – General-purpose 16-bitTIM14 – General-purpose 16-bitTIM16 – General-purpose 16-bitTIM17 – General-purpose 16-bitIWDG – Independent WatchdogWWDG – Window WatchdogSysTick – System Timer
Hi, I am using STM32H743ZI Nucleo 144 board for one of my application. As per the observations I got the utilization factor with STM32H743 is 35% where as with STM32H752 it was 60%. We have not initialized any crypto or secure features on STM32H753 but still i can see drastic change in the utilization factor. Have you observed this before? Any suggestions to check?
I want to stop generating a PWM signal after 22 clock edges. It seems like the TIMx_RCR register (repetition counter register) should work for this. My code started from the CubeMX generated code but I have had to remove a lot of it for performance reasons. I am running an STM32H523 with a SYSCLK of 250MHz. The PWM is about 650 KHz so I need to disable the output about 33 us after I start it. That timing is a little tight to do with an interrupt counting down from 22 to zero; however, that seems to be exactly what the TIMx_RCR register does in hardware. My current code uses the HAL_TIM_PWM_PulseFinishedCallback() function but it seems that it is being called for every pulse, not every 22 pulses. Does anyone have some pointers or code examples for how to setup TIM1 on an STM32H523? I am using STM32CubeIDE v 1.19.0 (because 2.0.0 broke my build).
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.