EPaper and ESP32 approach

Like many others, I tried to use the GxEPD and GxEPD2 libraries to get my EPS32 + epaper unit working. It was a 2.13" e-paper, and Banggood advertised it as "LILYGO® TTGO T5 V2.0 " so I looked for all the display declarations for that size with some hint of that display type, and uncommented them one by one. Doing so evidently allowed me to upload new programs (I could see some things happening in the Serial Monitor, for instance), but none of the programs altered the display.

I finally realized that the board (which I bought through Banggood) had screenprinting on it that told me what I needed to know. It said, among other things

201901017 T5_V2.3_2.13


// BUSY - IO4
// RST = IO16
// MOSI - IO23
// CLK -- IO18
// DC -- IO17
// CS -- IO5

With that in hand (and some confusion because Banggood's LILYGO® TTGO T5 V2.0 didn't match the version number printed on the board), I looked at the EPD2 declarations, things like this:

//GxEPD2_BW<GxEPD2_213, MAX_HEIGHT(GxEPD2_213)> display(GxEPD2_213(/*CS=77*/ SS, /*DC=*/ 8, /*RST=*/ 9, /*BUSY=*/ 7)); // GDE0213B1, phased out
//GxEPD2_BW<GxEPD2_213_B72, MAX_HEIGHT(GxEPD2_213_B72)> display(GxEPD2_213_B72(/*CS=77*/ SS, /*DC=*/ 8, /*RST=*/ 9, /*BUSY=*/ 7)); // GDEH0213B72
//GxEPD2_BW<GxEPD2_213_B73, MAX_HEIGHT(GxEPD2_213_B73)> display(GxEPD2_213_B73(/*CS=77*/ SS, /*DC=*/ 8, /*RST=*/ 9, /*BUSY=*/ 7)); // GDEH0213B73
//GxEPD2_BW<GxEPD2_213_B74, MAX_HEIGHT(GxEPD2_213_B74)> display(GxEPD2_213_B74(/*CS=77*/ SS, /*DC=*/ 8, /*RST=*/ 9, /*BUSY=*/ 7)); // GDEM0213B74

and realized that the CS, DC, and RST parameters didn't match those on my board, so it was no surprise that the display wasn't working. So I searched a bit more, for something saying "CS=5", and came to these lines:

> //GxEPD2_BW<GxEPD2_213, GxEPD2_213::HEIGHT> display(GxEPD2_213(/*CS=5*/ SS, /*DC=*/ 17, /*RST=*/ 16, /*BUSY=*/ 4)); // GDE0213B1, phased out
> //GxEPD2_BW<GxEPD2_213_B72, GxEPD2_213_B72::HEIGHT> display(GxEPD2_213_B72(/*CS=5*/ SS, /*DC=*/ 17, /*RST=*/ 16, /*BUSY=*/ 4)); // GDEH0213B72
> //GxEPD2_BW<GxEPD2_213_B73, GxEPD2_213_B73::HEIGHT> display(GxEPD2_213_B73(/*CS=5*/ SS, /*DC=*/ 17, /*RST=*/ 16, /*BUSY=*/ 4)); // GDEH0213B73
> //GxEPD2_BW<GxEPD2_213_B74, GxEPD2_213_B74::HEIGHT> display(GxEPD2_213_B74(/*CS=5*/ SS, /*DC=*/ 17, /*RST=*/ 16, /*BUSY=*/ 4)); // GDEM0213B74
> //GxEPD2_BW<GxEPD2_213_flex, GxEPD2_213_flex::HEIGHT> display(GxEPD2_213_flex(/*CS=5*/ SS, /*DC=*/ 17, /*RST=*/ 16, /*BUSY=*/ 4)); // GDEW0213I5F

I tried those one by one, and the third one worked just fine.

I assume that there are others out there just as naive about doing this as I was, so I thought it'd be worth putting this here to help someone out.

One of the key bits of information is the on display controller used. My "Good Display" uses an IL91874 controller.

I believe you...but I don't see any way to tell that with the device I've got --- nothing in its markings suggests anything like that.

The version no. says it very clearly:
It is a Lilygo TTGO T5 with 2.13".
Which leads you to the GitHub with some informations and examples.

Got it with 2.7" and as an "T5s" version, which includes red as an additional color. Works great for years!

Sure it does. But my receipt for the product I bought from Banggood quite clearly says this:


so until I found that using that description failed, I didn't see any reason to look on the board itself. I did, however, find it frustrating that this wasn't even one of the numbers listed on the github to which you linked. And the schematic for the V2.2 item is clearly labelled as being for a 2.9" screen, which might make the novice like me say "Nope...THAT one isn't mine!"

Once I DID look at the assembly for part number information, there was the connector from the ESP32 to the display, which says "HINK-EO213A22-A0 SCH2038", which doesn't happen to match ANYthing I can find anywhere.

So "it's very clear" isn't really true for beginners, which is why I wrote down what I did. I'm pleased that YOU found it easy, of course.

Go on. It is very simple to post a link to the actual item that you have bought. e.g. Ebay sale page.

This means that readers don't have to guess.
And you will probably receive the correct constructor statement in the first reply.

You don't need a vast technical knowledge. Just how to copy-paste a link.

I don't have any EPD. But other readers do. And the library author ZinggJM certainly knows all about them.


I apologize for trying to help out others who might be in the same situation I was. Why would anyone even do that?

I wasn't asking how to find the information, because I already did so. I was offering a suggestion to others who might be similarly challenged.

I agree that posting the listing for an item that's baffling might also be a good approach, although my searches for this item led me to a number of dead requests in various forums on similar things, so maybe it's not a perfect approach.


My apologies if I offended you.

Yes, it does not surprise me if it led me to a number of dead requests in various forums on similar things

However the Displays Forum works very well. Several library authors frequent this specific Forum. And they can generally sort you out when they can identify your hardware.

Displays vary greatly. Very few have controllers that are visible to the human eye. Ebay sellers often provide erroneous information. However we can generally find what we need from a link. (especially if there is a pcb view)


Welcome to the forum. You might have read How to get the best out of this forum.

And you might have read some posts in the Displays section of the forum.
If yes, you should have seen that providing clickable links to the devices in question is key to get help or provide help.

So, if your post was intended to provide help, is is useless, unless you provide a link to the devices.

I usually try to answer posts related to e-paper displays, but in this case I restrained me to answer. But maybe I should have answered early, to get this topic in a good direction.


I get it. There are other things I could have done. But like a lot of folks, I tried following the directions for various libraries and failed. I googled a bit and stumbled on this forum (other parts of which I'd used in the past). I didn't read the "how to get the best..." article, because I'd used it before (albeit a different section). And eventually I gave up and found a solution on my own, and thought "this might help someone, so I'll write it down."

Now Jean-Marc is convinced that it's useless, and that's perfectly OK by me. But if I had seen this, it would have saved me a few hours of annoyance.

(By the way, I definitely appreciate Jean-Marc's work on libraries...)

Here, by the way, is a link to the device I bought, even though I think that's completely irrelevant: Lilygo® ttgo t5 v2.0 wifi wireless module bluetooth base esp-32 esp32 2.13 e-paper display development board Sale - Banggood.com, because the support pointers (and indeed, the name provided for the device) are what misled me into hours of screwing around.