Skip to content

Display Class

moononournation edited this page Aug 31, 2022 · 15 revisions
  • RST pin is optional (The display RST pin can simply connect to the dev board reset pin, input -1 in this case)

GC9503V IPS LCD 480x480

Currently only supported by ESP32S3.

Arduino_ESP32RGBPanel *bus = new Arduino_ESP32RGBPanel(
    0 /* CS */, 10 /* SCK */, 9 /* SDA */,
    13 /* DE */, 12 /* VSYNC */, 11 /* HSYNC */, 14 /* PCLK */,
    2 /* R0 */, 17 /* R1 */, 16 /* R2 */, 1 /* R3 */, 15 /* R4 */,
    41 /* G0 */, 46 /* G1 */, 3 /* G2 */, 42 /* G3 */, 8 /* G4 */, 18 /* G5 */,
    10 /* B0 */, 9 /* B1 */, 40 /* B2 */, 20 /* B3 */, 19 /* B4 */
);
Arduino_GC9503V_RGBPanel *gfx = new Arduino_GC9503V_RGBPanel(bus, GFX_NOT_DEFINED /* RST */, 480, 480);

GC9A01 IPS LCD 240x240

Arduino_GFX *gfx = new Arduino_GC9A01(
  bus, 7 /* RST */, 0 /* rotation */, true /* IPS */);

HX8347C IPS LCD 240x320

Arduino_GFX *gfx = new Arduino_HX8347C(
  bus, 7 /* RST */, 0 /* rotation */, true /* IPS */);

HX8347D IPS LCD 240x320

Arduino_GFX *gfx = new Arduino_HX8347D(
  bus, 7 /* RST */, 0 /* rotation */, true /* IPS */);

HX8352C IPS LCD 240x400

Arduino_GFX *gfx = new Arduino_HX8352C(
  bus, 7 /* RST */, 0 /* rotation */, true /* IPS */);

HX8357A IPS LCD 320x480

Currently only portrait works, i.e. rotation 0 and 2.

Arduino_GFX *gfx = new Arduino_HX8357A(
  bus, 7 /* RST */, 0 /* rotation */, true /* IPS */);

HX8357B IPS LCD 320x480

Arduino_GFX *gfx = new Arduino_HX8357B(
  bus, 7 /* RST */, 0 /* rotation */, true /* IPS */);

ILI9225 LCD 176x220

Arduino_GFX *gfx = new Arduino_ILI9225(
  bus, 7 /* RST */);

ILI9341 LCD 240x320

Arduino_GFX *gfx = new Arduino_ILI9341(
  bus, 7 /* RST */, 0 /* rotation */, false /* IPS */);

ILI9342 LCD 320x240

Arduino_GFX *gfx = new Arduino_ILI9342(
  bus, 7 /* RST */, 0 /* rotation */, false /* IPS */);

ILI9481 LCD Parellel Interface 320x480

Arduino_GFX *gfx = new Arduino_ILI9481(
  bus, 7 /* RST */, 0 /* rotation */, false /* IPS */);

ILI9481 LCD 18-bit SPI 320x480

This display SPI interface not support 16-bit SPI. It require convert from 16-bit to 18-bit for every pixels so it is not very efficient.

Arduino_GFX *gfx = new Arduino_ILI9481_18bit(
  bus, 7 /* RST */, 0 /* rotation */, false /* IPS */);

ILI9486 LCD Parellel Interface 320x480

Arduino_GFX *gfx = new Arduino_ILI9486(
  bus, 7 /* RST */, 0 /* rotation */, false /* IPS */);

ILI9486 LCD 18-bit SPI 320x480

This display SPI interface not support 16-bit SPI. It require convert from 16-bit to 18-bit for every pixels so it is not very efficient.

Arduino_GFX *gfx = new Arduino_ILI9486_18bit(
  bus, 7 /* RST */, 0 /* rotation */, false /* IPS */);

ILI9488 LCD Parellel Interface 320x480

Arduino_GFX *gfx = new Arduino_ILI9488(
  bus, 7 /* RST */, 0 /* rotation */, false /* IPS */);

ILI9488 LCD 18-bit SPI 320x480

