-
Notifications
You must be signed in to change notification settings - Fork 246
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- added support for GDEM029T94 128x296 b/w e-paper panel - added support for GDEW026M01 152x296 b/w new DES e-paper panel - the new GDEW026M01 DES b/w e-paper panel has higher contrast and wide temperature range - differential refresh (fast partial update) is supported for normal temperature range - disable differential refresh for extended temperatures by setting hasFastPartialUpdate = false; - the differential waveform table for GDEW026M01 is experimental and may need improvement - major update of display selection in the examples to make additions easier: - old style selection is now in separate include files GxEPD2_display_selection.h - and GxEPD2_display_selection_added.h - added new style display selection in include file GxEPD2_display_selection_new_style.h - either selection style can be used. old style is intended for easy copying of constructor lines.
- Loading branch information
Showing
58 changed files
with
4,950 additions
and
4,119 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Large diffs are not rendered by default.
Oops, something went wrong.
180 changes: 96 additions & 84 deletions
180
..._HelloWorld/GxEPD2_constructor_examples.h → ...GxEPD2_Example/GxEPD2_display_selection.h
Large diffs are not rendered by default.
Oops, something went wrong.
File renamed without changes.
173 changes: 173 additions & 0 deletions
173
examples/GxEPD2_Example/GxEPD2_display_selection_new_style.h
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,173 @@ | ||
// Display Library example for SPI e-paper panels from Dalian Good Display and boards from Waveshare. | ||
// Requires HW SPI and Adafruit_GFX. Caution: the e-paper panels require 3.3V supply AND data lines! | ||
// | ||
// Display Library based on Demo Example from Good Display: http://www.e-paper-display.com/download_list/downloadcategoryid=34&isMode=false.html | ||
// | ||
// Author: Jean-Marc Zingg | ||
// | ||
// Version: see library.properties | ||
// | ||
// Library: https://github.com/ZinggJM/GxEPD2 | ||
|
||
// Supporting Arduino Forum Topics: | ||
// Waveshare e-paper displays with SPI: http://forum.arduino.cc/index.php?topic=487007.0 | ||
// Good Display ePaper for Arduino: https://forum.arduino.cc/index.php?topic=436411.0 | ||
|
||
// select the display class (only one), matching the kind of display panel | ||
#define GxEPD2_DISPLAY_CLASS GxEPD2_BW | ||
//#define GxEPD2_DISPLAY_CLASS GxEPD2_3C | ||
//#define GxEPD2_DISPLAY_CLASS GxEPD2_7C | ||
|
||
// select the display driver class (only one) for your panel | ||
//#define GxEPD2_DRIVER_CLASS GxEPD2_154 // GDEP015OC1 200x200, no longer available | ||
//#define GxEPD2_DRIVER_CLASS GxEPD2_154_D67 // GDEH0154D67 200x200 | ||
//#define GxEPD2_DRIVER_CLASS GxEPD2_154_T8 // GDEW0154T8 152x152 | ||
//#define GxEPD2_DRIVER_CLASS GxEPD2_154_M09 // GDEW0154M09 200x200 | ||
//#define GxEPD2_DRIVER_CLASS GxEPD2_154_M10 // GDEW0154M10 152x152 | ||
//#define GxEPD2_DRIVER_CLASS GxEPD2_213 // GDE0213B1 128x250, phased out | ||
//#define GxEPD2_DRIVER_CLASS GxEPD2_213_B72 // GDEH0213B72 128x250 | ||
//#define GxEPD2_DRIVER_CLASS GxEPD2_213_B73 // GDEH0213B73 128x250 | ||
//#define GxEPD2_DRIVER_CLASS GxEPD2_213_flex // GDEW0213I5F 128x250 | ||
//#define GxEPD2_DRIVER_CLASS GxEPD2_213_M21 // GDEW0213M21 128x250 | ||
//#define GxEPD2_DRIVER_CLASS GxEPD2_290 // GDEH029A1 128x296 | ||
//#define GxEPD2_DRIVER_CLASS GxEPD2_290_T5 // GDEW029T5 128x296 | ||
//#define GxEPD2_DRIVER_CLASS GxEPD2_290_T94 // GDEM029T94 128x296 | ||
//#define GxEPD2_DRIVER_CLASS GxEPD2_290_M06 // GDEW029M06 128x296 | ||
//#define GxEPD2_DRIVER_CLASS GxEPD2_260 // GDEW026T0 152x296 | ||
//#define GxEPD2_DRIVER_CLASS GxEPD2_260_M01 // GDEW026M01 152x296 | ||
//#define GxEPD2_DRIVER_CLASS GxEPD2_270 // GDEW027W3 176x264 | ||
//#define GxEPD2_DRIVER_CLASS GxEPD2_371 // GDEW0371W7 240x416 | ||
//#define GxEPD2_DRIVER_CLASS GxEPD2_420 // GDEW042T2 400x300 | ||
//#define GxEPD2_DRIVER_CLASS GxEPD2_420_M01 // GDEW042M01 400x300 | ||
//#define GxEPD2_DRIVER_CLASS GxEPD2_583 // GDEW0583T7 600x448 | ||
//#define GxEPD2_DRIVER_CLASS GxEPD2_583_T8 // GDEW0583T8 648x480 | ||
//#define GxEPD2_DRIVER_CLASS GxEPD2_750 // GDEW075T8 640x384 | ||
//#define GxEPD2_DRIVER_CLASS GxEPD2_750_T7 // GDEW075T7 800x480 | ||
// 3-color e-papers | ||
//#define GxEPD2_DRIVER_CLASS GxEPD2_154c // GDEW0154Z04 200x200, no longer available | ||
//#define GxEPD2_DRIVER_CLASS GxEPD2_154_Z90c // GDEH0154Z90 200x200 | ||
//#define GxEPD2_DRIVER_CLASS GxEPD2_213c // GDEW0213Z16 104x212 | ||
//#define GxEPD2_DRIVER_CLASS GxEPD2_290c // GDEW029Z10 128x296 | ||
//#define GxEPD2_DRIVER_CLASS GxEPD2_270c // GDEW027C44 176x264 | ||
//#define GxEPD2_DRIVER_CLASS GxEPD2_420c // GDEW042Z15 400x300 | ||
//#define GxEPD2_DRIVER_CLASS GxEPD2_583c // GDEW0583Z21 600x448 | ||
//#define GxEPD2_DRIVER_CLASS GxEPD2_750c // GDEW075Z09 600x384 | ||
//#define GxEPD2_DRIVER_CLASS GxEPD2_750c_Z08 // GDEW075Z08 800x480 | ||
//#define GxEPD2_DRIVER_CLASS GxEPD2_750c_Z90 // GDEH075Z90 880x528 | ||
//#define GxEPD2_DRIVER_CLASS GxEPD2_1248 // GDEW1248T3 1303x984 | ||
// 7-color e-paper | ||
//#define GxEPD2_DRIVER_CLASS GxEPD2_565c // Waveshare 5.65" 7-color (3C graphics) | ||
// grey levels parallel IF e-papers on Waveshare e-Paper IT8951 Driver HAT | ||
//#define GxEPD2_DRIVER_CLASS GxEPD2_it60 // ED060SCT 800x600 | ||
//#define GxEPD2_DRIVER_CLASS GxEPD2_it60_1448x1072 // ED060KC1 1448x1072 | ||
|
||
// SS is usually used for CS. define here for easy change | ||
#ifndef EPD_CS | ||
#define EPD_CS SS | ||
#endif | ||
|
||
#if defined(GxEPD2_DISPLAY_CLASS) && defined(GxEPD2_DRIVER_CLASS) | ||
|
||
#if defined (ESP8266) | ||
#define MAX_DISPLAY_BUFFER_SIZE (81920ul-34000ul-5000ul) // ~34000 base use, change 5000 to your application use | ||
#if GxEPD2_DISPLAY_CLASS == GxEPD2_BW | ||
#define MAX_HEIGHT(EPD) (EPD::HEIGHT <= MAX_DISPLAY_BUFFER_SIZE / (EPD::WIDTH / 8) ? EPD::HEIGHT : MAX_DISPLAY_BUFFER_SIZE / (EPD::WIDTH / 8)) | ||
#elif GxEPD2_DISPLAY_CLASS == GxEPD2_3C | ||
#define MAX_HEIGHT(EPD) (EPD::HEIGHT <= (MAX_DISPLAY_BUFFER_SIZE / 2) / (EPD::WIDTH / 8) ? EPD::HEIGHT : (MAX_DISPLAY_BUFFER_SIZE / 2) / (EPD::WIDTH / 8)) | ||
#elif GxEPD2_DISPLAY_CLASS == GxEPD2_7C | ||
#define MAX_HEIGHT(EPD) (EPD::HEIGHT <= (MAX_DISPLAY_BUFFER_SIZE) / (EPD::WIDTH / 2) ? EPD::HEIGHT : (MAX_DISPLAY_BUFFER_SIZE) / (EPD::WIDTH / 2)) | ||
#endif | ||
// adapt the constructor parameters to your wiring | ||
GxEPD2_DISPLAY_CLASS<GxEPD2_DRIVER_CLASS, MAX_HEIGHT(GxEPD2_DRIVER_CLASS)> display(GxEPD2_DRIVER_CLASS(/*CS=D8*/ EPD_CS, /*DC=D3*/ 0, /*RST=D4*/ 2, /*BUSY=D2*/ 4)); | ||
// mapping of Waveshare e-Paper ESP8266 Driver Board, new version | ||
//GxEPD2_DISPLAY_CLASS<GxEPD2_DRIVER_CLASS, MAX_HEIGHT(GxEPD2_DRIVER_CLASS)> display(GxEPD2_DRIVER_CLASS(/*CS=15*/ EPD_CS, /*DC=4*/ 4, /*RST=2*/ 2, /*BUSY=5*/ 5)); | ||
// mapping of Waveshare e-Paper ESP8266 Driver Board, old version | ||
//GxEPD2_DISPLAY_CLASS<GxEPD2_DRIVER_CLASS, MAX_HEIGHT(GxEPD2_DRIVER_CLASS)> display(GxEPD2_DRIVER_CLASS(/*CS=15*/ EPD_CS, /*DC=4*/ 4, /*RST=5*/ 5, /*BUSY=16*/ 16)); | ||
#endif | ||
|
||
#if defined(ESP32) | ||
#define MAX_DISPLAY_BUFFER_SIZE 65536ul // e.g. | ||
#if GxEPD2_DISPLAY_CLASS == GxEPD2_BW | ||
#define MAX_HEIGHT(EPD) (EPD::HEIGHT <= MAX_DISPLAY_BUFFER_SIZE / (EPD::WIDTH / 8) ? EPD::HEIGHT : MAX_DISPLAY_BUFFER_SIZE / (EPD::WIDTH / 8)) | ||
#elif GxEPD2_DISPLAY_CLASS == GxEPD2_3C | ||
#define MAX_HEIGHT(EPD) (EPD::HEIGHT <= (MAX_DISPLAY_BUFFER_SIZE / 2) / (EPD::WIDTH / 8) ? EPD::HEIGHT : (MAX_DISPLAY_BUFFER_SIZE / 2) / (EPD::WIDTH / 8)) | ||
#elif GxEPD2_DISPLAY_CLASS == GxEPD2_7C | ||
#define MAX_HEIGHT(EPD) (EPD::HEIGHT <= (MAX_DISPLAY_BUFFER_SIZE) / (EPD::WIDTH / 2) ? EPD::HEIGHT : (MAX_DISPLAY_BUFFER_SIZE) / (EPD::WIDTH / 2)) | ||
#endif | ||
// adapt the constructor parameters to your wiring | ||
#if (GxEPD2_DRIVER_CLASS != GxEPD2_1248) | ||
#if defined(ARDUINO_LOLIN_D32_PRO) | ||
GxEPD2_DISPLAY_CLASS<GxEPD2_DRIVER_CLASS, MAX_HEIGHT(GxEPD2_DRIVER_CLASS)> display(GxEPD2_DRIVER_CLASS(/*CS=5*/ EPD_CS, /*DC=*/ 0, /*RST=*/ 2, /*BUSY=*/ 15)); | ||
#elif defined(ARDUINO_ESP32_DEV) // e.g. TTGO T8 ESP32-WROVER | ||
GxEPD2_DISPLAY_CLASS<GxEPD2_DRIVER_CLASS, MAX_HEIGHT(GxEPD2_DRIVER_CLASS)> display(GxEPD2_DRIVER_CLASS(/*CS=5*/ EPD_CS, /*DC=*/ 2, /*RST=*/ 0, /*BUSY=*/ 4)); | ||
#else | ||
GxEPD2_DISPLAY_CLASS<GxEPD2_DRIVER_CLASS, MAX_HEIGHT(GxEPD2_DRIVER_CLASS)> display(GxEPD2_DRIVER_CLASS(/*CS=5*/ EPD_CS, /*DC=*/ 17, /*RST=*/ 16, /*BUSY=*/ 4)); | ||
#endif | ||
#else // GxEPD2_1248 | ||
// Waveshare 12.48 b/w SPI display board and frame or Good Display 12.48 b/w panel GDEW1248T3 | ||
// general constructor for use with all parameters, e.g. for Waveshare ESP32 driver board mounted on connection board | ||
GxEPD2_BW < GxEPD2_1248, GxEPD2_1248::HEIGHT / 4 > display(GxEPD2_1248(/*sck=*/ 13, /*miso=*/ 12, /*mosi=*/ 14, | ||
/*cs_m1=*/ 23, /*cs_s1=*/ 22, /*cs_m2=*/ 16, /*cs_s2=*/ 19, | ||
/*dc1=*/ 25, /*dc2=*/ 17, /*rst1=*/ 33, /*rst2=*/ 5, | ||
/*busy_m1=*/ 32, /*busy_s1=*/ 26, /*busy_m2=*/ 18, /*busy_s2=*/ 4)); | ||
#endif | ||
#endif | ||
|
||
// can't use package "STMF1 Boards (STM32Duino.com)" (Roger Clark) anymore with Adafruit_GFX, use "STM32 Boards (selected from submenu)" (STMicroelectronics) | ||
#if defined(ARDUINO_ARCH_STM32) | ||
#define MAX_DISPLAY_BUFFER_SIZE 15000ul // ~15k is a good compromise | ||
#if GxEPD2_DISPLAY_CLASS == GxEPD2_BW | ||
#define MAX_HEIGHT(EPD) (EPD::HEIGHT <= MAX_DISPLAY_BUFFER_SIZE / (EPD::WIDTH / 8) ? EPD::HEIGHT : MAX_DISPLAY_BUFFER_SIZE / (EPD::WIDTH / 8)) | ||
#elif GxEPD2_DISPLAY_CLASS == GxEPD2_3C | ||
#define MAX_HEIGHT(EPD) (EPD::HEIGHT <= (MAX_DISPLAY_BUFFER_SIZE / 2) / (EPD::WIDTH / 8) ? EPD::HEIGHT : (MAX_DISPLAY_BUFFER_SIZE / 2) / (EPD::WIDTH / 8)) | ||
#elif GxEPD2_DISPLAY_CLASS == GxEPD2_7C | ||
#define MAX_HEIGHT(EPD) (EPD::HEIGHT <= (MAX_DISPLAY_BUFFER_SIZE) / (EPD::WIDTH / 2) ? EPD::HEIGHT : (MAX_DISPLAY_BUFFER_SIZE) / (EPD::WIDTH / 2)) | ||
#endif | ||
// adapt the constructor parameters to your wiring | ||
GxEPD2_DISPLAY_CLASS<GxEPD2_DRIVER_CLASS, MAX_HEIGHT(GxEPD2_DRIVER_CLASS)> display(GxEPD2_DRIVER_CLASS(/*CS=4*/ EPD_CS, /*DC=*/ 3, /*RST=*/ 2, /*BUSY=*/ 1)); | ||
#endif | ||
|
||
#if defined(__AVR) | ||
#if defined (ARDUINO_AVR_MEGA2560) | ||
#define MAX_DISPLAY_BUFFER_SIZE 5000 // e.g. full height for 200x200 | ||
#else | ||
#define MAX_DISPLAY_BUFFER_SIZE 800 // | ||
#endif | ||
#if GxEPD2_DISPLAY_CLASS == GxEPD2_BW | ||
#define MAX_HEIGHT(EPD) (EPD::HEIGHT <= MAX_DISPLAY_BUFFER_SIZE / (EPD::WIDTH / 8) ? EPD::HEIGHT : MAX_DISPLAY_BUFFER_SIZE / (EPD::WIDTH / 8)) | ||
#elif GxEPD2_DISPLAY_CLASS == GxEPD2_3C | ||
#define MAX_HEIGHT(EPD) (EPD::HEIGHT <= (MAX_DISPLAY_BUFFER_SIZE / 2) / (EPD::WIDTH / 8) ? EPD::HEIGHT : (MAX_DISPLAY_BUFFER_SIZE / 2) / (EPD::WIDTH / 8)) | ||
#elif GxEPD2_DISPLAY_CLASS == GxEPD2_7C | ||
#define MAX_HEIGHT(EPD) (EPD::HEIGHT <= (MAX_DISPLAY_BUFFER_SIZE) / (EPD::WIDTH / 2) ? EPD::HEIGHT : (MAX_DISPLAY_BUFFER_SIZE) / (EPD::WIDTH / 2)) | ||
#endif | ||
// adapt the constructor parameters to your wiring | ||
GxEPD2_DISPLAY_CLASS<GxEPD2_DRIVER_CLASS, MAX_HEIGHT(GxEPD2_DRIVER_CLASS)> display(GxEPD2_DRIVER_CLASS(/*CS=10*/ EPD_CS, /*DC=*/ 8, /*RST=*/ 9, /*BUSY=*/ 7)); | ||
#endif | ||
|
||
#if defined(ARDUINO_ARCH_SAM) | ||
#define MAX_DISPLAY_BUFFER_SIZE 32768ul // e.g., up to 96k | ||
#if GxEPD2_DISPLAY_CLASS == GxEPD2_BW | ||
#define MAX_HEIGHT(EPD) (EPD::HEIGHT <= MAX_DISPLAY_BUFFER_SIZE / (EPD::WIDTH / 8) ? EPD::HEIGHT : MAX_DISPLAY_BUFFER_SIZE / (EPD::WIDTH / 8)) | ||
#elif GxEPD2_DISPLAY_CLASS == GxEPD2_3C | ||
#define MAX_HEIGHT(EPD) (EPD::HEIGHT <= (MAX_DISPLAY_BUFFER_SIZE / 2) / (EPD::WIDTH / 8) ? EPD::HEIGHT : (MAX_DISPLAY_BUFFER_SIZE / 2) / (EPD::WIDTH / 8)) | ||
#elif GxEPD2_DISPLAY_CLASS == GxEPD2_7C | ||
#define MAX_HEIGHT(EPD) (EPD::HEIGHT <= (MAX_DISPLAY_BUFFER_SIZE) / (EPD::WIDTH / 2) ? EPD::HEIGHT : (MAX_DISPLAY_BUFFER_SIZE) / (EPD::WIDTH / 2)) | ||
#endif | ||
// adapt the constructor parameters to your wiring | ||
GxEPD2_DISPLAY_CLASS<GxEPD2_DRIVER_CLASS, MAX_HEIGHT(GxEPD2_DRIVER_CLASS)> display(GxEPD2_DRIVER_CLASS(/*CS=77*/ EPD_CS, /*DC=*/ 8, /*RST=*/ 9, /*BUSY=*/ 7)); | ||
#endif | ||
|
||
#if defined(ARDUINO_ARCH_SAMD) | ||
#define MAX_DISPLAY_BUFFER_SIZE 15000ul // ~15k is a good compromise | ||
#if GxEPD2_DISPLAY_CLASS == GxEPD2_BW | ||
#define MAX_HEIGHT(EPD) (EPD::HEIGHT <= MAX_DISPLAY_BUFFER_SIZE / (EPD::WIDTH / 8) ? EPD::HEIGHT : MAX_DISPLAY_BUFFER_SIZE / (EPD::WIDTH / 8)) | ||
#elif GxEPD2_DISPLAY_CLASS == GxEPD2_3C | ||
#define MAX_HEIGHT(EPD) (EPD::HEIGHT <= (MAX_DISPLAY_BUFFER_SIZE / 2) / (EPD::WIDTH / 8) ? EPD::HEIGHT : (MAX_DISPLAY_BUFFER_SIZE / 2) / (EPD::WIDTH / 8)) | ||
#elif GxEPD2_DISPLAY_CLASS == GxEPD2_7C | ||
#define MAX_HEIGHT(EPD) (EPD::HEIGHT <= (MAX_DISPLAY_BUFFER_SIZE) / (EPD::WIDTH / 2) ? EPD::HEIGHT : (MAX_DISPLAY_BUFFER_SIZE) / (EPD::WIDTH / 2)) | ||
#endif | ||
// adapt the constructor parameters to your wiring | ||
GxEPD2_DISPLAY_CLASS<GxEPD2_DRIVER_CLASS, MAX_HEIGHT(GxEPD2_DRIVER_CLASS)> display(GxEPD2_DRIVER_CLASS(/*CS=4*/ 4, /*DC=*/ 7, /*RST=*/ 6, /*BUSY=*/ 5)); | ||
#endif | ||
|
||
#endif |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,71 @@ | ||
// Display Library example for SPI e-paper panels from Dalian Good Display and boards from Waveshare. | ||
// Requires HW SPI and Adafruit_GFX. Caution: the e-paper panels require 3.3V supply AND data lines! | ||
// | ||
// Display Library based on Demo Example from Good Display: http://www.e-paper-display.com/download_list/downloadcategoryid=34&isMode=false.html | ||
// | ||
// Author: Jean-Marc Zingg | ||
// | ||
// Version: see library.properties | ||
// | ||
// Library: https://github.com/ZinggJM/GxEPD2 | ||
|
||
// Supporting Arduino Forum Topics: | ||
// Waveshare e-paper displays with SPI: http://forum.arduino.cc/index.php?topic=487007.0 | ||
// Good Display ePaper for Arduino: https://forum.arduino.cc/index.php?topic=436411.0 | ||
|
||
// mapping suggestion from Waveshare SPI e-Paper to Wemos D1 mini | ||
// BUSY -> D2, RST -> D4, DC -> D3, CS -> D8, CLK -> D5, DIN -> D7, GND -> GND, 3.3V -> 3.3V | ||
// NOTE: connect 3.3k pull-down from D8 to GND if your board or shield has level converters | ||
// NOTE for ESP8266: using SS (GPIO15) for CS may cause boot mode problems, use different pin in case, or 4k7 pull-down | ||
|
||
// mapping suggestion from Waveshare SPI e-Paper to generic ESP8266 | ||
// BUSY -> GPIO4, RST -> GPIO2, DC -> GPIO0, CS -> GPIO15, CLK -> GPIO14, DIN -> GPIO13, GND -> GND, 3.3V -> 3.3V | ||
// NOTE: connect 3.3k pull-down from GPIO15 to GND if your board or shield has level converters | ||
// NOTE for ESP8266: using SS (GPIO15) for CS may cause boot mode problems, use different pin in case, or 3.3k pull-down | ||
|
||
// mapping of Waveshare e-Paper ESP8266 Driver Board, new version | ||
// BUSY -> GPIO5, RST -> GPIO2, DC -> GPIO4, CS -> GPIO15, CLK -> GPIO14, DIN -> GPIO13, GND -> GND, 3.3V -> 3.3V | ||
// NOTE for ESP8266: using SS (GPIO15) for CS may cause boot mode problems, add a 3.3k pull-down in case | ||
// the e-Paper ESP8266 Driver Board should have no boot mode issue, as it doesn't use level converters | ||
|
||
// mapping of Waveshare e-Paper ESP8266 Driver Board, old version | ||
// BUSY -> GPIO16, RST -> GPIO5, DC -> GPIO4, CS -> GPIO15, CLK -> GPIO14, DIN -> GPIO13, GND -> GND, 3.3V -> 3.3V | ||
// NOTE for ESP8266: using SS (GPIO15) for CS may cause boot mode problems, add a 3.3k pull-down in case | ||
// the e-Paper ESP8266 Driver Board should have no boot mode issue, as it doesn't use level converters | ||
|
||
// mapping suggestion for ESP32, e.g. LOLIN32, see .../variants/.../pins_arduino.h for your board | ||
// NOTE: there are variants with different pins for SPI ! CHECK SPI PINS OF YOUR BOARD | ||
// BUSY -> 4, RST -> 16, DC -> 17, CS -> SS(5), CLK -> SCK(18), DIN -> MOSI(23), GND -> GND, 3.3V -> 3.3V | ||
|
||
// mapping of Waveshare ESP32 Driver Board | ||
// BUSY -> 25, RST -> 26, DC -> 27, CS-> 15, CLK -> 13, DIN -> 14 | ||
// NOTE: this board uses "unusual" SPI pins and requires re-mapping of HW SPI to these pins in SPIClass | ||
// see example GxEPD2_WS_ESP32_Driver.ino, it shows how this can be done easily | ||
|
||
// mapping suggestion for ESP32, e.g. LOLIN32 D32 PRO | ||
// BUSY -> 15, RST -> 2, DC -> 0, CS -> 5, CLK -> SCK(18), DIN -> MOSI(23), GND -> GND, 3.3V -> 3.3V | ||
// note: use explicit value for CS, as SS is re-defined to TF_CS(4) in pins_arduino.h for Board: "LOLIN D32 PRO" | ||
|
||
// mapping suggestion for ESP32, e.g. TTGO T8 ESP32-WROVER | ||
// BUSY -> 4, RST -> 0, DC -> 2, CS -> SS(5), CLK -> SCK(18), DIN -> MOSI(23), GND -> GND, 3.3V -> 3.3V | ||
// for use with Board: "ESP32 Dev Module": | ||
|
||
// new mapping suggestion for STM32F1, e.g. STM32F103C8T6 "BluePill" | ||
// BUSY -> A1, RST -> A2, DC -> A3, CS-> A4, CLK -> A5, DIN -> A7 | ||
|
||
// mapping suggestion for AVR, UNO, NANO etc. | ||
// BUSY -> 7, RST -> 9, DC -> 8, CS-> 10, CLK -> 13, DIN -> 11 | ||
|
||
// mapping of Waveshare Universal e-Paper Raw Panel Driver Shield for Arduino / NUCLEO | ||
// BUSY -> 7, RST -> 8, DC -> 9, CS-> 10, CLK -> 13, DIN -> 11 | ||
|
||
// mapping suggestion for Arduino MEGA | ||
// BUSY -> 7, RST -> 9, DC -> 8, CS-> 53, CLK -> 52, DIN -> 51 | ||
|
||
// mapping suggestion for Arduino DUE | ||
// BUSY -> 7, RST -> 9, DC -> 8, CS-> 77, CLK -> 76, DIN -> 75 | ||
// SPI pins are on 6 pin 2x3 SPI header | ||
|
||
// mapping suggestion for Arduino MKR1000 or MKRZERO | ||
// note: can't use SS on MKR1000: is defined as 24, should be 4 | ||
// BUSY -> 5, RST -> 6, DC -> 7, CS-> 4, CLK -> 9, DIN -> 8 |
Oops, something went wrong.