Reader [poipoi] recently wrote into our tip line to tell us about an “amazingly fast” Raspberry Pi display driver with a README file that “is an actual joy to read”. Of course, we had to see for ourselves. The fbcp-ili9341 repo, by [juj], seems to live up to the hype! The software itself appears impressive, and the README is detailed, well-structured, educational, and dare we say entertaining?
The driver’s main goal is to produce high frame rates — up to around 60 frames per second — over an SPI bus, and it runs on various Raspberry Pi devices including the 2, 3 and Zero W. Any video output that goes to the Pi’s HDMI port will be mirrored to a TFT display over the SPI bus. It works with many of the popular displays currently out there, including those that use the ILI9341, ILI9340, and HX8357D chipsets.
The techniques that let [juj] coax such frame rates out of a not-terribly-fast serial bus are explained in detail in the README’s How it Works section, but much of it boils down to the fact that it’s only sending changed pixels for each frame, instead of the full screen. This cuts out the transmission of about 50% of the pixels in each update when you’re playing a game like Quake, claims the author. There are other interesting performance tweaks as well, so be sure to check out the repo for all the details.
There’s a video comparing the performance of fbcp-ili9341 to mainline SPI drivers after the break.
Continue reading “Blazing Fast Raspberry Pi Display Driver Will Melt Your Face Then Teach You How”
The red round board at the bottom is the PIR motion sensor, the part of another project which is not related neither to HAL nor to the badge. There is a clearly visible 915 MHz module, which is disconnected and has no function in this project.
It is connected to the lower left Raspberry just because it has to be supplied with about 3V and it uses Raspberry’s LDO. It also generates Reset signal for all four Raspis, as it turned out that the 5V supply (bottom right) delivers the slow-rise voltage when turned on, so Raspis won’t boot at all without the external Reset.
When someone walks in front of HAL, motion sensor randomly triggers one of 30 HAL’s sentences from the movie. That’s why the lower left Raspberry is connected to the amplifier and has an extra wire from the motion sensor board to GPIO 24.