|
LCDGFX LCD display driver
1.2.0
Lightweight graphics library for SSD1306, SSD1325, SSD1327, SSD1331, SSD1351, SH1106, SH1107, IL9163, ST7735, ST7789, ILI9341, PCD8544 displays over I2C/SPI
|
LCDGFX supports a wide range of LCD and OLED display controllers. This guide helps you select the right class for your hardware.
| Controller | Resolution | Interface | RAM | Class |
|---|---|---|---|---|
| SSD1306 | 128×64 | I2C, SPI | ~1 KB | DisplaySSD1306_128x64_I2C / _SPI |
| SSD1306 | 128×32 | I2C, SPI | ~0.5 KB | DisplaySSD1306_128x32_I2C / _SPI |
| SH1106 | 128×64 | I2C, SPI | ~1 KB | DisplaySH1106_128x64_I2C / _SPI |
| SH1107 | 128×64 | I2C, SPI | ~1 KB | DisplaySH1107_128x64_I2C / _SPI |
| SH1107 | 64×128 | I2C | ~1 KB | DisplaySH1107_64x128_I2C |
| PCD8544 | 84×48 | SPI | ~0.5 KB | DisplayPCD8544_84x48_SPI |
These displays use 1 bit per pixel. Draw with setColor(0xFF) for white, setColor(0x00) for black.
| Controller | Resolution | Interface | RAM | Class |
|---|---|---|---|---|
| SSD1325 | 128×64 | I2C, SPI | ~4 KB | DisplaySSD1325_128x64_I2C / _SPI |
| SSD1327 | 128×128 | I2C, SPI | ~8 KB | DisplaySSD1327_128x128_I2C / _SPI |
These displays support 16 grayscale levels (0–15).
| Controller | Resolution | Colors | Interface | RAM | Class |
|---|---|---|---|---|---|
| SSD1331 | 96×64 | 64K | SPI | ~12 KB | DisplaySSD1331_96x64_SPI |
| SSD1351 | 128×128 | 64K | SPI | ~32 KB | DisplaySSD1351_128x128_SPI |
Use RGB_COLOR16(r, g, b) to create 16-bit colors, or RGB_COLOR8(r, g, b) for 8-bit mode.
| Controller | Resolution | Interface | RAM | Class |
|---|---|---|---|---|
| IL9163/ST7735 | 128×160 | SPI | ~40 KB | DisplayST7735_128x160x16_SPI |
| IL9163/ST7735 | 128×128 | SPI | ~32 KB | DisplayST7735_128x128x16_SPI |
| IL9163/ST7735 | 80×160 | SPI | ~25 KB | DisplayST7735_80x160x16_SPI |
| ST7789 | 240×240 | SPI | ~115 KB | DisplayST7789_240x240x16_SPI |
| ST7789 | 135×240 | SPI | ~64 KB | DisplayST7789_135x240x16_SPI |
| ST7789 | 170×320 | SPI | ~109 KB | DisplayST7789_170x320x16_SPI |
| ILI9341 | 240×320 | SPI | ~150 KB | DisplayILI9341_240x320x16_SPI |
RAM values indicate the display controller's internal framebuffer, not MCU RAM usage. TFT displays stream pixels directly without requiring a local framebuffer.
display.invertMode() or display.normalMode().For non-standard display sizes (e.g., ST7789 panels with unusual offsets):
| Platform | I2C | SPI | Notes |
|---|---|---|---|
| Arduino AVR (Uno, Mega, Nano) | ✓ | ✓ | Full support, limited RAM |
| Arduino AVR (ATtiny85) | ✓ | ✓ | Minimal footprint mode |
| ESP32 / ESP8266 | ✓ | ✓ | Full support, custom pins |
| STM32 | ✓ | ✓ | Via STM32duino or direct HAL |
| Raspberry Pi | ✓ | ✓ | Via linux HAL, libgpiod for GPIO |
| Raspberry Pi Pico | ✓ | ✓ | Native Pico SDK support |
| Linux (generic) | ✓ | ✓ | For desktop development/testing |