Waveshare 2.13 Inch e-Paper Display Hat(B) V3 and ESP-WROOM-32D

I'm lost :slight_smile:

I've been trying to get anything to display, but nothing is working, no error's just nothing appears on the display. I've tried several of the display driver classes, no luck.

Any help would be greatly appreciated.

The display

The board

PINS
VCC=>3V3
GND=>GND
DIN=>G23
CLK=>G18
CS=>G5
DC=>G2
RST=>G0
BUSY=>G4

#include <GxEPD2_3C.h>
#include <Fonts/FreeMonoBold9pt7b.h>

#include "GxEPD2_display_selection_new_style.h"

void setup()
{
  display.init(115200, true, 2, false); // USE THIS for Waveshare boards with "clever" reset circuit, 2ms reset pulse
  helloWorld();
  display.hibernate();
}

const char HelloWorld[] = "Hello World!";

void helloWorld()
{
  display.setRotation(1);
  display.setFont(&FreeMonoBold9pt7b);
  display.setTextColor(GxEPD_BLACK);
  int16_t tbx, tby; uint16_t tbw, tbh;
  display.getTextBounds(HelloWorld, 0, 0, &tbx, &tby, &tbw, &tbh);
  // center the bounding box by transposition of the origin:
  uint16_t x = ((display.width() - tbw) / 2) - tbx;
  uint16_t y = ((display.height() - tbh) / 2) - tby;
  display.setFullWindow();
  display.firstPage();
  do
  {
    display.fillScreen(GxEPD_WHITE);
    display.setCursor(x, y);
    display.print(HelloWorld);
  }
  while (display.nextPage());
}

void loop() {};

And uncommitted in the "GxEPD2_display_selection_new_style.h" under the

GxEPD2_DISPLAY_CLASS<GxEPD2_DRIVER_CLASS, MAX_HEIGHT(GxEPD2_DRIVER_CLASS)> display(GxEPD2_DRIVER_CLASS(/*CS=5*/ 5, /*DC=*/ 2, /*RST=*/ 0, /*BUSY=*/ 4)); // my LOLIN_D32_PRO proto board


Okay, I spent some time with this, maybe not the exact same display, but!..

I can report that the settings (commented in/out lines in the driver code) are absolutely critical, you have to nail the correct display model correctly, or no results...

You have to do more than "try a few". You have to find out, the right one because there are too many to try.

@declantiberius, Hi welcome to the world of e-paper displays!

Thank you for providing these pictures!

I don't have the same e-paper display from Waveshare.
I may ask them for a free sample, if it doesn't work with GxEPD2 yet. Or get one donated.

I assume your display is this one: 2.13inch E-Paper HAT (B), 250x122, Red/Black/White, SPI Interface.
Its wiki page is https://www.waveshare.com/wiki/2.13inch_e-Paper_HAT_(B).
From https://www.waveshare.com/wiki/2.13inch_e-Paper_HAT_(B)_Manual#Introduction:

V4: resolution of 250 × 122, V4 version hardware structure and interface compatible with V3 version, using V4 program. If you are buying for the first time and have a V4 label on the back of the screen, just use the V4 program.

The example from Waveshare with their driver code can be found here:
https://github.com/waveshareteam/e-Paper/tree/master/Arduino/epd2in13b_V4
Looking at epd2in13b_V4/epd2in13b_V4.cpp the controller might be SSD1680.

So there is a chance it might work as GDEY0213Z98. Try uncomment line 75:

//#define GxEPD2_DRIVER_CLASS GxEPD2_213_Z98c // GDEY0213Z98 122x250, SSD1680, (FPC-A002 20.04.08)

Don't forget to select the 3-color display class:

// 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_4C
//#define GxEPD2_DISPLAY_CLASS GxEPD2_7C

And make sure your wiring corresponds to the constructor parameters for your board.

If you still have a problem with your display, then report the inking you see on the flexible connector of the screen panel. And report all selections you made.

Good Luck!
-jz.

Hi aarg
Thank you for responding. I ran some code on the board and it gave me this back ...
22:56:28.570 -> MOSI: 23
22:56:28.570 -> MISO: 19
22:56:28.570 -> SCK: 18
22:56:28.570 -> SS: 5
This is what I used for the connections and this line of code under the "ESP32" section in GxEPD2_display_selection_new_style.h ...

GxEPD2_DISPLAY_CLASS<GxEPD2_DRIVER_CLASS, MAX_HEIGHT(GxEPD2_DRIVER_CLASS)> display(GxEPD2_DRIVER_CLASS(/*CS=5*/ 5, /*DC=*/ 17, /*RST=*/ 16, /*BUSY=*/ 4)); // my suggested wiring and proto board

I basically tried the two 104x212 displays under the section 3-color e-papers.

Still nothing.

Hi ZinggIM
Thank you for the suggestions. I actually have the 2.13 3 color 104x212 display HAT. The examples from Waveshare seem to be only for the Arduino UNO. But I'll give them a go and I'm still seeing nothing.

Declan

Just to repeat what ZinggJM asked earlier: what is the label on the flex connector?

Example:

flex_connector

Hi Toddnz
It has FPC-7528B. Thanks Todd.

Declan

I believe your display is DEPG0213RW.
Its true dimensions are 122x250, however I have seen it incorrectly marketed as 104x212.

Your display hat seems to be 2.13inch e-Paper HAT (B) V4, which does support 122x250px displays.

I cannot find any mention of which driver IC is used, but the commands given in the datasheet suggest SSD1680 or similar (?)

I have just now tested this panel with Arduino UNO, and can confirm that the settings suggested in ZinggJM's earlier post are correct.

#define GxEPD2_DRIVER_CLASS GxEPD2_213_Z98c // GDEY0213Z98 122x250, SSD1680, (FPC-A002 20.04.08)
#define GxEPD2_DISPLAY_CLASS GxEPD2_3C

Ok, both will fail!

Are you sure?

Panels with this kind of inking have SSD controllers, the actual ones SSD1680.

Are you sure you have a 3-color panel?
Post a picture from the front side. I would see some reddish on a b/w/r display.

Post diagnostic output from GxEPD2_Example.
-jz-

You may need an 1k pull-up resistor on RST to avoid boot mode problems (ESP32 strapping pins).

If it helps, for identification, I do have a raw panel with inking FPC-7528B.
Printed on the rear is the exact model number of DEPG0213RWS800F41HP

BW or 3-color?

3-Color Red

1 Like

Thank you! And thank you for the information that it works with the driver for GDEY0213Z98.
-jz-

1 Like

I thank you both so very much for all your help, it is working great with my Arduino UNO, I gave up on the ESP32-WROOM-32D, tried a lot of combinations, got nothing :frowning:
I'm happy and looking forward to learning e-Paper displays.

Declan

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