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
Interesting issue I ran into with my STM32F303CBT6. Using an STLINK to try and connect to it and wasn't coming right, probed the voltage on PA14 out of desperation and it worked. Intermittently but it workedStarted testing if it was perhaps acting as a pull down and soldered in some resistors to ground to test. I test 100k, 820k, 1M and 10M. None of which workedI then tested capacitors 3pF up too 22pF and tried combining them with the above resistors. All of which didn't helpI then added 100nF caps between all Vdd and Vss connections as close as I could get to the MCU, as well as between NRST and GND. Again none of which worked. (my boot0 is grounded through a 10k too) Any ideas of what could possibly have gone wrong here? Such a strange thing to me, that my multimeter was making it work Intermittently.
Dear ST Technical Support Team,I am writing to request technical assistance regarding a recurring hardware failure with the STM32H743IIT6 MCU on my custom-designed PCB.Problem Description:After initial assembly, the MCU is correctly recognized by STM32CubeProgrammer and STM32CubeIDE via the ST-LINK (Serial Wire mode). I can successfully flash the firmware and debug the device for a limited number of cycles (typically 2 to 5 times). However, the MCU eventually enters a state where:It is no longer recognized by any programming tool ("No STM32 target found").The chip begins to draw excessive current (overheating rapidly).The hardware suffers permanent damage (internal short-circuit).Firmware Configuration:Debug Hardware: Serial Wire (SWD).Timebase Source: SysTick.Clock Configuration: Configured via STM32CubeIDE (no errors reported in the clock tree).Operating Voltage: 3.3V stable.Technical Concerns:I have verified the schematic, but the repeated physical failure suggests an internal latch
Hello Everyone,I am working on a custom USB bootloader project on STM32H743 using:USB Host MSCFATFSExternal QSPI FlashInternal Flash updateIAR WorkbenchHAL driversMy bootloader detects USB pendrive successfully and I can see:Appli_state == APPLICATION_READYf_mount() returns FR_OKBut the system gets stuck / deadlocked when calling:DIR dir; if(f_opendir(&dir, "0:/") != FR_OK) { return UPDATE_NONE; }The MCU hangs inside f_opendir() and never returns.Current flow:MX_USB_HOST_Init(); while(1) { MX_USB_HOST_Process(); if(Appli_state == APPLICATION_READY) { HAL_Delay(500); update_flags = ver_check(); break; } }Inside ver_check():if(f_mount(&USB_FatFs, USBHPath, 0) != FR_OK) { return UPDATE_NONE; } if(f_opendir(&dir, USBHPath) != FR_OK) { return UPDATE_NONE; }Additional Information:USB Host MSC works until f_opendir()No FreeRTOS usedUSB drive detected properlyf_mount() succeedsDeadlock occurs specifically at f_opendir()Tried both "0:/" and USBHPathTried adding delay
Hi I am looking into using STM32F446RCTx for my design, which includes 2 x USB FS 2.0 (1 x Host + 1 x Device). Hence need to provide an external HSE. I want to use an Oscillator, meaning I setup the HSE as "Bypass Clock Source" .With this setup I planned to use the pin 6 (PH1_OSC_OUT) as a GPIO for other functionalities. But the STM32CubeMX setting does not let me do this.I see that this pin will be (OSC_OUT) High Impedance as per RM0390 - Page 120. Am I right in say that I MUST leave this pin NC and cannot free up to use as GPIO?Thanks.
Split from this thread. Hi mƎALLEm, Thanks for this reply and confirming that the OSC_OUT can be used as GPIO when HSE in bypass mode. Can you please advise I do I set this as a GPIO? CubeMX does not allow me to configure this pin. Should this be hand coded to make this possible? Thanks. Regards Billy
Hi All, For the project I am working on we are looking to standardize on the STM32H7A3 processor. I am current looking to setup a project in the ST Motor Control Workbench (v6.4.1) targeting the STM32H7A3.When selecting a board, there are only 2 H7 boards listed. Both boards contain processors that have a mix of M7 & M4 cores. The Workbench creates code for the M4 processor, whereas the STM32H7A3 has an M7 core.I have tried creating a custom board, but again the STM32H7A3 is not listed in the supported list of processors.Is there anyway to set up the ST Motor Control Workbench to generate code for the STM32H7A3?Or do I need to port code targeted at a different processor?If so, can someone suggest a supported processor that would be a good starting point for generating code that could be easily ported to the STM32H7A3?Does ST have documentation on how to generate code for a processor that is not directly supported by the ST Motor Control Workbench? Thanks for your time!&nb
Hello, We are facing an intermittent CAN-FD issue in the field and would appreciate guidance from the community. Our system has two devices on the bus (no other device on the bus) using a request–response architecture. The master sends a request every 30 ms and the slave responds. This setup is deployed in hundreds of units running continuously (24 hours). Out of these, around 3 to 5 units per day show acknowledgement errors, which we track through the CAN protocol error counters. The behaviour is unusual: • The issue appears randomly on any unit.• No bus-off condition is ever reported.• Despite no bus-off, communication between the two nodes temporarily stops.• Communication recovers automatically after a few seconds without any intervention. Initially, we suspected a physical wiring problem. We re-checked all connectors and even secured them with glue. The bus has 120-ohm termination at both ends. However, the issue still appears randomly. Below are the system details: Microcontrolle
I have a project where a STM32U575VGT must convert a SSI multiturn encoder value into a parallel single turn value for GPIO output. The SSI values are 3 bytes long, and it would be best if the CPU is only interrupted when the last 2 values differ. I have set up SPI2 to have GPDMA channels for TX and RX (although only RX is needed). DMA transfers work, but when I try to enable autonomous mode with LPTIM1 Channel 1 as a trigger, there are no interrupts for SPI2 or the DMA channels. How do I trigger the SPI read every ~1ms? Is this something only achievable with the LL libraries rather than HAL? Is it possible to interrupt the CPU only if the 3 bytes read from the SPI differ from the previous value?
System Setup Board: NUCLEO-G0B1RE (STM32G0B1RET6)CAN Transceiver: CAN-FD 4 Click (NCV7344) connected via level shifter (3.3V → 5V)FDCAN Pins: PC4 (TX), PC5 (RX) on FDCAN1Clock: HSI 16 MHz → PLL → 64 MHz FDCAN clock Second Node: Raspberry Pi 4 with MCP2517FD Click board (ATA6563 transceiver, 20 MHz crystal)RPi CAN Interface: can0 configured with bitrate 500000 dbitrate 2000000 fd on Project Context I'm building a BMS (Battery Management System) CAN-FD emulator. The STM32 reads values from a potentiometer via ADC and transmits telemetry frames (ID 0x100, 8 bytes) every 100ms. The Raspberry Pi is the receiver that should log these frames. Problem When both nodes are connected in FDCAN_MODE_NORMAL, the STM32 transmits frames (confirmed via serial debug prints and g_tx_count incrementing in the debugger), but nothing appears on candump can0 on the Raspberry Pi. The STM32 eventually enters BUS-OFF state. What I've Already
Hello,I would like to add Aliro compatibility to my access control device.My device uses the STM32WB55 MCU with an ST25R3911B NFC front-end.It seems that the X-Cube-Aliro package is designed to work with the new STM32WBA MCUs along with different NFC front-ends (such as ST25R200).As I understands it, I can implement the Aliro protocol on STM32WB55.1. Are there any such examples of adapting the X-Cube-Aliro package to work with such an MCU?2. Does using the X-Cube-Aliro package also require running a comm stack that the STM32WB55 doesn't support?3. Are there examples of implementing the Aliro protocol without using the X-Cube-Aliro package on STM32 devices?Thanks,Tal
When using the IOC file in the attachment to generate code with an operating system, MDK-ARM V5.32 is selected. It is found that the directory ..\Middlewares\Third_Party\FreeRTOS\Source\portable\GCC is missing, resulting in compilation failure in Keil.
Hello, I noticed that when showing differences between the current and the previous generated source code the width of the source code window does not even show 80 characters even though there is plenty of room in the application window (see screenshot attached). I spent quite a bit of time looking at the HAL source code when debugging and the source code is not formatted to 80 character lines anyway. Sometimes it exceeds 80 by a wide margin. Would it make sense to show the source code window as a popup or as wide as the application window allows?Thank you,Gil
I have a flexButton in a View, and I want to execute different functions depending on whether the button is PRESSED, RELEASED, or CANCEL.I know you can create interaction in TouchGFX Designer, but you can only call a virtual function on click. Is there a way to, for instance, enable the clickListener Mixin to read the event that has fired the callback from that specific button?I need to read this event within the view and relative to my button.Is there a way, or do I have to create a custom widget?
I am developing a multi-node system (16 nodes) based on the STM32G0C1MET6. During normal operation, all nodes communicate at 500k (Standard CAN). To perform a firmware update, the Master initiates the following transition sequence: Reconfiguration: The Master sends a global command. All nodes switch their FDCAN configuration to 250k (CAN FD) and enter Listen-Only Mode. Trigger: The Master then sends a specific SDO command to a single target node to trigger a jump to the System Bootloader (System Memory). Reflash: Once in Bootloader mode, the target node is expected to respond via FDCAN1 (as per AN2606/AN5405) to begin the reflash process. The Master repeats this node-by-node. The Issue: While most nodes perform the jump and reflash successfully, some specific units enter the bootloader (confirmed by status LEDs) but never respond to CAN messages. These units appear "deaf" to the Master's CAN FD frames at 250k. Environment: MCU: STM32G0C1MET6 Interface: FDCAN1 (Pins: PD0/PD1) Trans
I am currently interfacing M95P08-IXMNT/E with an STM32H755ZIQ board using SPI. My connections are:SCK -> PA5MISO -> PA6MOSI -> PD7CS -> PA4I am trying to read the Device ID/JEDEC ID from the flash memory, but I am not getting the expected response value.Could anyone please help with:Correct SPI configuration required for the M95P08Supported SPI mode (CPOL/CPHA)Required reset/power-up sequenceExample command sequence for reading JEDEC IDWhether HOLD/WP pins need pull-ups or specific statesAny STM32-specific considerations while interfacing this ICIf anyone has a working initialization/read-ID example, it would be very helpful.Thanks.
Hi,We are using a LSM6DSV16X unit to track pitch and roll in our product based on the quaternions reported by the unit's SFLP algorithm (High Accuracy ODR 120Hz)During the operation and in what seem to be arbitrary times, the pitch and roll signals for such unit present some unexpected overshoot or oscillation (see below) before returning to the expected value.The graph above shows the IMU pitch signal (purple) with the reading of an absolute encoder (blue) and both signals should be fairly similar. The roll signal below, although not compared to any other signal, should maintain the same oscilatory behavior that is seen before and after the anomaly (vertical axis in º). At the moment of the anomaly, no special movement happened that could have caused such readings.We have other LSM6DSV16X units in the same usecase and we do not see such behavior as of now.We were doubting whether this could be a calibration problem of the IMU? Is there any calibration procedure you recommend for these
If I use STEVAL-MKI208V1K to collect vibration data of bearings, do I just need to fix this board on the bearing where I want to take data?Thanks
Hi everyone,I designed a first custom PCB using the BlueNRG-2N as a coprocessor, and everything was working fine, I was able to control it with my main MCU over SPI without any issue.Recently, I made a new version of the board where I replaced the BlueNRG-2N with the BlueNRG-M2SP module. I flashed it with the DTM firmware (BLUENRG-M2SP_DTM_SPI.hex) because I want to use it as a coprocessor.I’m using exactly the same software as before for my main mcu (which should work), but now it doesn’t work at all : I don’t receive any data on the SPI MISO line from the BLE module.I’ve attached both the old (working) and new designs. Since the firmware works with the BlueNRG-2N, I assume the issue is hardware-related. What could be wrong in my new design? Or what changes are required for the software ? Also, I have a couple of additional questions:1- There are multiple DTM firmware versions available (e.g. BlueNRG-M2SA_M2SP_DTM_Stack_v2.1c, v2.1e, and several others in the BlueNRG-1_2 DK 3.2.3
I am using NUCLEO-STM32WBA25CE1. I created STM32CubeMX project for this board. I activated RF, WPAN, RTC. I configured a wakeup every 10 seconds and set up a task for the sequencer to toggle the LED. The LED pin is correctly configured. I can toggle the LED before the main loop starts. But in the task LED toggling is not working. How should i configure GPIO and anything else to get LED working?I am using STM32CubeMX 6.17.0 and STM32CubeIDE 2.1.1 versions.Moreover, I try to use USART1 or LPUART1 for debugging. Before the MCU goes into low power mode, i can output the message to the terminal. But after the low power mode it stops working.
HiWhen I attempt to install the 1.2.1 version of STM32CubeMonitor-Power on Ubuntu Linux, I encounter a "java.lang.ArrayIndexOutOfBoundsException". I saw some posts about problems with files on the server, but they are quite old, and I have a problem with today's download. Can someone help me with this problem? Console:-> % java -jar SetupSTM32CubeMonitor-Power.jar Command line arguments: SEVERE: java.lang.ArrayIndexOutOfBoundsException: Index 70131 out of bounds for length 22674sha256 checksums:SetupSTM32CubeMonitor-Power.jar 6638b2c15ada4d359f796484856db1c54d120acfca4c59775a265a8665bf3b35cubemonpwr-lin-v1-2-1.zip 01d4e9fcc6a3024f957b7c70f1ec3912557b41a189f075822a4ec5f059a60824
Good day. I am using STM32WL31 on a custom board.DeepStop mode entry works correctly, but wakeup from PA0 (WakeUp pin) is not reliable or does not work. I used the example code in project:STM32Cube_FW_WL3_V1.3.1\Projects\NUCLEO-WL33CC\Examples\PWR\PWR_DEEPSTOPThe same code I use in my custom board works correctly on NUCLEO-WL33CC2 board (I have tested succefull the code on the NUCLEO-WL33CC2). In my opinion the difference from my custom bord + my code and the NUCLEO-WL33CC2 is the microcontroller; the NUCLEO-WL33CC2 mount the STM32WL33, my board mount the STM32WL31. Code sequence foe enter in deep stop:1. Enable wakeup pin (PA0, PA11 used as wakeup pins are connected by a button to GND). Internal pull-up enabled using LL_PWR_EnableGPIOPullUp on PA0 e PA112. Clear WUF flags3. Enter DeepStop When I press PA0 or PA11 buttons the MCU does not resume execution OR behaves inconsistently, it look like as the micro is in an undefined state.After programmed the micro it seam
Good day,I have a simple custom board with a STM32WL31 that needs to cyclically enter DEEPSTOP mode and then wake by means of RTC internal wakeup. It seems the device enters DEEPSTOP, but does not wake from it. Basic setup:Clocked from HSI, RTC clocked from LSE with 32kHz xtal.SMPS not implemented.Basic project generated with STM32CubeMX 6.16.0 with MCU Package for STM32WL3 Series 1.3.0 installed.IWDT activeMR_SUBG radio not yet implemented I can confirm RTC runs, RTC interrupt occurs every 1s, and HAL_PWR_EnterSLEEPMode() behaves correctly. However, when I enter DEEPSTOP with the sequence below, then the code never gets to HAL_ResumeTick() (reset after a few seconds by IWDT): PWR_DEEPSTOPTypeDef sConfigDEEPSTOP; sConfigDEEPSTOP.deepStopMode = PWR_DEEPSTOP_WITH_SLOW_CLOCK_ON; HAL_PWR_ConfigDEEPSTOP(&sConfigDEEPSTOP); HAL_SuspendTick(); HAL_PWR_EnterDEEPSTOPMode(); HAL_ResumeTick(); Below is a reg dump of possible relevant registers just before calling&
We are evaluating the L9916 IC and need to test it with different settings. We are following the information in the Datasheet and the Programming App Note. We keep the IGN, PHASE and LAMP pins at 0V right until the moment we send the ignition sequence (although we have also tried bringing it to 5V before that in order to match the oscillogram in the app note).We also ensure that the data is valid at least until the half high period of the clock and are confident that the initial sequence matches the one described in the application note. We have tried with the clock speed from the oscillogram in the app note as well as with faster and slower clock speeds. After the initial sequence is sent, the microcontroller reconfigures the pins connected to IGN (SCL) and PH (SDA) for I2C communication. Then, even though both pins have strong external pullups, the IGN (SCL) line is brought to 0V by the L9916 and held there indefinitely. This prevents I2C communication from occuring, since
Would it be possible to use a Time-of-flight sensor to measure water level in a pipe?The pipe is vertical with a diameter of 50 or 75 mm and a height of 800 mm. At bottom there is a 90 degree bend. Sensor should be at top looking down the pipe. I assume that best sensor would be VL53L4CD since it has smallest field of view. Would reflection from pipe walls disturb measurements?
Dear Team,We are planning to use the SPC560B50L1B4E0X MCU for project.We would like to get official clarification regarding the development ecosystem and debugging support for this MCU.Could you please confirm the following:Whether FreeRTOS is officially supported for SPC560B50L1B4E0X.Which debugger is officially recommended for this MCU.Whether PE Micro supports full debugging for SPC560B50L1B4E0X.Whether SEGGER J-Link supports only flashing or full debugging as well.Which IDE/toolchain version is recommended for development.Your guidance will help us finalize the development setup for the project.Best regards,Pandiyan T
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.