Discuss STM32 and TouchGFX implementations, including configuration, debugging, and optimization.
Most recent activity
Hi Martin, I'm trying to implement an analog clock in TouchGFX. I've referred the example project. I couldn't understand how to setup rotationCentreX, rotationCentreY value. I couldn't see the clock handle in screen. void setupSecondHand (const BitmapId secondHandBitmapId, int16_t rotationCenterX, int16_t rotationCenterY
I have a working prototype based on a STM32F746G-DISCO utilising TouchGFX. Since I need to control a stepper motor I have a nucleo-ihm02a1 shield connected to the discovery board. I'm using the X-NUCLEO-IHM02A1 drivers, which I have ported to fit the STM32F746G-DISCO board.Now everything works fine. My TouchGFX environment consists of 5 pages with a lot controlling/displaying elements.Now I want to port the project to a STM32F469I-DISCO board, because of the very nice display and the small board dimensions. Both boards are supported by TouchGFX.Is there a preferred or suggested way to do such a migration of the TouchGFX environment? Of course the HW based drivers/environment need to be adapted by me. But is there a possibility to "save" my TouchGFX pages with all control and display elements? Of cource I need to reposition or resize the elements. But I could do that one after another and not create everything from scratch.Would it work to create a new project for STM32F469I-DISCO and c
Hello everyone.I want to use only CPU to read and process VGA image with YUV format from camera. It's mean we have 640*480*2 = 600kbytes each frame and this is more than the 500 kbytes memory of CPU that I use. (I want to transfer directly data from DCMI to CPU by DMA without using any other RAM.)So I think is it possible if first step I read the first half data, process it and the second step for the remain data?But I don't know this ideal is posible or the right way to change the DMA configure? It's really complicated for me.Many thanks for any helpp!!!!
Hi, I am using an STM32H743 with external SDRAM connected using the FMC interface, and HMDI transmitter connected using the LTDC interface. The frame buffer for the LTDC is located in external SDRAM.The problem I am having is that when writing to external SDRAM, every so often the screen connected over HDMI will go blank for a second or 2 before displaying the normal image again.The problem happens even if I am writing to another area in SDRAM (i.e. not the framebuffer).I am assuming I have something set incorrectly, but do not know what it could be,Has anyone had a similar experience, or anyone been able to a similar setup working?ThanksMark
Hi,I would like to create progress indicator as shown in the attached image. Can you please help me, how to do that
Hello, I was trying to built a CubeMx project with FreeRTOS and STemwin. But I failed to generate a code that works fine automatically straight from CubeMx 5. I am using STM32f469i-Discovery board.After that I built a CubeMx project that has only FreeRTOS enabled and other peripherals necessary for Stemwin such as RCC, CRC, FMC, DSI-HOST, LTDC, DMA-2D enable along with clock configuration. Now I am trying to add manually the Stemwin Library in Keil MDK5. But still I am not successful.I have added the Project as attachment.The BSP setup for LCD is working. I am able to display content using BSP LCD functions. But not able to configure Stemwin Library with FreeRTOS.Please guide me stepwise how to configure Stemwin Library in a Running FreeRTOS project.
This is not a question asking post, just something I want to share. Hope will help people who meet the same problems I solved.Last I asked lots of question about how to build a TouchGFX project.You can find the original ask in [Does CubeMX 5.0.0 Ready to Build a TouchGFX Project?]https://community.st.com/s/question/0D50X0000A1kKWaSQM/does-cubemx-500-ready-to-build-a-touchgfx-projectAfter few weeks work, I finally make this right. Now I'd like to share some information with you. About my situation:Host project builder: STM32CubeMX 5.0.0Firmware package: STM32Cube FW_F4 V1.23.0GUI builder: TouchGFX Designer 4.10.0 within the firmware packageToolChain/IDE: TrueSTUDIO for STM32 9.0.0 convert from SW4STM32Hardware: Custom PCB with STM32F429IGLCD Panel: 1024 * 600, RGB565 interface parallelTouch Screen: Capacity Multi-touch, IIC interfaceQ1. How to build a host project for TouchGFX graphic solution using TrueSTUDIO toolchain?A1. You can follow UM1718 tutorial 10 or my posts which have more
I work in a team which is tasked with building an application template for a display platform that our clients can use. Our application logic is intended to mainly be founded on a CANopen stack and to use an OD (object dictionary) as mapping to displaying GUI elements in TouchGFX.Is it possible to create custom interaction triggers for an application template to be used by our client in the TouchGFX Designer? If so, how can it be done?
I'm currently working on the STM3210E-Eval board. I just want to know how to display a character on the LCD present in it. I'm using Cube MX and True Studio. I have been trying to do this for some time but not able to. It will be of great help if someone could help me with this by providing me with an example or by telling me how to do this.Thank You!
Hi,let's say I created an interface with TouchGFX and it's working with a disco/eval display board.Do you have any advice if I want to use the same code with a custom PCB?I take the same uC, interface it electronically with any display of the same resolution and I'm ready to go? If I want the screen to display to interact with an other system, I add a communication protocol and it's done?Best regards.
Hi,I'm trying to implement a scrollable list, but I would like to scroll the list by using hardware buttons. I have already generate the list and populated it properly.What do I now need to do to get the list to scroll by pushing the hardware buttons instead of using the touchscreen?Thank you very much in advance.
HiAnother problem with Animated Image example at win 10log file is enclosed , I could run the same example at win 7 Can anybody help
Hi.I will contact you with an unknown error.When this error message is displayed, the run simulator, run tag, generater code, etc. can not be executed.I noticed that some of the code in the 'generated' folder should be missing.Please tell me how to fix it.Below is an error message.
I build the TouchGFX demo in the F32746G-Discovery sample project but the graphics aren't displaying properly. The touchscreen is working 'cause I can switch screens and sometimes by luck get to a screen that is displaying text (e.g. About TouchGFX) but the rest of the graphics on the screen are just patterns of short horizontal lines, which somewhat represent perhaps a sine wave - don't really know. Built the program using Atollic 9.2 and loaded with the STM32Cube Programmer (couldn't get ST-LINK to work- no way, no how - gave up in favor of the Cube Programmer and it worked for me right away. However, need some guidance regarding the graphics display.
Posted on February 25, 2016 at 07:37Hi,Recently I bought 7''TFT LCD Touch Screen Display Module from buydisplay.It has OTA7001A LCD driver IC with 24 Bit RGB interface.I want to interface LCD with STM32F429 board. Does any one guide me how to get Display driver for OTA7001A module? I want to use touchscreen also along with this. But My primary concern is GUI on this LCD. Thanks for your time. Regards,Meet Shah #dcmi #lcd #discovery #stm32f429
It is so easy to get the display working with Arduino. I cannot find any examples or libraries. F446 has the nice arduino connector and you just plug the TFT in. I am surprised that STM does not supply any working projects unlike in Arduino community. It is just impossible to get it working for beginner. Or any other solution different board and TFT touch display as long as it is at least 320 x 480 or bigger
Hello, we are using an STM32F7, and we are taking camera data which saves to RGB888 format. We would like to compress this to a JPG file before saving to USB, and I see that there is a JPEG peripheral which looks like it fits the bill. However I see conflicting info on this. On one hand, the JPEG_CONFR1.COLORSPACE register setting seems to provide for RGB data, and on the other hand I see this note from a smart user: "for Encoding operation the JPEG peripheral input should be organized in YCbCr MCU blocks. It is up to the application to perform the necessary RGB to YCbCr MCU blocks transformation before feeding the JPEG peripheral with data"Is this last sentence true? We are trying to compress our data with hardware acceleration in order to speed up a subsequent transmission to USB. However if our application has to perform its own conversion in series, this may eat up that time savings.And if it is true, can someone point me in the right direction in terms of how to perform
Hello, To have a powerful graphical interface, you need a lot of RAM.Can we use external RAM in Quad / Octo SPI for this?The ST kits with screens often have flash in quad/octo SPI but the external RAM is always in parallel (except STM32L4R9I-EVAL).I suppose there is a reason and the RAM in SPI would be a bottleneck?Pierre
ST's Appnote AN4861 (DM00287603), para. 4.5.1, "Memory Allocation" discusses "Splitting up the slave memories between masters...."My StemWin application uses a single layer, with multi-buffering ("Front buffer" and "Back buffer"). I am able to set up the LTDC to switch between buffers located at pretty much any address I choose, but StemWin seems determined to choose it's own "Back buffer" address based on the setting of LCD_LAYER0_FRAME_BUFFER + (X size * Y size * Bytes per Pixel).My question is: How can I configure StemWin to write to a specific, user-selected address for "Front Buffer", and a separate,non-contiguous address for "Back buffer"? I understand there is a function to accomplish this when using the HAL, but I see no corresponding functionality when using StemWin.Thanks,Ron
I am trying to get STemWin to work with mbed-os but it seems to be stuck in infinite loop inside GUI_Init() (can confirm the same over debugger).I know for certain that the MCU is not stuck in hard fault since I have another thread running which is flashing an led.Details:I ams trying to run the basic hello world test (STemWin_HelloWorld) provided in STM32Cube_FW_F7_V1.14.0 with main thread writing to GUI and another thread flashing an led.Snippet of code below:main(){ GUI_Init(); WM_MULTIBUF_Enable(1); GUI_Clear(); GUI_SetFont(&GUI_Font32_1); GUI_DispStringAt("Hello world!", (LCD_GetXSize()-100)/2, (LCD_GetYSize()-20)/2); while(1) { GUI_X_Delay(1000); }}I have provided the necessary os apis for timing and multitasking in GUI_X_OS.cI am linking the compiled object files to STemWin_CM7_OS_wc32_ARGB.a to create the MCU image.I am calling the STM32 CRC hw module initialization api before calling GUI_Init().The GUI memory assigned to STemWin library using GUI_ALLOC_AssignMemory() in GU
Hi, All!I saw the new DMA2D modes appeared in the rev.5 of the Reference Manual (see page 709, field MODE of the DMA2D->CR). They are:100: Memory-to-memory with Blending and fixed color FG (BG fetch only with FG andBG PFC active)101: Memory-to-memory with Blending and fixed color BG (BG fetch only with FG andBG PFC active) But when I try to use them it does not seem to produce expected results. So, do those modes really work on STM32H743 ?BTW, the 101 mode description seem to have error. It seem the correct text should be:101: Memory-to-memory with Blending and fixed color BG (BG FG fetch only with FG andBG PFC active) Also the manual is not consistent if the MODE field is two bits wide (as was in older Reference Manual) or three ones.Thanks!Oleg
Hello,I have been working on the graphics display on the STM32F429I-Disc1, but have been unsuccessful and facing errors so far.Here are my specifications :CubeMX 4.25.0IDE SW4STM32 from AC6Repository FW_F4 V1.23.0 Board STM32F429I-Disc1Purpose : creating the graphic display using STemWin.And here are my technical issues :I can import and run the sample programs normally. So, this is okay. However, I have been experiencing errors and unable to run new programs using CubeMX to start with. This happens when integrating the Graphics section using the STemWin option. Could you please help on how to fill the parameters correctly ? Or, could you give a correctly working ioc file to use with STemWin option ?Please note that I have been consulting the documents UM1718 and AN4323, without being able to make the STemWin functionning in the CubeMX.Thank you in advance for your reply as it is greatly appreciated.With kind regards,Su
I've been looking through and following a tutorial in the STM32CUBEMX config manual UM1718, TUTORIAL 8. I'm trying to support a ST7735 display via SPI, but the tutorial setup uses DSIHOST mode LTDC which my F767ZI doesn't support. So, I was thinking of creating a bare-bones .IOC file and adding the STEMWIN support to the project manually. Is there an easier way using STM32CUBEMX? When I enable GRAPHICS, I'm left with few options.
Hello,I'm using LibJpeg from CubeMX to decode a jpeg file from SD-card and display it on an ILI9341 display. I found out that decoding will work only, if I decode an vertical rotated picture (240x320). If I want to decode the same picture horizontally (320x240), I'm always getting a hard fault exeption. The exeption happend when malloc is called during jpeg decompress => so I'm running out of RAM (access to illegal RAM address is made).Is there any way, to limit the memory usage of LibJpeg in order to be able to decode jpegs with 320 pixel width?I found there is a define called "max_memory_to_use" but it says in the comments of the source code, that this has no effect on this library. I tried to limit this via "max_memory_to_use", but as expected without success.
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.