Interfacing small LCD displays with the PCD8544, ST7735, HT1621 and UC1701X 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:
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 ST7567 display supports a resolution of 128 x 64 monochrome pixels:
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.