Help Needed with Waveshare 7.5" E-Ink Display (Rev 2.3 HAT) and ESP32

Hi all,

I’ve been trying to get a Waveshare 7.5" E-Ink Display (Rev 2.3 HAT) working with an ESP32 WROOM Development Board (specifically the DIYMORE ESP32 WROOM with Type C and CP2102 chip), but I’ve hit a roadblock (understatement!). I’m hoping someone here can help troubleshoot or point me in the right direction. Apologies for all the info. I didn't know how much to post.

I’m a complete newbie to all of this and just want to build a functioning weather display, but I can’t get the screen to work. I’ve tried three ESP32 modules and two screens with three Hats , so I don’t think this is a hardware issue. Here’s a detailed summary of what I’ve done so far (I’ve been using ChatGPT as well)

Hardware Setup

1. E-Ink Display :

  • Waveshare 7.5" E-Ink Display Rev 2.3 HAT.

  • Sticker on the rear of the screen says: 075BN-T7-D2 .

  • Resolution: 800x480 .

2. Controller Board :

  • DIYMORE ESP32 WROOM with Type C and CP2102 chip.

  • Voltage: 3.3V logic , powered via USB.

3. Connections :
The Waveshare HAT (rev 2.3) is connected to the ESP32 as follows:

- VCC → VIN (5V)

- PWR → 3.3V

- GND → GND

- DIN → GPIO 23 (MOSI)

- CLK → GPIO 18 (SCK)

- CS → GPIO 5

- DC → GPIO 16

- RST → GPIO 4

- BUSY → GPIO 21

4. Power Supply :

- Verified voltages using a multimeter:

- VCC (VIN / 5V): 5.06V .

- PWR (3.3V): 3.217V .

Steps Taken

Initial Tests

  1. Verified the BUSY pin with a simple sketch:
  • At times, the BUSY pin was stuck HIGH , and at other times, it was stuck LOW .

  • Inconsistent behaviour raises concerns about proper communication or initialization.

  1. Uploaded a test sketch to confirm basic ESP32 functionality:
  • A simple blink sketch worked, confirming that the ESP32 is operational.

Using GxEPD2 Library

  1. Used the GxEPD2 library with the following driver configurations:
  • GxEPD2_750_T7 : GDEW075T7 800x480, EK79655 (GD7965).

  • GxEPD2_750_GDEY075T7 : GDEY075T7 800x480, UC8179 (GD7965).

  1. Sample sketches compiled and uploaded successfully, but:
  • The Serial Monitor logs indicate the initialization process completes.

  • The screen remains blank.**

  • No obvious hardware faults or errors.

Using Waveshare Example Code

  1. Tried the Waveshare-provided example code from their wiki for the 7.5" E-Ink Display .
  • Modified the code to use the ESP32’s pins as listed above.

  • Fixed compatibility issues (e.g., replacing avr/pgmspace.h with pgmspace.h).

  • Code compiled and uploaded successfully, but:

  • The screen remained blank.

The Serial Monitor displayed Initializing e-Paper Display... and then stopped.

  1. Added debugging logs to the initialization sequence in the Waveshare library.
  • The initialization appears to proceed, but no updates are visible on the screen.

What I Know

1. Power and Connections

  • Verified power levels and wiring multiple times using a multimeter.

  • All voltages are correct ( 5.06V for VIN , 3.217V for 3.3V ).

2. Display Behavior :

  • The screen does not respond or update.

  • At one point during testing, a black border briefly appeared on the screen , but this behavior has not been reproducible.

3. Hardware :

  • The ESP32 and HAT appear functional based on blink sketches and Serial Monitor output.

Questions for the Community

1. Driver Confusion :

  • Based on the sticker model ( 075BN-T7-D2 ) and resolution ( 800x480 ), which driver should I use in the GxEPD2 library or the Waveshare examples ?

2. Initialization Issues

  • The display initializes without errors in code, but the screen remains blank. What additional steps can I take to confirm the display is receiving commands?

3. Power Configuration :

  • Am I wiring VCC → VIN (5V) and PWR → 3.3V correctly for the Waveshare Rev 2.3 HAT and this screen size?

4. Other Suggestions :

  • Are there additional tests I can run to isolate the problem?
  • Is this screen compatible with the ESP32 I’m using?

Hardware Links
waveshare screen

[DIYMORE ESP32 WROOM](diymore 3PCS ESP32 WROOM Development Board Type C,ESP32 WIFI Module with CP2102 WLAN WiFi Bluetooth ESP32 WROOM : Amazon.co.uk: Computers & Accessories

Any guidance or suggestions would be greatly appreciated. Let me know if you need additional details!

Thanks in advance!:blush:

I would expect the display to be a GDEY075T7. But you should try both.

For use with 3.3V processor you should connect VCC to 3.3V, for the level converter to work with the correct voltage (HIGH/LOW) detection, and to not provide 5V to the BUSY pin on the processor.
Good Luck!

Did you adapt the constructor parameters to your wiring?
change this:

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)); // my suggested wiring and proto board

Thanks. will give that a try. As regards the pwr and VCC lines from the hat. I should switch those over so VCC goes to the 3.3V and pwr goes to 5V/vin. Is that correct?
Thanks again
Josh

PWR is a control line. For VCC 3.3V it should also be 3.3V.
But maybe it doesn't matter. See schematics.

Update. IT'S ALIVE! you were right both PWR and VCC need to go to the 3v3 pin. Also my esp32 board Had two pins labelled G23. instead of one being called G33. I noticed because I opened a new board and saw it had 2 G33 pins and no G23 pins!

Hands up it was my daughter who noticed it! She is now unbearably smug.

Thanks again for the help.
Josh

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