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) | — | — |