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
- 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.
- Uploaded a test sketch to confirm basic ESP32 functionality:
- A simple blink sketch worked, confirming that the ESP32 is operational.
Using GxEPD2 Library
- Used the GxEPD2 library with the following driver configurations:
-
GxEPD2_750_T7: GDEW075T7 800x480, EK79655 (GD7965). -
GxEPD2_750_GDEY075T7: GDEY075T7 800x480, UC8179 (GD7965).
- 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
- 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.hwithpgmspace.h). -
Code compiled and uploaded successfully, but:
-
The screen remained blank.
The Serial Monitor displayed Initializing e-Paper Display... and then stopped.
- 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!![]()