Join conversations with your peers and ST experts. Explore the full potential of STM32 microcontrollers for your embedded design.
Most recent activity
Hello Friends,I am looking for MCU. Kindly suggest. Below are the minimum requirementsNeed two SPI. Need to read data of two sensors via SPI simultaneosly & continously. Need one UART Need smallest possible foot print. WLCSP12/TSSOP20/UFQFPN20 Do not want to use external cyrstal for clock. Want to use internal clock Robust for shock, vibration. Pricing is no issue.Kindly suggest..
Split from this post.I’ve just tried testing the out FIFO depth.The STM32F427 is operating at 179.8MHz.The DMA2D is configured for memory-to-memory transfers (so only the out FIFO is used - this is how I intend to configure the peripheral to drive the DAC).The DMA2D dead time is configured for the maximum value (255), which allows one AHB transfer to the DMA2D every 1.4 microseconds.The timer generating the NWAIT signal is held low for several hundred microseconds after the DMA2D is enabled and then generates NWAIT pulses that allow the FMC to write a value every 8 HCLK cycles (every 44.45ns).This is the resulting output on the FMC NWE signal, with the controlling NWAIT signal (from the timer) also shown: This suggests the FIFO depth is 48 (16-bit) words.But what happens next raises another question. This screenshot shows the first burst of 48 writes to the FMC, followed by the next 3 bursts:The subsequent bursts are only 16 writes long, and the time between them (the first interval i
I am building a live camera feed project using an STM32H747I-DISCO (MB1166-A09) board and a B-CAMS-OMV (MB1683-CAMS-A02) camera module.I tried using the standard example capture mode ,i set up everything but i always get stuck here ,any solutions?
Currently, I am using the STM32F412RGT6 64-pin package to drive an 8-bit MCU interface screen. However, I am unsure if this MCU supports FSMC.
What are the sizes and configurations of the FIFOs (foreground, background, and out) on the STM32F427 DMA2D (Chrom-Art)?
My STM32F303VCT6 discovery board is not connecting with my STM32CUbeIDESTM32CubeProgrammer gives a "Error: No STM32 target found!" I'd appreciate any suggestions about how to fix this issue before I try rolling back the firmware on the debugger.Here's the error I get in the CubeIDE Console windowSTMicroelectronics ST-LINK GDB server. Version 7.5.0Copyright (c) 2023, STMicroelectronics. All rights reserved. STMicroelectronics ST-LINK GDB server. Version 7.11.0Copyright (c) 2025, STMicroelectronics. All rights reserved. Starting server with the following options:Persistent Mode : DisabledLogging Level : 1Listen Port Number : 61234Status Refresh Delay : 15sVerbose Mode : DisabledSWD Debug : EnabledInitWhile : Enabled Target no device found Error in initializing ST-LINK device.Reason: No device found on target. Here's the error that pops up the CubeIDE "Problem Occurred" windowError in final launch sequence:Failed to execute MI command:target remote localhost:61234Error message from debugg
High Packet Loss in IN865 Field Deployment (30–40%) with STM32WLE5CCU6 – Looking for Root Cause Analysis and Scalability Guidance Hello Community,We are currently facing a packet loss issue in our LoRaWAN deployment and would appreciate guidance from members who have experience with large-scale deployments, particularly in the IN865 region.System ConfigurationEnd Device MCU: STM32WLE5CCU6 LoRaWAN Version: 1.0.4 Device Class: Class A Message Type: Unconfirmed Uplinks ADR: Enabled Initial Data Rate: SF10 (ADR manages the final data rate) TX Power: TX_POWER_0 (ADR controlled) Payload Size: 1 Byte Uplink Interval: Every 30 Minutes Network Infrastructure Gateway: Milesight UG67 Network Server: ChirpStack Region: IN865 Channel ConfigurationThe following 8 uplink channels are configured: 865.2 MHz 865.6 MHz 865.8 MHz 866.1 MHz 866.3 MHz 866.5 MHz 866.7 MHz 866.9 MHz Deployment ScenarioWe currently have approximately 150 end devices deployed.Office TestingWhen
When I was developing the stm32u575, I needed to set the threshold for the bor (power-on reset). I wanted the device to reset when the voltage was below a certain level. While configuring the bor threshold for the stm32u575, I followed the configuration process of the stm32f405, but it didn't work. The program got stuck at HAL_FLASH_OB_Unlock(). Why did this happen? What was the problem? FLASH_OBProgramInitTypeDef OBInit; HAL_FLASHEx_OBGetConfig(&OBInit); OBInit.USERType = OB_USER_BOR_LEV; OBInit.USERConfig = OB_BOR_LEVEL_1; HAL_FLASH_OB_Unlock(); HAL_FLASHEx_OBProgram(&OBInit); HAL_FLASH_OB_Launch(); HAL_FLASH_OB_Lock();
In this documentation, I can find a detailed description of the torque/flux (current) PI controller implementation, but there is no clear explanation of the speed PI controller design or tuning. Could you please explain how the speed PI (KP, KI) is derived, and what criterion ST MC Workbench uses to compute these parameters automatically?
Hi all,I'm having trouble connecting to an STM32F373C on a custom PCB via STM32CubeProgrammer, using an STM32F072B-Discovery board as a standalone ST-Link/V2. The custom PCB is an open source synthesiser module and was manufactured by JLCPCB - many others have built this PCB with no issues. I've followed the correct procedure for using the Discovery board as an external ST-Link (removed CN5 jumpers, opened SB10), and wired CN4 to my PCB's dedicated SWD header which has RESET, SWCLK, SWDIO and GND pins.**Setup:**- Programmer: STM32F072B-Discovery (ST-Link/V2), CN5 jumpers removed, SB10 opened- Target: STM32F373C on custom PCB- Connection: Via dedicated SWD header (RESET, SWCLK, SWDIO, GND). Discovery board connected to Macbook using Mini USB to USB C cable.- Software: STM32CubeProgrammer, SWD mode, various frequencies tried down to 480 kHz- Reset modes tried: Software reset, Hardware reset, Connect under reset**Error in CubeProgrammer:**ST-LINK SN: 38FF68063050453420251743ST-LINK FW: V
Hi, i have NUCLEO-L073RZ with shield I-NUCLEO-LRWAN1 SX1272.I want to activate it with ping pong code and it’s stuck and I don’t understand why.I can see that LD2 is blinking but PuTTY is empty, I also get this after running:
Hello ST team,I'm facing the issue with STM32N6 DCMI DMA configurations, I could see the data flowing down from the cmos & clocking at 50MHZ. I could spot the first 4 pixels data (2 words) on live watch window. the next word data is intermittent & getting into DMA error 0x41,The cube MX (6.17.0) unable to generate the DMA init functions appropriately for DCMI, however i’ve added the Config explicitly, Any suggestions on the below configurations? /*** @brief DCMI Initialization Function* @param None* @retval None*/static void MX_DCMI_Init(void){/* USER CODE BEGIN DCMI_Init 0 *//* USER CODE END DCMI_Init 0 *//* USER CODE BEGIN DCMI_Init 1 *//* USER CODE END DCMI_Init 1 */hdcmi.Instance = DCMI;hdcmi.Init.SynchroMode = DCMI_SYNCHRO_HARDWARE;hdcmi.Init.PCKPolarity = DCMI_PCKPOLARITY_FALLING;hdcmi.Init.VSPolarity = DCMI_VSPOLARITY_LOW;hdcmi.Init.HSPolarity = DCMI_HSPOLARITY_LOW;hdcmi.Init.CaptureRate = DCMI_CR_ALL_FRAME;hdcmi.Init.ExtendedDataMode = DCMI_EXTEND_DATA_12B;hdcmi.Init.J
Dear Team,I am currently working on an application based on the STM32H563ZITx microcontroller using the NUCLEO-H563ZI development board.The application is designed as a gateway that communicates with another controller through a UART interface. The same UART interface is also used to program the target controller with firmware updates.For the software implementation, I am using STM32CubeH5 v1.6.0 and have adopted the Nx_Iperf reference project for the NUCLEO-H563ZI board to develop a web-based user interface.The following functionalities have been successfully implemented and tested:Reading data from the target controller via UART Writing data to the target controller via UART Firmware download and programming through the same UART interfaceHowever, I am encountering an issue when transferring firmware (.bin) files. The system appears to accept only about 54 KB of data, after which the transmission stops. As a result, I am unable to transfer larger firmware images.My application requi
I’m using stm32f103 timer cc event to trigger adc injected conv. But I failed. I can trigger it with timer trgo. This means my adc configuration is correct. LL_TIM_InitTypeDef TIM_InitStruct = {0}; LL_TIM_OC_InitTypeDef TIM_OC_InitStruct = {0}; LL_TIM_BDTR_InitTypeDef TIM_BDTRInitStruct = {0}; LL_GPIO_InitTypeDef GPIO_InitStruct = {0}; LL_APB2_GRP1_EnableClock(LL_APB2_GRP1_PERIPH_TIM1); TIM_InitStruct.Prescaler = 0; TIM_InitStruct.CounterMode = LL_TIM_COUNTERMODE_CENTER_UP_DOWN; TIM_InitStruct.Autoreload = 2249; TIM_InitStruct.ClockDivision = LL_TIM_CLOCKDIVISION_DIV1; TIM_InitStruct.RepetitionCounter = 0; LL_TIM_Init(TIM1, &TIM_InitStruct); LL_TIM_EnableARRPreload(TIM1); LL_TIM_SetClockSource(TIM1, LL_TIM_CLOCKSOURCE_INTERNAL); TIM_OC_InitStruct.OCMode = LL_TIM_OCMODE_PWM2; TIM_OC_InitStruct.OCState = LL_TIM_OCSTATE_ENABLE; TIM_OC_InitStruct.OCNState = LL_TIM_OCSTATE_ENABLE; TIM_OC_InitStruct.CompareValue = 0; TIM_OC_InitStruct.OCPolarity = LL_TIM_OCPOLARITY_HIGH;
Hello,Because there is no active handle in DMA list for DCMI DMA initialization (bug!?) I searching for the ways to enable and use DMA, I can't find examples for parallel mode except for CSI serial, if I switch to use DCMIPP in parallel mode then the cubeMX do not generate msp initialization code function HAL_DCMIPP_MspInit for DCMIPP interface (no pinout, RCC, IRQ...), and in DMA list DCMI_PSSI handle stays inactive,all my attempts to setup DCMI DMA do not work and DMA throws error 0x40, DCMI and camera working well, I getting hsync and vsync callbacks firing and counters show correct values, I tryed various settings but still cant start DMA transfer, there is my test and msp initialization code, please check: uint32 err0 = HAL_DCMI_Start_DMA(&hdcmi, DCMI_MODE_CONTINUOUS, (uint32)frame_buff_DCMI, 320 * 240 / 2); uint32 err1 = HAL_DCMI_GetError(&hdcmi); HAL_Delay(5000); uint32 err = HAL_DCMI_GetError(&hdcmi); printf("DCMI %u %u, %u %u %u, %u %u\n", hdcmi.St
Hi,I am trying to establish CAN communication between a NUCLEO-G474RE and a YMMOTOR MS72450 motor controller using the FDCAN1 peripheral.HARDWARE SETUP:- STM32 NUCLEO-G474RE (STM32G474RETx)- Transceiver: WCMCU-230 (SN65HVD230), 3.3V, connected to PA11 (FDCAN1_RX) and PA12 (FDCAN1_TX) via AF9- Motor controller: YMMOTOR MS72450 (CAN 2.0B, 500kbps, standard frame, Motorola byte order)- Termination: 120 ohm on motor controller side (factory default built-in). 120 ohm on transceiver side.- Common GND connected between STM32 and motor controller- Motor controller ACC pin (pin 10, 48-85V) is poweredCLOCK CONFIGURATION:- HSI 16MHz -> PLL -> 170MHz system clock- FDCAN kernel clock = PLLQ = 170MHz- NominalPrescaler=17, TimeSeg1=15, TimeSeg2=4, SJW=1- Calculated bitrate = 170MHz / (17 x 20TQ) = 500kbpsSYMPTOM:- Green LED blinks initially = TX frames being queued successfully (HAL_FDCAN_AddMessageToTxFifoQ returns HAL_OK)- Oscilloscope on CANH/CANL shows clear CAN signals from the
Hello everyone,I am currently working on an STM32-based project and have encountered an issue with UART communication. The UART works correctly after startup, and data is transmitted and received as expected. However, after running for several minutes, the communication suddenly stops and no further data is received.I have checked the wiring, baud rate configuration, and power supply stability. I also monitored the application for hard faults but could not identify the root cause. The issue occurs consistently after prolonged operation.Development Environment:MCU: STM32 Series IDE: STM32CubeIDE Communication: UARTHas anyone experienced a similar issue or can suggest possible causes and troubleshooting steps? Any guidance would be greatly appreciated.Thank you.
Hello,I am ready to use STM32C531 in project. Right now, I am using Keil MDK V5.29 and it does not support this micro. Can anybody help to tell me which Keil version support this micro? If I do not use Keil, does any other IDE/Compiler support this micro develop? Thanks,
Hi all! Thank you for taking time to assist me. I am attempting to make a composite USB Device on the NUCLEO-C562RE. I found the Middleware USBX examples and the core drivers exist in my toolchain at: STM32CubeC5/middleware/usbx However, I cannot seem to find the middleware configuration for USBX in STM32CubeMX2. My pack manager in the STM32CubeMX2 is set to this default value: "cube.packManager.cmsisPackRepositories": ["https://developer.st.com/st-pack-server/api/v1/pidx/STMicroelectronics.pidx"] Please let me know if I have missed anything or if you need further information from me to figure out the root issue. The examples, linked above, clearly auto generated the USBX files using the MX2 software, but I could not find the documentation that allowed me to generate those files. I would greatly appreciate it if someone could assist me with this. EDIT: I saw this forum that says support isn't out until Q3. Does that mean I have to write the generated cod
I’m seeing that there’s the same file OSWrappers.cpp in both target\generated and touchgfx\osThe one in touchgfx\os is slightly different as it contains static portBASE_TYPE IdleTaskHook(void* p){ if ((int)p) // Idle task sched out { touchgfx::HAL::getInstance()->setMCUActive(true); } else // Idle task sched in { touchgfx::HAL::getInstance()->setMCUActive(false); } return pdTRUE;}// FreeRTOS specific handlersextern "C"{ void vApplicationStackOverflowHook(xTaskHandle xTask, signed portCHAR* pcTaskName) { while (1); } void vApplicationMallocFailedHook(xTaskHandle xTask, signed portCHAR* pcTaskName) { while (1); } void vApplicationIdleHook(void) { // Set task tag in order to have the "IdleTaskHook" function called when the idle task is // switched in/out. Used solely for measuring MCU load, and can be removed if MCU load
Hello!I am working on a project using the STM32U375CGUx MCU, and I am trying to implement a Stereo Audio Acquisition system using two omnidirectional digital PDM MEMS microphones.Hardware Setup: Microphone L: L/R pin tied to GND (Rising Edge data output). Microphone R: L/R pin tied to VDD (Falling Edge data output). Both microphones share the same lines connected to the MCU: PB4 (ADF1_SDI0) for the clock and PB3 (ADF1_CCK0) for the data stream. The Issue:When configuring the peripheral through STM32CubeMX, I am unable to set up a true Stereo configuration. I can only make it work in Mono.Looking at the generated HAL initialization code, I am forced to choose either MDF_BITSTREAM0_FALLING or MDF_BITSTREAM0_RISING for the FilterBistream parameter. There is no option/macro to sample both edges (interleaved) simultaneously on the same filter instance:AdfHandle0.Instance = ADF1_Filter0;AdfHandle0.Init.CommonParam.ProcClockDivider = 6;AdfHandle0.Init.CommonParam.OutputClock.Activation =
Hello,I’m working with custom board STM32F767BITX, trying to interface Standalone USB Host MSC, with no Free RTOS.Tried different reference, below is one reference which I followed As soon as connected USB, it shows connected but after that it loop between this two calls alternatively, USBH_LL_PortDisabled() and USBH_LL_PortEnabled() which disconnect USB and connect again and continue to do that.So I dont understand the root cause of this, what trigger this to behave like this?Please guide me to fix this issue. void SystemClock_Config(void){ RCC_OscInitTypeDef RCC_OscInitStruct = {0}; RCC_ClkInitTypeDef RCC_ClkInitStruct = {0}; /** Configure the main internal regulator output voltage */ __HAL_RCC_PWR_CLK_ENABLE(); __HAL_PWR_VOLTAGESCALING_CONFIG(PWR_REGULATOR_VOLTAGE_SCALE3); /** Initializes the RCC Oscillators according to the specified parameters * in the RCC_OscInitTypeDef structure. */ RCC_OscInitStruct.OscillatorType = RCC_OSCILLATORTYPE_HSI|RCC_OSCILLATORTYPE_HSE; RCC
Hi ST!I’ve been having some difficulty trying to integrate my UART project inside the architecture outlined in your OEMiRoT_Appli_TrustZone example for the NUCLEO-U385RG-Q. Note this example is incompatible with CubeMX and therefore I’m somewhat on my own when it comes to setting up additional peripherals (like USART3).I’m currently able to send in a string to uart3 using HAL_UART_Transmit, however am not able to trigger an interrupt when attempting to input to uart3 - code below: char *msg = "USART3 TEST 3\r\n"; HAL_UART_Transmit(HUART, (uint8_t*)msg, strlen(msg), HAL_MAX_DELAY); HAL_UART_Receive_IT(HUART, &uart_rx_byte, 1);I’ve tried using VSCodes compare functionality to mirror a CubeMX generated TrustZone example with uart enabled, so far adjusting sections of stm32u3xx_it.h/c, stm32u3xx_hal_conf.h/c and partition_stm32u385xx.h, with some nudging from this forum question https://community.st.com/stm32-mcus-embedded-software-32/stm32h563-trustzone-usart3-interrupts-not-working
Hi everyone,I'm working on a project using **STM32H753ZIT6** (Cortex-M7 @ 480MHz) to drive an **Alientek ATK-MD0430** 4.3" TFTLCD with **NT35510** controller via **FMC 16-bit 8080 parallel bus**.**Symptom: Screen is completely dead — no backlight, no image, NT35510 ID read returns 0x0000 or 0xFFFF.**I've been debugging this for two weeks and would appreciate any guidance.---### Hardware Configuration| LCD Signal | STM32 Pin | FMC Function ||-----------|-----------|--------------|| CS | PD7 | FMC_NE1 (Bank1) || RS | PD13 | FMC_A18 || WR | PD5 | FMC_NWE || RD | PD4 | FMC_NOE || RST | PG9 | GPIO Output || BL | PA8 | TIM1_CH1 PWM || D0-D15 | Standard FMC data bus pins | FMC_D0~D15 |### System ClockHSE=25MHz → PLL1 /5×192/2 = 480MHz SYSCLKPLL2 /5×120/3 = 200MHz → FMC (HCLK=240MHz)VOS Scale 0### What I've Tried (all failed)1. Copied NT35510 init sequence from Alientek's official MiniSTM32H750 example2. Fixed CMD/DATA addresses: CMD=0x6007FFFE, DATA=0x60080000 (RS on A18)3. MPU configured for
Hello, I'm using an STM32U5G7VJTx MCU with a 480x320 display, connected to the FMC in 16-bit mode, and everything works fine using the GPU2D. I'm not using an existing GUI framework.The pixel format used by the display is RGB565 (16bpp), so for gradients, I want to use dithering to soften the banding. I found this definition in the 'nema_graphics.h' file:#define NEMA_DITHER 0x80U /**< Nema Dithering */However, it seems undocumented. How do I make use of it?Kind regerds, Jack.
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.