Join conversations with your peers and ST experts. Explore the full potential of STM32 microcontrollers for your embedded design.
Most recent activity
Hi,I am using the steval-esc001v1 and the A2212 1000 KV BLDC Motor with the motor parameters are, The ESC input range is 1060–1860 µs. I arm the ESC at 1000 µs and then increase the input to 1062 µs, at which point the motor starts running. After startup, the RPM and current gradually increase without any change in the input signal. Within few seconds it reaches 4000 rpm (approx), then motor suddenly jerks and then settles at a minimum speed of around 1000 RPM. Sometimes, after this jerk, the motor stops completely.I would appreciate help with maintaining the motor speed at 1000 RPM after startup.Additionally, the motor turns 1 rotation during the power-up of the STEVAL-ESC001V1. Is there a way to prevent this initial turn at power-up?Best regards,Santhosh.
Hi!I’m asking for your recommendations :I would like to integrate the DCMIPP continuous example to add a photo capture and recording feature to the SD card through a button.I have already configured the SD card using CubeMX, and now I want to integrate the DCMIPP continuous example and then continue adding my own contributions.Is there another example that would be more appropriate to use as a base?Because I prefer to use CubeMX, but with the DCMIPP example I find myself having to manually add all the libraries to my project < as it comes without cubemx>, and at the moment I see that some libraries are not recognized despite that I added them with all the paths.Do you have any suggestions for what I want to do?Thanks in advance
Hello everyone, I have a Python app that needs to communicate with my custom STM32L432KC board. Before ordering my prototype board, I was wondering if it is possible to do it only via USB with the pins PA11 and PA12, or if I need a USB‑UART chip like the CP2101‑GM? Thanks
Hi everyone,I am working on a TouchGFX project using the STM32H750B-DK Discovery Board. The project works perfectly fine (UI is shown, everything runs smooth).The Issue:As soon as I enable a Timer in CubeMX (e.g., TIM15 or TIM3 in Input Capture mode) and regenerate the code, the display stays white after flashing. The application seems to crash or hang completely during initialization.Observation:Even if I disable the Timer in CubeMX again and regenerate the code, the display remains white.It seems that the first modification permanently breaks the project configuration (likely LTDC, QSPI, or MPU settings), and I have to restore a backup to get it working again.Has anyone experienced this behavior where simply touching the configuration breaks the board initialization permanently?Thanks for any help!
Hello everyone, I'm seeking advice on video playback implementation using TouchGFX 4.25 with a Riverdi RVT121HVSFWN00 display (12.1" LCD with STM32H7 MCU). **Current working setup:**- TouchGFX version: 4.25- Display: Riverdi RVT121HVSFWN00- Current video configuration: 480x272 resolution- FFmpeg command that works:ffmpeg -i video2.mp4 -s 480x272 -vcodec mjpeg -q:v 1 -pix_fmt yuv420p -color_range 1 -strict -1 -an output.aviThis works perfectly with the Video widget alongside other UI elements (backgrounds, buttons, etc.) When I try to increase the video resolution to 800x800 pixels, I only get a black screen. No video is displayed. **What I've tried:**1. Modified FFmpeg command for 800x800:ffmpeg -i input.mp4 -vf "scale=800:800:force_original_aspect_ratio=decrease,pad=800:800:(ow-iw)/2:(oh-ih)/2" \-c:v libxvid -qscale:v 5 -c:a libmp3lame -b:a 128k output.avi```2. Also tried various combinations with `mjpeg` codec and different pixel formats **My questions:**1. Are th
I installed stsw-link009 on my pc so I could use the STLinkv3. The PC did not see the STLink-v3. I then installed STM32Cubeprogrammer thinking that would fix the stlink driver issue but when I look under devices USB in the device manager I can not see the stlinkv3 anywhere and the STM32CubeProgrammer doesn't see it either. The same stlinkv3 works on other pcs. Since I can't see it on my pc I can't right click it to uninstall the driver so I am not sure what to do next.
Hi All,Im trying to play a video on my custom device board based on the STM32H750B-DK paired with 128MB SDRAM hooked-up to an 1024x600px LCD.When i preload a video into the videoWidget in touchgfx designer and flash it to the board the video plays fine and smooth at 25FPS.Im using hardware decoding, double buffered.Now id like to playback some dynamic content that i will load into the SDRAM that placed at the base of the SDRAM (32-bit aligned).MPU is setup.i set the video widget to the data in SDRAM video.setVideoData(bufferSDRAM, bufferSDRMALenght);But when I start the video player I do see the video but the image is jittering around and not stable.its like every second (guessing here, could be random) frame is slightly offset a bit down and to the right. Ive also tried a chunked data reader using a custom reader object which serves chunks by copying parts from SDRAM to a smaller buffer in internal ram.This created a smooth playback without the jitter but the video playback
Hello, I am working on a project using the STM32WL55JC1 board. In my base application, UART1 and some I2C peripherals are already configured in the default project structure generated by STM32CubeIDE. Now I need to add support for both LoRaWAN and proprietary LoRa in the same project. For LoRaWAN, I am using the example provided in the STM32WL firmware package:STM32Cube MCU Package for STM32WL series v1.0.0 For proprietary LoRa, I followed the Digi-Key forum guide:Using the low-level Sub-GHz radio driver for STM32WL series. My requirement is: The device should normally operate in LoRaWAN mode. When specific data is received through UART, the MCU should switch to proprietary LoRa mode. After handling the proprietary communication, it should return to LoRaWAN mode. I understand that both LoRaWAN and proprietary LoRa cannot run simultaneously because they share the same radio. However, I am confused about: How to properly merge the project structures. Where to pl
Hi, I am on stm32u585 IOT dev board for low power modes am using RTC wakeup the sleep and stop 1,2 and 3 are working fine but standby and shutdown is not working ? my code void sleep(int mode, int seconds ) { if (seconds <= 0) return; HAL_RTCEx_DeactivateWakeUpTimer(&hrtc); __HAL_RTC_WAKEUPTIMER_CLEAR_FLAG(&hrtc, RTC_FLAG_WUTF); uint32_t wakeup_counter (uint32_t)(seconds 2048); HAL_RTCEx_SetWakeUpTimer_IT(&hrtc, wakeup_counter, RTC_WAKEUPCLOCK_RTCCLK_DIV16, 0); switch (mode) { case 0: // Sleep HAL_SuspendTick(); HAL_PWR_EnterSLEEPMode(PWR_MAINREGULATOR_ON, PWR_SLEEPENTRY_WFI); HAL_ResumeTick(); break; case 1: // Stop0 HAL_SuspendTick(); HAL_PWREx_EnterSTOP1Mode(PWR_STOPENTRY_WFI); break; case 2: // Stop1 HAL_SuspendTick(); HAL_PWREx_EnterSTOP2Mode(PWR_STOPENTRY_WFI); break; case 3: // Stop2 HAL_SuspendTick(); HAL_PWREx_EnterSTOP3Mode(PWR_STOPENTRY_WFI); break; case 4: // Standby __HAL_PWR_CLEAR_FLAG(PWR_WAKEUP_ALL_
Post Edited by ST moderator to apply source code formatting Hi ST Community,I am using STm32U575VGTX. I configure RTC as default, enable RTC non-secure interrupt, activate alarm A trigger each 10 seconds as below: ******************************************* static void MX_RTC_Init(void) { /* USER CODE BEGIN RTC_Init 0 */ /* USER CODE END RTC_Init 0 */ RTC_PrivilegeStateTypeDef privilegeState = {0}; RTC_TimeTypeDef sTime = {0}; RTC_DateTypeDef sDate = {0}; RTC_AlarmTypeDef sAlarm = {0}; /* USER CODE BEGIN RTC_Init 1 */ /* USER CODE END RTC_Init 1 */ /** Initialize RTC Only */ hrtc.Instance = RTC; hrtc.Init.HourFormat = RTC_HOURFORMAT_24; hrtc.Init.AsynchPrediv = 127; hrtc.Init.SynchPrediv = 255; hrtc.Init.OutPut = RTC_OUTPUT_DISABLE; hrtc.Init.OutPutRemap = RTC_OUTPUT_REMAP_NONE; hrtc.Init.OutPutPolarity = RTC_OUTPUT_POLARITY_HIGH; hrtc.Init.OutPutType = RTC_OUTPUT_TYPE_OPENDRAIN; hrtc.Init.OutPutPullUp = RTC_OUTPUT_PULLUP_NONE; hrtc.Init.BinMode =
Respected ST Team, We are planning to purchase the STM32H7B3I-EVAL evaluation board and would like to confirm the accessories included in the standard package before placing the order. Order link is https://www.st.com/en/evaluation-tools/stm32h7b3i-eval.html?ecmp=tt9470_gl_link_feb2019&rt=db&id=DB4091#documentation Kindly confirm the following: Does the board come with a USB programming cable (for the onboard STLINK-V3E) ? If not please share the specification for the same. Is any external power adapter included with the kit? If not please share the specification for the same. Also share the different combinations to power the board. Please share the list of accessories included in the package. Are there any mandatory additional accessories required to use complete feature of the board. Please share diffrent flashing methods avaible on this evaluation board. We plan to use this board for development and training purposes, so confirmation of the included items will
Hi,on STM32F429I-DISC the timer TIM2 kicks ADC1 and the data goes to buffer via DMA. APB1 clock for TIM2 is 36MHz, reload value for TIM2 is 143, I exspect 36e6/144= 250k samples/second.I get 8.3e6 samples in 123 seconds which results in 67.4ks/s. This is factor 3.7 low, not even an integer ratio.There is a clock issue for the 48MHz, see enclosed .ioc What do I miss?THX CheersDetlef
Need help? Is it possible to disable RDP2 and return to AA mode when I did not set a password before setting up RDP2? Is there a default STM password? Thanks
Hello, I have a Nucleo-H723ZG that I am trying to setup a Continuous running ADC that fills a buffer VIA DMA. I have read tutorials, watched videos, looked at the data sheets and still can't get it working.Tools: CubeMX to generate code VScode to compile and debug code Hardware: NUCLEO-H723ZGGoal: I am trying to have the ADC Continuously trigger and fill the DMA buffer overwriting the old values. I'm not attempting to trigger from a timer or any external means. I just want to start the ADC and it be free running. Then I'll handle the data in the buffer else where. Currently: I can't get anything to happen. The ADC works fine if I set it up for polling and I get correct ADC values. If I set it up for DMA continuous the buffer never gets any values and the ISR HAL_ADC_ConvCpltCallback() never fires. (I used a debug break point inside the isr) Update: I found that if I check the ADC_HandleTypeDef hadc1 while de
I am developing a project based on the STM32WL5MOC, using the B-WL5M-SUBG1 board as my reference platform.My development environment uses STM32CubeMX and STM32CubeIDE (both version 2.x). I am having difficulty determining which documentation and examples are current and compatible with the STM32CubeWL v1.4 library.My objective is to build a LoRaWAN end-node product using the STM32CubeWL v1.4 stack. However, I am encountering several issues:• CubeMX appears to lock or restrict LoRaWAN region selection, preventing reliable configuration changes (specifically US915 for Canada)• CubeMX hides or auto-generates LoRaWAN configuration files, making it unclear where parameters should be edited• The stack structure and project organization generated by CubeMX differ from what is described in the available documentation• As a result, I have been unable to produce a stable standalone CubeIDE project with fully editable LoRaWAN configurationGiven these inconsistencies, I would appreciate clarificat
Searching through the forum it seems like there are tens of posts regarding this topic. I read many of them, but I struggle to find a solution that applies to me.First of, I use an STM32H743VIT.My goal: Use ADC1 and ADC2, one channel each. The two ADCs should be tied together. The whole conversion should be triggered by TIM4 update event and the data should be moved via DMA.What works: If I just use TIM4 and two DMA streams that move the data for each ADC individually, it works. As soon as I try to use the dual mode, it does nothing.When I'm in dual mode I have confirmed that the timer is still running. TIM4->CNT is changing. I've spent almost two hours with the debugger in the SFR and checked the registers. I'm not sure if I'm close to the issue, but there is something that seems suspicious based on the research I did: DMA1->S0NDTR->NDT does not change, indicating that the DMA stream does nothing. However ADC1->CR->ADSTART is at 0x1, indicating that it tries to do somet
Hello,I implemented the How to use SNTP over LwIP and RTC with an STM32 - STMicroelectronics Community example (not using FreeTOS) in the suggested STM32H723ZG NUCLEO-144 board. The app runs, but when it tries to allocate memory for DHCP with the mem_memalloc() function in dhcp:start (dhc.c lib file) it always returns null pointer. I t can't allocate memory for DHCP structure, the dhcp pointer is always 0 and dhcp_start() always returns with ERR_MEM error.dhcp_start(struct netif *netif) { struct dhcp *dhcp; ... /* no DHCP client attached yet? */ if (dhcp == NULL) { dhcp = (struct dhcp *)mem_malloc(sizeof(struct dhcp)); if (dhcp == NULL) { return ERR_MEM; } ... }In STM32H723ZGTX_FLASH.ld I have:MEMORY { ITCMRAM (xrw) : ORIGIN = 0x00000000, LENGTH = 64K DTCMRAM (xrw) : ORIGIN = 0x20000000, LENGTH = 128K FLASH (rx) : ORIGIN = 0x08000000, LENGTH = 1024K RAM_D1 (xrw) : ORIGIN = 0x24000000, LENGTH = 320K RAM_D2 (xrw) : ORIG
code running ok with 1 second delay in stm32f103c8t6 bluepill board. but, after power off when i do power on, delay is 0.56 second. I am using 72 MHz timer2 clock. #include "stm32f1xx.h" void TIM2_Init_ms(uint16_t delay_ms);void clock_setup(); int main(void){clock_setup(); TIM2_Init_ms(1000);while(1){}} void TIM2_IRQHandler(void) { if (TIM2->SR & TIM_SR_UIF) { TIM2->SR &= ~TIM_SR_UIF; // Clear update flag GPIOC->ODR ^= GPIO_ODR_ODR13; // set and reset Bit 13 of ODR //togglr bit and so LED } } void TIM2_Init_ms(uint16_t delay_ms){ RCC->APB1ENR |= RCC_APB1ENR_TIM2EN; TIM2->PSC = 7199; // 0.1 ms t
Isn't TrustZone something which started to be only since Cortex-M33?JW
Hi everyone, I'm designing a board with an STM32H7[STM32H757XI] and two MT48LC16M8A2P SDRAM chips to get 16MB (16-bit wide). I'd appreciate a schematic review before PCB fabrication. Hardware:- MCU: STM32H757XI- SDRAM: 2x Micron MT48LC16M8A2P (4Mx8, 4 banks)- Target speed: 100-110MHz Key Connections:- Data: Chip1 DQ[0:7] → FMC_D[0:7], Chip2 DQ[0:7] → FMC_D[8:15]- Address: A[0:11] from FMC to both chips in parallel- Control: CAS/RAS/WE/CKE/CS shared, separate DQM signals [DQM0 & DQM1]- Chip select: Both using same FMC_SDNE0 Specific concerns:1. Have I connected the DQM pins correctly for byte access?2. Is my clock termination appropriate or do i need a separate termination resistors for each SDRAM?3. Do I need to add series resistors on any lines? Schematic image attached. Thanks in advance for any feedback!
I am new to ThreadX. I have had experience with FreeRTOS generated with CubeMX.However, I have been starting over repeatedly with CubeMX. Just trying to create a base project with Nucleo-F767Zi.I need to find some documentation for starting this process. I am missing something.Thanks,Greg
I've been trying for days to find a MIPI CSI-2 thermal camera for use with the STM32N6570-dk.I even looked in the STM store.I even found a company that seems to have one, but their communication system doesn't accept any of my emails.Does anyone have any suggestions to help me?Thank you.
ST moderator: Edited the tile to add "ADC" I want to extract data at high sampling frequency ~10KHz at STM32N6570-DK, Is it possible with USART for three channels or we have any other mode for this purpose. I want to continuously stream data at 10KHz sampling frequency.
Using STM32TRUSTEE-SM framework, the non-secure application is built by the project.py script which in turn callsSTM32TrustedPackageCreator_CLI.exe -pb SM_Code_Image_bin.xmlto generate the application .bin file in MCUboot format.The xml file has <Param> <Name>Security Counter</Name> <Value>auto</Value> <Type>Data</Type> <Command>-s</Command> <Hidden>1</Hidden> <Default>auto</Default> </Param>It is my understanding that with this setting, an incrementing counter should be placed in the image header's ih_ver.iv_build_num field. But this field stays 0 no matter what I put under <Value>, auto or direct number.There is a command "-s" which according to the documentation would be passed on to the imgtool executable, which, however, is described as thisand therefore would have nothing to do with any counter.Could anybody shed some light on it, please? I am using the latest version 2.20.
Hello ST Community,I am working on K-Line communication using an STM32H723ZGT6 controller (EVK board) with a TJA1021T/10/C/118 LIN transceiver. The goal is to communicate with an ECU using ISO-14230 K-line fast initialization.The hardware path appears to be working correctly. We verified using an oscilloscope that:1.TXD from STM32H723ZGT6 is switching correctly2.LIN bus shows dominant pulses during fast-init and UART transmission3.RXD reflects the LIN signal4.SLP_N LOW-to-HIGH transition is implemented after power-upNXP support confirmed that the TJA1021T transceiver operation looks correct based on the waveform captures.However, the ECU does not respond — only the transmitted request echo is observed.Important observations:1.The same STM32H723ZGT6 controller, ECU, and firmware work correctly when using a dedicated K-Line transceiver IC.2.The UART configuration is 10400 baud, 8N1, and the same firmware and fast-init implementation are used.3.The fast-init sequence used is 300 ms
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.