Discuss STM32 and TouchGFX implementations, including configuration, debugging, and optimization.
Most recent activity
I programmed DCMI interface, and I can see the VSYNC, HSYNC waveform on the pin of STM32L496, but no data are captured. I checked the register, found VSYNC_RIS is never be set to "1', looks like it does not detect signal change. I checked the registers setting, also found nothing wrong. what could be possible problem? attached is my register setting. Thanks for help.
Hello everyone, I am a beginner of STM32, how to correctly configure the initialization of STM32H743I EVAL2 touch screen in CUBEIDE, so that ToutchGFX can receive the touch signal.
Hello, I and using Touchgfx in my project. I want to implement below. 1) During run time , I want to to turn off complete screen. 2) During run time , I want to change complete screen. 3) I want to generate QR code dynamically and also want to clear it sometimes during run time. I got github link and added those files in my project. Still I am not sure how to call it. You have mentioned to call qrCode.setXY(0,0) , qrCode.setQRCode(&code), qrCode.setScale(4) , add(qrCode) methods but I am unable to find it.Can any one please help ?
The color setting of the TOUCHGFX control will retreat with one click, which is crazy. I want to manually input the color value. How do I enter it? ? ?
Hi everyone!On my custom board, STM32F746IGT6, TouchGFX is OK (The QSPI is used as Indirect mode for data storage from the second task). Finally, I need more space for the images and fonts. So, I changed the *.ld linker file by adding; QUADSPI (rx) : ORIGIN = 0x90000000, LENGTH = 16M So now, by using CubeProgrammer (via External Loader enabled) can display images again properly. But I can not read QSPI by indirectly which is intended to hold user settings and logging data. I have already try to search "Switching from read only memory mapped mode to Indirect mode.." topics etc.. but not get success.I try to use;//Indirect modeinDirectModeActiveFlag=1;//to notify other tasks that memory is indirect modeBSP_QSPI_Init();BSP_QSPI_Read(....BSP_QSPI_Write(... .. do something that I want//And go back to mapped modeBSP_QSPI_Init();BSP_QSPI_MemoryMappedMode();inDirectModeActiveFlag=0;So, I also put the line;if (inDirectModeActiveFlag==1) return;to the Model::tick() fun
Hi, my name is João.I'm graduated in Electronics Engineering from Federal University of Santa Catarina and have more than 10 years of experience in electronics, working with hardware design, multilayers PCBs, firmware (bare-metal C/C++ and FreeRTOS for ARM Cortex MCUs), PCB prototyping, assembly and production management. I've worked with industrial controllers development for a long time and have large experience on this kind of systems (both hardware and software). I also have some experience on TouchGFX interface development.During my professional career, I've worked on industry for several years and it helped me to always think on scalability and feasibility of the developed product. Quality and product budget fit are a premisse for me, I always do my best to reduce BOM and manufacture process costs, as it relays in better competitive priced products, but never sacrificing the product quality.At past year beginning, I started JCPro Design House, a company focused on supplying pr
or i have to use SSD1963 controller no matter what MCU i pick ?
Hi -- just wondering if anyone has tried importing a project generated by the Designer to the Cube IDE, and then had any success running it using the GDB debugger on either a 746 or 769 Discovery board? Everything seems to build fine in Designer and IDE, and the projects can run on the target board directly from Designer, but I can't get the IDE debugger to work after importing them. On the 746 Disco board, I get this message, right as the switch is being made from flash to debug mode:----Download verified successfully (Read)Failed determine breakpoint typeError! Failed to read target status Debugger connection lost.Shutting down...----On the 769 disco board, I don't even get that far. There is a popup saying "Error in final launch sequence. Failed to execute MI command"... Pictures of the screens are attached.Maybe I misunderstand what is supposed to happen between the Designer build phase and the IDE debugging phase? I thought IDE is supposed to import the GFX generated project, crea
Hey everyone!I'm not sure if this is the right forum to ask HW related questions but here goes:I've found a nice big 4-lane DSI display that I would like to hook up to an STM32F7xxx.My issue is that as far as I can see the STM32 parts only supports 2 lanes for DSI connections. the display requires a 4-lane interface.Is there a workaround for this or do I need to find a completely different part for this?are the two things in completely different leagues and will they never fit together?
I have the library installed, the application selected, and the selection under Additional Software X-CUBE-TOUCHGFX... selected and enabled. However, when I hit Generate Code, none of the TouchGFX folders are created, and the build fails with missing files all related to TouchGFX. How do I get CubeMX to generate these files?
Hello,I am trying to implement a basic screen timeout where the current screen is changed to the startup screen after a set time.The timeout itself is straightfoward to implement using a tickcounter. However, the problem I am facing is resetting this counter whenever the screen is touched. I could possibly add a reset function to every button I have in the current screen but I also need the counter to be reset when the user touches any part of the screen and not just the interactive ones.At first instance, I have utilized the handleClickEvent of the screen to basically detect any touch, which works in detecting all touches but unfortunately it also masks the button press events, so none of the buttons are interactive anymore.It is possible that I use the clicklistener on all the buttons and basically handle the presses through that but this makes the code a bit complicated and this what I am trying to avoid.I would like to know if there is a simpler way. So any input would be greatly a
Hi,Is there a way to compile the firmware using GCC in different computers or in a faster server available in local network?I am using STM32CubeIDE, GCC, TouchGFX and my compile time is increasing as the code sizes increases too. Now I take about 5 minutes to compile... I've found some applications to build a "farm of compilation", along different computers in local network, but it was for Linux, I'm Windows user.*I have already tick "Enable parallel build" in C/C++ Build.Regards,Anderson
I have transferred data from ADC-1/2/3 to M4, but i am unsure about how to transfer it to M7. There doesn't seem to be any reference anywhere. So if i want to do a DMA transfer from ADC-1/2 to M7, how should it be done ?
Hi,I am using STM32L4R9 to implement graphics using TouchGFX. And i am using 390x390 Amoled Display.I have a requirement to display time always on the display whenever the device not being used , but with very less power consumption.So do you guys any option in TouchGFX to display time always with low power consumption?Also, please let me know how can i send the own generated data buffer to the framebuffer and disable the TouchGFX acces to the framebuffer at that time.Also Could you please share any document that shows the Code flow using ToucGFX and RTOS.Thanks and Regards,Bala
Hi,Our embedded application heavily uses CPP exceptions. CPP exception support is enabled in IAR under Options -> cpp options -> Enable exceptions . I am trying to integrate the touchgfx library with our embedded application based on STM32H743I MCU. Based on touchgfx article my understanding is that touchgfx library is created with compiler option -fno-exceptions i.e.without exception support. IAR linker generates an error for thisError[Li009]: runtime model conflict: Module Application.o(touchgfx_core_release.a) specifies that '__CPP_Exceptions' must be 'Disabled', but module Ads1256.o has the value 'Used' .Is there a variant of touchgfx library created without compiler option -fno-exceptions. This will allow us to link the touchgfx lib with our embedded application and keep using the cpp exceptions. https://touchgfx.zendesk.com/hc/en-us/articles/206116381-Using-other-IDEs-with-TouchGFX
Hello,I want the user to be able to configure UI. There is configuration view (settings menu) which will add N number of containers to another view.Currently there is no customization, only fixed number of containers are allocated.parameterContainer parameterContainer1; parameterContainer parameterContainer2; parameterContainer parameterContainer3; parameterContainer parameterContainer4;I want that user can setup N number of these to the view (up to 10 containers). I will also have 4 types of parameterContainerA, parameterContainerB etc. to select from, so I cannot allocate 10 of all of these.How can I achieve such functionality?I know I could use malloc like this:addContainer(Type type) { malloc(container); }But can I do such feature by allocating statically?Thanks!
I have a FHD 1920x1080 touchscreen panel that has a 40pin eDP connector.Can any of the STM series connect directly to the eDP channels and drive directly?Whcih are available as evaluation or discoverzy kits with eDP
I see the on-line tutotrial-style documentation. I see the doxygen-generated details. Is there any documentation that describes how it actually works? What is the architecture? What calls what? What are the operations inside the binary library?The real challenge, for me, is making a GUI-centric design model work in an electro-mechanical control system. The GUI is then ancillary to the important operations of the system. The business logic needs to be outside the GUI code. The documentation I've found doesn't show how drive the GUI externally. The "interactions" are 99% outside of the GUI.
Hello,I have a strange problem and would kindly ask for some hints of more experienced users where to start checking the code...We have TouchGFX project on custom board. We currently have only two boards (so could be HW problem). On one board GUI runs without problems, on second same board, it shows white screen. What is interesting that more simple demo with TouchGFX works on second board, full blown GUI shows white screen, but works on first board...Is there maybe some logical reason for this behaviour, so I can start checking?What is you first thought?My idea is external flash, but why would simple demo with two buttons work - beecause buttons are not stored in external flash ?Thanks in advance,regards,
Hi,I am struggling Struggling with TouchGFX Generated Code Building on STM32Cube IDE.I am working on below setup:Software Tool Chain:STM32CubeMX 5.6.0TouchGFX 4.13.0 DesignerSTM32CubeIDE 1.3.0Hardware:STM32F746G-DISCO (Discovery Board)I have created GUI on TouchGFX 4.13.0. worked fine on simulator and Discovery Board as well.I am doing as below :Open TouchGFX:1. File->New2. Select Application Template STM32F746G Discovery Kit3. Select UI Template -> Blank UI4. Name the project TestHardware and Click Create5. Add a Red box that fills with rectangle and the entire canvas.6. Add a button that I can click7. Click Generate Code8. Click Run TargetThis does work, and I get the desired Red box and single button that I can click.When I am trying to Open In STM32CubeIDE 1.3.0 and Import as per below:C:\TouchGFXProjects\TestHardware\STM32CubeIDEBinary File Created in Too Large ..1) STM32F746G_DISCO.bin 2.12 GBSTM32F746G_DISC
Hi.Is it possible to re-use some of the screens of previously developed TouchGFX project ?I have tried the option of importing the GUI but it overwrites my current project.Please share your thoughts or suggestions.Regards,Shree
Hi everybody,ST has an example for OV9655 from STM32Cube_FW_H7_V1.5.0We use the configuration for VGA mode, without any change. Most of the time image good and clear. Just sometime, when reset the board, a noise picture appears as below. Once noise picture issue occurs, it will stay there all the time, until initialize the camera again (or reset the board that will reset everything)And same for good image, once it is good, it will be always good. Does any one know about this issue, please?Thanks a lot for the help!
I found out today that my project was not properly configured. So i did run out of flash memory.By comparing with a Designer project I found out how to change the FLASH.ld file to use QuadSPI and some other things that were different in the Designer project regarding QuadSPI.But my program crashes again and again in the function void touchgfx::Texts::setLanguage(touchgfx::LanguageId id).Is there something like a tutorial on how to configure TouchGFX + QuadSPI in CubeIDE?Regards,Kevin
Dear all,We often receive new ideas for improving our STM32 hardware and software, and these ideas are often scattered around the community in different posts. This is making it difficult to be aware of all and to consolidate each single idea and get community feedback. To improve they way of providing new ideas for a new widget, new feature, improved usability, etc. to TouchGFX, we have created an “IDEA�? forum, where these can be posted and everyone can comment and upvote/downvote. Before we release this new feature we need some of you to help us test it and provide feedback for improvements. If you are find this interesting, please let us know.Best regardsSoren Mikkelsen
What are the requirements when i selecting MCU for this display ? My end goal would be the following: *Cheap as possible (however not make the display quality worst/slow) *This IoT device will get some information from a API server, and run some animations. *I would like to use TouchGFX to design the GUI*Need to be able generate serial number for the device. *Sound codec*Able to hook it up with ESP32 s2 WiFi module (i think this is default on any STM now days)Thanks
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.