Displays tested with nano-gui and micro-gui

June 13, 2026 ยท View on GitHub

Drivers used in nano-gui, micro-gui and micropython-touch are identical. These displays and drivers are also compatible with the Writer class.

Note that most ePaper/eInk displays are unsuitable for interactive use owing to their long update time. The one exception is the Waveshare pico 4.2 inch which is quick enough to work with micro-gui.

Displays using drivers in this repo

Size is diagonal in inches. C/M/GS color/1-bit monochrome/greyscale.
Displays with a touch overlay are denoted by T, K, R or S depending on the touch hardware. See Touch Displays below.
Width and height are pixels.

SizeWidthHeightTechDriverDescriptionNotes
0.96C9464OLEDSSD1331Adafruit 684
1.12GS9696OLEDSSD1327Seeed 104030011Obsolescent.
1.27C12896OLEDSSD1351Adafruit 1673
1.5C128128OLEDSSD1351Adafruit 1431
1.4M12864LCDSSD7567sST7567sSimilar to SSD1306
1.44C128128TFTST7735RAdafruit 2088
1.5C160128TFTST7735RAdafruit 358
1.3C240240TFTST7789Adafruit 4313
1.28C Q240240TFTGC9A01W'share 1.28 touch LCDRound touch display
1.28C Q240240TFTGC9A01W'share 1.28 touch LCDRound touch display with embedded RP2 chip
1.5GS128128OLEDSSD1327Waveshare 13992
2.0C320240TFTST7789Waveshare Pico LCD 2For Pi Pico.
1.54C240240TFTST7789Adafruit 3787
1.14C240135TFTST7789T-DisplayESP32 with attached display.
2.8C K240320TFTILI9341Adafruit touch shieldArduino shield format capacitive touch.
2.8C T320240TFTST7789Waveshare pico 2.8Display for Pi Pico. (Touch support).
2.8C V320240TFTST7789Waveshare ESP32-S3 2.8Waveshare ESP32-S3 2.8 inch touch LCD
1.14C240135TFTST7789Waveshare pico 1.14For Pi Pico. Buttons good for micro-gui.
1.14C240135TFTST7789Pimoroni pico 1.14For Pi Pico. Buttons good for micro-gui.
1.47C320172TFTST7789DFR0995
1.3C240240TFTST7789Waveshare Pico 1.3
1.9C320170TFTST7789Adafruit 5395
3.2C S320240TFTILI9341ESP32-2432S024CCheap yellow display 3.2" capacitive touch
3.2C R320240TFTILI9341Adafruit 1743Big touch unit. eBay equivalents work here.
3.5C T480320TFTILI9486Waveshare Rpi 3.5 LCDPi HAT. Many pixels. Needs plenty of RAM.
3.5C R480320TFTILI9486Adafruit 3.5 LCD3.5" HX8357D touch, notes as above.
3.5C T480320TFTILI9486Waveshare Pico 3.53.5" Pico ILI9488 (touch).
2.13M250120eInkSSD1680Waveshare Pico 2.13Mono ePaper display, Pico plugs in rear.
2.9M296128eInk?Waveshare Pico 2.9Pico plugs in, others via cable see.
2.9M296128eInkUC8151DAdafruit 4262Flexible ePaper display.
2.9M296128eInkUC8151DAdafruit 4777FeatherWing ePaper display.
2.9M296128eInkSSD1680WeAct Studio ePaperWeAct Studio ePaper display.
4.2M400300eInkWSWaveshare pico 4.2Pico plugs in, others via cable see.
4.2M400300RLCDST7305W'sh ESP32-S3-RLCD-4.2Reflective mono display, faster than eInk.
2.7M274176eInkHATWaveshare HATHAT designed for Raspberry Pi, repurposed.
2.7M400240SharpSharpAdafruit 4694Micropower monochrome display.
1.3M168144SharpSharpAdafruit 3502Ditto.

Displays using compatible drivers

Monochrome OLED displays based on the SSD1306 chip are supported via the official driver. Displays are available from various sources and can use I2C or SPI interfaces. An example is Adafruit 938. The SSD1306 driver in this repo has minor additions to support demos intended for color displays.

Monochrome OLED displays based on the SH1106 chip are supported via the unofficial driver. The SH1106 driver in this repo has minor additions to support demos intended for color displays. Displays are available from various sources and can use I2C or SPI interfaces. An exmaple is the Inland IIC SPI 1.3" 128x64 OLED V2.0 AKA KeyStudio.

Nokia 5110 (PCD8544) displays. This driver is compatible.

Waveshare have published drivers for their other products, claiming nano-gui compatibility. Lacking the relevant hardware I am not in a position to assess or support these but feel free to use them. They have re-published nano-gui which they are entitled to do, but their copy may not include the latest bugfixes or enhancements.

User contributed drivers

The following drivers were contributed by users. I am unable to support these as I don't possess the relevant hardware. SSD7567s contributed by EnricoRoss98 PR SSD1680.py contributed by EnricoRoss98 PR

Adafruit displays

See these notes for wiring details, pin names and hardware issues.

Unlisted displays

Displays whose controller is listed above

An untested display that uses a supported controller is not guaranteed to work. This is because a controller can be connected to the display in a variety of ways. In some cases the existing driver can be persuaded to work, sometimes by using nonstandard constructor arguments. In other cases the driver itself needs to be adapted.

Other controllers

For an unlisted controller the first step is to see if there is an existing driver that can be ported. Adafruit publish CircuitPython drivers for their hardware: these are easy to port to MicroPython. Only a minimal subset is needed to support these GUI's, with the result that the drivers can be very simple. See this doc for details.

Touch displays

LabelControllerComments
RTSC2007Resistive touch needs external controller
TXPT2046Resistive touch, XPT2046 controller.
KFT6206Capacitive touch controller.
QCST816SCapacitive touch controller.
SCST820Capacitive touch controller.
VCST328Capacitive touch controller.

Links

Device driver document.

nano-gui

micro-gui

micropython-touch

Writer and CWriter