displayif

displayif — C hardware bus engine & usermod drivers.

displayif High-performance C hardware bus engines (SPI, I2C, Intel 8080, RGB/DPI, MIPI DSI) and native usermod display drivers for MicroPython and CircuitPython.

Live Pure-Python Device

Hardware Bus Architecture

Accelerated C usermods registering directly into the MicroPython interpreter.

spibus & i2cbus

High-frequency hardware SPI and I2C panel buses for displaydev.BusDisplay with DMA transfer capability.

i80bus Parallel Bus

8080-style 8-bit / 16-bit parallel bus accelerated via ESP32-S3 LCD peripheral, RP2 PIO+DMA engines, i.MX RT FlexIO, and SAMD51 GPIO.

dotclockframebuffer (RGB)

Parallel RGB dot-clock hardware framebuffer backend supporting large 480x480, 800x480, and 1024x600 IPS displays.

mipidsi & picodvi

MIPI DSI differential lane support and RP2040 DVI video output hardware backends.

Building MicroPython Firmware with displayif

Compile as a user C module with USER_C_MODULES flag
# Clone displayif alongside micropython repository:
git clone https://github.com/PyDevices/displayif.git

# Compile MicroPython firmware with displayif enabled:
cd micropython/ports/esp32
make BOARD=ESP32_GENERIC_S3 USER_C_MODULES=../../../displayif

MicroPython Port & Bus Support Matrix

Port / SoC Architecture SPI / I2C Bus i80 Parallel Bus RGB DotClock DSI / DVI
ESP32-S3 (Espressif) (SPI DMA) (LCD Peripheral) (RGB Peripheral)
RP2040 / RP2350 (Raspberry Pi) (SPI DMA) (PIO + DMA) (PicoDVI)
i.MX RT1062 (Teensy 4.x) (LPSPI) (FlexIO) (eLCDIF)
SAMD51 (Microchip) (SERCOM) (GPIO)