Waveshare 7.5 inch display stays blank with esp32

Hi, I am trying to connect a 7.5inch Waveshare (4 gray levels) display, With an adafruit esp32 s3 Feather 8MB no SRAM.

Link to display:

ESP32 pinout:

I tried to follow the pinout according to the SPI mapping and came up with the following wiring:

Esp32 s3 pin Display pin
3.3V VSYS
GND
GND
SCK
SCK
MOSI
DIN
D9 (9) DC
D10 (10) CS
D11 (11) BUSY
D12 (12) RST

On the hat, Interface config is set to 0 and display config is set to 1.

Since I got the screen version with a pico hat but don't have a pico, I soldered some cables from the esp and plugged them into the hat board. I also have a little e-Paper adapter board so I have a longer cable, but I thought that might be broken so I plugged the ribbon in directly to the hat.

I am trying to run a "Hello world" example with GxEPD2, so I made a custom definition for my wiring:

GxEPD2_DISPLAY_CLASS<GxEPD2_DRIVER_CLASS, MAX_HEIGHT(GxEPD2_DRIVER_CLASS)> display(GxEPD2_DRIVER_CLASS(/*CS=*/ 10, /*DC=*/ 9, /*RST=*/ 12, /*BUSY=*/ 11));

I wasn't too sure which display I had to select, so I tried these two (both 800x480):

#define GxEPD2_DRIVER_CLASS GxEPD2_750_T7  // GDEW075T7   800x480, EK79655 (GD7965), (WFT0583CZ61)
#define GxEPD2_DRIVER_CLASS GxEPD2_750_GDEY075T7  // GDEY075T7  800x480, UC8179 (GD7965), (FPC-C001 20.08.20)

And then I uploaded the code to the esp. However, the epaper display remains blank and does nothing. The Output in arduino shows the following:

Connecting...
Chip is ESP32-S3 (QFN56) (revision v0.2)
Features: WiFi, BLE, Embedded Flash 8MB (GD)
Crystal is 40MHz
Uploading stub...
Running stub...
Stub running...
Changing baud rate to 921600
Changed.
Configuring flash size...
Flash will be erased from 0x00000000 to 0x00005fff...
Flash will be erased from 0x00008000 to 0x00008fff...
Flash will be erased from 0x0000e000 to 0x0000ffff...
Flash will be erased from 0x00010000 to 0x00082fff...
Flash will be erased from 0x00410000 to 0x0043ffff...
Compressed 22816 bytes to 14587...
Writing at 0x00000000... (100 %)
Wrote 22816 bytes (14587 compressed) at 0x00000000 in 0.3 seconds (effective 583.1 kbit/s)...
Hash of data verified.
Compressed 3072 bytes to 136...
Writing at 0x00008000... (100 %)
Wrote 3072 bytes (136 compressed) at 0x00008000 in 0.1 seconds (effective 473.1 kbit/s)...
Hash of data verified.
Compressed 8192 bytes to 47...
Writing at 0x0000e000... (100 %)
Wrote 8192 bytes (47 compressed) at 0x0000e000 in 0.1 seconds (effective 753.2 kbit/s)...
Hash of data verified.
Compressed 469472 bytes to 220944...
Writing at 0x00010000... (7 %)
Writing at 0x0001b54f... (14 %)
Writing at 0x0003bca9... (21 %)
Writing at 0x000419e8... (28 %)
Writing at 0x00047300... (35 %)
Writing at 0x0004ce50... (42 %)
Writing at 0x00052627... (50 %)
Writing at 0x0005820c... (57 %)
Writing at 0x0005d9cd... (64 %)
Writing at 0x00063266... (71 %)
Writing at 0x0006a98b... (78 %)
Writing at 0x00073fc8... (85 %)
Writing at 0x000799e8... (92 %)
Writing at 0x0007fa52... (100 %)
Wrote 469472 bytes (220944 compressed) at 0x00010000 in 2.9 seconds (effective 1273.6 kbit/s)...
Hash of data verified.
Compressed 196208 bytes to 126577...
Writing at 0x00410000... (12 %)
Writing at 0x004180e8... (25 %)
Writing at 0x00420356... (37 %)
Writing at 0x00425c6b... (50 %)
Writing at 0x0042b35a... (62 %)
Writing at 0x00430c58... (75 %)
Writing at 0x00435e29... (87 %)
Writing at 0x0043b82c... (100 %)
Wrote 196208 bytes (126577 compressed) at 0x00410000 in 1.3 seconds (effective 1198.3 kbit/s)...
Hash of data verified.

Leaving...
Hard resetting with RTC WDT...

I am not sure what is going wrong, anyone familiar with this that can help me out? It's my first time messing around with these displays and esp32.

Thanks!

I am confused. You bought a display in a package that says for Raspberry Pi PICO and wonder why an ESP32 does not work.
One of us is confused, and I have no trouble admitting it's me, but PICO is not the same as ESP32.
I have the same display and multiples of both boards, but I have still not gone through all the documentation and software that Waveshare produces for this display. The display has multiple versions with different settings, so getting it to work might take a while. I am working on it as a background task and do not expect to get it going for many months yet. I will be watching your progress with interest.

Maybe I wasn’t clear in the post, but I’m trying to use the gxepd2 library, instead of waveshares own code. This mainly because then I could specify which pins do what for SPI (was my reasoning behind it, not sure if that’s how it works)

I think the display is device agnostic, and as long as I match up the pins with the hat, it should in theory work.

Your issue may be related to discussion topic https://github.com/ZinggJM/GxEPD2/discussions/132
The Waveshare panel may miss some OTP parameters for the panel, that the panel from Good Display has.