Skip to main content
Associate III
March 27, 2026
Solved

Live image with TouchGFX?

  • March 27, 2026
  • 2 replies
  • 185 views

HI,

as we understand, TouchGFX does not provide support for mulitple layers, even though many targeted STM32 controllers do.

We need to display a live image from the camera (at maximum possible frame rate) and overlay some gaphics on the top of it. Kind of OSD. What is the best/recommended way to achieve this task with TouchGFX? Is it feasible to do so with TouchGFX at all or the resulting performce will suffer too much?

What do we do with StemWin - the hardware LTDC Layer 0 is used for the camera live image, while Layer 1 is for any graphics over the latter. Neither of two get affected by each ohter and very high frame rate is achievable without visible performance degradation.

What solution TouchGFX may offer for similar tasks? Thanks.

If it is matter:
The display resoltion is 800x600, the camera image is a standard grayscale PAL 720x576

Best answer by Osman SOYKURT

Hello @bear2023R ,

Sorry for the delayed response. Unfortunately, with the current version of TouchGFX, it is not possible to use multiple LTDC layers. In STM32CubeMX, you will encounter the following error message:

OsmanSOYKURT_0-1776344119219.png

We are aware of this limitation, and we plan to invest time in addressing it, as use cases like the one you mentioned could greatly benefit from support for multiple layers. I will forward your feedback to our team.

2 replies

bear2023RAuthor
Associate III
April 1, 2026

Can anybody answer the question, please? Or the lack of answers means "NO" for TouchGFX in this kind of applciations?

Thanks.

Osman SOYKURT
Technical Moderator
April 16, 2026

Hello @bear2023R ,

Sorry for the delayed response. Unfortunately, with the current version of TouchGFX, it is not possible to use multiple LTDC layers. In STM32CubeMX, you will encounter the following error message:

OsmanSOYKURT_0-1776344119219.png

We are aware of this limitation, and we plan to invest time in addressing it, as use cases like the one you mentioned could greatly benefit from support for multiple layers. I will forward your feedback to our team.

Osman SOYKURTST Software Developer | TouchGFX
bear2023RAuthor
Associate III
May 15, 2026

Thanks, Osman. Any specific timings on when we may expect this feuture? A year? Five?
This might help to decide between TouchGFX and alternative solutions. Thanks for understanding.

Associate III
May 16, 2026

Hello @bear2023R 

I can give you a doable solution:

First,put a image widget at the very bottom of your screen,name it bitmapBackGround.

Then in your screenView.h file:

BitmapId dynamicBitmapsBG;

In your screenView.c file:

dynamicBitmapsBG = Bitmap::dynamicBitmapCreate(yourWidth, yourHeight, Bitmap::RGB565);
bitmapBackGround.setBitmap(dynamicBitmapsBG);
bitmapBackGround.setPosition(0, 0, yourWidth, yourHeight);
bitmapBackGround.invalidate();

 Now if you want to change content of bitmapBackGround:

first:

uint8_t *adr = Bitmap::dynamicBitmapGetAddress(dynamicBitmapsBG);

Then in your content update function:

memcpy(adr,src,yourWidth*yourHeight*2);