Skip to content

Display Class

moononournation edited this page Dec 25, 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)

GC9A01 IPS LCD 240x240

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

GC9106 IPS LCD 80x160

Arduino_GFX *gfx = new Arduino_GC9106(bus, TFT_RST, 0 /* rotation */, true /* IPS */);

GC9107 IPS LCD 128x128

Arduino_GFX *gfx = new Arduino_GC9107(bus, TFT_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 */);

HX8369A LCD 480x800

Arduino_GFX *gfx = new Arduino_HX8369A(bus, TFT_RST, 0 /* rotation */, false /* IPS */, 480, 800, 0, 7, 0, 57);

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 */);

NT35310 LCD 320x480

Arduino_GFX *gfx = new Arduino_NT35310(bus, TFT_RST, 0 /* rotation */);

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 */);

NV3041A IPS LCD

Arduino_GFX *gfx = new Arduino_NV3041A(bus, TFT_RST, 0 /* rotation */, true /* IPS */);

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 */);

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

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 */);