Skip to main content
Associate II
September 25, 2025
Solved

LTDC pixel format RGB565 produces output only when CLUT is enabled

  • September 25, 2025
  • 1 reply
  • 618 views

I am using LTDC for interfacing with a TFT LCD. The LCD is connected with 18 bit (RGB666) interface. I have selected the pixel format as RGB565, and I am using a frame buffer stored in the internal SRAM. The frame buffer has been populated with 16 bit RGB values. The problem is, I can only see the output when I enable the CLUT and populate the CLUT with RGB values. Otherwise, if CLUT is not enabled, I cannot see the output. As far as I know, CLUT is used in L8 pixel format, but for RGB565 CLUT is not used. I am confused about this situation. Any idea what may be happening here?

Best answer by MM..1

Now is reply simple layer0 alpha must be 255 not 0. L8 set it for pixels but 565 no.

1 reply

ST Employee
October 2, 2025

Hello @yusuf1809,

TouchGFX doesn't support RGB666 framebuffer format. You did the proper conversion from rgb565 to rgb666 for the screen ?

Br,

yusuf1809Author
Associate II
October 2, 2025

Hi @LouisB thanks for your reply. I am not using touch gfx. I have configured the frame buffer manually. The rgb666 interface is working as I have been able to pass data using L8 pixel format with the CLUT. But when I changed the pixel format from L8 to rgb565, nothing shows up on the LCD unless I enable the CLUT. Note that when I was using the L8 format, my frame buffer was 8 bit. When I changed to rgb565, I have updated the frame buffer size to 16 bit. Even if I put 16 bit rgb values in the frame buffer nothing shows up on the LCD without enabling the CLUT.

MM..1
Chief III
October 4, 2025

You ask in TouchGFX area and changing generated code from one format to other isnt simple click... If you first generate L8 setup , changing to 565 require more as one regenerate code and chceck all settings LTDC ...

Try show what and where you change, normal is only Layer type change. (without touchgfx)