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 spotted that the documentation and code examples do not match for port pin assignments for LED2 and LED 4.The user manual manual does not match the schematics:Code examples do match the schematics, so just a documentation error I think.EDIT: There is definitely some sort of misalignment here. The Linux device tree (stm32mp215f-dk.dts) puts the blue LED on PZ3. And when controlled on/off or heartbeat through Linux, the blue led labelled LD2 on the dev kit is controlled. So this seems to match the user manual! gpio-leds { compatible = "gpio-leds"; led-blue { function = LED_FUNCTION_HEARTBEAT; color = <LED_COLOR_ID_BLUE>; gpios = <&gpioz 3 GPIO_ACTIVE_HIGH>; linux,default-trigger = "heartbeat"; default-state = "off"; }; };I can only assume the LED labelled LD4 on the dev kit is wired to pin PF10?
When I was using Keil and VSCode with the same piece of code, I found that I couldn't enter the ADC_DMA interrupt callback function when using VSCode. I was looking up the information and debugging in two software programs. I found that the address of the array where I stored the data was 0x20 in VSCode, while it was 0x24 in Keil. I attempted to adjust the array address to the correct one, but found that it couldn't be adjusted properly.If there is a solution, please let me know. Thank you.
I've built cmwx1zzabz_0xx project on B-L072Z-LRWAN1 discovery board. From the source code, it looks like the app configures a 9600 baud serial console using UART1 on the STM32LO72 on the MuRata LoRa module.Please confirm that the TX/RX signals are available at PA9 and PA10 on the discovery board's pin header.Which #defines are necessary to route app console logging as well as AT command responses to this console?Thanks,Curtis
Hello,I am using an STM32H753IIT6 AA184 VQ V TWN AA. It does not communicate when I connect my serial board through serial communication and try to upload a TTL file using TeraTerm. The device is not even detected. However, when I replace the chip, it starts communicating normally. This has happened with multiple units and the result is the same.We verified that there are no soldering issues—X‑ray scans showed no defects. We have also tested all voltage levels and clock signals according to the datasheet, and everything appears correct.I am concerned about what might be causing this issue. Could you please help me understand what could be going wrong?Thank you.
hello, I don't reconiaze the PN number of attached picture
Hello ST Community, I am working on an ultra-low-power project using STM32 MCUs and I have a question regarding the current capabilities of STM32CubeMX. Current Situation: I am aware that STM32CubeMX has an option to "Set unused pins to Analog" to save power. However, this is not sufficient for complex low-power management. In many cases, pins that are actively used in "Run" mode need to be reconfigured into specific states—not necessarily Analog—before entering a low-power mode (e.g., keeping a specific Pull-up/Pull-down for an external sensor, or maintaining a specific Output level to prevent leakage through external circuitry).Currently, CubeMX generates a single initialization function (e.g., MX_GPIO_Init()). To manage transitions for these "used" pins, we must manually write wrapper functions to change their states before sleep and re-initialize them upon wake-up. This manual process is time-consuming and prone to configuration errors. My Question: Is there an exist
Hi everyone. Following my Previous post, I have acquired a F446 Nucleo supporting 3shunt topology with the IHM17M1, such that I can perform motor profiling. However, I have run into an issue with the profiler getting stuck at 28%. Details are given below. Any help would be appreciated.[PN]: X-Nucleo IHM17M1, Faulhaber 0620-006B[VERSION]: 6.4.1[TOOL]: MC PROFILER[DETAILS]: Motor Profiler is stuck at 28%. The motor spins up in open loop mode. I have tried multiple speeds and currents within the motor range, and they all seem to work relatively well. However, when using the motor profiler, the motor does successfully spin up (enough current, I assume), but then stops before it reaches the target speeds, and then keeps retrying at a lower and lower acceleration. I have also tried a wide range of speeds from 5000RPM to 50000RPM, and all currents from 0.1-0.3A. I suspect it is not a startup error, but rather a sensing error. Given the size of the motor, and the operating current, I have cons
Hello everyone, I’m having an issue reading the current sense (CS) output from a VND7040 using an STM32G473 ADC. When driving a DC motor with PWM: • At ~50% duty cycle, I measure around 500 mV on the CS signal (after RC filter) using an oscilloscope• At 100% duty cycle, the voltage drops to around 0 mV I’ve locked the internal multiplexer so the CS output corresponds only to the channel driving the motor.Also sen is always on at 3.3v. Vcc is stable at around 13V.Also have the gnd filter with diode and resistor recommended on the application document. The CS pin is connected through an RC filter to the ADC input (schematic attached). However, the voltage behavior seems inconsistent — especially at 100% PWM where I’d expect a higher or steady value since current is continuous. Observations: On the oscilloscope, the CS signal looks like pulses at 50% PWM (which average to ~500 mV after the capacitor) At 100% PWM, the filtered voltage goes near zero Questions: Shouldnt it be linear w
Good morning.Using CubeIDE both v1.19 and v2.0.0 with Debian Linux v11.11.I'm seeing very high processor usage, 300% and higher, all of it java based even when there is no activity in the IDE. Is there an explanation available for this usage, or is there a way to bring the usage back down out of the stratosphere, or is there just a leak that's causing this? It doesn't really appear to be affecting anything bigtime so this is just an information inquiry. System monitor screenshot attached.Just for information, I was using IDE v2.0 for a few days then found it upgraded to v2.1. v2.1 uses a later version of libc and doesn't run on my Debian 11.11 system. Thanks,TJM
[PN]: NUCLEO-G431RB with EVLDRIVE102BH and custom motor[VERSION]: Version: 6.4.1 Build: 250722.104358[TOOL]: MC PROFILER[DETAILS]: I am attempting to build a new motor controller that runs sensorless FOC instead of 6-step and my first step was to use the profiler to verify some of the figures on the motor's datasheet. Specifically the friction and inertia values on the datasheet seemed suspect and didn't have the right units for the motor controller workbench. Furthermore I'm assuming the gearbox included on the motor doesn't take these values into consideration. When attempting to run the profiler I seem to get stuck at 28%, which seems to be a common issue and it sounds like the issue is the motor not reaching a stable speed per the forum posts I've already read. From what I can tell it seems like the motor is physically spinning at a stable speed and I don't know why the profiler is struggling to read the speed. I have been banging my head on the wall for weeks now an
Hello all,I have a custom board using an stm32h747bit6. I am able to flash it and it works exactly as intended, but if I power cycle it then it stops working? If I flash it and then reset the chip it still works fine.I tried some debugging, I configured the error handler to toggle a gpio pin on / off but it doesn't do that, the voltage just sits at ~0.8v after I power cycle it? Any ideas?
Hi ST,It has been more than a year since STEF48H28 was announced (document DB5404 dated Nov 2024).When is it going to be available for preview?I would prefer to use ST’s solution over a comparable device already available as evaluation module from a competitor; however, it is difficult to justify waiting without any announced preview or release timeline.Thanks,Thomas
Upgraded to v2. I know this is a general question and I can elaborate but I'm having issues with my project NOT finding files. First, has there been some change in the formatting for the entries in the Include portion of the project properties, General, Paths and Symbols...? I'm doing a project where the paths are provided in an .xml file to be imported. Most of it works but it appears some random files are not found. I say random because if I fix one, two or more files are not found. There must be some formatting issue OR maybe I'm not clear of the ORDER of the includes that may make a difference. I've gotten the errors to drop from 15 down to 2, then fixing those 2 then results in 5 more. I'm doing something incorrectly and not recognizing the problem, most likely. Any suggestions would help. Thanks, Tony
Dear all,The wiki page for STM32Cube AI Studio (at https://wiki.st.com/stm32mcu/wiki/AI:STM32Cube_AI_Studio_documentation) states that the software is compatible with “STM32CubeIDE, IAR, Keil, GNU Arm Embedded Toolchain”. However, when creating a new project it seems that at least STM32CubeIDE is required, and there does not appear to be straightforward support for using the bare GNU Arm Embedded Toolchain (for example, when integrating with STM32Cube for VS Code via CMake).From a developer perspective, especially for those of us working with CMake‑based workflows and VS Code, proper and maintained support for the standalone GNU toolchain would be extremely valuable. It would allow tighter integration with VCS and existing CI/CD pipelines, easier cross‑platform setups, and would avoid forcing a switch to a specific IDE just to generate or maintain AI‑enabled projects.Could the STM32Cube AI Studio team clarify the current level of support for the GNU Arm Embedded Toolchain outside
I am currently working on a row-scanning LED matrix application using STP16DP05 and a NXP imxrt1064 MCU. I’m encountering some synchronization issues and would appreciate some clarity on the following: 1. OE (Output Enable) and Data Transfer Correlation: Is there a strict correlation between Data Transfer (Clock/SDA) and the OE pin? Specifically, can I keep OE enabled (pulled Low) while shifting in new data and pulsing the Latch (LE) pin? I am trying to determine if OE must be disabled (High) during the entire transfer-to-latch sequence because if i keep OE grounded all the time, I'm seeing unexpected behavior on LED display. 2. Brightness Control Alternatives to PWM: Are there recommended methods for implementing brightness control other than standard PWM? I am looking for techniques that will be implementable with SPI as that is the protocol im using for data transfer. 3. PWM/Bit-Shifting Issue in Row Scanning: Currently, when I implement PWM for brightness, I am seeing unexpected "b
I'm following this guide to deploy an AI model on a NUCLEO-H7S3L8, because appearently it is not possible to build and edge AI application through X-CUBE-AI on STM32CubeMX (because it does not generate network.h etc. but only app_x-cube-ai.c and app_x-cube-ai.h).https://stedgeai-dc.st.com/assets/embedded-docs/stm32_how_to_run_a_model_locally.htmlhowever, I'm having trouble on the build process wehre it is written "Build the test application"where it is needed to link different libraries, because there is no indication on what to do precisely and where to insert the commands.Could anybody provide a clearer and more precise guide to implement this step?Thanks for the reply
Suppose I want to implement firmware for STM32U3 without TZ enabled and without the use of GTZC, then I could mostly use the MPU_NS and the TZ-Aware peripheral protection (EXTI, FLASH, RCC, PWR, GPDMA, SYSCFG, RTC & TAMP). My goal is to limit unprivileged code execution to main FLASH, no SRAM, no OCTOSPI NOR/PSRAM. The problem is now the ICACHE. Is there a way to force it to be privileged only ? If not, assuming that I am allowing only unprivileged execution access via MPU_NS to the main FLASH (0x08000000 - (0x08000000 + size of flash)), could the remapping feature of the ICACHE be used to map say SRAM into this region and somehow unprivileged execution access this way ? The docs are unclear there. The remap mechanism is described as a generic mechanism, not limited to any subset of the 0x00000000 - 0x1fffffff address space. Which means that in theory one could replace the mapping at 0x08000000 to say the SRAM1 base address. - Thomas
Hello, i am evaluating Teseo-ELE6A module and i would like to know if NavIC can be configured as a "standalone" constelation, without being combined with GPS,Galileo,etc....In the documentation it is mentioned:NavIC (IRNSS) The module is designed to receive and track the L5 (1575.42 MHz) signal provided by the indian NavIC (IRNSS) satellites system. The module can receive and process NavIC (IRNSS) concurrently with GPS, GLONASS, Galileo, BeiDou, and QZSS.But it is not clear if it can work without GPS, Galileo, .... Could someone tell me if this mode is supported and if there any statistics (time to fix, hdop, vdop, etc....) regarding its "efficiency"Thanks in advance for the help
I'm a novice to ESP32 programming and LoRa, and I'm finding myself stuck with simple interfacing.I have a L073RZ connected to a Semtech SX1280 Evaluation Board, but I don't have a display attached to it (didn't come with one). I'm wondering how I can connect the ESP32 to my PC to control the SX1280. I'm trying to use the LoRa for its ranging abilities.I can't seem to find any firmware for the L073RZ+SX1280 combo, on either Semtech or NUCLEO.
Hi,I config STuW81300 with this parameters:STUW81300_WriteData (ST9_REG, 0x48000000); STUW81300_WriteData (ST0_REG, 0x02600040); // N = 64 STUW81300_WriteData (ST8_REG, 0x40080003); STUW81300_WriteData (ST7_REG, 0x38102004); STUW81300_WriteData (ST6_REG, 0x30001000); STUW81300_WriteData (ST5_REG, 0x28000000); STUW81300_WriteData (ST4_REG, 0x20039315); STUW81300_WriteData (ST3_REG, 0x1C008002); STUW81300_WriteData (ST2_REG, 0x14000001); STUW81300_WriteData (ST1_REG, 0x0D400000); STUW81300_WriteData (ST0_REG, 0x02600040);and Read register:00> Product codes STUW81300T and STUW81300TR 00> ST9 Register: 0x0 00> ST8 Register: 0x80003 00> ST7 Register: 0x102004 00> ST6 Register: 0x1000 00> ST5 Register: 0x0 00> ST4 Register: 0x39315 00> ST3 Register: 0x4008002 00> ST2 Register: 0x4000001 00> ST1 Register: 0x5400000 00> ST0 Register: 0x7E00040 00> ST10 Register: 0x3E0D0The signal I measured is lower than −20 dBm. This is a screenshot from the spectrum analyz
Hello, I have a board STM32F746G-DISCO from Farnell and I noticed that stm32cubeprogrammer is not showing the correct target board information. I have tried different version of stm32cubeprogrammer using different PC (2.15.0 due to usage of Windows 7) and 2.22.0 on my laptop and both are showing the target board as the discontinued STM32F7508-DK. The board system information appears to be showing correct information on its screen when it is being powered up but not in stm32cubeprogrammer and it also appears that the PC is detecting the device with removable storage for STM32F746G-DISCO DIS_F750N8, hinting of the discontinued board name which is very similar to STM32F746G-DISCO . I tried to reload the demo example to the board and it seems fine. The board appears to be a CU4 version board [not exactly sure there is any relation to that]. Is there anyway for the stm32cubeprogrammer to display the correct board information? Thank you for your attention to this matter. Best r
tl;dr - HAL_UART_Receive_XXX, HAL_UART_Transmit_XXX == happiness; HAL_UART_Transmit_XXX, HAL_UART_Receive_XXX == misery. The call to HAL_UART_Receive_XXX causes the transmission started by HAL_UART_Transmit_XXX to stall in both interrupt and DMA modes.Longer story:This affects both interrupt-driven and DMA operation, which is why I've added the DMA label.I am using FreeRTOS, and implementing a serial protocol that, while practically half-duplex in behavior, is written in a full-duplex form. What I mean is the protocol doesn't really expect both sides to be transmitting at the same time, but the code isn't written to prevent it. Theoretically parts of the protocol could overlap.The typical behavior for a transmission is to first call HAL_UART_Receive_DMA(..) to prime the receiver for a response, and then call HAL_UART_Transmit_DMA(..) to send a message.When the calls occur in that order, everything works perfectly.Unfortunately, sometimes the task responsible for
Problem:HAL_FLASHEx_Erase returns error 0x20000, and HAL_FLASH_Program does return HAL_OK but does not actually write any data to the flash.Goal: Erase and install new firmware on flash on its own inside the bootloader.I am developing a bootloader for the STM32H533RET6. I have TrustZone enabled, and configured the secure and non-secure regions. I am trying to erase and write to the non-secure part of the flash, from the bootloader which is secure (and separate from the actual application). I have disabled any write protection that I am aware of inside the option bytes. I also use the Memory Management Tool inside CubeMX to configure the secure and non-secure regions. For the non-secure region of the flash I have set "Access Permissions" to "RW by any privilege level". I do have a Flash watermark set on bank 1 but this does not cover any of the non-secure flash regions. No watermark is set on bank 2. Below is the code I use to erase and write to a sector on the flash:uint32_t Erase
Hello,I am unable to setup I2C communication between 2 x STM32F103 blue pill boards. I have pasted code and the hardware setup below. Would appreciate help trying to pinpoint the problem. Hardware setup:Both boards are connected to an adapter via an ST-LINK V2 with SWCLK, SWDIO, GND, and 3.3V connections.SCL pins are connected together (B6 -> B6) and SDA pins are connected together (B7 -> B7)The SCL and SDA pins of the Master STM32 are connected to 3.3V via 4.7kΩ resistors. The GND of Master and Slave are connected together I have probed all the pins and they are at the correct levels so I doubt hardware is the problem (see image attached)Software setup:One thing worth mentioning is that trying to debug the projects through the IDE results in the following message: "Target no device found... Error in initializing ST-LINK device. Reason: No device found on target."Therefore I have been running the project on STM32CubeProgrammer using the bin file that gets gene
STLink: STLINK-V3MINIECard: STM32f103C8T6 I couldn't establish the connection at all. I can connect without any problems with the ST-LinkV2 clone, but I couldn't connect with the V3. I'm trying different tim variations, but it's not working.The frequencies have been changed.The modes have been changed.The reset modes have been changed.
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.