Posts

Showing posts from October, 2026

Really really fast GPIO on Linux

Image
Introduction I started down this latest rabbit hole when looking for a way to get high speed data from the "low speed" GPIO header of a Raspberry Pi. I wanted to see if I could drive a parallel Eink display directly from the RPI's GPIO header instead of using an external controller like the IT8951. This would allow for the creation of a very low cost, high speed Eink display adapter. Spoiler - my idea worked and I created a working board with the help of my friend Martin : I've also used this direct GPIO idea to drive QSPI LCDs from the RPI header (RPI doesn't have native QSPI support): Back to GPIO... The "digital pins" of most MCUs/SoCs are usually controlled from a few memory mapped ports. These exist in a similar form on simple Microcontrollers like the AVR 8-bit series (e.g. Arduino UNO) and on more complex SoCs like the Allwinner A733 (e.g. OrangePi Zero 3W). There are groups of bits to control each pin's function (e.g. simple input/output or s...