The Parallel RGB technology is still frequently used in many high-power MCU, Raspberry Pi, and Linux SBC projects. However, with the last decade, its usage has been declining. Still, you may come across old display panels that use this interface, and it’s important to understand how to work with them.
The parallel RGB interface involves constantly sending a stream of pixels to the display using a parallel bus. This interface allows you to send up to 8 bits per color channel per pixel, which makes for 24 bits. However, in practice, many parallel RGB implementations only use 5-6 bits of color. Two common kinds of parallel RGB links are RGB565 and RGB666.
In order to drive a parallel RGB display, you can use a Raspberry Pi through its DPI interface. This interface, known as DPI, is used in 800 x 480 display Pi HATs like the Pimoroni HyperPixel. In addition to the Raspberry Pi, FPGAs and some higher-grade MCUs also often have parallel RGB output capability.
The timing of the parallel RGB interface is crucial. Pushing pixel bit values through parallel lines, you also need a clock signal that indicates a new pixel, known as the pixel clock. The clock rate is determined by the screen pixel width, pixel height, and refresh rate. Furthermore, there are additional signals called HSYNC and VSYNC that indicate a complete row and screen of pixels, respectively. These signals require specific timing periods, known as back and front porches. Understanding these timing parameters is essential for driving a parallel RGB display.
There are standardized pinouts for parallel RGB displays, and it is important to understand the pinout of the display you’re working with. Adafruit has developed a large amount of parallel RGB display tech, and studying their offerings can provide valuable insights into parallel RGB display intricacies.
When it comes to driving a parallel RGB display, a Raspberry Pi board with a 40-pin GPIO header is a simple and practical option for many newcomers. The DPI interface on a Pi allows you to connect a parallel RGB display through a large number of GPIOs. Lower-bit modes, such as 565 or 666, can also be used to decrease the number of required GPIOs.
There is a fair bit of documentation and success stories available for using the parallel RGB aka DPI interface on the Raspberry Pi. This makes it a straightforward option for driving parallel RGB displays. Understanding the hardware and software requirements to drive a parallel RGB display is crucial, and familiarizing yourself with timing parameters, pinouts, and available interfaces will set you up for success when working with this technology.