This display SPI interface not support 16-bit SPI. It require convert from 16-bit to 18-bit for every pixels so it is not very efficient.

Arduino_GFX *gfx = new Arduino_ILI9488_18bit(
  bus, 7 /* RST */, 0 /* rotation */, false /* IPS */);

ILI9806 LCD 480x854

Arduino_DataBus *bus = new Arduino_ESP32S2PAR16Q(
  35 /* DC */, 34 /* CS */, 16 /* WR */, 36 /* RD */);
// Arduino_GFX *gfx = new Arduino_ILI9806(
  bus, 33 /* RST */, 0 /* rotation */, false /* IPS */);

JBT6K71 LCD 240x320

Arduino_GFX *gfx = new Arduino_JBT6K71(
  bus, 7 /* RST */, 0 /* rotation */, true /* IPS */,
  240 /* width */, 320 /* height */,
  0 /* col offset 1 */, 0 /* row offset 1 */,
  16 /* col offset 2 */, 0 /* row offset 2 */);

NT35510 LCD 480x800

Arduino_DataBus *bus = new Arduino_ESP32S2PAR16Q(
  35 /* DC */, 34 /* CS */, 16 /* WR */, 36 /* RD */);
Arduino_GFX *gfx = new Arduino_NT35510(
  bus, 7 /* RST */, 0 /* rotation */);

NT39125 LCD 240x376

Arduino_GFX *gfx = new Arduino_NT39125(
  bus, 7 /* RST */, 2 /* rotation */, false /* IPS */,
  240 /* width */, 376 /* height */,
  0 /* col offset 1 */, 0 /* row offset 1 */,
  0 /* col offset 2 */, 56 /* row offset 2 */);

R61529 IPS LCD 320x480

Arduino_GFX *gfx = new Arduino_R61529(
  bus, 7 /* RST */, 0 /* rotation */, true /* IPS */);

SEPS525 OLED 160x128

Arduino_GFX *gfx = new Arduino_SEPS525(
  bus, 7 /* RST */, 0 /* rotation */);

SSD1283A OLED 130x130

Arduino_GFX *gfx = new Arduino_SSD1283A(
  bus, 7 /* RST */, 0 /* rotation */);

SSD1331 OLED 96x64

Arduino_GFX *gfx = new Arduino_SSD1331(
  bus, 7 /* RST */, 0 /* rotation */);

SSD1351 OLED 128x128

Arduino_GFX *gfx = new Arduino_SSD1351(
  bus, 7 /* RST */, 0 /* rotation */);

ST7701 IPS LCD 480x480

Currently only supported by ESP32S3. The init code have 3 variations, please try another variation if it doesn't work:

  • st7701_type1_init_operations
  • st7701_type2_init_operations
  • st7701_type3_init_operations
Arduino_ESP32RGBPanel *bus = new Arduino_ESP32RGBPanel(
  39 /* CS */, 48 /* SCK */, 47 /* SDA */,
  18 /* DE */, 17 /* VSYNC */, 16 /* HSYNC */, 21 /* PCLK */,
  4 /* R0 */, 3 /* R1 */, 2 /* R2 */, 1 /* R3 */, 0 /* R4 */,
  10 /* G0 */, 9 /* G1 */, 8 /* G2 */, 7 /* G3 */, 6 /* G4 */, 5 /* G5 */,
  15 /* B0 */, 14 /* B1 */, 13 /* B2 */, 12 /* B3 */, 11 /* B4 */
);
Arduino_ST7701_RGBPanel *gfx = new Arduino_ST7701_RGBPanel(
  bus, GFX_NOT_DEFINED /* RST */, 0 /* rotation */,
  true /* IPS */, 480 /* width */, 480 /* height */,
  st7701_type1_init_operations, sizeof(st7701_type1_init_operations),
  true /* BGR */);

ST7735 LCD

ST7735 have many variations, so the parameters is a little bit long.

1.8" REDTAB 128x160

Arduino_GFX *gfx = new Arduino_ST7735(
  bus, 7 /* RST */, 0 /* rotation */);

1.8" BLACKTAB 128x160

