Waveshare 7.5 b/w/y and Waveshare driver board. Trouble with GxEPD2.

I am using this board
connected to this display

I have successfully run the waveshare “Loader” example so I am confident that the board is talking to the display. I tried one of the GxEPD2 examples and I am having no response from the display. To try and isolate my problem I "borrowed from the example to create a very simple sketch.

#define ENABLE_GxEPD2_GFX 0

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

GxEPD2_3C<GxEPD2_750c, GxEPD2_750c::HEIGHT / 4> display(GxEPD2_750c(/*CS=15*/ 15, /*DC=4*/ 4, /*RST=5*/ 5, /*BUSY=16*/ 16));

void setup() {
  // put your setup code here, to run once:

    Serial.println("setup do"); 
  while (display.nextPage());
  Serial.println("setup done"); 

void loop() {
  // put your main code here, to run repeatedly:


Also, here is the console output.

setup do
_PowerOn : 10
setup do
setup do
setup do
_Update_Full : 10
_PowerOff : 1
setup done

I have been banging my head against this for a while and I can’t really find help on this exact issue. The waveshare thread is epic. Could anyone tell me where I might have gone wrong?


I just verified that my 7.5" b/w/r e-paper display still works with the ESP8266 Driver Board and GxEPD2.
With the same constructor parameters as you use.

I compiled for board used "LOLIN(WEMOS) D1 R2 & mini", like I always do, and "NodeMCU 1.0", like Waveshare Wiki says, both work.

The 7.5" b/w/y should work as well, as it uses the same controller, and GxEPD2 uses OTP LUT for both.
Your short BUSY active times indicate that the controller doesn't understand the commands sent through SPI.

GxEPD2 uses HW SPI, whereas Waveshare loader demo maybe uses SW SPI, but same pins.

There is a new version of the 7.5" 3-color e-paper from Good Display, with a different controller and higher resolution, but I don't think Waveshare sells it yet.

My panel has the following inking on the flex connector part (backside): WF0583CZ09.
If yours has the same, it most likely has the same controller, if not, then we don't know.


First, thanks for the reply.

I tried compiling with both of the boards that you mentioned above. I got the same results with both.

I have the same inking on my panel. At this point I am not sure what else to try.

Is there a display/controller combo that tends to be more robust than others?

Also, what is OTP LUT?

Is there a display/controller combo that tends to be more robust than others?

I think the display is not the issue, except that it may draw more current than smaller e-papers.

But the ESP8266 Driver Board has an issue with voltage regulation.
It should use a schottky diode and a low drop series regulator instead.
Make sure you use a stable 5V supply if powered from USB, better use USB3 with 5.2V.
Measure the voltage on the VCC pin, should be 3.3V, may be 3.1V, will not work if less than 3.0V.

See also this post.

You reported it works with the Loader demo, does it still?

Also, what is OTP LUT?

My 7.5" is b/w/r, yours is b/w/y. Both use the same controller. The only difference might be the waveform used to update the screen, but most likely it is the same.
The waveform LookUpTable is stored in the controller OneTimeProgrammable memory, not programmed into registers by the driver SW for this controller, therefore GxEPD2 should really work with both.

The HW SPI block of your ESP8266 might be defective, but this is most unlikely.