micropython-nano-gui/DISPLAYS.md

8.4 KiB

Displays tested with nano-gui and micro-gui

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

Note that the supported ePaper/eInk displays are unsuitable for interactive use owing to their long update time.

Displays using drivers in this repo

Size is diagonal in inches. C/M/GS color/1-bit monochrome/greyscale.
Width and height are pixels.

Size Width Height Tech Driver Description Notes
0.96C 94 64 OLED SSD1331 Adafruit 684
1.12GS 96 96 OLED SSD1327 Seeed 104030011 Obsolescent.
1.27C 128 96 OLED SSD1351 Adafruit 1673
1.5C 128 128 OLED SSD1351 Adafruit 1431
1.44C 128 128 TFT ST7735R Adafruit 2088
1.5C 160 128 TFT ST7735R Adafruit 358
1.3C 240 240 TFT ST7789 Adafruit 4313
1.5GS 128 128 OLED SSD1327 Waveshare 13992
2.0C 320 240 TFT ST7789 Waveshare Pico LCD 2 For Pi Pico.
1.54C 240 240 TFT ST7789 Adafruit 3787
1.14C 240 135 TFT ST7789 T-Display ESP32 with attached display.
2.8C 320 240 TFT ST7789 Waveshare pico 2.8 Display for Pi Pico.
1.14C 240 135 TFT ST7789 Waveshare pico 1.14 For Pi Pico. Buttons good for micro-gui.
1.14C 240 135 TFT ST7789 Pimoroni pico 1.14 For Pi Pico. Buttons good for micro-gui.
3.2C 320 240 TFT ILI9341 Adafruit 1743 Big display. eBay equivalents work here.
3.5C 480 320 TFT ILI9486 Waveshare Rpi 3.5 LCD Pi HAT. Many pixels. Needs plenty of RAM.
3.5C 480 320 TFT ILI9486 Adafruit 3.5 LCD 3.5" HX8357D display, notes as above.
3.5C 480 320 TFT ILI9486 Waveshere RPI 3.5 LCD 3.5" ILI9488 display, notes as above.
2.9M 296 128 eInk UC8151D Adafruit 4262 Flexible ePaper display.
2.9M 296 128 eInk UC8151D Adafruit 4777 FeatherWing ePaper display.
4.2M 400 300 eInk WS Waveshare pico 4.2 Pico, Pico W plug in. Other hosts via cable.
2.7M 274 176 eInk HAT Waveshare HAT HAT designed for Raspberry Pi, repurposed.
2.7M 400 240 Sharp Sharp Adafruit 4694 Micropower monochrome display.
1.3M 168 144 Sharp Sharp Adafruit 3502 Ditto.

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.

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.

Links

Device driver document.

nano-gui

micro-gui

Writer and CWriter