Waveshare ESP32 e-Paper Driver Board + 2.9" Flexible display + GxEPD2

FYI: because I'm a new user, I'm not allowed to post more than two links, apologies for the multiple posts

Hi there,

I've done a lot of searching and troubleshooting and I just can't seem to get this combination working.

I am using:

I've tried the examples that Waveshare supplies with the board and they work fine. But for some reason, no matter what I do, I can't get this display to update with GxEPD2.

While referring to this thread, I've tried the mentioned GxEPD2_WS_ESP32_Driver.ino file. I assume I have the same 2.9" flexible display as mentioned in this reply (with controller GDEW029T5). That being said, I've tried it with every 2.9" driver option in that .ino file with no luck.

Nothing comes up on the screen, no refreshing, nothing.

I even have a 2.7" Waveshare ePaper display that I've tried in its place (with the GDEW027C44 line uncommented instead, of course), and I get nothing on that either.

Thanks in advance for the help. I'm pulling my hair out!

@lanewinfield, Hi, welcome to the forum!

Thank you for providing clickable links, it is a pleasure to read your posts!

Your 2.9" Adafruit panel is the same as 2.9 inch flexible 4 grayscale e ink display module partial refresh, GDEW029I6FD from Good Display.
I don't have this panel, so it is not supported by GxEPD2. But I have a panel with the same controller UC8151D: 2.9 inch e-paper display black and white 4 grayscale partial refresh, GDEW029T5D.

//#define GxEPD2_DRIVER_CLASS GxEPD2_290_T5D // GDEW029T5D  128x296

to select it.
You may need to compare the init code for the two panels, as the panel driving characteristics may differ.
Make sure that you use the correct position of the RESE switch on the driver board for this panel, 0.47, see reference circuit on page 9 of the panel specs: GDEW029I6FD.pdf

Your link refers to a b/w panel, but you selected the 3-color panel. Use:

//#define GxEPD2_DRIVER_CLASS GxEPD2_270     // GDEW027W3   176x264


Hi @ZinggJM! A couple of things first:

  1. Thank you so much for creating the GxEPD libraries.
  2. How can I donate one of these screens to you for future development?

Okay, with that out of the way,

I seem to have figured out what was happening, and surprisingly it wasn't the board choice (I had tried each one, one by one, to no effect...). I'd always had difficulty getting feedback on the serial monitor, and I wasn't sure why.

By only commenting out the Serial.begin(115200) line, it seems to have solved all issues. Bizarre.

Thanks for your help either way. And I mean it about donating a display!


Hi, I forgot about this issue:

The ESP32 processor hangs on a second call to Serial.begin(115200) when compiled for ESP32 Dev Module. #5043

Try to select a different target board, many are compatible, e.g. WEMOS LOLIN32.

Donation of any e-paper display from Waveshare or Good Display is welcome.
But it should be a display you are interested in.
I currently have a backlog of things I would like to do, e.g. update of older and other libraries, so I am not really looking for additional work.

If you want to order a e-paper display for me, just send me a personal message, and I answer with my delivery address.


Great to know about the ESP32 hang. Frustrating though!

Understood that you're busy! I'll send you a PM about sending a display.

I've gotten everything working then hit a roadblock with greyscale—learning that GxEPD2 doesn't support multi-grey screens and you seem to have made a new library, GxEPD2_4G for 4-grey displays such as this one.

I can't seem to get it working with this display. Is this something you think might be easily done to make compatible on my side?

I have not yet checked if this issue is still present in the actual version of the ESP32 package.

You could compare the GxEPD2 driver versions for GDEW029T5 and GDEW029T5D, the differences are not big, as far as I remember. Then adapt the driver class for _4G.
I don't have time for this now, but I will add support to GxEPD2 and GxEPD2_4G after I receive your donation, with separate driver classes for the flexible version.

There should be normal, more plannable times ahead soon for me. Be patient (as I need to).


So, good news. I dug through GxEPD2_4G and was able to combine the two to get it working swimmingly. All good!

The GDEW029T5 driver was the one I've been using with success.

Now the new issue is trying to convert a bitmap I have to the correct format for the device and use with drawGreyPixmap(). I'm on a mac so I don't have access to some of these converters I've seen around the web. But I do have photoshop.

I thought I might be able to follow some of Adafruit's guides for this, but it hasn't netted me out much.

The best I've gotten is an overly stretched image after sending it through a web converter. If you have any resources, I'm all ears!

In the meantime, your 2.9" flexible display should be with you soon!

My first e-paper display was a LinkSprite 4.3" b/w e-paper shield for Arduino pinout, that had its own Atmega368 processor on board, and required to send bitmaps line-per-line 11 times.
It took about 10 seconds to show an image. Don't know if it still works, must be hidden somewhere.

This was the only occasion I converted some image of mine to b/w, using img2lcd or image2lcd.
I didn't like that converter, as the non-registered version put its logo onto the converted bitmap.

For GxEPD and GxEPD2 I only made sure the example bitmaps of Good Display and Waveshare can be shown. Some day I will have time to practice converting my pictures again.

I suggest you follow the guides of Waveshare or Good Display to convert your pictures.
E.g. from 2.9 inch flexible 4 grayscale e ink display module partial refresh, GDEW029I6FD oops no info for conversion,
From 2.9 inch e-paper display black and white 4 grayscale partial refresh, GDEW029T5D also no info.

I know they have explanations on how to use bitmap converters. Also for grey levels, I assume.
But for now I don't have time to go searching.

You would need to use the information provided from Waveshare or Good Display adapted to the converters available for Mac or online.


BTW: thank you for ordering this panel for me.

PDF.js viewer (good-display.com) oops, b/w only.


For some reason I just assumed the photo in the 4G demo was yours!

I'll keep searching.



It's funny. I found plenty of tutorials of other 4 Grey panels from Good Display and they say to use their tool and set to "4 Gray." Then, when you look at the actual tool, that's never an option.

Sigh, the search continues...

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