Introduction
luma.oled provides a Python3 interface to OLED matrix displays with the SSD1306, SSD1309, SSD1322, SSD1325, SSD1327, SSD1331, SSD1351, SSD1362, SH1106, SH1107 or WS0010 controllers to connect with Raspberry Pi and other Linux-based single-board computers (SBC). It 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 SSD1306 display pictured below is 128 x 64 pixels, and the board is tiny, and will fit neatly inside the RPi case.
See also
Further technical information for the specific implemented devices can be found in the following datasheets:
Benchmarks for tested devices can be found in the wiki.
Examples and Emulators
As well as display drivers for various physical OLED devices 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 luma.examples git repository: