Interfacing small LCD displays with the PCD8544, ST7735, HT1621, UC1701X and LS013B4DN04 driver in Python using SPI on the Raspberry Pi and other linux-based single-board computers: the library provides a Pillow-compatible drawing canvas, and other functionality to support:

  • scrolling/panning capability,
  • terminal-style printing,
  • state management,
  • color/greyscale (where supported),
  • dithering to monochrome

The PCD8544 display pictured below was used originally as the display for Nokia 5110 mobile phones, supporting a resolution of 84 x 48 monochrome pixels and a switchable backlight:


They are now commonly recycled, and sold on ebay with a breakout board and SPI interface.

The ST7735 display supports a resoltion of 160 x 128 RGB pixels (18-bit / 262K colors) with a switchable backlight:


The HT1621 display (as purchased) supports six 7-segment characters with a switchable backlight:


The UC1701X display supports a resolution of 128 x 64 monochrome pixels with a switchable backlight:


The LS013B4DN04 display supports a resolution of 96 x 96 monochrome pixels:


See also

Further technical information for the specific device can be found in the datasheet below:

As well as display drivers for the physical device, there are emulators that run in real-time (with pygame) and others that can take screenshots, or assemble animated GIFs, as per the examples below (source code for these is available in the examples repository.