Discuss STM32 and TouchGFX implementations, including configuration, debugging, and optimization.
Most recent activity
The same issue has been reported years ago https://community.st.com/t5/stm32-mcus-touchgfx-and-gui/method-allowverticaldrag-in-scroll-list-container-does-not-seem/m-p/169035#M10136If you create a mySelectorScroll and in the code mySelectorScroll.allowVerticalDrag(false); the scroll list will continue to be scrollable no matter whatAlso, accoridng to docs (https://support.touchgfx.com/docs/api/classes/classtouchgfx_1_1_scroll_base#function-allowverticaldrag) it should be OFF by default enableIf true, vertical scrolling is enabled. If false (default), scrolling is disabled.
Has anyone in this community tried integrating LVGL code generated by NXP GUI guider with STM32 boards. Currently I am trying to integrate nxp gui guider generated code with STM32 for faster UI development. I have integrated LVGL library and I am able to run LVGL example widgets and animations. But when I integrated nxp gui guider generated code and tried running it, I am not getting output. Display flashes for less than a second and screen becomes blank. Please help me with this.Thank you.
MCU is STM32H7R/S.Some paths is incorrect in make script .Failed Log:Generate CodeGenerateDoneGenerate Assetsmake -f simulator/gcc/Makefile assets -j8Reading ./application.configReading ./target.config../Middlewares/ST/touchgfx/framework/tools/videoconvert/videoconvert.rb:43:in `read': No such file or directory @ rb_sysopen - ../MDK-ARM/AICAMERA_V3_ONLYAPP.uvprojx (Errno::ENOENT)from ../Middlewares/ST/touchgfx/framework/tools/videoconvert/videoconvert.rb:43:in `check_compiler'from ../Middlewares/ST/touchgfx/framework/tools/videoconvert/videoconvert.rb:251:in `block in <class:Main>'from ../Middlewares/ST/touchgfx/framework/tools/videoconvert/videoconvert.rb:101:in `chdir'from ../Middlewares/ST/touchgfx/framework/tools/videoconvert/videoconvert.rb:101:in `<class:Main>'from ../Middlewares/ST/touchgfx/framework/tools/videoconvert/videoconvert.rb:19:in `<main>'generated/simulator/gcc/Makefile:229: recipe for target 'videos' failedmake[1]: *** [videos] Error 1simulator
I use stm32cube MX create a project to drive customed board and RGB screen , this step is successful to drive the screen ; but add the touchGFX , stm32cubeIDE have some error as follows after compiling with touchGFX D:/Project/SC550/sample/SC550_LCM/Debug/../Core/Src/freertos.c:116:(.text.MX_FREERTOS_Init+0x38): undefined reference to `TouchGFX_Task'undefined reference to `TouchGFX_Task'D:/ST/STM32CubeIDE_1.18.0/STM32CubeIDE/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.13.3.rel1.win32_1.0.0.202411081344/tools/bin/../lib/gcc/arm-none-eabi/13.3.1/../../../../arm-none-eabi/bin/ld.exe: ./Core/Src/main.o: in function `main':D:/Project/SC550/sample/SC550_LCM/Debug/../Core/Src/main.c:105:(.text.main+0x2a): undefined reference to `MX_TouchGFX_Init'undefined reference to `MX_TouchGFX_Init'D:/ST/STM32CubeIDE_1.18.0/STM32CubeIDE/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.13.3.rel1.win32_1.0.0.202411081344/tools/bin/../lib/gcc/ar
Hello. I am very very new to the world of STM32 microcontrollers and products. I've recently purchased the Nucleo-H563ZI board with RVA35HI Rev 1.1 display. I am starting slow, so to begin I tried utilizing the demo project in TouchGFX called "TouchGFX Demo 1 Alternate". After some troubleshooting, I've successfully flashed the demo project to my development board. The screen lights up white upon upload and I don't see the start up screen. Messing with it I discovered the project is uploaded, and still responding to touch because there is one screen that shows graphs, which for some reasons shows up. I've left the board in its default configuration as far as jumpers are concerned. I believe I have all required software downloaded. I've followed the instructions of some guides online and don't understand what I'm doing wrong.Thank you.See attached: Pictures of board lighting up, showing graph, and the simulator screen with the graphs.
Hello,I am using TouchGFX with freeRTOS on an STM32G0 board.I call the touchgfxSignalVSync through a Timer Interrupt and quickly after I get an HardFault in the blitCopyARGB8888 function. As this is a library I cannot debug further. I am trying to go around the issue by increasing the stack size (24*3072 = 73728 bytes) but this does not fix the issue. Commenting the draw function in the touchgfxDisplayDriverTransmitBlock function does not help either.Doing a step by step debug, I see that the load looks to be the issue where the address 0x2000cXXX is loaded. Let me know if you need any more information.Thanks! if (htim->Instance == TIM4) {touchgfxSignalVSync();}
Hi All, This is shiva am uable to communicate with external flash using QSPI on stm32h750 controller.could you please help me to clear the issue.Thankyouregards shiva chary kannoju
Hi,I'm currently working with the Dynamic Graph widget in TouchGFX, and I want to display X-axis labels in the format hh:mm:ss to show timestamps (e.g., 00:01:10, 00:01:20, etc.).Right now, the X-axis labels are just integers, in the range which correspond to the maximum X-range I’ve set in the widget.Is there any example or recommended method to customize the axis labels on the Dynamic Graph to show such formatted timestamps instead of plain integers?Any suggestions or code references would be appreciated.Thanks in advance!
hello everyone:I have a problem trying to draw lines.In touchgfx,in most cases,things are done by bitmaps,but draw lines, it is awfull to use. In designer,if I want to draw a line ,I need to first add a line statement,then set line parameter, then add this line to screen.But in many applications,I have to draw dozens of line segments,even more.So,how can I manage to draw dozens of lines into screen or a dynamic bitmap?I have read about the cavas widget,but I can't find any demo on this subject, I really hope to get some help.
Hello everyone,I am trying to use the Vector Renderer to draw lines because it utilizes GPU2D, which offers faster rendering compared to the Canvas. Below is the code I am using for this purpose: void TestWidget::draw(const touchgfx::Rect& invalidatedArea) const { if (numPoints < 2) { return; // Nothing to draw } VectorRenderer* vectorRenderer = VectorRenderer::getInstance(); // Configure the vector renderer Rect absoluteRect = getAbsoluteRect(); vectorRenderer->setup(absoluteRect, invalidatedArea); vectorRenderer->setMode(VectorRenderer::STROKE); vectorRenderer->setStrokeWidth(lineWidth); vectorRenderer->setColor(lineColor); touchgfx::Matrix3x3 transformationMatrix; transformationMatrix.scale(scale); transformationMatrix.translate(deltaX, deltaY); // Apply the transformation matrix vectorRenderer->setTransformationMatrix(transformationMatrix); // Prepare command and coordinate arrays uint8_t cmds[MAX_POINTS] = {0}; float coords[M
Hi,I have a funny issue. I just wanted to add a Share button to my Main Screen in an STM32TouchGFX of a working Weather Station app but when I built and run the app in STMCubeIDE all the widgets which uses background images showed surprising garbage images.Then I changed the Section and Extra Section to IntFlashSection in Default Image Configuration group of Config menu of STM TouchGFX:Then I rebuilt and run the app and everything worked just fine:Who understands this?I Checked the HSPI configuration in STM32CubeMX but I could not find any wrong settings for octo-SPI, so the external flash memory which stores the images (by default) seems to be okay.In addition any ST Demo which based of TGFX works with external flash settings.What could go wrong?Thanks,Louis
I am working with a custom board I designed using this display(LINK) They provide init codes on the product page that I have integrated into my project but they do not provide any any porch, timing or polarity information. I first setup LTDC and the DSI host and was able to display a solid color on the display by generating a frame buffer in code and setting each pixel. I then moved on to integrating touchGFX and was also able to get that working fairly easily but the display is mirrored on the x-axis as shown here:The display is using a ST7701s controller, I found the MADCTL register in the datasheet that I believe should be able to mirror the display but I am not getting the expected output. Here is how I am writing to this register HAL_DSI_ShortWrite(&hdsi, 0, DSI_DCS_SHORT_PKT_WRITE_P1, 0x36, 0x10); And this is the output after doing so I have verified the ability to write to this register by setting the "BGR" bit to a 1 and the display
I use stm32 touch gfx tool ``TouchGFX 4.25.0 Designer`` generate a simple demo based on STM32H7B3I_EVAL board.but when I build this project on MDK542a, I get failed as below```STM32H7B3I_EVAL\STM32H7B3I_EVAL.axf: Error: L6406E: No space in execution regions with .ANY selector matching touchgfxgeneratedhal.o(.bss.TouchGFX_Framebuffer).STM32H7B3I_EVAL\STM32H7B3I_EVAL.axf: Error: L6406E: No space in execution regions with .ANY selector matching heap_4.o(.bss.ucHeap).STM32H7B3I_EVAL\STM32H7B3I_EVAL.axf: Error: L6406E: No space in execution regions with .ANY selector matching hardwaremjpegdecoder.o(TouchGFX_MCU_Data_OutBuffer0).STM32H7B3I_EVAL\STM32H7B3I_EVAL.axf: Error: L6406E: No space in execution regions with .ANY selector matching hardwaremjpegdecoder.o(TouchGFX_MCU_Data_OutBuffer1).STM32H7B3I_EVAL\STM32H7B3I_EVAL.axf: Error: L6406E: No space in execution regions with .ANY selector matching touchgfxconfiguration.o(.bss._ZZN12FrontendHeap11getInstanceEvE8instance).STM32H7B3I_
I'm using the STM32H747I-DISCO board. When I enable any timer (e.g., TIM3, TIM4) on either CM4 or CM7, the LCD display goes blank or stops updating. The display works fine until the timer is initialized.I'm using TouchGFX on CM7.Display is initialized correctly at startup.The issue appears right after initializing the timer via HAL.Could this be due to a conflict with LTDC clocks, TouchGFX timing, or backlight control (PWM)? How can I safely use a timer without affecting the display?Any insights or configuration tips would be appreciated.
Hi all.I'm using STM32H747I-DISCO bord, and I am working on displaying string on LCD by using touchGFX.By the way I want to display string by calling function which exists outside of touchGFX.For example, the function is exists in GPIO interrupt handler or main function. When the function is called, touchGFX action react and display string. The action is configured to display string in response to the function call in advence.In TouchGFX Tutorials, trigger example for LCD touch operation(click button,etc) is provided, but trigger example that is not related to touchGFX is not provided.Please tell me how to display string by calling function outside the touchGFX.Thank you in advance.
I'm wanting to connect a STM32F756 Nucleo board to a ST7796S-controlled 4" 320x480 TFT screen. Is there a good driver available for that? I can mostly find ones for ili9341.
In my upcoming system I will be needing to use dynamic bitmaps.Can dynamic bitmaps be located on the same RAM device (say SDRAM on STM32F469 discovery board) that is being used as the frame buffer?I can carve out a piece of the SDRAM for the dynamic bitmaps, but is the DMA2D going to complain?Thanks,Andrei
Anyone know exactly where I can find the source code for the demo project that is pre-loaded onto the STM32U5G9J-DK1 board? I've already got the STM32Cube_FW_U5_V1.8.0 and it has 2 DSI projects for the DK1 board (DSI_ULPM_DataClock and DSI_VideoMode_SingleBuffer) but neither appears to be the same as the demo.
We are using STM32H5 for a project with TouchGFX for its LCD UI design. We are using one font for English. This font does not support Chinese. How can I use multiple fonts, one font is for English and the other one is for Chinese in TouchGFX.
I'm reading through the documentation for dynamic bitmaps to figure out what file formats I should use to bring images off of an SD card for display.I see in:https://support.touchgfx.com/docs/development/ui-development/scenarios/loading-images-at-runtimethe code reads in a .jpg and uses the attached BMPFileLoader code to put it on the display.Really? Does that work? Should that be a .bmp file?Static bitmaps use .png format, is there a dynamic bitmap loader for .png?I thought I'd ask before I spend a bunch of time debugging.Thanks,Andrei
Hello,I am using the STM32H743IITG microcontroller with a 7-inch RGB888 interface display. I have integrated TouchGFX using STM32CubeIDE.The problem is that I am seeing flickering in the middle of the display. This flickering occurs when I add a box widget in TouchGFX.Has anyone faced a similar issue or can suggest how to resolve it?Thanks in advance!
i use STM32H750ZBT6 to make a LCD driver board and the stm32cubeIDE have some error as follows after compiling, even if i revise the include file or .h file , the error still exists on. how to solve this ? please help ...... D:/ST/STM32CubeIDE_1.18.0/STM32CubeIDE/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.13.3.rel1.win32_1.0.0.202411081344/tools/bin/../lib/gcc/arm-none-eabi/13.3.1/../../../../arm-none-eabi/bin/ld.exe: ./Core/Src/freertos.o: in function `MX_FREERTOS_Init':D:/Project/SC550/sample/SC550_LCM/Debug/../Core/Src/freertos.c:116:(.text.MX_FREERTOS_Init+0x38): undefined reference to `TouchGFX_Task'D:/ST/STM32CubeIDE_1.18.0/STM32CubeIDE/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.13.3.rel1.win32_1.0.0.202411081344/tools/bin/../lib/gcc/arm-none-eabi/13.3.1/../../../../arm-none-eabi/bin/ld.exe: ./Core/Src/main.o: in function `main':D:/Project/SC550/sample/SC550_LCM/Debug/../Core/Src/main.c:105:(.text.main+0x2a): undefi
Hello everyone, I'm currently working with an stm32f746 chip, using TouchGFX and SPI slave. I am exchanging data via SPI every 10ms. The communication generally works well, but it sometimes gets shifted or delayed whenever a screen-related action happens in TouchGFX. It wouldn't be a problem if the communication returned to its normal state, but the issue is that it continues to operate in this shifted state permanently. For example: Normal communication : AA BB CC DD EE FF GG Shfited communication : CC DD EE FF GG AA BB On my receiving end, this is manageable because I buffer the incoming data and reassemble the packet by comparing STX and ETX values. However, I'm not sure how to fix this on the transmission (sending) side. If you have experienced a similar problem or know a solution, your help would be greatly appreciated. Have a great day!
Hello everyone,I’m working on a custom board built around the STM32F769BIT6. I’ve configured the SDRAM timings according to the datasheet and set the LTDC to RGB888. The same TouchGFX project runs flawlessly on the STM32F769I-Discovery board, but on my custom hardware the display begins to flicker whenever I scroll through a list.Has anyone run into this before, or can you suggest where I should focus my debugging? Below are my SDRAM and LTDC settings. Any guidance would be greatly appreciated!static void BSP_SDRAM_Initialization_Sequence(SDRAM_HandleTypeDef *hsdram, FMC_SDRAM_CommandTypeDef *Command) { __IO uint32_t tmpmrd =0; /* Step 3: Configure a clock configuration enable command */ Command->CommandMode = FMC_SDRAM_CMD_CLK_ENABLE; Command->CommandTarget = FMC_SDRAM_CMD_TARGET_BANK1; Command->AutoRefreshNumber = 1; Command->ModeRegisterDefinition = 0; /* Send the command */ HAL_SDRAM_SendCommand(hsdram, Command, SDRAM_TIMEOUT); /* Step 4: Insert 100 us minimu
When creating a new project based on STM32U5G9J-DK2, TouchGFX designer defaults the project name to My_Application#, but when the project is generated it' still based on the TBS default package name of STM32U5G9J-DK2.This seems to cause issues when opening the .ioc project in STM32CubeIDE, because the .ioc is still named STM32U5G9J-DK2.ioc and not the same as the application name: There are further issues with the linker file not matching, and a sub project being created with the name STM32U5G9J-DK2 and then main.c and other files in the sub project being used for build.This seems to mean that if you have an actual project named STM32U5G9J-DK2 (e.g. the demo) and then created a second project named MyApplication_4 when you try to compile MyApplication_4, files from STM32U5G9J-DK2 project will be used.Not sure if this issue exists on other boards, or if I'm doing something wrong.
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.