Introduction ============ luma.oled provides a Python3 interface to `OLED matrix displays `_ with the SSD1305, SSD1306, SSD1309, SSD1315, SSD1316, SSD1322, SSD1325, SSD1327, SSD1331, SSD1351, SSD1362, SH1106, SH1107, CH1115 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. .. image:: images/mounted_display.jpg :alt: mounted .. image:: images/ssd1322.jpg :alt: ssd1322 .. seealso:: Further technical information for the specific implemented devices can be found in the following datasheets: - :download:`SSD1305 ` - :download:`SSD1306 ` - :download:`SSD1309 ` - :download:`SSD1315 ` - :download:`SSD1316 ` - :download:`SSD1322 ` - :download:`SSD1325 ` - :download:`SSD1327 ` - :download:`SSD1331 ` - :download:`SSD1351 ` - :download:`SSD1362 ` - :download:`SH1106 ` - :download:`WS0010 ` - :download:`WEH001602 ` 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: .. image:: images/clock_anim.gif :alt: clock .. image:: images/invaders_anim.gif :alt: invaders .. image:: images/crawl_anim.gif :alt: crawl .. _Pillow: https://pillow.readthedocs.io .. _pygame: https://www.pygame.org