2025-09-13 4:26 AM
Hello, I am using my custom-developed STM32H7 PCB with an 800*480 TFT display connected via 24bpp RGB. Currently, I am only using external SDRAM (IS42S32800J) for the frame buffer, while my QSPI flash is inactive. For the configuration settings, I based them on the STM32H743I-EVAL board, which I also used as a template.
In the attachment, I shared the color difference issue. Does anyone have suggestions regarding this? Because when viewed with the naked eye, there is a noticeable difference between the tones I designed in TouchGFX and the colors displayed on the screen. Could this be related to the ARGB888 format? Where might I be making a mistake? I have checked all the RGB pins in hardware, and they are all active and working.
The comparative example in the image shows a color tone comparison made with the output taken from the STM32H735 DK.
2025-09-13 5:13 AM
Hi @dumo,
The color differences you’re seeing are likely due to a pixel format mismatch or LTDC configuration rather than hardware. A few things to check:
Pixel Format: Ensure TouchGFX and LTDC both use the same format (RGB888 for 24bpp). Using ARGB8888 incorrectly can shift colors.
Frame Buffer Alignment: Make sure the external SDRAM buffer is properly 32-bit aligned.
LTDC Layer & Timing: Verify layer settings, blending, and LTDC clock/timings match your reference board.
Test Pattern: Render full red/green/blue to see if the shift is per channel.
Most color issues on custom STM32H7 boards are resolved by matching TouchGFX output, LTDC pixel format, and frame buffer setup.