GxEPD2 with Waveshare 9.7inches e-ink display

Hello, I'm trying to make a Firebeetle 2 ESP32-E work with a Waveshare 9.7inches display using GxEPD2, but it seems that this display is not readily available.

I noticed on another topic that there is some workaround editing some, but I'm not really sure what needs to be done. It was mentioned:

Documents\Arduino\libraries\GxEPD2\src\it8951
GxEPD2_it60_1200x825.cpp
GxEPD2_3C.h
GxEPD2_it60_1200x825.h
GxEPD2_BW < GxEPD2_it60_1200x825, GxEPD2_it60_1200x825::HEIGHT / 4 > display(GxEPD2_it60_1200x825(/CS=5 / SS, /DC= / 0, /RST= / 16, /BUSY= / 4));

But what needs to be changed on those files?

Any help is appreciated.

Hi @vituuuuu , welcome to the forum!

It helps, if you provide links to the devices in question, especially in this Displays section.

https://www.waveshare.com/product/displays/e-paper/epaper-1/9.7inch-e-paper-hat.htm.

For start, take a look at the driver classes in:
https://github.com/ZinggJM/GxEPD2/tree/master/src/it8951
If you compare these classes, you will notice that they are almost identical, except for the names and the screen dimensions. This is because the matching IT8951 board is programmed or parameterized for the specific display.

The clean way to add your display to GxEPD2 is to create a new class with a new name matched to your display, by starting with a copy from an existing one, like in your quote.
The modification in GxEPD2_BW.h (not in GxEPD_3C.h) is the #include of the header file.
And you should add a panel name to the enumeration in GxEPD2.h.

I need to limit my time spent on answering this kind of questions (additions of panels I don't have). So I hope this is enough to get you started.
-jz-

Hello @ZinggJM! How are you doing?

Thanks for the help!
It's definitely enough to get me started.

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