Arduino_GFX *gfx = new Arduino_ST7735(
  bus, 7 /* RST */, 0 /* rotation */, false /* IPS */,
  128 /* width */, 160 /* height */,
  2 /* col offset 1 */, 1 /* row offset 1 */,
  2 /* col offset 2 */, 1 /* row offset 2 */,
  false /* BGR */);

1.8" GREENTAB A 128x160

Arduino_GFX *gfx = new Arduino_ST7735(
  bus, 7 /* RST */, 0 /* rotation */, false /* IPS */,
  128 /* width */, 160 /* height */,
  2 /* col offset 1 */, 1 /* row offset 1 */,
  2 /* col offset 2 */, 1 /* row offset 2 */);

1.8" GREENTAB B 128x160

Arduino_GFX *gfx = new Arduino_ST7735(
  bus, 7 /* RST */, 0 /* rotation */, false /* IPS */,
  128 /* width */, 160 /* height */,
  2 /* col offset 1 */, 3 /* row offset 1 */,
  2 /* col offset 2 */, 1 /* row offset 2 */);

1.8" Wide angle LCD 128x160

Arduino_GFX *gfx = new Arduino_ST7735(
  bus, 7 /* RST */, 0 /* rotation */, false /* IPS */,
  128 /* width */, 160 /* height */,
  0 /* col offset 1 */, 0 /* row offset 1 */,
  0 /* col offset 2 */, 0 /* row offset 2 */,
  false /* BGR */);

1.5" GREENTAB B 128x128

Arduino_GFX *gfx = new Arduino_ST7735(
  bus, 7 /* RST */, 0 /* rotation */, false /* IPS */,
  128 /* width */, 128 /* height */,
  2 /* col offset 1 */, 3 /* row offset 1 */,
  2 /* col offset 2 */, 1 /* row offset 2 */);

1.5" GREENTAB C 128x128

Arduino_GFX *gfx = new Arduino_ST7735(
  bus, 7 /* RST */, 0 /* rotation */, false /* IPS */,
  128 /* width */, 128 /* height */,
  0 /* col offset 1 */, 32 /* row offset 1 */);

0.96" IPS LCD 80x160

Arduino_GFX *gfx = new Arduino_ST7735(
  bus, 7 /* RST */, 3 /* rotation */, true /* IPS */,
  80 /* width */, 160 /* height */,
  26 /* col offset 1 */, 1 /* row offset 1 */,
  26 /* col offset 2 */, 1 /* row offset 2 */);

ST7789 LCD

2.4" LCD 240x320

Arduino_GFX *gfx = new Arduino_ST7789(
  bus, 7 /* RST */, 0 /* rotation */);

2.4" IPS LCD 240x320

Arduino_GFX *gfx = new Arduino_ST7789(
  bus, 7 /* RST */, 0 /* rotation */, true /* IPS */);

1.69" IPS round corner LCD 240x280

Arduino_GFX *gfx = new Arduino_ST7789(
  bus, 7 /* RST */, 0 /* rotation */, true /* IPS */,
  240 /* width */, 280 /* height */,
  0 /* col offset 1 */, 20 /* row offset 1 */,
  0 /* col offset 2 */, 20 /* row offset 2 */);

1.3"/1.5" square IPS LCD 240x240

Arduino_GFX *gfx = new Arduino_ST7789(
  bus, 7 /* RST */, 0 /* rotation */, true /* IPS */,
  240 /* width */, 240 /* height */,
  0 /* col offset 1 */, 80 /* row offset 1 */);

1.14" IPS LCD 135x240 TTGO T-Display

Arduino_GFX *gfx = new Arduino_ST7789(
  bus, 7 /* RST */, 0 /* rotation */, true /* IPS */,
  135 /* width */, 240 /* height */,
  52 /* col offset 1 */, 40 /* row offset 1 */,
  53 /* col offset 2 */, 40 /* row offset 2 */);

ST7796 LCD

4" LCD 320x480

Arduino_GFX *gfx = new Arduino_ST7796(
  bus, 7 /* RST */, 0 /* rotation */);

4" IPS LCD 320x480

Arduino_GFX *gfx = new Arduino_ST7796(
  bus, 7 /* RST */, 0 /* rotation */, true /* IPS */);
Clone this wiki locally