Skip to content
Particle Display Library for SPI E-Paper Displays
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Type Name Latest commit message Commit time
Failed to load latest commit information.
LICENSE initial, doesn't work Dec 12, 2018


Particle Display Library for SPI E-Paper Displays

  • With full Graphics and Text support using Adafruit_GFX (Adafruit_GFX_RK Version 1.3.5)

  • For SPI e-paper displays from Dalian Good Display

  • and SPI e-paper boards from Waveshare

important note :

  • the display panels are for 3.3V supply and 3.3V data lines
  • never connect data lines directly to 5V data pins.
  • the actual Waveshare display boards now have level converters and series regulator, safe for 5V

Paged Drawing, Picture Loop

  • This library uses paged drawing to limit RAM use and cope with missing single pixel update support
  • buffer size can be selected in the application by template parameter page_height, see GxEPD2_Example
  • Paged drawing is implemented as picture loop, like in U8G2 (Oliver Kraus)
  • see
  • Paged drawing is also available using drawPaged() and drawCallback(), like in GxEPD
  • // GxEPD style paged drawing; drawCallback() is called as many times as needed
  • void drawPaged(void (*drawCallback)(const void*), const void* pv)
  • paged drawing is done using Adafruit_GFX methods inside picture loop or drawCallback

Full Screen Buffer Support

  • full screen buffer is selected by setting template parameter page_height to display height
  • drawing to full screen buffer is done using Adafruit_GFX methods without picture loop or drawCallback
  • and then calling method display()

Low Level Bitmap Drawing Support

  • bitmap drawing support to the controller memory and screen is available:
  • either through the template class instance methods that forward calls to the base display class
  • or directy using an instance of a base display class and calling its methods directly

Supporting Particle Community Forum Topic:

Supporting Arduino Forum Topics:

Note on documentation

  • GxEPD2 uses Adafruit_GFX for Graphics and Text support, which is well documented there
  • GxEPD2 uses meaningful method names, and has some comments in the header files
  • consult the header files GxEPD2_BW.h, GxEPD2_3C.h and GxEPD2_GFX.h
  • for the concept of paged drawing and picture loop see:

Supported SPI e-paper panels from Good Display:

  • GDEP015OC1 1.54" b/w
  • GDEW0154Z04 1.54" b/w/r 200x200
  • GDE0213B1 2.13" b/w
  • GDEH0213B72 2.13" b/w, replacement for GDE0213B1
  • GDEW0213I5F 2.13" b/w flexible
  • GDEW0213Z16 2.13" b/w/r
  • GDEH029A1 2.9" b/w
  • GDEW029T5 2.9" b/w
  • GDEW029Z10 2.9" b/w/r
  • GDEW027C44 2.7" b/w/r
  • GDEW027W3 2.7" b/w
  • GDEW042T2 4.2" b/w
  • GDEW042Z15 4.2" b/w/r
  • GDEW0583T7 5.83" b/w
  • GDEW075T8 7.5" b/w
  • GDEW075Z09 7.5" b/w/r

Supported SPI e-paper panels & boards from Waveshare: compare with Good Display, same panel

other supported panels

  • ED060SCT 6" grey levels, on Waveshare e-Paper IT8951 Driver HAT

Version 1.1.0+

  • added GxEPD2_PP_WiFi_Example, for bitmap download from web
  • only download from http: works, would need help for https:
  • only on GitHub, to avoid the need to increase the version for publish
  • this is preliminary!

Version 1.1.0

  • corresponds to GxEPD2 Version 1.1.6
  • added support for GDEH0213B72 2.13" b/w, replacement for GDE0213B1

Version 1.0.9

  • added support for GDEW029T5
  • fixed (added) clipping for partial window
  • fixed (added) powerOff() after full update (partial update keeps power on)
  • added hibernate() for minimum power use by displays that support it

Version 1.0.8

  • retired, wrong dependency in GxEPD2_PP_Example

Version 1.0.7

  • fix drawImage(...) overloaded methods signature matching abiguity
  • preliminary version

Version 1.0.6

  • preliminary version
  • based on GxEPD2 Version 1.1.0
You can’t perform that action at this time.