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
Hey, I want to open a project from my peer, but i cant because the version for STMCubeMX with which it was generated is newer then mineI then do that and 'Check for Updates', which doesn't work and gives me an error. When i try to manually access the website, it doesn't work. I really don't understand what chatgpt.com has to do with any of this either. I can't seem to find any other post mentioning this, but I apologies if I'm wrong.Thanks for the help!
Hi all,This is my first time posting here.I have a problem with STM32 VSCode Extension v3.5.1 where the DMA on my STM32 H7 (STM32H725RGV6) doesnt work.I tested this with UART TX and ADC Circular DMA mode.The function HAL_UART_Transmit_DMA() returns HAL_OK at first, and then returns HAL_BUSY for the next calls. No data was transmitted at all recieved on the serial terminal. UART and DMA blocking functions and with IT works fine.The same setup with CubeIDE and with the older extension v2.5.1 works fine. Any input is greatly appreciated.Many thanks Steps to replicate:Start a new stm32 vscode project with STM32H7 like normal and enable uart1 (with all interrupts) and sw debug, max clock 550MHz with HSI.call HAL_UART_Transmit_DMA() and it doesnt work :)Here is my full main.c code though:/* USER CODE BEGIN Header */ /** ****************************************************************************** * @file : main.c * @brief : Main program body **************
DMA stops working when I enable IWDG in .ioc on my STM32, even when commenting out the IWDG initialization for testing. DMA stops working when I enable IWDG in .ioc on my STM32, even when commenting out the IWDG initialization for testing. Before enabling IWDG, DMA is functioning normally.If anyone can help me, I don't have much experience with stm32, I'm just starting out. /* USER CODE END Header */ /* Includes ------------------------------------------------------------------*/ #include "main.h" /* Private includes ----------------------------------------------------------*/ /* USER CODE BEGIN Includes */ #include <stdio.h> #include <string.h> #include "microwave_sensor.h" /* USER CODE END Includes */ /* Private define ------------------------------------------------------------*/ /* USER CODE BEGIN PD */ #define ADC_CHANNELS 2 /* USER CODE END PD */ /* Private variables ---------------------------------------------------------*/ ADC_HandleTy
Hello,I'm working on a low power project using STM32U073 with FreeRTOS, LPUART2 and LPTIM1.To achieve the lowest system power possible I am trying to use STOP2 for when the system is idle.Currently I have LPTIM1 releasing a semaphore every 1 second which then controls an I2C ASIC by grabbing the latest data then setting it going again for the next measurement.This part of the project works perfectly and will allow the MCU to fall into STOP2, wait for the LPTIM1 compare interrupt, wake the MCU and control the I2C device before then falling back into STOP2.While the MCU is in RUN mode, caused by LPTIM1, I can successfully service LPUART2 in that it will respond to a 'request for data' Modbus message.If a message is sent to the MCU while it is in STOP2 the request for data is missed.For testing I have disabled LPTIM1 IT and am trying to wake the MCU using LPUART RX alone and force the MCU to hold RUN for 100 ms so that I can see it on my power profiler, but all I am seeing is ~2ms activit
Hi, I am trying to configure my STM32G071GBU6 to enable reprogramming the flash throguh USART1. I check the datasheet of STM32G071x8/xB, reference manual RM0444, and application note AN2026. It says I am supposed to configure the PA9 (USART1_Tx) and PA10 (USART1_Rx) pins. The problem is when I configure the USART1 as asynchronous mode in STM32CubeMX, the software automatically set PB6 and PB7 pins as USART1_Tx and USART1_Rx. There are no available options like USART1_Tx and USART1_Rx for PA9 and PA10.I am wondering why the manual is inconsistent to the STM32CubeMX and how should I configure the MCU to correctly reprogram through USART1?
I'm having a hard time understanding when to use Unicode::snprintf vs Unicode::strncpy, also because I'm seeing different behavior when it comes to wildecards.I have a font where I've set various wildcard characters (see below)Now, I have a text area with a buffer of 10.If I use Unicode::snprintf(myTextBuffer, MYTEXTTEXT_SIZE, "%s", "myText");I'm seeing the text on the touchscreen as ???, so it basically falls back to the fallback characters.Instead, if I use Unicode::strncpy(myTextBuffer, "myText", MYTEXTTEXT_SIZE); I correctly see myText as the textWhy is that?
Hello I have custom board with STM32N657. I have set timer 2 to output PWM pulse on channel3 and output compare pulse on channel 1 as trigger to another timer. The timer starts when external trigger - TIMER4_ETR (mapped to timer 2) detects rising edge. All works good, there are continuous pulses as expected. I want timer2 to run once per trigger so enabling One Pulse Mode. static void MX_TIM2_Init(void) { /* USER CODE BEGIN TIM2_Init 0 */ /* USER CODE END TIM2_Init 0 */ TIM_ClockConfigTypeDef sClockSourceConfig = {0}; TIM_SlaveConfigTypeDef sSlaveConfig = {0}; TIM_MasterConfigTypeDef sMasterConfig = {0}; TIM_OC_InitTypeDef sConfigOC = {0}; /* USER CODE BEGIN TIM2_Init 1 */ /* USER CODE END TIM2_Init 1 */ htim2.Instance = TIM2; htim2.Init.Prescaler = TIM2_PRESCALER; htim2.Init.CounterMode = TIM_COUNTERMODE_UP; htim2.Init.Period = TIM2_PERIOD; htim2.Init.ClockDivision = TIM_CLOCKDIVISION_DIV1; htim2.Init.AutoReloadPreload = TIM_AUTORELOAD_PRELOAD_ENABLE; if (HAL
Hello everyone, Some time ago I asked on this website information about jitter on a PWM : Solved: PWM jitter - STMicroelectronics CommunityThe problem was that when generating a PWM, it wasn't very stable. At the time changing the source clock to the external clock of the nucleoboard worked and stabilized everything.Since then, I created my own board using an STM32G474QE (128 pins) with an 8MHz (+/-50ppm) external oscillator.I tried to generate the PWM and I am encountering the same exact problem again, the jitter is back. This time, I directly setup the clock as the external one. I checked it up and it feels to me that the problem could be coming from the stability of my oscillator (I have frequency variation on it's output ranging from 7,999,950 to 8,000,050Hz). Now my question is, could this really be the problem and could a lower ppm oscillator work ?I tried looking up information on my own especially using AN2867 but I only get information about crystal os
We have integrated LSM6DSV16X (IMU) and ISM303DAC (magnetometer) on Android 10 running on the NXP i.MX8MM EVK.The magnetometer and accelerometer, gryoscope drivers are working correctly, and raw values are verified using sysfs and logcat.However, the compass heading is always 0°, and the GEOMAGNETIC_ROTATION_VECTOR output from the STM fusion HAL remains constant, even though the raw sensor data is correct.Observed Behavior:Raw ACC, GYRO, MAG readings are valid and updating.Android framework registers all sensors correctly.But heading never changes in any compass or mapping application.Rotation Vector, Geomagnetic Rotation Vector, and Orientation sensors always report zero output (all axes = 0).Issue in Fusion HAL:The STM software fusion implementation (SWAccelMagnGyroFusion9X + STMSensorsFusion) contains only placeholder stubs for the main functions int STMSensorsFusion::getQuaternion(...)int STMSensorsFusion::getEulerAngles(...)int STMSensorsFusion::getGravity
Hello, i created a custom external loader for a STM32F429 board.The problem is now, my code needs HAL_Delay() for generating short delays between flash device accesses. And the code freezes when executing HAL_Delay(). So i have read that interrupts are no longer allowed at newer versions of CubeMXProgrammer.But HAL_Delay() seems to need a working SysTick interrupt.I used this tutorial for my custom EL:https://community.st.com/t5/stm32-mcus/how-to-add-your-spi-flash-into-the-stm32cubeprogrammer-s/ta-p/49392 IsSCB->VTOR = 0x20000000 | 0x200;the right value for my F429? Further i tried uncommenting#define USER_VECT_TAB_ADDRESSand#define VECT_TAB_SRAM But still no success. Does someone know what else has to be fixed? Thank you.
I'm using STM32G474 with dual ADC injected simultaneous mode. İndividual ADC injected mode works ok. ADC1 is triggered by TIM1 Channel 4 and the interrupt is firing correctly, but ADC2 always returns zero. Questions: Why does ADC2->JDR1 always return 0 in dual injected simultaneous mode? Is it correct that HAL_ADCEx_InjectedStart_IT(&hadc2) returns HAL_ERROR in dual mode? You can see my ADC1 and ADC2 configuration. void HAL_ADCEx_InjectedConvCpltCallback(ADC_HandleTypeDef* hadc) { if (hadc->Instance == ADC1) { HAL_GPIO_WritePin(GPIOA, GPIO_PIN_4, GPIO_PIN_SET); HAL_GPIO_WritePin(GPIOA, GPIO_PIN_4, GPIO_PIN_RESET); adc1 = ADC1->JDR1; adc2 = ADC2->JDR1; } } static void MX_ADC1_Init(void) { /* USER CODE BEGIN ADC1_Init 0 */ /* USER CODE END ADC1_Init 0 */ ADC_MultiModeTypeDef multimode = {0}; ADC_InjectionConfTypeDef sConfigInjected = {0}; ADC_ChannelConfTypeDef sConfig = {0}; /* USER CODE BEGIN ADC1_Init 1 */ /* USER CODE END ADC1_I
I have developed a c application, I have some html pages that are ran through nginx . For now they are exposed , any one gets the board access can see these files and copy the files. My question is How can I secure my files.
I’m working on an STM32F746-based project. I know how to port ThreadX to this board, and I want to use the ThreadX source available on GitHub. My question is about integrating ThreadX with TouchGFX. Specifically, I want to understand: What steps are needed to make TouchGFX run on top of ThreadX? Do I need to modify the TouchGFX-generated code or middleware when using ThreadX from GitHub? How should I create and manage the TouchGFX task inside ThreadX? What is the recommended project structure for combining STM32F7 + ThreadX (GitHub version) + TouchGFX? Are there any example projects or references for this integration? Any documentation, sample projects, or practical guidance would be very helpful.
I assume that in the truth table in page 14 of DS14758 Rev 2:The low & high values in the final column should all be shifted down by one. i.e.nRSTIN+IN-GOUTLXXLOWHLLLOWHHLHIGHHLHLOWHHHLOW
Hello,I am using the Nucleo STM32WB55 board and noticed that when I press the user button, the interrupt service routine (ISR) is triggered only after about 3.5–4 seconds. This delay occurs even before reaching the callback function — the ISR itself is reached late.I have not initialized or configured any BLE stack functionality; this is just a basic GPIO interrupt setup. I have also used other Nucleo boards and never experienced this kind of delay.Has anyone else encountered this issue or found a solution?Thanks,Shreyas
Hello,I would like to know if there is a planned release date for STM32H7 support with MbedTLS v3.Thank you.
Hello, I am a beginner with STM32 and LTDC and I would like some guidance. I have a STM32F429I-DISC1 board and an external 7" TFT LCD panel, model TD070WGCB2 (854 x 480, 24-bit RGB, HSYNC/VSYNC/DE/NCLK).According to the panel datasheet, it uses a parallel RGB interface with: R0–R5, G0–G5, B0–B5 HS (HSYNC), VS (VSYNC) DE (Data Enable) NCLK (pixel clock) VDD = 3.3 V The backlight is CCFL and I am planning to drive the backlight from the original board / inverter, not from the STM32.With the STM32F429, I only want to generate the video signals (RGB, HSYNC, VSYNC, DE, CLK) and show graphics created with TouchGFX. My questions: Is the STM32F429I-DISC1 LTDC peripheral suitable to directly drive this panel (RGB 24-bit, 854x480)? Do you have any recommended LTDC timing settings (pixel clock, HSYNC/VSYNC, back/front porch) for this panel? The datasheet suggests a pixel clock around ~33 MHz and provides timing values, but I’m not sure how to correctly map them into CubeMX LTDC fi
Hi,I designed a PCB with 4 STSPINs where individual STSPIN is based on the EVSPIN32G4 board schematics, i am generating code using the ST motorcontrol workbench.I am able to run and control all 4 motors except for that fact that the STSPIN's get very hot(around 65-70 degrees) as soon as i turn on the power, this is regardless a motor being connected, and i noticed the same behaviour even after doing a full chip erase.i am powering the board using a 24V supply, and 8V and 3.3V is being generated buy the internal buck and LDO respectively, i am not using the supply generated by the STSPIN anywhere other than the sensing and feedback circuitry required. i am attaching below the photos i took using a thermal camera of my custom PCB.
Periodically, the Add buttons in the configurator stop working and it is impossible to change values in tasks, queues, etc. The system does not respond to mouse clicks (the editor window does not appear). However, the Delete button works. Restarting the IDE helps. It works in other configurators (GPIO, NVIC, Definition Creation).STM32CubeIDE Version: 1.19.0Build: 25607_20250703_0907 (UTC)STM32CubeU0 Firmware Package V1.3.0 / 04-June-2025X-CUBE-FREERTOS: FreeRTOS STM32Cube expansion package for STM32H5/U5/WBA/C0/U0/N6/U3 seriesWindows 11
Hello, My STWINKT1B (STEVAL-STWINKT1B) had been working fine, but suddenly it is no longer detected by PySDK.Now the red LED blinks rapidly (≈4 Hz) and no USB/COM device appears in Windows Device Manager.To recover it, I performed a full flash using STM32CubeProgrammer + ST-LINK (SWD), with the official firmware:C:\Users\User\Downloads\fp-sns-datalog2\STM32CubeFunctionPack_DATALOG2_V3.1.0\ Projects\STM32U585AI-STWIN.box\Applications\DATALOG2\Binary\datalog2_release.binFull erase → Program + Verify = OK, but after reset the symptom remains: fast red LED blinking and still no USB device.During the firmware update, both the ST-LINK and the board were connected to my laptop.I also powered the board via micro-USB for more than 2 hours, but the red LED keeps blinking at the same rate (no green LED).I tried different cables/ports/PCs, battery OFF/ON, and a FAT32/MBR microSD (also tried empty card), but the issue persists.Could you clarify:What does the fast-blinking red LED (~4 Hz)
I planning to use STM32H573 (LQFP) for Ethernet based on RMII. Is this controller support to all RMII signals. Please suggest the clock frequency shall give from external or internal, which one is the best.
Hello, I'm using TouchGFX on an STM32L452RET6 with an SPI screen. The screen has integrated GRAM, so I selected the partial buffer option in STM32CubeMX. STM32CubeMX generated the partial buffer code as expected, but it also generated code for a full frame buffer, which exceeds the MCU's RAM. I need to comment out this code to reduce RAM usage. How can I prevent STM32CubeMX from generating the full frame buffer code?STM32CubeMX version: 6.15.0X-Cube -TouchGFX package and TouchGFX Designer version: 4.25.0STM32L4 Cube package version: 1.81.1
During a debugging session, when `tx_thread_create` is called with a "big" stack size (1024*10 for example) and the "serverRtos" is enabled, the debugger is disconnected with an error: "Remote communication error. Target disconnected: No error." Here the debug console logs (full log attached): Spoiler (Highlight to read)To client: {"seq":0,"type":"event","event":"output","body":{"category":"proxy","output":"RTOS proxy: Lost connection to GDB Server\r\n"}}RTOS proxy: Lost connection to GDB ServerTo client: {"seq":0,"type":"event","event":"output","body":{"category":"stdout","output":"{\"label\":\"\",\"value\":[{\"label\":\"Driver\",\"value\":\"ThreadX\"},{\"label\":\"Kernel state\",\"value\":\"Not started\"}]}\n"}}{"label":"","value":[{"label":"Driver","value":"ThreadX"},{"label":"Kernel state","value":"Not started"}]}GDB result: 36 doneTo client: {"seq":0,"type":"response","request_seq":25,"command":"cdt-gdb-tests/executeCommand","success":true,"body":{"status":"Ok","result":
Hi Everyone, I´m trying to find the BSDL File for SPC56EC74B3C9EEX. Someone can share me the file.? Sincerely, Ruben Gonzalez
I am currently working with an STM32WB05N as a co processor to a STM32U5, but I think the basic flow should be the same for all WB products. But I didn't find an AN or example for it.My device is acting as a central and connecting to a (WB55 based) peripheral which uses aci_l2cap_connection_parameter_update_req. My central receives this though aci_l2cap_connection_update_req_event. So far so good.But now I want to accept the proposal with aci_l2cap_connection_parameter_update_resp using the same parameters received through the request and Min_CE_Length as well as Max_CE_Length using the same values I used for the original connection opening (and 0x01 for accept). But I get a 0x12 BLE_ERROR_INVALID_HCI_CMD_PARAMS.What am I doing wrong? (and is there example code for connection update somewhere?)uint8_t s_Identifier; uint16_t s_Connection_Interval_Min; uint16_t s_Connection_Interval_Max; uint16_t s_Max_Latency; uint16_t s_Timeout_Multiplier;
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.