Unable to connect ESP32 (30 gpio) with 1.54inch e-ink display (IL3829)

I have a

  1. 30 GPIO version of ESP32 (https://i.pinimg.com/originals/b4/47/02/b447026b22d6609aee17fddb097b0a46.png)

  2. 1.54 inch e-ink display (IL3829) (1.54 Inch E Paper Module E Ink Display Screen Module Black White Color SPI Support Global/Part refresh Diy For Arduino|Demo Board| - AliExpress)

I have connected them according to the following scheme: https://raw.githubusercontent.com/dankernel/esp32_e-paper/master/pin.png

I’m using GxEPD library (https://github.com/ZinggJM/GxEPD) and could not make the display work.

Here is my code snippet:

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

GxIO_Class io(SPI, SS, 2, -1);  //SPI,SS,DC,RST
GxEPD_Class display(io, -1, -1);  //io,RST,BUSY

void setup(void)
{
  Serial.begin(115200);
  display.init();              
  display.fillScreen(GxEPD_BLACK); 
  display.setRotation(1);   
  display.update();
}

void loop()
{
   display.setCursor(10, 10);
   display.print("TEST");
   display.update();
   delay(10000);
}

What i’m doing wrong?

1.54 Inch E-Paper Module E-Ink Display Screen Module Black White Color SPI Support Global/Part refresh Diy For Arduino

What i’m doing wrong?

Your wiring is ok, but suboptimal. This newer Heltec board has a BUSY bin. You should use it.
This will make diagnostic output from GxEPD slightly more meaningful (BUSY times or timeouts).
The RST connection is still missing.

Your e-paper board may have a different panel than the original one on the web-page.
The GDEP015OC1 is no longer available afaik, and replaced by the GDEH0154D67.
GDEH0154D67 is not yet supported by GxEPD, it will be supported soon. But here is an open PR for a fork.
GDEH0154D67 is supported by GxEPD2. I recommend GxEPD2 for new projects.

Please post the inking on the flex connector. This may allow to identify your panel.

Jean-Marc

Thank you very much!

I’ve connected the BUSY port from the display to the 22 ESP32 port and after I’ve switched to the GxEPD2 library - everything worked.

This snippet is the beginning of one of the templates from the library:

#define ENABLE_GxEPD2_GFX 0

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

GxEPD2_BW<GxEPD2_154_D67, GxEPD2_154_D67::HEIGHT> display(GxEPD2_154_D67(/*CS=5*/ SS, /*DC=*/ 2, /*RST=*/ -1, /*BUSY=*/ 22)); // GDEH0154D67

#include "GxEPD2_boards_added.h"
#include "bitmaps/Bitmaps200x200.h" // 1.54" b/w

Btw, the inking says that the model is: HINK-E0154A07-A1

@nkrt, thank you for your feedback!

I have the same inking on my GDEH0154D67 panel from Good Display.

Jean-Marc