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,good day,would like to seek help for this question.what is the difference between L9906TR VS L9906QTR?.tried looking for documents online but can't find for L9906QTR.thank you for understanding and help.
The STM32G0B1 has a very ugly bug in the bootloader.When I have a write protection on a flash memory area:WRP1A_STRT = 0x0 --> 0x08000000WRP1A_END = 0x1 --> 0x08000800 and then I upload a new firmware to this area the firmware will not be written, because this area is write protected.This is correct.But it is a horrible bug that I send a USB control request withRequest.Function=URB_FUNCTION_CLASS_INTERFACE;Request.Direction=VENDOR_DIRECTION_IN;Request.Request=DFU_GETSTATUS;Request.Value=0;Request.Index=0;Request.Length=6;Result = STDevice_ControlPipeRequest(hDevice, &Request, (BYTE*)pkDfuStatus);and the buggy bootloader returns STATUS_OK (value 0) instead of STATUS_ErrorWRITE (value 3) The user thinks that the firmware was uploaded correctly but the processor is dead because the flash memory is corrupt.
Dear Engineers, is there any way of routing the internal OPAMP output of the STM32C5 to an ADC directly, or can it only be wired to the COMP1 ?CubeMX2 doesnt let you pick OPAMP as an input to neither ADC nor COMP, but i did find some notes on beeing able to route the OPAMP output to COMP1 minus input in the LL code somewhere.If yes, is there a way to do this within MX2, or does it have to be written by hand in code?Also, the datasheet shows a pin output option for the OPAMPs output on PA6. I know you could route form PA6 to a neighboring ADC input capable pin, but not only would that occupy 2 pins, my PA6 is in use for UART, so not usable in my case. Thanks in advance.
So I am stumped, which is not unusual. If I run the SENSOR TBP on a Intel NUC it will run for a long time, days. It I run the TBP on a lap top of common origin, it might run for 40 seconds, or a few hours, but never days. Both have Windows 11 and both are good computers. This happens across two NUC’s so it is not a random act of chance. Neil: Any thoughts?I went through the TBP documentation last night as I now have two more and I could not find an orientation sketch.
Hi, i experimented the following configuration STEVAL-MKBOXPRO with BLEMLC code available within FP-SNS-STBOX1 package. For my specific application, i want to increase the BLE transmit power of the BlueNRG-LP chip of the MKBOXPRO. So i modified the code with the aci_hal_set_tx_power_level(1,31) +8dBm (since default value was aci_hal_set_tx_power_level(1,4) -16dBm). Everything is fine with compilation with Cube IDE. But in practice with the app ST BLE Sensor v5.2.6, the real connection distance still remains about 25m, with a disconnect when RSSI is about -92dBm. These values are correct but what is not correct is that any tries to change aci_hal_set_tx_power_level with different "theoretical" power levels (from -54dBm to +8dBm) do not change anything in practice. It looks like aci_hal_set_tx_power_level has no effect on "real" transmitted poser. Any help will be welcomed to this topic. Thanks reading et thanks in advance or your help. Christian
Hi,I am working with the STM32MP135F-DK board and built an SD card image using Yocto Scarthgap (openstlinux-6.6-yocto-scarthgap-mpu-v24.11.06).The image boots successfully. To prevent the Year 2038 (Y2038) problem, I confirmed that require conf/distro/include/time64.inc is already included and processed in the distro configuration.To test Y2038 compliance, I manually set the system time to the year 2040.The time was set successfully, and verifying it via the date command showed the correct time (2040).Checking the RTC using hwclock --show --verbose also returned the correct time in 2040.NTP is explicitly disabled via timedatectl set-ntp false, so network time synchronization is not causing any interference.The Problem:The issue occurs upon a reboot. After the system reboots, the time rolls back to the year 2024.My Analysis:Upon looking into the Linux kernel source (drivers/rtc/class.c), it appears that the kernel clamps or prevents system time overflow. This seems to be a fallback mech
Hello ST Community,I am testing the STEVAL-DPSLLCK1 3 kW full-bridge LLC DC-DC converter kit. The power board is marked STEVAL-DPSLLCP1, and I am using the STSW-DPSLLCK1 firmware.The LLC DC-DC converter is being supplied from a STEVAL-DPSTPFC1 PFC board. The PFC stage provides a stable DC bus of approximately 400 V to the LLC input.The converter starts normally and regulates to 48 V output at no load. After the converter is already running at 48 V, I apply dynamic load steps using an electronic load.The issue is that under some dynamic load conditions, the DC-DC converter faults or the 48 V output voltage collapses to 0 V. The steady-state load current is well below the rated output current of the board, but the fault appears to happen during the transient load change.My test conditions are:Input DC bus to LLC: approximately 400 V Output voltage: 48 V Load type: electronic load in dynamic load mode Converter starts at 48 V with no load, then dynamic load is appliedThe dynamic load test
Dear Support Team,OS: Windows 11Version of tool: v2.22.0When using the GUI for setting and exporting/importing option bytes on an STM processor, I face this issue when I want to import again a exported option bytes json (using the same version.)Is there a debug/verbose mode to be able to trace back what is the error ? Best Regards,Mohammed Ismail
Hi, Could somebody please explain why CAN on the NUCLEO-C5A3ZG is not populated?
Hello,Please review my schematic. I am using STM32F030RCT6TR. I have attached screenshots of the schematic and the peripherals interfaced with it. Recommend EMI/EMC related suggestions.NOTE: this STM will be controlled and is interfaced by ESP32 S3 for IO purpose by UART protocol. Following are the sections I have attached screen shots of:STM32 controller ICUARTRTCWATCHDOGDEBUG UARTDECAPAND GATE IC All suggestions/recommendations will be welcomedThank You!
Dear Team, As Fluorine was detected in the material report, the customer requests the following investigation. Please assist in confirming and replying, thank you. Customer Company Name MPN Flexium LSM6DSV32XTR PN Manufacture Material Name F>50ppm(Yes or No) If yes, fill the fluorinated substance name If yes, fill the CAS No. Why contains fluorinated substance Percent of the substance in the material 145-H2-0286 LSM6DSV32x ST Au plating layer F:419ppm
Is the overcurrent protection set to 3A on the STSPIN840? If so, is there a way to change the trip value of the overcurrent protection to better align with its application? I want to change it so that the overcurrent trips at 1A. Thank you!
For the current limiting circuit, what’s the tolerance of when the circuit triggers. Say I have my Vref at 1V and my RSNSA is 0.5 ohms. I’m expected to trip at 2A, but could I expect to trip at 1.9A? Thank you
Hello, I am experiencing some issues when using ETH0 (LAN8670). As a test I want to use ETH1 to use LAN8650 via SPI communication. How can I use ETH1 when calling FreeRTOS_recvfrom(), FreeRTOS_sendto(), etc? I changed SPC5_USE_ETH0 as FALSE and SPC5_USE_ETH1 as TRUE but still I can’t use ETH1, I do not see any packet from ETH1’s port of Evaluation board via Wireshark in the connected PC. Questions;Is there additional #define to change if I want to use ETH1 (through SPI) but not ETH0 (through MAC)? Or do I need to call different FreeRTOS API functions? Currently I am calling some Ethernet related functions like below. UdpRxInfo.xRXSocket = FreeRTOS_socket(FREERTOS_AF_INET, FREERTOS_SOCK_DGRAM, FREERTOS_IPPROTO_UDP); FreeRTOS_setsockopt(UdpRxInfo.xRXSocket, 0, FREERTOS_SO_RCVTIMEO, &xReceiveTimeOut, sizeof(xReceiveTimeOut)); UdpRxInfo.xBindAddress.sin_addr = FreeRTOS_inet_addr("192.168.0.22"); // use Specific IP to receiveUdpRxInfo.xBindAddress.sin_port = FreeRTOS_htons(XcpPortNum);
I have a STM32U585 (edit: ...VIT6, so not the one where this doesn't work due to errata) product with Trustzone enabled, Bootlock disabled and RDP level 0.I want to bring this into ST bootloader mode from software (for easy Firmware change via USB).To my understanding that would mean implementing the last entry of Pattern 12 from AN2606 Which means the following code, executed from secure side.RCC->APB3ENR |= RCC_APB3ENR_SYSCFGEN; //clock is disabled after startup, so enable __DSB();//make sure data is written SYSCFG->RSSCMDR = 0x1C0; //pattern from AN2606, RM says any value will do? __DSB();//make sure data is written __NVIC_SystemReset(); //SW reset But all I get is a restart to SECBOOTADD0. And RSSCMDR is zeroed out afterwards, even though the RM states that it is only affected by power on reset.What am I doing wrong?
After a long time, i started to look into using the BLE_Thread_dynamic stack image on WB55 again. First without success with my own code on my own board, which I do think to remember worked before.But afterwards with the BLE_Thread_dyn example on a WB55 Nucleo Board and that doesn't work as well. This is how the FUS Info looksAnd this is where it gets stuck Any Ideas what I might be doing wrong?I already tested with and without "Start Wireless Stack" from the programmer. Not using it, makes it stop even earlier, at hci_reset.Starting to look into older stack images now.Edit: I went back up to 1.18 (using the example code from 1.24, which seems to be untouched since way back) and nothing worked :thinking_face:.
Hello! I have been using the STM32H723ZG Nucleo board and am now trying to ping the STM32 device from a PC through an Ethernet connection, but the ping is not working. For ex: ping 192.168.10.XX (STM32 Static IP) No response is received. My board setup and module details are given below.Board / Setup MCU: STM32H723ZG (Nucleo) Interface: Ethernet (RMII) PHY: (e.g., LAN8742 – please confirm) Stack: lwIP (CubeMX generated) RTOS: FreeRTOS Connection: Ethernet cable through splitter (PC ↔ STM32) PC IP: 192.168.10.XX (static) STM32 IP: 192.168.10.XX (static) STM cube IDE version: 1.18.1 Observed Behavior (STM32 side logs): STM32 successfully receives ARP requests from PC. Who has 192.168.10.50? Tell 192.168.10.100 (Captured by wireshark). 2. lwIP processes the request and generates an ARP reply. 3. ARP reply frame content (from debug log): 192.168.10.XX is at 00:80:XX:X
We are developing a project using the STM32H743ZIT6 where RTC timekeeping is a critical requirement. During field testing we noticed significant RTC drift on our board. We tested the same hardware three times — each time flashing a different RCC_LSEDRIVE_* setting to identify which drive level gives the best RTC accuracy. Sharing the full details below test results, firmware, and hardware in case others are facing the same issue.Quick Results We ran a 16-hour test measuring RTC drift on the same STM32H743ZIT6 board, flashed three times with a different RCC_LSEDRIVE_* setting each time."Drive setting Drift over ~16 hours PPM RCC_LSEDRIVE_LOW 69 seconds ~1161 RCC_LSEDRIVE_HIGH 30 seconds ~519 RCC_LSEDRIVE_MEDIUMHIGH 6 seconds ~101 RCC_LSEDRIVE_MEDIUMHIGH gave the best result by a large margin. RCC_LSEDRIVE_LOW — which is often recommended as the default — gave the worst result on our hardware.Hardware DetailsCrystalParameter Value MPN ECS-.327-6-12-TR Frequency
Hello everyone,I have encountered an issue with the STM32WB05KZ on a custom board which only allows me to flash the board under very specific conditions. The first time out of the box, everything works fine, I can flash using a ST-LINK V3-PWR straight from CUBEIDE V1.18.0. After this first time programming, the board becomes fully unresponsive to the debugger. My code does seem to run (verified by two LEDs connected to PB4 and PB5). When using STM32CubeProgrammer, the system reports that it's unable to read the Chip ID. After much trial and error, I've found that by disconnecting the reset pin from the debugger and pressing the Close Debug button in the Debug Authentication (which I haven't enabled anywhere) menu, I can connect to the board through the STMCubeProgrammer software. I was wondering if this behaviour is to be expected, because I can't find it in the Reference manual or Datasheet. And if this behaviour can be disabled. For context:- The board has a 32 MHz crystal and a
Hello,I'm sorry to bother again, but it seems there is another issue in the latest update of VSCode STM32IDE extension. While trying to Start Debugging with GDB Server (STM32Cube Debug STLink GDB Server v1.3.0), with launch.json as: "version": "0.2.0", "configurations": [ { "type": "stlinkgdbtarget", "request": "launch", "name": "STM32Cube: STM32 Launch ST-Link GDB Server", "origin": "snippet", "cwd": "${workspaceFolder}", "serverReset": "Connect under reset", "preBuild": "${command:st-stm32-ide-debug-launch.build}", "runEntry": "main", "imagesAndSymbols": [ { "imageFileName": "${command:st-stm32-ide-debug-launch.get-projects-binary-from-context1}" } ], "faultUnalignedAccess": false, "liveWatch": { "enabled": true, "samplesPerSecond": "4" }, "preRunCommands": [ "set output 16" ] } ] } The Debug starts and I get an error message as:PARSE ERROR: Argument: -cp (--stm32cubeprogrammer-path) Argument already set! Brief USAGE: C:/Users/.../AppData/Local/stm3
Device: NUCLEO-N657X0-Q Board Environment: STM32CubeIDE for Visual Studio Code Extension (v3.9.0) Description & Symptoms: The debugger loses a connection with the board with “Target not responding” and “Unable to read memory” errors. Reverting to version v3.8.0 of the extension and all of its dependencies resolves the issue. Steps to Reproduce:Set a breakpoint on the first line of the FSBL Reset_HandlerRun the debuggerStep past the following line in the Reset_Handler: mov sp, r0 Expected Behavior: Debugger is able to continue stepping through the code Actual Behavior: The device stops responding and is unable to reconnect until unplugging and plugging back in Other Notes: When running the debugger without a breakpoint set, the program runs normally. As soon as a breakpoint is set, it loses the connection.
I've seen the other post, but my issue is different. I'm now getting:Rolling back doesn't seem to be fixing this issue, even though nothing about my setup has changed since 2 weeks ago.I can't even figure out if it's the update causing this issue thanks to this utterly useless update information:Spoiler (Highlight to read)Breaking ChangesComplete architecture redesign: The tool architecture has been split into three major building blocks with the purpose of creating a flexible, maintainable and updatable platform consisting of the following blocks: GUI, CLI tools and STM32 device support.Breaking ChangesComplete architecture redesign: The tool architecture has been split into three major building blocks with the purpose of creating a flexible, maintainable and updatable platform consisting of the following blocks: GUI, CLI tools and STM32 device support.What changed?!How am I supposed to update my 3.8 configs to 3.9?
As the title says, the most recent 1.3.0 version of the extension breaks functionality of the debugger for the STM32G473CET3 MCU (and possibly others). By "breaks functionality", I mean that it does not even connect to the MCU anymore.
How would I go about implementing a USB host for a usb printer. I would like to send things through my STM32 to be printed. I’ve seen adaptations or some work done on the USB printer class as a device but I am unsure how I would do this as a host? Any ideas or already implemented libraries?
We are designing an STM32-based SOM and want to know whether STM32H7 controllers support DDR memory, or if DDR support is available only in STM32MP series. Please suggest compatible STM32 controllers and reference designs for DDR interfacing.
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.