Discuss STM32 and TouchGFX implementations, including configuration, debugging, and optimization.
Most recent activity
Hello,I’m working on a project with the STM32H745I-DISCO board and need to utilize the Ethernet interface on the M4 core.I’ve created a graphical application using TouchGFX that runs on the M7 core, and a user application that runs on the M4 core, using STM32CubeIDE. The generated code indicates a dependency on QUADSPI libraries for the TouchGFX framework. However, according to the User Manual UM2488, to enable Ethernet, SB3 and SB4 must be connected, and resistors R38 and R40 need to be removed. This configuration would disconnect the QUADSPI, creating a conflict with the requirements for TouchGFX.Given these constraints, what is the best way to configure Ethernet on the STM32H745I-DISCO board without disrupting the necessary connections for TouchGFX?Kind regards,Frosty
I would like to turn off the backlight if the LCD module of STM32H747I_DISCO board. I figured out that the PJ12 (LCD_BL_CTRL, PORT = J PIN = 12) probably controls the backlight of the LCD module (from schematics). The "PJ12" is initialized in "main.MX_GPIO_Init()" and it is set to output to level low (GPIO_PIN_RESET) during POR. I tried to set PJ12 to high and low with the follow HAL call: void Screen1View::handleTickEvent() { if (++tickCount >= ScreenUpdateCount) { tickCount = 0; updateScreen(); if (++lcdBackLightCount >= TurnOffLcdBacklightCount) { lcdBackLightCount = 0; // Turn off LCD HAL_GPIO_WritePin(GPIOJ, LCD_BL_Pin, GPIO_PIN_SET); // HAL_GPIO_WritePin(GPIOJ, LCD_BL_Pin, GPIO_PIN_RESET); } } } but it did nothing. Backlight of the LCD stays always on. The test app is based on TouchGFX. Any idea? Thanks, Louis
Hi all,currently I am Working with STM32H743BIT6 & TouchGFX I am facing issue with screen flickering,I am using OpenH7XXI-C board with 7inch capacitive LCD(F) display (Working Fine No issue )But With 10.1inch capacitive LCD(D) display (NOT Working)If i display any img i am getting flickering screen.but If i display without any img, only backround boxs with different colours,No flickering is there.Tried changing LTDC as per datasheet But No use. Any guidance on this topic is really appriciated :)
hello,I Have linked the Touch GFX folder from another project and the code got compiled while running and Debug I am getting this error.
Hello,I am working on an application that is somewhat large and each time I upload to my Disco Board it is taking three to four minutes because all of the TouchGFX images are being re-generated and uploaded. Is there a way to only upload the code from XCUBE with the screens staying the same? This would greatly reduce my development time. Any help would be great. Thanks,Alex
Hello there! I am new to STM32, I have an STM32F746G_DISCO, I have a project where I have to control the frequencies and duty cycles of a machine, that's kind of besides the point, I have set up all the screens I need and I have to make it so that that every value I set (ie: frequencies and duty cycles) to be kept in the memory and not only the screen values should be the same, I also need to have the counters I use on the code (which I will use to determine the signals to control the values, I will make a more detailed post to ask how I will do this)Basically I need these values stay the same even after a screen change, can anyone help me with this?
how to use the 'button is clicked' to show or hide the image ? who can provide the sample program to be reference .
Hi all I am using stm32H747I-disco board .Can anyone please help with the example to control the brightness of the display Thank you.
The problem I'm facing is that the Touchgfx doesn't know anything about additional link paths that I've setting up through IDE. Steps:1. Create the project with touchgfx designer;2. In the root of the project create a folder, then add .h and .c files there. Let's say myfile.h and myfile.c. In myfile.h file you defines one function, in myfile.c just an empty implementation;3. Add path to included files in linker;4. Include myfile.h in main.c and use somewhere empty function;5. Build the project.The project will build without errors. But if you go to the designer and press button "Program and Run Target", it will cause an error: Core/Src/main.c:28:10: fatal error: myfile.h: No such file or directory #include "myfile.h".
I'm experiencing an issue with TouchGFX Designer 4.24.2 on Windows 11 when using multiple monitors. If I drag the window from the primary screen to the secondary one, parts of the interface disappear completely.I have attached screenshots showing the issue before and after moving the window.Could you please investigate this? Let me know if you need any additional details.Thank you.
Hi All, I have a set of 10 screens in my project and I want 9th screen to be displayed as startup screen after performing a particular job say xyz as startup screen. Lets say 9th screen shows the result of job xyz. and job xyz results in reboot. Is there a way to display 9th screen as startup screen only when job xyz is performed? As of now I have set screen 1 as startup screen and that takes priority than screen 9. Can changeToStartScreen() be changed dynamically? How do I prevent screen 1 coming up as startup screen after reboot of performing job xyz? Can changeToStartScreen() method be overwritten in model.cpp? Thanks & Regards, Please guide.
Hi,I am using a STM32U5G9J-DK2. What I want to do is take the image from a camera at 640 x 480 and resize it into a display of 800 x 600 using the GPU2D hardware. How can get this with TouchGFX ? Is posible to use the GPU2D hardware without touchGFX ?
Good morning,I'm trying to generate code for a project made for a 7-inch Riverdi display (RVT79HSSNWC00-B).When I run "Generate Code" on TuochGFX it gives me the following error:"Generate CodeGenerateWrote generated/simulator/src/mainBase.cppDoneGenerate Assetsmake -f simulator/gcc/Makefile assets -j8Reading ./application.configReading ./target.configDonePost Generatetouchgfx update_project --project-file=simulator/msvs/Application.vcxprojDonePost Generate Targettouchgfx update_projectC:/TouchGFX/4.24.1/env/MinGW/msys/1.0/Ruby30-x64/lib/ruby/gems/3.0.0/gems/touchgfx-cli-4.24.1/lib/touchgfx/generators/cubeide_project_updater.rb:191:in `clean_up_touchgfx_files': undefined method `children' for nil:NilClass (NoMethodError)from C:/TouchGFX/4.24.1/env/MinGW/msys/1.0/Ruby30-x64/lib/ruby/gems/3.0.0/gems/touchgfx-cli-4.24.1/lib/touchgfx/generators/cubeide_project_updater.rb:195:in `update_project_file'from C:/TouchGFX/4.24.1/env/MinGW/msys/1.0/Ruby30-x64/lib/ruby/gems/3.0.0/gems/touchgfx-cli-4
Hi I was wondering what the best method is to change screens programatically. I sawapplication().gotoXScreenNoTransition()and alsostatic_cast<FrontendApplication*>(Application::getInstance())->gotoXScreenNoTransition(); Is there any difference in efficiency for the program?
hi, every teacher! i need click the big green circle button, then the small circle button will trun green ,each click and small button turn more one , how to realize this function?
Hi Folks and Happy New Year!I've been trying to track down a problem I'm having with my project for several months now. Essentially I'm getting these red-ish lines through portions of my buttons, but only when (I presume) they are drawn or redrawn - namely when the screen first loads, when they are pressed, or when as in this example, they have text drawn over them that updates. In the case of the above picture, I've been able to get the lines to appear more consistently by layering some text over top of some of the buttons and then updating that text with each tick where it says "Tick Counter: xxxx". I managed to luck out and have it appear on the "Cancel" of the cancel button this time, though it probably only happens about 1 out of 10 times when the screen loads.These lines have been appearing pretty consistently throughout my development on the project, and they seem (though I'm still not completely sure) to be happening regardless of my application code. The reason I say this
Brand new to TouchGFX (and C++) but enjoying so far! I have togglebutton(s) on screen2 and I want the state to be set to off on powerup. (The defaul is on)I have a splash screen that only displays on power up for 3 seconds. Is it best to set the state of toggles on screen2? If so, how would I reference those widgets on the second screen?Is there a better way?I may leave screen2 and come back to it so I don't want to use screen2::setupScreen()Thanks!
Hi GuysI am a noobie and I am just starting out with TouchGFX. I have designed a 7 screen gui which cycles between screens (1-7 in that order which cylces indefinitely) and I have a text area which I want to populate with real-time data. This is only on screen 4 and 6 and I have defined the wildcards in the designer as follows:I have generated the code using TouchGFX 4.23.2 and then I open the IOC file in CubeMX where I add ADC initialization as well as two tasks and two semaphores. One to update screen4 and one to update screen6, I then generate the code in MX and then click on "Open Project" to import it into CubeIDE.I do not know where to take it from here. Essentially I want to read an ADC voltage (polling) in the two tasks I have created, then from there update screen4 and screen6 wildcards when the screen is loaded.Here is my main.c:I have tried to follow this video: https://www.youtube.com/watch?v=EbWOv_0Lp-U&t=241s, however when I adapt it to 7 screens and 2 semap
Hi EveryoneI am currently researching about the STM32H7S78-DK development kit and am exploring its graphics interface capabilities. I would like to know if STM or any other source provides reference code, example projects, or application notes demonstrating graphics implementation, such as GUI development, display interfacing, or Touch GFX integration on this kit or similar STM32H7-based development boards.Additionally, if there are any Cube MX examples, firmware packages, or third-party resources specifically tailored for graphics applications with the STM32H7 series, I would appreciate any guidance or links to those materials.Thank You
Hi everyone,I’m encountering an issue while working with TouchGFX 4.24.2 on the STM32N6570-DK, using STM32CubeIDE 1.17.Here’s the situation:I tested both my custom project and a demo project provided by TouchGFX.I followed the recommended steps:Generate Code in TouchGFX Designer.Run the application in the TouchGFX simulator, where it executes without any issues.Build and flash the project onto the board using STM32CubeIDE.However, after flashing, the board:Shows a black screen (no content displayed).The LD4 LED remains lit in red.I verified the following:The BOOT switches were in the correct positions during flashing and execution.I used the correct flash scripts for the FSBL and application.Despite these steps, the application refuses to run on the board. Even the demo projects, which should work out of the box, show the same behavior.Has anyone experienced this issue or found a solution? Could it be related to memory configuration, the FSBL, or perhaps some compatibility issue with t
Hello.I try develop TouchGFX+FreeRTOS based project for my custom board.I have a text area problem. I attached photo. Also project attached.It is not stable. It looks like always updating.Also when i touch the buttons other text areas looks same just for a moment then stay stable.What may cause to this problem?I try to solve it via typography, task priority, but no result.Microcontroller:STM32F750CubeIDE ver: 1.15.1TouchGFXDesigner: 4.24.0Thanks.
Hi, I'm doing a project using STM32F769I-Eval.In this kit, there is a LCD module called B-LCD40-DSI1 including dsi module(OTM8009A).First, I looked up the example LCD_DSI_CmdMode_SingleBuffer in STM32CUBE_F7. After,I connected LCD with DSI communication. I set DSI data lanes to two, and it works pefectly. But when I changed it to one, the display didn't work perfectly. It only worked in Low Power Mode, because this mode originally works with one lane. I think I should change lane setting in display module too.So, I wonder if I can change this setting to one.Is there any way to change lane setting in OTM8009A or B-LCD40-DSI1?Or is there any example using one data lane with OTM8009A or B-LCD40-DSI1?Thanks.
Hi Team,"I'm working on a TouchGFX project that was generated using the TouchGFX Designer. I need to add source files for USB functionality. I tried adding the .c and .h files to the Core/Src and Core/Inc directories, but I'm getting an error stating that the files cannot be found. How can I properly add .c and .h files to a TouchGFX project?Also, I am highlighting the place where I want my source file in a screenshot." I have a folder named TCOMP that contains .c and .h files. I also tried adding this folder to my project by updating Paths and Symbols under Properties > C/C++ General, but I'm still encountering the same error. How can I correctly include these files in my project?Thanking you in advance
Hi Gfx Team,Could you please implement drag&drop as an alternative to open a project.touchgfx ?Thank you
While I use the STM32H743VIH6 FMC to drive the ST7789V TFT-LCD via a 16-bit 8080 interface, it's quite strange that even though I only send a half-word, the result is that it sends fourcode isbut when I send like *(volatile uint64_t *)0x61000000 = 0xAAAABBBBCCCCDDDD;the signal looks just like thisI still can't find a way to control FMC to send one half-word....and this is how FMC config/** Perform the SRAM1 memory initialization sequence*/hsram1.Instance = FMC_NORSRAM_DEVICE;hsram1.Extended = FMC_NORSRAM_EXTENDED_DEVICE;/* hsram1.Init */hsram1.Init.NSBank = FMC_NORSRAM_BANK1;hsram1.Init.DataAddressMux = FMC_DATA_ADDRESS_MUX_DISABLE;hsram1.Init.MemoryType = FMC_MEMORY_TYPE_SRAM;hsram1.Init.MemoryDataWidth = FMC_NORSRAM_MEM_BUS_WIDTH_16;hsram1.Init.BurstAccessMode = FMC_BURST_ACCESS_MODE_DISABLE;hsram1.Init.WaitSignalPolarity = FMC_WAIT_SIGNAL_POLARITY_LOW;hsram1.Init.WaitSignalActive = FMC_WAIT_TIMING_BEFORE_WS;hsram1.Init.WriteOperation = FMC_WRITE_OPERATION_ENABLE;hsram1.Init.Wai
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.