Issues e ink display

Hello,

I recently started playing with an arduino nano 33 iot, and i tried to make the screen of an e ink just black for testing purposes, now the screen is not doing anything.
The display i used is: https://www.amazon.de/-/nl/dp/B072Q4WTWH

So i am looking for some advice on what im doing wrong.
my code:

#include <GxEPD2_BW.h>


GxEPD2_BW<GxEPD2_154, GxEPD2_154::HEIGHT> display(GxEPD2_154(/*CS=*/ 10, /*DC=*/ 8, /*RST=*/ 9, /*BUSY=*/ 7));

void setup()
{
  Serial.begin(115200);
  display.init(115200, true, 1, false);
  display.setFullWindow();
  display.firstPage();
  do
  {
    display.fillScreen(GxEPD_BLACK);
  }
  while (display.nextPage());

  display.refresh();
}

void loop()
{

}

My pin configuration is:
BUSY -> D7
RST -> D9
DC -> D8
CS-> D10
CLK -> D13
DIN -> D11
GND -> GND
VCC -> v3.3

Thanks in advance,

Hello @quintendc_istaken , welcome to the forum!

The better approach is to use one of the examples, when starting with a new library.
For GxEPD2 I recommend to start with GxEPD2_Example or GxEPD2_HelloWorld.

In there you find the header file GxEPD2_display_selection_new_style.h.
It has a list of all display panels supported by GxEPD2. And in the comment you can see the inking found on the panels I have. Compare this inking with the one of your display.

//#define GxEPD2_DRIVER_CLASS GxEPD2_150_BN  // DEPG0150BN 200x200, SSD1681, (FPC8101), TTGO T5 V2.4.1
//#define GxEPD2_DRIVER_CLASS GxEPD2_154     // GDEP015OC1  200x200, IL3829, (WFC0000CZ07), no longer available
//#define GxEPD2_DRIVER_CLASS GxEPD2_154_D67 // GDEH0154D67 200x200, SSD1681, (HINK-E154A07-A1)
//#define GxEPD2_DRIVER_CLASS GxEPD2_154_T8  // GDEW0154T8  152x152, UC8151 (IL0373), (WFT0154CZ17)
//#define GxEPD2_DRIVER_CLASS GxEPD2_154_M09 // GDEW0154M09 200x200, JD79653A, (WFT0154CZB3)
//#define GxEPD2_DRIVER_CLASS GxEPD2_154_M10 // GDEW0154M10 152x152, UC8151D, (WFT0154CZ17)
//#define GxEPD2_DRIVER_CLASS GxEPD2_154_GDEY0154D67 // GDEY0154D67 200x200, SSD1681, (FPC-B001 20.05.21)

These are the candidates for your display. You could try them all, or compare the inking.

You could also measure the diameter of your Waveshare display, and notice that they cheat slightly, their actual display panel is one millimeter too short, it is 1.5" instead of 1.54".
Therefore the best candidate is the DEPG0150BN.

Good luck!
-jz-

Ok big thanks for the tips, its working now.

In case anyone needs it here is the code is used:

#include <GxEPD.h>
#include <GxGDEH0154D67/GxGDEH0154D67.h>
#include <GxIO/GxIO_SPI/GxIO_SPI.h>
#include <GxIO/GxIO.h>

#define EINK_CS 10
#define EINK_DC 8
#define EINK_RST 9
#define EINK_BUSY 7

GxIO_Class io(SPI, EINK_CS, EINK_DC, EINK_RST);
GxEPD_Class display(io, EINK_RST, EINK_BUSY);

void setup() {
  Serial.begin(115200);
  while (!Serial);

  display.init();
  display.setRotation(1);
  display.fillScreen(GxEPD_WHITE);  
  display.setTextColor(GxEPD_BLACK);
  display.fillScreen(GxEPD_WHITE);
  display.setCursor(0, 0);
  display.setTextSize(2);
  display.println("Hello World!");
  display.update();
}

void loop() {
}

with the following pin configuration:

// mapping suggestion for Arduino Nano RP2040 Connect (Arduino MBED OS Nano Boards)
// BUSY -> 7, RST -> 9, DC -> 8, CS-> 10, CLK -> 13, DIN -> 11

This topic was automatically closed 180 days after the last reply. New replies are no longer allowed.