Join conversations with your peers and ST experts. Explore the full potential of STM32 microcontrollers for your embedded design.
Most recent activity
I was looking for a way to create a high level abstracted layer that can be agnostic to the lower layer TCP/IP stack, like NetxDuo or LWIP, running under the higher abstracted layer.I have came across suggestion to implement a `plug-in` based implementation of the higher level abstracted layer. Kindly suggest me your opinions, what could be the best way to implement such high level abstracted layer that can be agnostic to the lower level TCP/IP stack running ? Also if there is an example of someone doing something similar? Thanks a lot.
Hello everyone,I am working on implementing display output using the STM32H747I-DISCO board. After designing the display in TouchGFX and generating the project code, I encounter a serious issue: when I modify the .ioc file (for example, enabling TIM or CAN), the onboard display that was working fine before suddenly shows heavy noise. To resolve this, I have carefully checked the clock configuration and excluded any pins that might affect the display during code generation, but unfortunately, I have not been able to solve the problem. If anyone has experienced a similar issue or knows a solution, I would greatly appreciate your advice.Thank you for taking the time to read this. For the chinese helpers…大家好,我正在使用 STM32H747I-DISCO 开发板实现显示输出功能。在 TouchGFX 中完成显示设计并生成工程代码后,出现了一个严重问题:当我修改 .ioc 文件(例如启用 TIM 或 CAN)时,原本正常工作的板载显示屏会出现严重的噪点。 为了解决这个问题,我已经仔细检查了时钟配置,并且在代码生成时避免使用可能影响显示的引脚,但最终仍然没有解决。 如果有朋友遇到过类似的问题,或者知道解决办法,非常希望能得到您的建议。感谢您抽时间阅读。
[PN]: STSPIN32G4 + Custom board[VERSION]: MCSDK 6.4.1[TOOL]: Firmware[DETAILS]:I set the Position control mode in workbench and run MC_ProgramSpeedRampMotor1() or MC_ProgramTorqueRampMotor1() in main loop. It always doesn't work. When I set the speed mode in workbench, it works always.[EXPECTED BEHAVIOR]:In position control mode, MC_ProgramSpeedRampMotor1(), MC_ProgramTorqueRampMotor1() should work.(run the motor at a specific speed or torque)[HOW TO REPRODUCE]:alwaysI can see serval posts related to this topic. Seems that it is not possible in the current version. If really not possible in the current version. do you have a plan to implementing the above function in the future? Thank you in advance.
Hi, When I clear the EXTSEL bits in the ADC1 CFGR1 register, my resolution bits also get cleared ?. My ADC randomly changes resolution. Below is screenshots of the code. Why does this happen ?, I can disable the ADC to write the RES bits to what they were. Don't really want to do that unless I have to.
Hi,We've successfully implemented the use of external RAM connected via the OCTOSPI1 interface on the B-U585I-IOT02A board, using the example code provided in the CubeMX packages for read/write operations. Everything works as expected under normal conditions.However, things get complicated when we introduce Stop2 mode. Upon exiting Stop2, the system enters the HardFault handler, suggesting a fault likely triggered during or immediately after wake-up.According to the datasheet, the OCTOSPI interface is frozen during low-power modes, and its register values are preserved. Based on this, I assumed that reconfiguring the clocks after exiting Stop2 would be sufficient—but apparently, it's not.Has anyone successfully implemented external RAM access with Stop2 mode? Are there additional steps or configurations required before entering or after exiting Stop2 ?Note : the issue happens only out of the debug mode (when the debug probe is not used) !Thanks in advance for any insights!
Dear Experts,Greets,I trying to program STM32F103RCT6 micro controller using NUCLEO-F103RB evaluation board , but I am unable to debug and flash the code , i tried all the possible ways but , it didn't worked .Can somebody help me to solve this . Best regards,Suresh
Hi I am evaluating STM32F303RE for a product and will be using https://www.st.com/en/evaluation-tools/nucleo-f303re.html for evaluation My technical requirements are FreeRTOS support is mandatory, as our applications use a communication stack supported on FreeRTOS only. MCUboot as the bootloader Secure boot support on MCUboot I have successfully enabled FreeRTOS support. Do you have any reference with MCUboot + FreeRTOS support? PS: MCUboot + zephyr works on the board, but not FreeRTOS. Thanks
I was looking around to see if it was possible to drive the backlight of the display directly in TouchGFX code without having to pass the information to the backend to toggle it.I'm currently turning off/on the backlight with case CMD_BL_SET_HIGH: HAL_GPIO_WritePin(LCD_BL_ENABLE_GPIO_Port, LCD_BL_ENABLE_Pin, GPIO_PIN_SET); break; case CMD_BL_SET_LOW: HAL_GPIO_WritePin(LCD_BL_ENABLE_GPIO_Port, LCD_BL_ENABLE_Pin, GPIO_PIN_RESET); break;What I would like to do is to:Turn off the backlight (go into "standby mode")If in "standby mode" (it will always be in a certain view when "standby mode" is ON, when a new touch on the display is detected, turns the backlight ONIt seems it could be achieved with TouchGFX Touch Controller, but I'm not sureMy current approach is to have a message with a queue to another task running that triggers the HAL_GPIO_WritePinAny idea?
Dear forum,I have a simple application using an STM32L4 and the analog COMP2 interrupt to blink a PWM LED. The device also uses USB virtual COM port capabilities for a simple terminal with a few commands. Everything works as expected.Now, I want the device to enter a low power consumption state after some idle time. The device must wake up through the same COMP2 interrupt I'm using to blink the LED. A full system reset is acceptable too.I'm successfully putting the device into stop mode, and it seems the wake-up interrupt is working as well. However, the problem is that after waking up, the device encounters a hard fault. I've tried everything, but the stack appears to be corrupted. Even NVIC_SystemReset() is not working.I'm pasting the important parts of my code here. Any help or ideas would be welcome. /* USER CODE BEGIN Header */ /** ****************************************************************************** * @file : main.c * @brief : Main program body *****************
hi:I have two NUCLEO-H563ZI EVB boards and tried to implement I3C controller and target feature.When ENTDAA was issued, I obtained the target 48-bit provisioned ID "0x020813810100" from waveform, I saw the description from I3C register I3C_EPIDR ,it said" Bits[31:16] of the provisioned ID can be 0" but I got the actual value is "0x1381",so where is this value stored?In addition, it seems that the target can issue a 48 bit provided ID without software operation , is this sending process entirely completed by MCU hardware?
Hi Everyone,I’m working with a custom 24-bit display on an STM32H757XIH6 MCU.I’ve configured the LTDC with pixel format ARGB8888.When I test with solid fill colors, everything displays perfectly.However, when I try to display an image using TouchGFX Designer, the output appears as repeated, tiled, and shifted blocks instead of the correct image.I’ve attached a photo of the display for reference.Has anyone faced this issue before, or could guide me on how to resolve it please ?Thank you in Advanceshifted blocks /* LTDC init function */ void MX_LTDC_Init(void) { /* USER CODE BEGIN LTDC_Init 0 */ HAL_GPIO_WritePin(LCD_BL_GPIO_Port, LCD_BL_Pin, GPIO_PIN_SET); /* USER CODE END LTDC_Init 0 */ LTDC_LayerCfgTypeDef pLayerCfg = {0}; /* USER CODE BEGIN LTDC_Init 1 */ /* USER CODE END LTDC_Init 1 */ hltdc.Instance = LTDC; hltdc.Init.HSPolarity = LTDC_HSPOLARITY_AL; hltdc.Init.VSPolarity = LTDC_VSPOLARITY_AL; hltdc.Init.DEPolarity = LTDC_DEPOLARITY_AL; hltdc.Init.PCPolari
Hi all,I’m debugging an SPP (RFCOMM) reconnection issue between an STM32F767ZI and a Microchip RN4678 module talking over UART (921600 bps, RTS/CTS).On first pairing/connection, data flows from STM32→Mac as expected. After disconnecting and reconnecting, the Mac can open /dev/cu.RN****, but no data arrives. Running sudo pkill bluetooth on macOS immediately makes data flow again on the next connection. I’d like to avoid any workaround that needs root privileges (e.g., blueutil, killing bluetoothd).EnvironmentmacOS: [version, e.g., 14.5 Sonoma / 13.x Ventura] on [Mac model / Apple Silicon or Intel]Python: [version]RN4678 firmware: [version if known]UART: 921600 bps, RTS/CTS enabledProfile: Bluetooth SPP (RFCOMM)What happensPair and connect → data flows normally via Python script (link below).Disconnect SPP.Reconnect SPP → serial port opens, but RX on Mac stays silent (no bytes).sudo pkill bluetooth on Mac → reconnect → data flows again.Links (code/config)RN4678 configuration (STM32CubeID
Hello,I have a STM32U575 and a 2.3" TFT with ILI9341, i use TouchGFX, thats works fine, after my GPDMA1 is correctly configured. (I Hope my GPMDA1 is correctly configured, and it's not a problem with the Transmitting DMA)Now i have 3 Screens, (Red, Green, Blue) but i have the problem, the colors on my display was wrong."Red = Magenta","Green=Green","Blue=Black"The TFT is a RGB565, the Driver uses RGB565, the TFT is in the 16-Bit mode, and my SPI on 8-Bit mode.How must i change, to show the correct colors on my display?I found a thread in this forum, but there is no solution, only a hint "swap the bytes it's a problem between 16 bit display and 8 bit SPI...."..my code i use is attached. Thanks daniel
I try to connect by usb cable via stm32cubeprogrammer to new board but windows not see any st-link interface. older st-link v2 work fine but this on boad interfave not work. Com's led light on green and red colour. led 5VLD12 on green display work - whats wrong ?
Hello, My name is G. Sai Deepak. In our railway project, we are using the STM32G4A1VET6 microcontroller. This is how we have designed and connected the microcontroller in the schematic. I kindly request you to review the schematic and let me know if any changes are required Thanking You,G.SAI DEEPAK
I want to upgrade the WB05N chip on my custom board.I downloaded X-CUBE-WB05N v2.0.0 and programmed the chip with BLE_TransparentMode_SPI_with_Updater.hex (I am using SPI on my board).I selected the Verify and Run after programming options. The download verified successfully, but when I call hci_reset() I get a timeout.Additionally, when I compare the BLE_TransparentMode_SPI_with_Updater.hex file with the image read back from the module, there are differences.With version 1.0.0 everything works fine (image comparison is identical).Do you have any ideas what might be wrong?
Hello, I am using my custom-developed STM32H7 PCB with an 800*480 TFT display connected via 24bpp RGB. Currently, I am only using external SDRAM (IS42S32800J) for the frame buffer, while my QSPI flash is inactive. For the configuration settings, I based them on the STM32H743I-EVAL board, which I also used as a template.In the attachment, I shared the color difference issue. Does anyone have suggestions regarding this? Because when viewed with the naked eye, there is a noticeable difference between the tones I designed in TouchGFX and the colors displayed on the screen. Could this be related to the ARGB888 format? Where might I be making a mistake? I have checked all the RGB pins in hardware, and they are all active and working. The comparative example in the image shows a color tone comparison made with the output taken from the STM32H735 DK.
Hello everyone,Newbie to the whole stm environment here but am trying to learn. I'm developing on the NUCLEO-WL55JC1.I've been trying to create a dual core communication design using IPCC. I started with loading the "IPCC_HalfDuplexMode_DualCore" example available in the STM32CubeWL firmware package -- which worked just fine. Moving forward, I created a new project using CubeMX from the IOC file in the example so I could develop further using that as a base. However, I keep getting this error:'IPCC_C2_RX_C2_TX_IRQn' undeclared (first use in this function); did you mean 'IPCC_C1_TX_IRQn'? stm32wlxx_hal_msp.c /DualCoreComm_LVL1_CM0PLUS/Core/Src line 92 C/C++ ProblemThe problem originates in the "stm32wlxx_hal_msp.c" file in the "HAL_IPCC_MspInit" and "...DeInit" functions at the "HAL_NVIC_SetPriority()" and "...DisableIRQ" function calls. Of course, the first thing I did was check if the IRQn type "IPCC_C2_RX_C2_TX_IRQn" was declared for CM0. As far as I can tell, it is in the
Hello,How do I determine the power rating for Vcc input to STIB1560DM2T-LZ.Regards,PiPPiP
Hi, @FBL I am also using this board and STM32Cube_FW_U5_V1.8.0 to create a USBX stand-alone (without THREADX) MSC device,but struggling to get the board to enumerate with the PC.I'm not sure if it's a configuration issue or a code modification problem. Below are my configurations and code modification points.Could you please help analyze them? Thank you very much! configurations: USB_OGT_HS: NVIC: RCC: SYS: USBX: clock tree: code: UINT MX_USBX_Device_Init(VOID){//default code...... /* USER CODE BEGIN MX_USBX_Device_Init1 */ USBX_APP_Device_Init(); /* USER CODE END MX_USBX_Device_Init1 */ return ret;} USBX_APP_Device_Init: MX_USB_OTG_HS_PCD_Init: HAL_PCD_MspInit: edit related thread: Solved: STM32U5A9J-DK1 USB Device question - STMicroelectronics Community
Hi all, i am going through deeper configuration of GPDMA on STM32U5 and there are some things i do not understand.S/DBL_1 in TR1 register is able to vrite destination/source burst length in range 0-63 but FIFO size is 8 bytes for channels 0-11 and 32bytes for channels 12-15. Why is burst length possible to set up up to 64? How is GPDMA able to buffer that into FIFO? Isnt it a mistake in RM0456?
Is there a way to set the FDCAN TX and RX FIFO sizes for STM32H7R7 in CubeIDE?I snooped around and found a list of macros that are responsible for determining the FDCAN RAM size in the stm32h7rsxx_hal_fdcan.c. Do I just modify these values to set the FIFO sizes? Here is my configuration parameters.
I am using the Advanced and General purpose timers on the STM32G474VE for PWM generation and Input capture.Is it possible, for example, to use TIM4 Ch1 to generate PWM output and TIM4 Ch2 to be used as Input Capture simultaneously?If these 2 features are used on different channels of the same timer are there any timing issues that could prevent me from using them simultaneously to drive, for example, a PWM controlled fan with a Tachometer that generates signals for the MCU?
I have a TouchGFX application where Flex Button text is sometimes being corrupted as are TextArea widgets (both with and without Wildcards). Images remain unaffected. The processor is a STM32U599, display type is RGB888 LTDC based and no external FLASH graphic storage is used.The corruption cannot be cleared with a processor hard reset, only power cycling clears it.From the attached image, the two 't' characters in the corrupted "Start" text are the same so it appears that a RAM based font bitmap cache is being corrupted. If so, any ideas where to find the name of this structure/buffer and is it managed exclusively by the TouchGFX library code?Thanks
Hi,I’ve seen several discussions about the use of series resistors between the STM32H753 and external SDRAM, and I’d like to get some clarification. I’m currently building a prototype of my custom board and noticed that on the STM32H753I-EVAL board, 33 Ω resistors are used on the SDRAM interface, while in other designs 0 Ω links are used instead.For a first prototype, would you recommend starting with 33 Ω resistors (as on the eval board), or starting with 0 Ω and only switching to 33 Ω if I encounter signal integrity issues?Thanks,Mohammed
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.