Waveshare 7,5" E-Ink Display - Busy / Bad Contrast

Hello,
I am working on an ESP32 Weatherdisplay using an E-Ink Display. I had my Display working before but have since run into some issues. Since this will be kind of a long post I will try to structure it into different sections. This is my first time posting here but I spent a lot time writing this so I hope it's fine.

1. Hardware / Software

Waveshare 800×480, 7.5inch E-Ink display HAT

Waveshare e-Paper Driver HAT Rev2.2

uPesy ESP32 Wroom Low Power DevKit

Hello World from Library GxEPD2 @ 1.5.2

I use the GxEPD2_display_selection_new_style.h where I tried both

#define GxEPD2_DRIVER_CLASS GxEPD2_750_T7  // GDEW075T7   800x480, EK79655 (GD7965), (WFT0583CZ61)

and

#define GxEPD2_DRIVER_CLASS GxEPD2_750_YT7  // GDEY075T7  800x480, UC8179 (GD7965), (FPC-C001 20.8.20)

since I was not sure which to select. But both of them worked at some point before i ran into the issues.

I used the suggested wiring for the ESP32 CS=5 (VSPI CS), DC= 17, RST=16, BUSY= 4, DIN=23 (VSPI_MISO), CLK= 18 (VSPI_CLK)

2. Symptoms of the Problem

Running the Hello World Program gives the following output in the Serial Monitor:

03:22:43.447 -> Busy Timeout!
03:22:43.447 -> _PowerOn : 10001039
03:22:53.762 -> Busy Timeout!
03:22:53.762 -> _Update_Full : 10001035
03:23:03.756 -> Busy Timeout!
03:23:03.756 -> _PowerOff : 10001035

The Display will refresh, in the last step of the refresh the text is clearly visible with high contrast.
However after maybe half a second it fades and becomes almost unreadable.

Some additional observations I made:

When running only the init function

display.init(115200, true, 2, false);

The display seems to initialize correctly. With my oscilloscope I have verified the duration of the reset pule (2ms) and also observed the display becoming busy for a very short time (Busy = 0V) and then becoming ready again (Busy about 3V).

When running

display.init(115200, true, 2, false);
display.refresh();

the display will become busy for a few seconds and then ready again (seems like expected behavior).

When writing to the ScreenBuffer the display becomes busy indefinitely.

Writing black to the whole screen results in a perfectly black screen without contrast issues (but still busy issue).

3. Weird history behind the problems

I am doing this as part of a university project together with a partner. That means we both got the same Hardware. When the Hardware first arrived, we had no problems setting everything up and writing our first test programs with GxEPD2 in the Arduino IDE. Everything worked fine. After some time we switched to PlatformIO but still used the same libraries, again everything still fine. One day my partner came to me and told me his display does not work anymore. As we suspected some hardware fault we loaded his software onto my Hardware thinking nothing of it.
After flashing his program my Display did some weird looking refreshes and we pulled the power (maybe that was a mistake). After that my display stopped working, always saying Busy Timeout and not able to display anything at all (even worse than it is now). Even the unchanged programs from earlier did not work.

Fast forward a few days and many attempts trying different pin combinations, HSPI, GxEPD, Waveshare examples,ESP from a different brand, and a few day of the display being unpowered, I got the display to refresh on accident after connecting it to different pins but forgetting to flash the program using the new pins beforehand (it showed nothing useful but atleast refreshed). After that I switched to another ESP32, GxEPD2 Hello World and the suggested wiring and the display worked perfectly again. Even when switching back to the uPesy ESP it still worked with perfect contrast.

After that we tried the following things in order (always disconnecting power before changing the setup):
I. My ESP + my e-Paper Driver HAT + my display -> working perfectly
II. My ESP + his e-Paper Driver HAT + his display -> not refreshing, just busy
III. Again my ESP + my e-Paper Driver HAT + my display -> working perfectly
IV. My ESP + my e-Paper Driver HAT + his display -> not refreshing, just busy
V. Again my ESP + my e-Paper Driver HAT + my display -> condition described in section 2. of the Thread

During this we never connected my display to his driver or ESP since we did not want to risk breaking it. Still somehow his display broke my driver?? I did not believe that would even be possible.

Thinking back we might have also connected his display to my driver before switching back to my display and flashing his software the first time my display "broke".

The GxEPD2 Readme mentions

note that 7.5" e-paper displays don't work reliable if fed from 3.3V Arduino pin

so maybe all the problems are connected to that.

Thank you for your time reading this!
Kind regards
Stephan

I am seeing you are powering an E-INK off of a 3.3V from the ESP32

wouldn't that be a culprit ?

@stebruening, Hi, welcome to the forum!

Big e-paper panels (7.5") may not work reliably when connected to a Waveshare HAT and powered from 3.3V (used with a 3.3V processor board).

You could try to supply the HAT with 5V (it has a 3.3V LDO), but then you need a voltage divider or at least a (10k) series resistor on the BUSY line, to protect your ESP32.

Additionally you can try to add a 1k pull-up resistor on the RST line.

Please report the inking found on the flexible connector of the panel.
-jz-

Thank you for your answers!

I have now tried powering powering the HAT with 5V and added the pull up on RST.
No luck there.

The flexible connector says "FPC-8612"

I suggest you check all connections and cables. Check continuity with a resistance meter.
DuPont connectors may fail, and the white connector needs be pushed in firmly.
I don't have any panel with the same inking, but you reported it once worked with your selection.
What position of the RESE switch do you use?

I checked all the connections even the ones from the flex cable connector, they are fine.

If RESE is the same as the Display Config switch I use position B : 0.47R, as recommended for larger displays. I have also tried A : 3R, the results were neither worse nor better.

I have also since tried using the e-Paper HAT Driver my seminar partner has, with that the results were arguably worse. With the second driver the background of the display turned gray/ spotted with dark dots instead of white, but the text had a bit more contrast.

For use of these e-paper displays with 3.3V processors I recommend the DESPI-C02 adapter board.
-jz-

Update:
I got a new Waveshare ePaper Driver, also Rev 2.2. With this driver, the display no longer has any low contrast issues, however the Busy Timeouts still occur.

I have also ordered the suggested alternative driver and will post an update here after it arrives.

Thank you for your help!

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