cancel
Showing results for 
Search instead for 
Did you mean: 

STemWin or TouchGFX for STM32 graphics?

JSilv.3
Associate II

I'm first working with GUIs and have some experience on bare-metal firmware programming for STM32 on SW4STM32. I'm studying both ways for GUI (TouchGFX and STemWin), but I can't understand all the pros and cons. Should I use TouchGFX for new projects? It seems to be the future for STM32 graphics. The emWin GUIBilder is verystuck when running from STM32CubeMX 5. My project is a treadmill touch display controller and I need to integrate graphics UI with embedded controller firmware. Thanks a lot for the support! 🙂

8 REPLIES 8
Mon2
Senior III

My 2 bits...

a) What is your target board you will use for this research? Guessing that it is a commercial venture? If yes, review the displays based on resolution, other factors including back light intensity, viewing angles, touch panel (resistive vs. capacitive), interface - parallel vs. DSI. Budget for the end hardware?

b) Have not used STemWin so cannot comment other than a quick read which we thought was a restrictive license but free to get started. May be wrong here. TouchGFX used to be a 3,000 Euro toolchain but the company (Draupner) was purchased by ST and now is a free toolchain. TouchGFX is amazingly powerful. For our company, we were seeking some rapid tools for quick font use. Can do this in seconds and view the results. While TouchGFX is not perfect - no tool ever is - this solution is now tamed with the assorted documentation posted in this forum.

You can quickly perform your trials on the STM32F429i-DISC1 tool with SW4STM32 + TouchGFX 4.10 + CubeMX 5.0. The same now with STM32F746G-DISCOVERY kit.

Post back in the forum if you get stuck but the hard part for the above targets is resolved by assorted users over the past month or two.

If you do wish to take the end product live - be sure to review what is actually available in the market. For example, the TFT display used on the STM32F429 kit is based on a flex PCB with a 0.7mm pad pitch - not common at all in the industry. Respectively, this TFT display is hard soldered onto the PCB. As a company, we wanted to use a FPC socket in case the display is required to be replaced. The 48 pin socket @ 0.7mm is as rare as Elvis sightings. Instead we have tooled up with a 50 pin; 0.5mm pad pitch flex pcb and socket which are available from your local suppliers with ease.

Being a treadmill - I think I would personally consider a 800 x 480 with DSI interface and a CTP (capacitive touch panel). That would be a sweet look but bear in mind that the DSI display will be about $20 USD in Asia in 100-1k volume (perhaps a bit less) and that you will need to use a DSI supporting CPU from ST. Review the STM32F469I-DISCO as an example. Looks amazing BUT the display and supported GUI generated code is for an EOL display controller (OTM8009A). This target was our first choice but 9/10 suppliers in Asia shut us down for this request. They want us to consider a different display with a different controller. However, from some reading, understand that DSI control registers are common to each other but still is an uphill battle to support a new display with any of these tool chains. We have 3-4 weeks of solid and daily research invested in stabilizing the above tools so did not want take another battle.

Summary: STM32F429i-DISC1 and/or STM32F746G-DISCOVERY are good candidates with IAR / SW4STM32 use with TouchGFX + CubeMX. Each is confirmed to be working well now.

Other permutations will be life suckers...

JBlac
Associate III

In my opinion after having struggled just to get the TouchGFX demo working, I'd say that STemWin has a lower learning curve. I have generated some quite basic GUI screens using STemWin but only the demo for TouchGFX. In looking at the TouchGFX demo it seems that there's more to be concerned with if you're building a GUI with lots of screens containing graphics components. The reason I say that is because you're going to require putting your GUI stuff into External Flash (QSPI) on the STM32F746G, for example. I would guess that some more elaborate GUI's using STemWin would also be best put in QSPI memory. As with any kind of GUI app on a MCU, memory has to be of concern. You might start with the ToughGFX demo, just to get a feel for how it's done (presuming that the folks that wrote the demo did it the "best" way). Good luck.

@Mon2​ , Thanks for your attention and support on this question! Sorry for my late reply. I was on vacation and it was difficult to answer before.

I'm using the STM32F746G-DISCOVERY kit for this project, and I tried the TouchGFX Designer to build a small demo for my project. Attached is a video showing some screens. I just implemented the GUI screen in a simple way. The product will be a cost effective option for entry level treadmills (that uses 7 digit display today). My customer is evaluating it's needs and maybe we could go with a larger display...

I've also tried the STemWin tool, but TouchGFX is much better in my opinion...

Thanks a lot for your attention!

Thanks @JB.5lacker​  for your reply!

I tried both tools and in my opinion TouchGFX is much better to use. I agree with you that the TouchGFX learning curve is slower, but the designer is more complete and easy to use after you tame it. Thanks for you opinion! Attached is demo that I created for my customer...

AJang
Associate

Hello

Your project needs caught my attention as I am also out there trying find some clue for using a 5�? lcd with one of the project in hand. I thought to use stmf407 as I have a board with this cpu. But I don’t have any clue of hardware wiring.

The displays mentioned in Mon2’s reply are easy to get?

can any of you get me some link so I can order the lcd for it.

And perhaps if anyone could advise me on hardware wiring with lcd.

What type of cap-touch controller would work with ST touchGFX?

I would really appreciate if anyone can help me for the above and push/let me get going.

Thank you

Rjay

Any touch controller would work with TouchGFX. The framework supplies a hook in which you'll return touch coordinates (based on, perhaps, your own drivers) and whether or not a touch was registered.

Even for MCUs with no LTDC/TFT controller there are hooks in which you will transfer the framebuffer (to which touchgfx has rendered screens) to your serial display.

/Martin

Alexmouse
Senior

I've a working 4.3" TFT project on an STM32F429 with STEMWin, which was initially developed on a standard F429 Nucleo. When I have time I must try to get TouchGFX talking to my board.

Hi, Ajang, can you please help me out how you worked on stm32f407 for GUI, and what were the extra hardware that you required for it.