Join conversations with your peers and ST experts. Explore the full potential of STM32 microcontrollers for your embedded design.
Most recent activity
I get the following error when trying to debug an STM32H757 with SWO enabled. Failed to enable SWV configuration.Failed to execute MI command:-data-write-memory 0x5c003010 x 4 0x77etc...It would seem the debugger (ST-link v2) is not able to read the SWO and DBGMCU registers.With the same debug configuration and code, SWO works on H747 hardware, so I'm wondering if there is an SWO difference between these two micros that is not obvious or documented.Has anyone come across this issue before and has an idea of how to fix it?Thanks
Hello, my computer is running Windows 11. The versions of the software I'm using are CubeMX V6.0.1, MotorWorkBench V5.4.8, and Java jre1.8.0_461. However, I keep getting such error prompts when generating code. Could you please tell me how to solve this problem? WARNING: An illegal reflective access operation has occurredWARNING: Illegal reflective access by com.thoughtworks.xstream.core.util.Fields (file:D:/STMicroelectronics/STM32Cube/STM32CubeMX/plugins/analytics.jar) to field java.util.TreeMap.comparatorWARNING: Please consider reporting this to the maintainers of com.thoughtworks.xstream.core.util.FieldsWARNING: Use --illegal-access=warn to enable warnings of further illegal reflective access operationsWARNING: All illegal access operations will be denied in a future release[Fatal Error] :1:1: Premature end of file.[Fatal Error] :1:1: Premature end of file.[Fatal Error] :1:1: Premature end of file.[Fatal Error] :1:1: Premature end of file.[Fatal Erro
Hello i'm using touch GFX with STM32H7RS-DK And i need to evaluate for a future product if display rotation is possible.I tried this implementation but drawCacheEnabled isn't reconize by software so i removed it and the widget is working but the screen flicker betwen 0 and 180° . Is there a more actual way of rotate a screen . // Force redrawing entire screen virtual void draw(Rect& rect) { if (drawCacheEnabled) { // Invalidate entire screen instead of requested rect. Rect r(0, 0, HAL::DISPLAY_WIDTH, HAL::DISPLAY_HEIGHT); Application::draw(r); } else { // Use original rect if we are *actually* drawing and not just invalidating. Application::draw(rect); } } Thanks
We want to use the SDADC to measure the temperature of a PT100 sensor. The measurement should have a very high accuracy of +-0.5Kelvin. Therefore, it is important to have a low offset error. The datasheet lists very large values for single-ended mode, e.g., 2000uV for VREFSD+=3.3. Differential mode cannot be used because the number of channels would then be insufficient (We need 18 channels, and the STM32F3 has only 11 differential Channels). There is a product lineup where the offset error is specified as < 1 LSB. Why is the offset error specified in the datasheet so high in single-ended mode ?Can it be reduced by using a buffer op-amp at the input ( The buffer op-amp would mean a very low source impedance and would reduce e.g. bias errors ) ? I have also read the AN4207 section offset calibration, but there are no details about single ended or differential ended offset errors after calibration
Hello All,I am working on touchgfx project where I had default __weak void TouchGFX_Task(void *argument) task which was working fine for GUI and touch.Later I have added other task for data transfer over uart1 using another task in main. Now the problem is the GUI task is showing only first screen and getting freeze, no touch detection and other task is sending data over uart (which is working fine). Does adding additional task causing the elimination of TouchGFX_Task, or do I need to make some more settings or changes to TouchGFX_Task to function normal ?
I'm developing a BLE central application on a NUCLEO-WB55RG board using the P2P_Client example as a base. I'm facing an issue where I can successfully pair with a peripheral, but the bonding information is never saved to non-volatile memory. Keep in mind I'm new to this field so it is very possible one of my steps in the process is wrong. The board being paired is an NRF52832 development board and the logs, which I will share later in the post, clearly state pairing was completed and bonding worked.ENVIRONMENTNUCLEO-WB55RG: CENTRALFUS Version: v2.0.0.3STACK Version: v1.22.1.1FUS Operator: v3.1.0NRF52832 Development board: PERIPHERALPROBLEM DESCRIPTIONMy application flow is as follows:Scan and discover the peripheral.Connect to the peripheral successfully.Initiate pairing using aci_gap_send_pairing_req().Receive the ACI_GAP_PAIRING_COMPLETE_VSEVT_CODE event with a success status (0x00).After I manually disconnect or reset the device, I check for bonded devices using aci_gap_get_bonded_d
Hello,I am working with Motor Control Workbench 6.4.1 for a project using Nucleo-G431Rb X-NUCLEO IHM08M1 and a PMSM motor. The position feedback is given by a motor resolver.I read sin e cos values and calc the rotor position correctly.If I generate a sensorless firmware all work but the issue is that I cannot find the option for a resolver in the Motor Control Workbench, only Hall sensors or Quadrature Encoder. Is there any way to go past this restriction for this use case, either through hardware or software ?Any assistance is much appreciated.Thank you
Hi,What I want to implement is to receive the Input Trigger (called Ch1) signal on the rising edge in One Pulse Mode and output a PWM signal through Ch2. At the same time, I want to capture an ICP interrupt on both the rising and falling edges of Ch1 to determine whether a signal is currently being received or not on Ch1.Previously, the STM32F103 couldn't handle the One Pulse Mode Input and ICP as a single pin, so I had to split the signal between two pins in hardware.However, the MCUs I'm currently using are the STM32H723 and STM32G071.I found out that they can internally route channels, so I don't need to receive signals on two pins, but can receive them with a single pin. Is this actually possible on these two MCUs?thanks in advance.
Hi Team,I am working on the Class B (V2.3.0)library for the STM32H7 series. It works fine without the notifier, but when I use the notifier, the stack section gets flushed, and the runtime stack test fails.Please help me with this issue. Thank you in advance.Regards,Prakash R
Hello,I’m currently working on an application using the STM32G031xx MCU and need to ensure IEC 60730 Class B compliance for safety-critical software. I found the X-CUBE-CLASSB-G0 (v4.0.0) library and have a few questions:Is X-CUBE-CLASSB-G0 v4.0.0 the correct library to use for Class B compliance with the STM32G031xx series?Does the library already include all the required safety routines (e.g., CPU register tests, RAM tests, clock tests, stack/PC tests), or do I still need to implement additional safety code manually, such as the March-C test for RAM?Are the provided function prototypes in the library sufficient to meet compliance if I integrate and call them as recommended in the documentation, or should I modify or extend them to achieve full Class B certification?For example, the function is declared asSTL_Status_t STL_SCH_InitRam(STL_TmStatus_t *pSingleTmStatus);but there is no visible definition. Do we need to implement this function ourselves, or is the definition (including the
I want to send and receive data using the USBX library with the STM32U073 as a COM port. Can I use bare metal (without RTOS)?
Hi, I am using STM32L4R9ZIJ6 with power pin connections as following image.On the same design where VREF+ pin is connected to P3V3, if I configure Vrefbuffer for ADC measurements & use Vrefbuf as 2.5V, I observe that current draw from P3V3 goes from 10mA to 20mA.I understand that it is not correct to apply external voltage at Vref+ pin when it is configured as Vrefbuffer = 2.5V. I will avoid it on final production boards. Please can you explain why this increased current draw is observed.
Spent two days of trying to see printf via USART1 from U585 and U575 boards. Was trying to load BLE via DFU on B-U585 and get it work but USART1 became silent. (Wrote separate post on B-U585I-IOT2A as documentation nightmare). Problem: USB-C + STLINK-V3 USB mini enumeration Conflict. Need confirmation from support and opened ticket. On Windows to revive USART1 needed to go to regedit and clean all enumerations of old USB from all previous controllers but the combination of USB-C and ST-LINK mini connected to same Windows or Linux host IMHO looks dangerous Setup: STM32U575ZI-Q or B-U585I-IOT2A board with:USB-C connected to native USB peripheral (for DFU)STLINK-V3 connected via USB (for debug + Virtual COM Port)Issue: When both interfaces are connected to Windows 10 or Ubuntu — either in sequence or simultaneously:DFU mode consistently enumerates and stays visibleVirtual COM Port (VCP) fails to transmit data, even though it appears in the device listNo output from HAL_UAR
Hello ST Team,I'm encountering an overvoltage fault when decelerating a motor from high speeds. My system uses an STM32 F401RE microcontroller with an IHM16M1 driver board, controlled via Field-Oriented Control (FOC).The motor operates normally at high RPMs, but when I command a speed reduction, the system immediately triggers an overvoltage fault, indicated as an "ACK Fault" in the Motor Pilot interface. We've already tried troubleshooting the overvoltage fault on our motor controller by:Increasing the voltage range in the bus voltage sensing section.Following the recommended steps for overvoltage fault resolution outlined in the user manual.Despite these efforts, the issue is still happening.What are the solutions for preventing the overvoltage fault during deceleration?We're looking for other potential solutions or insights. Any suggestions on effective strategies would be greatly appreciated.Thank you in advance for your support. Best regards, Rahul
Hi everyone,I'm currently working with the DMA concept on an STM32H7. I'm reading data from an FIFO via SPI. My goal is to trigger the SPI DMA transfer using TIM12 TRGO, but I’m not sure where to start or how to properly configure this connection.I’m relatively new to this topic, so any guidance, examples, or tips on how to set up the timer trigger and link it to the SPI DMA would be greatly appreciated.Thanks in advance for your help!
Hello, I'm working on finding the smallest possible power solution for the STM32N6. The reference boards(STM32N6570-DK and STM32N6 Nucleo-144) uses multiple discrete buck converters and LDO to power the N6. It must be possible to do it smaller. From I understand from the datasheet, the sequence of power-up goes like the following: 1. VDD and VDD18AON is applied 2. N6 outputs PWR_ON signal that must enable VDDcore/ internal SMPS3. VDDcore/internal SMPS( 1.8V) powers up and the N6 is alive. From the AN6000 and AN5967 is believe I understand that you have two chooses: 1. Use an external SMPS for the VDDcore that can support dynamic voltage(as the TPS62088YFP with a transistor on the ref. boards) or 2. Use another external SMPS or LDO (1.8V) to feed the internal SMPS. With a small filter, it should be possible to use the same supply for VDD18Aon and the internal SMPS. Was anyone experience with using the internal SMPS with minimal externa
I'm attempting to erase & program a STM32H7x using a STLink V3Mods and OpenOCD (a recent official release).It fails with a "read version fails".When i try using a STLink V2 (host, openocd script and target device unchanged), it works just fine.I've scoped the SWD CLK & IO lines to find the SWD init differences between V3Mods and V2.The only difference is the V3Mods is doing the SWD init "magic switch" at 3.4Mhz, and the V2 is doing it at 1.4Mhz.I've tried setting "adaptor speed 1000" in the openocd script to slow the clock rate when using the V3Mods, but it has no effect at all.Does anyone know how to force slow the clock rate?Thanks in advance.
Hello ST, Can you confirm if the hardware of the https://www.st.com/en/evaluation-tools/steval-66gymai.html#overview is compatible with the https://www.st.com/en/evaluation-tools/stm32n6570-dk.html. Can i connect them together with the FCC cable (MIPI-CSI connector) ?Is this the correct driver https://github.com/STMicroelectronics/x-cube-isp/tree/main/Middlewares/ST/STM32_Camera_Middleware/sensors/vd6g that i should use to work with the VD66GY on the STM32N6. Thank you.
:wrench: STM32 Samples: A Developer’s Time SinkI’m not a novice in software at all — and this isn’t just about one sample. It’s about STM’s consistent failure to respect developer time across their software stack especially modules of other vendors like MXCHIP EMW3080.Take this gem from the B-U585I-IOT2A sample:How to use it?WARNING: Before opening the project with any toolchain be sure your folder installation path is not too in-depth since the toolchain may report errors after building.Open your preferred toolchainBuild all files and load your image into target memoryThat’s the entire instruction. No toolchain version. No dependency list. No build script. No error map. Just “don’t put it too deep” and “open your preferred toolchain.”STM is not a software company — and it this proves it. No UMLs. No sequence diagrams. Even no consistent pin configs. No architectural overview of how module like the MXCHIP 3080 interact with U585 - wake, notify, etc. Just megabytes of samples and
I am working with the STM32U5G9 board and I have some trouble when displaying applications As indicated in the tutorial (link below), I installed the 4 applications. I took the last ones from ST website.https://www.youtube.com/watch?v=OMeiG9jS-yk&list=PLnMKNibPkDnF9x-s1e-v9Wtvv-fB88VWA&index=1 CubeIDE is already installed since I work with TOF sensors quite regularlyHere are my application versions.CubeMx Version CubeIDE Version STM32CubeProgrammer TouchGFX (last one) In CubeMx, I add the TouchFX Generator After setting CubeMx, I followed the tutorial belowhttps://www.youtube.com/watch?v=NFljjd_vQGA&list=PLnMKNibPkDnF9x-s1e-v9Wtvv-fB88VWA&index=2With the configuration In TouchGFX Designer, I can simulate my application Unfortunately, in the CubeIDE step When I compile the project and upload the compiled application, nothing happens on the display (blank screen).From CubeIDE, I'm able to load the tutoria
Hi. While testing the animation, I noticed strange behavior in the Animated Image widget when using the RGB565 image format with compression.I'm using an STM32U599, LTDC/RGB24bit, the animation is started with a button.Immediately after startup, the widget area turns white with dots. I could understand this if it were some kind of limitation resulting from the compression. But...If the widget is placed in a Swipe Container widget, after changing the screen and returning, the white area disappears, and the animation executes correctly. What could be the cause? I'm concerned about compression, because in this case, the size difference is tenfold.I also want to know if there's an option somewhere to prevent the framebuffer from being placed in flash memory every time the project is generated? Currently, I add the "__attribute__ ((section (".noinit")));" parameter, but this has to be done every time the configuration changes...
Hi sir,We are using an STM32 MCU for a motor control application (vacuum cleaner application). Universal motors are typically used in vacuum cleaner applications.Could you please help me with the selection of a suitable MCU, motor driver, and a universal motor?We have verified one device with the part number STEVAL-IHM029V2, but it is not recommended for new designs. Could you please suggest an alternative part for this?I am attaching the motor brochure for your reference. Best regards,Samudralnakaiah.
I’m performing low-power consumption tests using the NUCLEO-U545RE-Q development board. However, after entering STOP2 mode, I observed that the current consumption remains around 23 µA, which is significantly higher than the typical values stated in the datasheet (DS14216 Rev. 4, Table 59, page 162), where STOP2 mode is expected to consume only a few microamps. I’d like to understand what might be causing this discrepancy.Test Configuration:Hardware Platform:ST official development board NUCLEO-U545RE-Q.Clock and Peripheral Settings (STM32CubeMX .ioc):All peripherals are disabled, including the RTC.The system clock source is MSIS at 16 MHz.Both HSE and LSE oscillators are disabled.SRAM Configuration:Only SRAM2 (64KB) is enabled.SRAM1 and SRAM4 are disabled.Power Supply Configuration:The MCU is configured to use SMPS instead of LDO.Test Environment:Room temperature conditions (approximately 25 °C).Given the above setup, what might be the reason for the higher-than-expected power consump
Hello,I am looking for guidance on how to share the CRC peripheral between two modules. For instance, in our application we are using the BLE stack (for example, following this: https://wiki.st.com/stm32mcu/wiki/Connectivity:STM32WBA_BLE_STM32CubeMX#STM32CubeMX_initial_setup). We also are using the SAI interface to sample PDM microphones, and using the PDM2PCM middleware. The PDM2PCM library has something of a hidden dependency on the CRC being enabled.My question is - will the two modules conflict? I notice that in app_entry.c there is a mutex being used to control access to the CRC interface (presumably).How should I ensure that the two requirements don't clash with each other?Thank you,Jonathan
In the Datasheet, Table 16 specifies TJMAX as 150 °C, but Table 17 indicates the TJ range as -40~130 °C, which one should I refer to?Table 16. Thermal characteristicsSymbol Ratings Value UnitTSTG Storage temperature range –65 to +150 °CTJ Maximum junction temperature 150 °CTable 17. General operating conditionsTJ Junction temperature range Suffix 6 version -40 105 °C Suffix 3 version -40 130
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.