Skip to content

Arduino GFX developing for various color displays and various data bus interfaces

Notifications You must be signed in to change notification settings

geraldjust/Arduino_GFX

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Arduino_GFX

This library is developing aim for support various data bus interfaces and various displays.

As I know, it should be the first Arduino display library that can support ESP32 9-bit hardware SPI. It is very important to support the displays (e.g. HX8357B, ST7701, ...) that only have 9-bit SPI interface.

This library start rewrite from Adafruit_GFX, TFT_eSPI, Ucglib and more...

Ease of use

Simple Declaration

(not require modify library header files)

#include "Arduino_GFX_Library.h"
Arduino_DataBus *bus = new Arduino_HWSPI(16 /* DC */, 5 /* CS */);
Arduino_GFX *gfx = new Arduino_ILI9341(bus, 17 /* RST */);

And Simple Usage

gfx->begin();
gfx->fillScreen(BLACK);
gfx->setCursor(10, 10);
gfx->setTextColor(RED);
gfx->println("Hello World!");

Performance

This library is not putting speed at the first priority, but still paid much effort to make the display look smooth. Below are some figures compare with other 2 Arduino common display libraries.

  • Arduino IDE: 1.8.10
  • MCU: ESP32-PICO-D4
  • PSRAM: disable
  • Display: ILI9341
  • Interface: SPI@40MHz
  • Test time: 2019 Oct 13
Benchmark Adafruit_GFX Arduino_GFX TFT_eSPI
Screen fill 39,055 32,229 33,355
Text 96,432 18,717 24,010
Pixels 1,353,319 919,219 768,022
Lines 1,061,808 455,992 307,429
Horiz/Vert Lines 17,614 14,277 14,587
Rectangles-filled 405,880 334,974 346,317
Rectangles 11,656 9,374 9,251
Circles-filled 76,619 55,173 62,182
Circles 118,051 52,315 46,909
Triangles-filled 150,999 120,362 117,591
Triangles 58,795 26,143 18,704
Rounded rects-fill 407,755 335,537 376,764
Rounded rects 42,668 21,100 24,201
Foot print Adafruit_GFX Arduino_GFX TFT_eSPI
Flash 232,572 245,544 231,136
Estimate memory 15,512 15,616 15,432

Currently Supported data bus

  • 8-bit and 9-bit hardware SPI (ESP32SPI)
  • 8-bit hardware SPI (HWSPI)
  • 8-bit and 9-bit software SPI (SWSPI)
  • 8-bit parallel interface (ESP32PAR8)

Tobe Support data bus (Donation can make it happen)

  • 16-bit parallel interface

Currently Supported Dev Device

  • M5Stack Core Family
  • Odroid Go
  • TTGO T-Watch
  • Wio Terminal

Currently Supported Display

Tobe Support Display (Donation can make it happen)

  • HX8347D 240x320 (first trial failed)
  • HX8357A 240x320 (first trial failed)
  • LG4573 480x800 (first trial failed)
  • ILI9806 480x800 (first trial failed)
  • ST7701 480x800
  • FastLED Martix supported by co-operate with Canvas
  • Mono display supported by co-operate with Canvas
  • Multi-color e-ink display supported by co-operate with Canvas
  • ILI9486 320x480 (3 bit color) supported by co-operate with Canvas

Used source code

About

Arduino GFX developing for various color displays and various data bus interfaces

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Languages

  • C++ 96.7%
  • C 3.3%