Chapter · Screens
Screens you have to keep feeding
Where a frame lives, the frame buffer and what moves it, RGB timing and colour depth, and why a picture tears.
- 07Where a frame lives4 minStop the upstream data and some screens keep their picture while others cannot. The difference is where the frame buffer lives, in the controller's own GRAM or upstream with the host, and the interface name alone does not tell you.
- 08Frame buffer, PSRAM and DMA4 minA frame buffer that fits in memory can still fail to reach the screen on time. Capacity and bandwidth are separate questions, and on an ESP32-S3 the route from PSRAM to the panel decides which one you hit.
- 09RGB timing4 minA parallel RGB screen is sent colours plus four timing signals, and the timing is what places the colours. Change a porch by a few clocks and the whole picture slides across the glass, although every pixel value is still correct.
- 10RGB565, 666 and 8884 minRGB565, RGB666 and RGB888 say how many bits make one pixel. They do not say how many wires carry it. A 24-bit pixel can cross eight wires in three beats, and a 16-bit interface may not use sixteen wires in a row.
- 11Tearing and double buffering4 minTearing is the display reading a picture while a program is changing it. A faster refresh makes each frame shorter and does not remove the conflict. Two buffers swapped at the frame boundary, or a wait for the controller's TE signal, do.
Start at 07 and read down — the order is the order things get easier in. Or take the one with your part in it; every article stands on its own, and links back to whatever it needs.