Join conversations with your peers and ST experts. Explore the full potential of STM32 microcontrollers for your embedded design.
Most recent activity
Hi everyone, I'm working on a STM32F429I-Discovery board and trying to output a 24 MHz PWM signal on PA8 (TIM1_CH1) to drive an MT9M001 camera module as the XCLK signal. In my own CubeMX-generated project, PA8 stays LOW — no waveform appears.However, if I take the official exampleProjects/STM324x9I_EVAL/Examples/DCMI/DCMI_CaptureMode,and add the same PWM settings, the signal comes out fine. Here’s what I confirmed: TIM1 initialized successfully with HAL_TIM_PWM_Init() and HAL_TIM_PWM_ConfigChannel(). GPIO A8 = AF1_TIM1, Push-Pull, No Pull, Very High Speed. HAL_TIM_PWM_Start(&htim1, TIM_CHANNEL_1); is executed. PWM period = 7 (≈ 22.5 MHz), pulse = 4 (≈ 50 % duty). System clock = 180 MHz (PLL on HSE 8 MHz). No error occurs, but no output. Thanks for any advice! Edited by ST moderator: removed system_stm32f4xx.c content not needed for the conversation.
Hi GFX team,GFX auto generates Typography/TypographyFontIndex structs in "\generated\fonts\include\fonts\ApplicationFontProvider.hpp" struct Typography { static const touchgfx::FontId DEFAULT = 0; }; Could you consider adding a tag that would alias type of struct members ie: struct Typography { using type_t = touchgfx::FontId; static const touchgfx::FontId DEFAULT = 0; }; This would allow to write eg funtion with Typography as a parameter: void functUsingTypography ( Typography::type_t tpg ); Thanks
Hi all,I'm in the process of configuring my STM32H723ZG to work with the IHM08M1 motor driver shield.Currently I am trying to configure and validate the signals from the ADCs however I am having some issues with this. One ADC I'm trying to validate is the DC voltage bus reading. This circuit simply places the input through a voltage divider with some protection, going straight to the ADC after. I've tried configuring these ADCs in a few different ways, single channel, DMA, etc. however none of them produce the expected results. What I'm currently seeing is that with the stm and shield disconnected, I can read the correct stepped down voltage on the shield side by probing with a multimeter (~0.5V depending on input voltage). When the stm is disconnected to the shield the ADC reads a floating ~1.64 volts. With the two connected the ADC seems to still be reading 'garbage' values, probing with a multimeter reads ~1.75 volts. The last bit of information I have is that by grabbing
I have configured WWDG Timer in CM7 of Stm32H747I-Disco and configured WW1RSC=0 in RCC global control register (RCC_GCR) for CM7 Reset only instead of system reset.Issue:HAL_WWDG_EarlyWakeupCallback is getting called before watchdog Reset. but afrer CM7 Reset, some times it is going to hardfault and not booting again and some times booting properly.but in both cases, clock configuration of CM4 is disturbed. main code as follows/* Reset of all peripherals, Initializes the Flash interface and the Systick. */HAL_Init();/* USER CODE BEGIN Init *//* Configure the system clock */SystemClock_Config();/* Configure the peripherals common clocks */PeriphCommonClock_Config();MX_GPIO_Init();MX_TIM7_Init();// MX_WWDG1_Init();MX_USART1_UART_Init();/* USER CODE BEGIN 2 */if(is_wwdg_reset){printf("After Watchdog Reset\n");}else{printf("After Reset\n");}HAL_GPIO_WritePin(GPIOI,LED1_Pin,GPIO_PIN_SET);HAL_Delay(1000);HAL_GPIO_WritePin(GPIOI,LED1_Pin,GPIO_PIN_RESET);HAL_Delay(1000);MX
We need to use quadrature phase counting with STM. can u please confirm if phase failure is supported in this mode or not .
Hi everyoneI’m looking for more design inspiration for a TouchGFX GUI especially for button layouts.Does anyone have a tip where I can find suitable layouts (besides the TouchGFX Stock)? Is there a library for this, or maybe a community site?Thanks for your help.
I am uploading a custom bootloader to an STM32G071. When I select Full Erase, I get the error "Error occurred during mass erase." How can I solve this? I am using Utility.
I ran the example project and successfully displayed “Hello World” on Tera Term.Then I tried to port this project into my own one.However, the result was garbled characters in the terminal.The baud rate (115200) and PLL/clock configuration are the same as in the working example.Do you have any idea what might cause the characters to be corrupted? /** ****************************************************************************** * @file DCMI/DCMI_CaptureMode/Src/main.c * @author MCD Application Team * @brief This example describes how to configure the camera in continuous mode. ****************************************************************************** * @attention * * Copyright (c) 2017 STMicroelectronics. * All rights reserved. * * This software is licensed under terms that can be found in the LICENSE file * in the root directory of this software component. * If no LICENSE file comes with this software, it is provided
Can any one help me with this. I am facing the below error.
Hi everyone,I’m currently working with the VENC_RTSP_SERVER example. I was able to successfully run it and capture video using ffplay, but the stream is currently encoded at 960×720 @ 20fps.I’m trying to reduce the resolution to 480×480@20fps. To achieve this, I modified the MX_DCMIPP() function and changed the encoderI also tried adjusting related parameters such as ewl_pool, VENC_OUTPUT_BLOCK_SIZE, and VENC_OUTPUT_BLOCK_NBR.However, after these changes, the video feed is distorted and looks like this:Has anyone encountered this issue or know what additional configurations need to be updated to properly support a 480×480 resolution?Thanks in advance for any guidance!
Hello everyone, I am strugling with a STM32WB5MMGH that I am using with transparent mode. I am using the STM32WB5MMGH on a custom board with a STM32L4R9VIT6. The goal of the project is to use the STM32WB5 as a bridge to send data from a smartphone app to the L4. I use LPUART to cummunicate between the two MCU.From my understanding the transparent mode is the best for my application as it will redirect the data from the phone directly to the LPUART. The issue that i'm facing is that when I run the WB in transparent mode it's not advertizing (I use NRFconnect).I use stm32wb5x_BLE_Stack_full_extended_fw.bin stack as mentioned in the transparent mode exemple readme. The WB was advertizing when I use stm32wb5x_BLE_Stack_full_fw.bin stack with a custom template server. It means that my hardware is OK (The LPUART work fine too when I didn't use the WB as a BLE project). I don't really know what I am doing wrong here. Any help would be great!&n
Post edited by ST moderator to be inline with the community rules for the code sharing. In next time please use </> button to paste your code. Please read this post: How to insert source code. Hello, I’m using the STM32F429I-Discovery board and trying to display “Hello World” on Tera Term via USART1 (PA9, PA10). I configured the project in STM32CubeIDE as follows: USART1 → Mode: Asynchronous TX: PA9, RX: PA10 Baudrate: 115200, 8N1, No Flow Control Using the ST-LINK Virtual COM Port (USB connector CN1) main.c HAL_Init(); SystemClock_Config(); MX_GPIO_Init(); MX_USART1_UART_Init(); const char msg[] = "Hello World\r\n"; HAL_UART_Transmit(&huart1, (uint8_t*)msg, sizeof(msg)-1, HAL_MAX_DELAY); while (1) { HAL_UART_Transmit(&huart1, (uint8_t*)"Hello Again\r\n", 13, HAL_MAX_DELAY); HAL_Delay(1000); } However, nothing appears on Tera Term.The “ST-LINK Virtual COM Port (COMxx)” is visible in the Windows Device Manager, and I’ve selected the correct COM port in Te
Hai All, New to MCSDK Tool – 446 + IHM08M1 Interface.Generated the code using MCSDK 6.4.1 and analysing it.Attached is the video of my motor control configuration – Basic Hall Effect Sensor based 6 step commutation using Switch and ADC Speed Control.Unable to see any control routine in my main closed loop – where the switch press and the speed control ADC is called.Kindly help me out, how to proceed.
Hi,Tried to convert STM32CubeN6\Projects\STM32N6570-DK\Applications\USBX\Ux_Device_Audio_2.0 example of the USB speaker to the USB microphone on STM32N6570-DK.The USB device is enumerated as an audio recording device, ux_device_class_audio_stream_frame_done() is called, and then I fill the buffer with the functionsux_device_class_audio_write_frame_get(audio_play_stream, &frame_buffer, &frame_length); ux_utility_memory_copy(frame_buffer, &stereo24[idx], 12 * 2); SCB_CleanDCache_by_Addr(frame_buffer, 12 * 2); ux_device_class_audio_write_frame_commit(audio_play_stream, 12 * 2);The buffer is filled with a tone of 32767 magnitude, but recorded data is 70dB lower, or just strange noise.I can share this small project via DM if it's convenient.Regards.
Hello,I am using the Nucleo U575ZI-Q board. I need to use GPDMA synchronized with a timer to set multiple GPIO pins synchronously, perform SPI transmission, and configure PWM periods.I have found a working combination: software request + trigger TRGO. However, TRGO is only available for TIM15 and TIM2, which limits its versatility. Ideally, I would like to use hardware requests (such as REQUEST_TIM15_UP).Set TIM15 to output TRGO. Configure GPDMA1_CHANNEL7 with LinkedList for DMA_REQUEST_SW and set the trigger to GPDMA1_TRIGGER_TIM15_TRGO. The direction should be set to Memory-to-Memory. Specify the source as memory and the destination as GPIOA->BSRR or SPI2->TXDR. This will allow you to generate the waveform shown in the attached oscilloscope.uint32_t gpio_node_data[4] = { 0x00000100U, // PA8 = High -> bit8 set (1 << 8) 0x01000000U, // PA8 = Low -> bit24 set (1 << (8 + 16)) 0xFFFFFFFF, 0xFFFFFFFF }; uint32_t spi2_node_data[4] = { 0xAAAAAAAA, 0x55555555, 0x11111
Hey,I have an STM32H757 that I’m trying to program for the first time.When I try to program it using STM32CubeIDE or CubeProgrammer, I lose the ST-Link connection after programming one of the cores.Changing the programming order doesn’t solve the issue.The code has been tested on an evaluation board, where it runs correctly and behaves as expected.Is there a recommended procedure or step-by-step guide for programming a blank MCU for the first time?Best regards,Matthias
Hi, Please suggest STM32L562 UFBGA-132 Fanout guidelines.I looked into STM32L562E-DK design files for fanout, in which signals are routed in top and S1 layer but there is not via details for layer transition from top to S1. Here attached the fanout for U7 of eval board.Drill for U7 Top Layer layout for U7 Sig 1 layer layout for U7.Regards,Aman
Hi everyone, I’m trying to use the STLINK-V3MODS Bridge GPIOs (GPIO0–GPIO3) as digital outputs, but none of them show any voltage change at the pins — not even in Open-Drain mode with an external pull-up. All API calls (InitGPIO / SetResetGPIO / ReadGPIO) report BRG_NO_ERR,but on the hardware side, the GPIO pins stay flat at 0 V regardless of the configuration or the logical state set. 🧩 Setup Probe: STLINK-V3MODS OS: Windows 10/11, Visual Studio x64 DLL: STLinkUSBDriver.dll in the same folder Using official STLINK-V3 Bridge API from ST::backhand_index_pointing_right: STLINK-V3 Bridge Software Package (stlink-v3-bridge-v1-2-0.zip)(contains bridge.h, bridge.cpp, and example project apiBridgeProject) :gear: What I did Used InitGPIO() + SetResetGPIO() Tried both Push-Pull and Open-Drain modes T_VCC is connected (3.3 V detected) Closed all COMs between runs (CloseBridge(COM_UNDEF_ALL)) Result: Software side → success (BRG_NO_ERR, errMask = 0x00)
I purchased a Nucleo-L476RG eval board and downloaded the PWR STOP2 RTC example code to test for a low power application.After following the instructions for the jumper settings outlined in UM1724 for external power, I built and tried the example. The user LED blinked for five seconds then stopped as the board went into power-down/STOP2 mode for several seconds.This all appeared correct but instead of the expected STOP2 current of about 1.5uA, the current was about 450uA.I searched the STMicroelectronics Community and tried several different fixes for similar problems on other boards. But nothing worked.The provided PWR_STOP_RTC code is good and correct. So, I examined the schematic more closely and found extra required jumper settings and power connections not mentioned in the UM1724 user manual.UM1724 (7.3.3) states to apply +3.3V to CN6-4, CN7-12, 16. And SB2 and SB12 are removed.The problem is applying external +3.3V to the +3V3 net at CN6-4 which draws excess current into R23
Hi,first foray into STM32 with a Nucleo-F7222ZE.Using CubeMX I have set up Timer1 to generate PWM. I can get outputs OC1, OC2, OC3 etc, but I cannot get the complementary outputs OC1N, OC2N, OC3N to operate. I feel like I'm missing something, like dead band between OC1 and OC1N for example..I've tried just about every combination I can think of in CubeMX, with no result so far. Craig
Hello, STM32CubeIDE Version: 1.19.0STM32CubeU3 Firmware Package V1.2.0 / 04-June-2025 When new project STM32 project with "enable Trust Zone" is created, template produced by STM32CubeIDE fail with HardFault. I have trace primary problem down to NonSecure_Init() function, where VTOR address is read fromvtor_ns = SCB_NS->VTOR;Value of the SCB_NS->VTOR is 0x800000, and it is in secure area, so access to NonSecure_ResetHandler() fail with HF. I have fixed it by adding SCB_NS->VTOR = 0x8080000; in the secure main.c. If i look into GTZC_TZSC_MPCBB_TrustZone/Secure/Src/main.c, there is an addition effort to set correct NS VTOR value, which is missing in the generated code.#if defined ( __ICCARM__ ) SCB_NS->VTOR= (uint32_t)&(__VTOR_TABLE_NS_start); #elif defined(__ARMCC_VERSION)||defined(__GNUC__) SCB_NS->VTOR= __VTOR_TABLE_NS_start; #endif This correction helps, and I am able switch from secure to nonsecure mode. Anyway, nonsecure code soon fa
Project Name: custom surveillance droneCase Description:Hi STMicroelectronics Support Team,My name is Shuvadeep Mazumder, and I am the Founder & CEO of Model of Engineering (https://modelofengineering.com). I am currently leading the development of a custom surveillance drone, for which we have selected the STM32N657X0H3Q as the main processing unit.I am reaching out to request comprehensive technical support regarding both hardware design and software/firmware development for this project.Project OverviewObjective: Custom board design for a surveillance droneTarget features:Memory: 64 MB external SDRAM (proposed as 32 MB + 32 MB) and 500+ MB NOR FlashImaging: 1 × 8 MP camera interfaceSensors & Perception: Multiple sensors including LiDAR for obstacle detection and navigationAI Capabilities: Onboard AI for target tracking and autonomous decision-makingAutonomy: Real-time processing for self-dir
Hi i am working with LTDC with STM32F429ZI Discovery -1 board with onboard LCD. I really want to drive a external LCD RGB display without An ic controller by utilising the Internal LTDC hardware inside the MCU . Can you please give some support on this
Hi everyone.I'm trying to send more than 256 bytes of data from the host to the STM32 using USB CDC VCP, and I don't know why VCP won't accept more than 64 bytes of data. My project is already halfway done. If I switch to the USB bulk method, do I have to replace the USB CDC library and rewrite all the code from scratch? And do I have to create my own library to replace USB CDC?I'm using an STM32F407VET6.I appreciate all your answers.Thank you:).
STM32F030F4P6TR'nin PA5 pininde PWM araştırmaları. TLV2372ID ile 0-10V analog çıkış elde etmeyi planlıyorum. Devre şemasının doğru olması gerekiyor. TLV2372'nin sınırları ve pin bağlantıları doğru mu?
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.