Get ready for the STM32 Summit 2026 | Online, November 3
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
When we provision the Secure Manager on the STM32H5 and there is no non-secure application available (yet), then the Secure-Manager-Demo-Application currently starts flashing all LEDs on the STM32H573I-DK.Now we wonder how this would affect our project-specific hardware if the provisioned Secure Manager configures some ports and starts toggling PF1, PF4, PI8 and PI9.So, what peripheral does the Secure Manager configure/use? And how are they configured?Is it possible to suppress/remove this Secure-Manager-Demo-App (SMAK_Appli)? => no port configuration, no LED togglingbr, Oliver
Hello i'm new to STM32, i'm doing school project on in. Basically the plan is to read oil temperature from CAN bus in car, and display the temperature on analog clock using servo. I have the H755ZI-Q board for this. I know it's bit overkill for what i'm doing but i'm fine with it.I've did a test code for inter core communication test. Since i want to receive the CAN info on M4. Calculate the PWM signal on M7 and then the M4 will update the PWM signal. Now it just send some numbers and displays it via uart on pc console for checking the data. But as soon as i wanted to implement the servo i started to have some issues. Basically i enabled the TIM2 with PWM generation on M4, and then the board didn't want to communicate via the STLINK. I've got error: failed to start GDB server (No device found on target). So I've erased the flash memory by bridging the BOOT0 and VDD and erasing it in CubeProgrammer. And then i have to run different project first, before mine for it to event progra
Hi, i'm missing something in the configuration of alternate function on STM32C092. I can't get working alternare function on shared pin, interested physical pin are PIN 1, 15, 20. Example1: PIN15 only the function on PA8 are working properly, neither (PB0,PB1 or PB2) are working at all with any function even a simple toggle. I'm pretty sure that the Alternate Function property are being generated correctly. Example2: PIN20 Generating a PWM with TIM3_CH1 only works on PB6, if the same timer is passed to PB4 i can't get any output. Same on PIN1 i can get output only on PB7. There is the HAL_TIM_MspPostInit where PB6 is working as expected but PB1 isn't: void HAL_TIM_MspPostInit(TIM_HandleTypeDef* htim) { GPIO_InitTypeDef GPIO_InitStruct = {0}; if(htim->Instance==TIM3) { /* USER CODE BEGIN TIM3_MspPostInit 0 */ /* USER CODE END TIM3_MspPostInit 0 */ __HAL_RCC_GPIOB_CLK_ENABLE(); /**TIM3 GPIO Configuration PB1 ------> TIM3_CH4 PB6
Hello, I configured TIM5 to generate a signal out to a pin using STM32CubeMX2 for a Nucleo-C562RE board. I enabled the EXTI interrupt for the pin in the timer configuration to get EXTI6 interrupts on the falling edge. I also enabled the use of register callbacks for EXTI. The problem that I am having is that I cannot find the function to retrieve hEXTI6 to register the EXTI callback. I looked in the mx_tim5.h/c and in mx_gpio_default.h/c. I had no problem getting the EXTI handles for GPIO EXTI (for example mx_gpio_default_exti7_gethandle()) and getting TIM handles (mx_tim5_gethandle()). To make the code work I had to add mx_gpio_default_exti6_gethandle() prototype to mx_tim5.h and the implementation below to mx_tim5.c: hal_exti_handle_t *mx_gpio_default_exti6_gethandle(void) { return (&hEXTI6); } Maybe the definition/function is there but I cannot find it or maybe there is some additional configuration to be done in STM32CubeMX2. I attached my ioc2
I'm designing a custom board that's based on the STM32WL55CCU6 microcontroler. It's very simple and is required to transmit data continuously in vectors of 12 uint8_t elements, using the LoRa protocol configured to the standard values: 915MHz, CR 4/5 and 500kHz bandwidth. Prior to that I had tested some code in a pair of NUCLEO WL boards, which worked just as expected, so I based my circuit on the NUCLEO, simplified to remove unused features. A capture of the schematic is provided below.The code used was based on an example by ST's package STM32Cube_FW_WL_V1.3.1, specifically the SubGHzPhy Ping Pong for STM32WL55JC. After making sure that the basic parts of the circuit were working right (stable supply, uart, etc.), I used the code below, adapted from the one I tested with the NUCLEOs, but after many attempts I still couldn't get it to work. The interrupts are never triggered, transmission and reception of data won't work even with the other device close to the board. What are the
I am working with STM32F746G-DISCO development board for my phasor measurement unit project. The project displays few line parameter and a phasor diagram with a GUI and also sends data to a network.The project was first created with TouchGFX with all the GUI created and working standalone but when LwIP and ETH is enabled using the CubeMX the display does not work. The display has artifacts and also the other parts of the programme does not work.Please help me out to know what is the proper way of creating a project which uses TouchGFX for GUI and LwIP. I am pretty sure that it is a memory conflict. Both LwIP and TouchGFX using the same memory region. But even after doing some MPU configuration and changing the framebuffer start address, the problem exists.I have attached the .map file of the project as .txt file for the better understanding.
Hey there,I'm currently trying to port a project that I was using successfully on the STM32U5A5, to the STM32N657.The project utilises the PDM2PCM library to convert a PDM audio stream received from a MEMS microphone via the SAI interface of the MCU into PCM audio data. It is based on an example from the STM32U3 MCU firmware package (STM32Cube/Repository/STM32Cube_FW_U3_V1.3.0/Projects/NUCLEO-U385RG-Q/Examples/SAI/SAI_AudioRecord_PDM), parts of which I have incorporated into my own application on the STM32U5A5.I'm now trying to port this project to the STM32N657 on a NUCLEO-N657X0-Q board. I've found the matching PDM2PCM library for the N6's M55 core in the X-CUBE-AUDIO-KIT as mentioned here.Now, when I integrate this library (libPDMFilter_CM55_GCC_wc32.a) into my project and start the debugger of the STM32CubeIDE it starts printing "Target is not responding, retrying..." in the debugging console as soon as the program flow reaches the call to the PDM2PCM_init function of the libr
It has been verified that the installations of STM32CubeMX, STM32CubeIDE, and STM32CubeProgrammer are completed successfully and operate normally under standard conditions; however, when STM32CubeAI is installed, a critical issue arises in which STM32CubeMX no longer functions properly, specifically preventing the creation of new projects. This behavior was reproduced on two different computers, with identical results observed in both cases. Additional tests were conducted in which all programs were uninstalled and then reinstalled without STM32CubeAI, resulting in normal operation; subsequently, when all programs were reinstalled including STM32CubeAI, the issue reappeared, and finally, upon uninstalling only STM32CubeAI, STM32CubeMX returned to normal operation. This strongly suggests the existence of a direct conflict between STM32CubeAI and STM32CubeMX, and therefore guidance is requested to resolve this issue or to confirm whether it is a known bug, as well as any possible solutio
Post edited by a ST moderator: 1- Translate the text to English. 2- Update the title to be more concise. 3- Update the label. 我在使用STM32G070系列芯片时,外部电阻上拉到3.3V,接入STM32芯片后测量,发现GPIOA 15 和GPIO A8两个引脚是0.9V的电压,为什么? Translation: "When using the STM32G070 series chip, I pulled the external resistor up to 3.3V. After connecting it to the STM32 chip, I measured the voltage on the GPIOA 15 and GPIO A8 pins and found that they were 0.9V. Why is that?"
Hi ST Community, I'm facing a critical and reproducible hardware JPEG encoding issue on the STM32N6. The JPEG encoder only works correctly when the image width is exactly 800 pixels. Any other width I've tested — including 480, 960, and 960x480 — causes the hardware to fail in exactly the same way. Height variations do not affect the outcome; the problem is solely tied to the row width. Environment: MCU: STM32N657xx (STM32N6-DK board) Firmware Package: STM32Cube FW_N6 V1.3.0 IDE: STM32CubeIDE Image Format: RGB565 input → YCbCr 4:2:0 subsampling, Quality 75. Issue Summary:When the image width is 800, JPEG encoding completes successfully and produces a valid compressed JPEG stream. When the width is 480, 960, or any other tested value ≠ 800, the hardware encoder aborts input processing early (after ~14 input chunks for 960 width) and subsequently dumps a massive amount of uncompressed raw data into the output buffer. The output DMA fills
Dear ST We are currently proceeding with development using the STM32H743VGT6.As you can see in the datasheet, the STM32H743VGT6 has a built-in 1M flash.I confirmed that it operates normally even though the flash partition was divided as shown below for the FOTA function.and Confirmed normal operation of arbitrary 0xFFFF0F0 Write/Read at address 0x8140030 in the Storage area. Therefore, to check if the MCU with 2MB Flash was incorrectly mounted on the PCB, I disassembled the device and examined the STM MCU part number under a microscope, confirming that it is an STM32H743VGT6 as shown in the figure belowAnd by referring to the RM04033 reference manual and reading the flash size as shown below, I confirmed that it has 1MB of Flash.The register values and product name on the STM32H743VGT6 appear to indicate a 1MB FLASH, so I am wondering why READ & WRITE to the FLASH is working normally even in areas exceeding 1MBThanksBRMr.shim
Hello I want support for STSPIN32G4 EMI Issue I took tests for Farfield EMI Report at STSPIN32G4 Standby conditionReport shows QP are over than Limit at 190.547MHz, 253.803MHz and I also get similar result by using Near-field prove(Proved Noise Peaks : 185.91, 123.94, 247.88, 309.84MHz) this result are same at evspin32g4-dual(also Flash Erase conditions results) I guess 62 MHz harmonic noise occurs between STM32G431 and STSPIN32G4 Internal Control logic Because I observe noise when Voltage input to VM and REGIN for the (in 3.3V externally supplied circuit) I want to know how could i solve this problem(Resolving EMI noise)
Hi,When using this, single-character text isn't perfectly centered on the button,the letter appears slightly higher.Also, characters like .,_ appear higher than they should.Is it possible to adjust the text position horizontally when using these?
I had some issues configuring H573 with CubeMX.When I configure TIM2 or TIM3 according to the instructions of RMII_PTP_Synchro in CubeMX I cannot enable the RMII PTP functionality.And when looking at RM0481 it seems that the description of the relationship between these two timers and ETH MAC is a bit vague.What configuration is required to enable RMII_PTP_Synchro on H573?
When I'm writing code, I often encounter problems caused by the "automatic #include feature".For instance, when I type "__HAL_TIM_SET_COMPARE()" into the code, the line "#include "stm32f0xx_hal_tim.h"" will be automatically added, and then the project will fail to compile properly.I suggest that the "automatic #include function" be set to be disabled.
Hi Forum! Previous experiments, but it still could not work, I have no idea how to fix this problem:https://community.st.com/t5/stm32-mcus-embedded-software/hmd-application-stm32f1-with-bno055-via-vcp/td-p/876235 Therefore, I revisited the literature review. I found this paper from meta oculus, they using the HID to transfer the IMU data, so I want to imitate their steps. (using notebookLm to learn it )https://msl.cs.illinois.edu/~lavalle/papers/LavYerKatAnt14.pdf HID read/write tool(software)https://github.com/benbaker76/SimpleHIDWrite Problem: Custom HID could be detected by host, the IMU could send the data at 100Hz, host could send the data to STM32 MCU, but only the first time was successful, the second time will let the HID read/write tool(software) crash, STM32 could send data after receiving the data first time. ----------------------------------------------------------------------------------------------------------------------------------------------------------
On a custom STM32H523-based board connected via STLink 2.0 (swd, p2p in CubeMonitor), all selected variables are plotted as 0, including those whose initial value is not 0. I used the Basic_Flow template, where I set acq_out, acq_in, and loaded variable addresses from an ELF following this guide. The executable is proven to update values under GDB. I have tried rebuilding with -O0 and reconnecting and changing sampling frequency between sequential loop and 10 Hz. The code does not contain any standby instructions and the port looks fine since GDB works. I would appreciate any help or advice.
When configuring the LEDs for the STM32H573I-DK using the STM32CubeMX it generated code which initializes the LED pins as PushPull (rather than OpenDrain).Lookign at the schematics of the STM32H573I-DK it seems to be not "the best option".Would you agree that OpenDrain (GPIO_MODE_OUTPUT_OD) is the better option here, rather than PushPull (GPIO_MODE_OUTPUT_PP)? /** * @brief Configures LED on GPIO. * @PAram Led LED to be configured. * This parameter can be one of the following values: * @arg LED1 * @arg LED2 * @arg LED3 * @arg LED4 * @retval BSP status */ int32_t BSP_LED_Init(Led_TypeDef Led) { int32_t ret = BSP_ERROR_NONE; GPIO_InitTypeDef gpio_init_structure; if ((Led != LED1) && (Led != LED2) && (Led != LED3) && (Led != LED4)) { ret = BSP_ERROR_WRONG_PARAM; } else { switch (Led) { case LED2: /* Enable the LED2 GPIO clock */ LED2_GPIO_CLK_ENABLE(); break; case LED3: /* Enable the LED3 GPIO clock */ LED3_GPIO_CLK_ENABLE()
I'm running Bazzite (Fedora 43) and tried to install STM32CubeMX on a Fedora distrobox and was met with some issues.First, the installer is unable use /bin/chmod, this is fixed by switching out the installer's `jre\bin` directory for OpenJDK.Second, if you run as a normal user it fails with:com.izforge.izpack.api.exception.IzPackException: An error occured in java.lang.Thread.run() at Thread.java:1583 in com.izforge.izpack.installer.unpacker.UnpackerBase.run() at UnpackerBase.java:241 in com.izforge.izpack.installer.unpacker.UnpackerBase.unpack() at UnpackerBase.java:319 Caused by: com.izforge.izpack.api.exception.InstallerException: File execution failed in com.izforge.izpack.installer.unpacker.UnpackerBase.unpack() at UnpackerBase.java:299 in com.izforge.izpack.installer.unpacker.UnpackerBase.unpack() at UnpackerBase.java:483 in com.izforge.izpack.installer.unpacker.UnpackerBase.executeFiles() at UnpackerBase.java:959This is fixed by running the installer via sudo.This is what I did
Hello ST,I'm trying to communicate the STM32F411RET6 with IMP34DT05 mic, i have enabled the I2S in ioc configuration, i have downloaded and added the library file from https://www.st.com/en/embedded-software/x-cube-memsmic1.html, while building the project getting 15000+errors coming, i'm assuming this library file is incorrect, could you please review as attached and provide Specific working library for this project.Advance Thanks,Sridhar.
Hallo zusammen,mir ist im STM32CubeProgrammer (GUI, v2.19.0) ein merkwürdiges Verhalten im Automatic Mode aufgefallen:Wenn man den Haken bei "Run after programming" direkt aktiviert und dann auf „Start“ klickt, wird kein Reset ausgeführt, obwohl die Option gesetzt ist. Das Programm wird nicht neu gestartet. Wenn man schnell hintereinander viele Platinen updaten will mit Neustart des Programms ist dies hinderlichWorkaround:Wenn man den Haken einmal entfernt und dann wieder setzt, funktioniert der Reset im Automatic Mode anschließend wie erwartet. Offenbar wird die Option intern erst korrekt übernommen, wenn sie aktiv verändert wurde.Das Verhalten ist reproduzierbar und tritt unabhängig vom Ziel-MCU auf (getestet mit STM32L4 und ST-Link v3MINIE).:wrench:Vorschlag:Es wäre super, wenn das in einer der nächsten Versionen behoben werden könnte – vermutlich reicht ein Fix im Initialisierungsverhalten der GUI.Viele GrüßeBB-RTB Translation:Hello everyone,I noticed some strange behavior in
I have been programming my STM32H743 custom board for over a year. Suddenly I'm getting the error message Error: No STM32 target found... I have tried changing the ST-Link itself but get the same error message.
Hello,I just created a new project for the STM32L542CEU MCU with CubeMX and I'm facing two issues with the imported project in CubeIDE.First issue, rather easy to fix, some path for includes files are missing in the project.Second issue, two include files are missing:Description Resource Path Location Typefatal error: ARMCM0.h: No such file or directory RTE_Components.h /CURRENT_SENSING/Drivers/CMSIS/NN/NN_Lib_Tests/nn_test/RTE/_ARMCM0 line 17 C/C++ Problemfatal error: irq_ctrl.h: No such file or directory os_tick_gtim.c /CURRENT_SENSING/Drivers/CMSIS/RTOS2/Source line 26 C/C++ Problemmake: *** [Drivers/CMSIS/RTOS2/Source/subdir.mk:25: Drivers/CMSIS/RTOS2/Source/os_systick.o] Error 1 CURRENT_SENSING C/C++ Problemmake: *** [Drivers/CMSIS/RTOS2/Source/subdir.mk:25: Drivers/CMSIS/RTOS2/Source/os_tick_gtim.o] Error 1 CURRENT_SENSING C/C++ Problemmake: *** [Drivers/CMSIS/RTOS2/Source/subdir.mk:25: Drivers/CMSIS/RTOS2/Source/os_tick_ptim.o] Error 1 CURRENT_SENSING C/C++ Problemmake: *** Wait
I have an stm32 board connected to a raspberry pi.I am trying to start a remote debug session from StmCube IDE Installed on my computer and I get this error.I haven't encountered this problem before and I don't quite understand its cause because I have configured everything correctly :- in Cube IDE Debug Configuration I selected connect to remote GDB Server with correct host name and port 3333.- in the pi side I created an openocd.cfg file which includes "bindto 0.0.0.0" command in order to allow connections from any ip.
Hello ST community, I configured my project in STM32CubeMX 6.17.0 and use STM32CubeIDE 2.1.1 to debug. The goal of the program is to receive a raw ethernet frame.I followed this tutorial, of course I adapted the pins to NUCLEO-N657X0-Q, and I skipped the part with the transmission, I didn't change anything in the HAL_ETH functions. I am sending from the PC (I can see that the frame is sended with wireshark):from scapy.layers.l2 import Ether from scapy.packet import Raw from scapy.sendrecv import sendp #Terminal ipconfig /all dst_mac = "00:80:E1:00:00:00" src_mac = "AA:79:39:37:92:EA" payload = bytes([0x01] * 86) frame = Ether(dst=dst_mac, src=src_mac, type=0x88B5)/Raw(payload) sendp(frame, iface="Intel(R) Ethernet Connection (13) I219-LM", verbose=True)I placed a breakpoint in :void HAL_ETH_RxCpltCallback(ETH_HandleTypeDef * heth) { }This callback should be executed when an Ethernet packet is received, but it never happened.I also tried by defining USE_HAL
Already have an account? Login
Enter your E-mail address. We'll send you an e-mail with instructions to reset your password.