Need help for a DKE 2.9" epaper

Hi everyone,

I am playing with an 2.9" epaper display from DKE, and I cant find its datasheet, especially the LUT table. The model number is DEPG0290RHS75BF6CP. A photo of it is attached.

Does anyone has a sample code for this model? I need to the the sequence of commands to init the display and the LUT.



@longchuai, Hi, welcome to the forum.

Your picture looks the same as GDEM029T94 from Good Display, except for the marking. They have sample code. Waveshare also.

The library GxEPD2 supports many panels from Good Display and boards from Waveshare. It is available from Library Manager.


Thanks Jean-Marc. I will try them.

Hi there,
I wonder if the DEPG0290BNS75AF0 display used in some Heltec 2.9" modules might be similar enough to look into.

The datasheet can be found here:

Heltec official code for the display is here: e-ink/DEPG0290BxS75AFxX_BW.cpp at master · HelTecAutomation/e-ink · GitHub

It seems like rather than transmitting an LUT, the example code uses some sort of factory set LUT, which is selecting using the spi command 0x22

Hopefully this gives you another thread to pull on if you're not having any luck.

This may be related to, or an explanation for the difference:

Version 1.3.6

  • added support for Waveshare 2.9" b/w V2, driver class GxEPD2_290_T94_V2
  • Waveshare 2.9" b/w V2 uses a GDEM029T94 variant without partial update wft in OTP
  • driver class GxEPD2_290_T94_V2 uses partial update wft written to registers


1 Like

Hi toddnz,

I already found that data sheet, but the link of code you showed me is a really new interesting thing. I will definitely try it.


Thanks Jean-Marc,

I have found that the code here works partly GitHub - krzychb/esp-epaper-29-dke: Communicate with 2.9" DKE ePaper Module using SPI interface of ESP32 and ESP-IDF or Arduino .
The code was designed for DEPG0290B01, which is from the same company but supports only B/W. Mine display supports B/W/R. I added a line to load data to RAM2, and then my display can show a grey colour instead of full black or red.

I guess I will need to find a correct LUT for my display, as the LUT from the above code is for B/W. Alternatively, I hope that I could load the LUT from OTP, but so far I have got no luck. I am asking the vendor but they seem to ignore non-sale emails, :(.

The next photo shows how the colors should look like. It was running the original firmware of this product BSides Canberra 2021 Electronic Badge – InfoSect
The second photo shows my result. I divide the screen into four rectangular parts to compare. The top left square shows the darkest color I can make. The top right shows the white, which is good enough.

Thanks everyone. I enjoy talking with you, :slight_smile:

Good to hear that you're making some progress with it!

I have a feeling that these two color displays work by displaying both RAM1 and RAM2 at the same time, onto two different colored layers of pixels. If one layer isn't set, you can get an odd blurry mix.

I forget the exact settings needed, but glancing quicky at my own notes to myself, I would suggest something like:
Black - RAM1: off , RAM2: off
White - RAM1: on , RAM2: off
Red - RAM 1: on , RAM2: on

So each pixel should be set with both 0x24 and 0x26 commands, to give it the appropriate mix.

I also have a suspicion that either the 0x21 / 0x22 commands will determine which RAM is being used, so if your example code is from a BW display, it may need a slightly different configuration to display both layers simultaneously.

Best of luck!

I have got it working. Thanks to the code pointed out by toddnz, I have been able to use LUT from OTP.

I will update the solution later, after simplifying the mess of my test code, :slight_smile: . Thanks everyone.

1 Like

Finally I have had time to upload some sample code to here GitHub - lngo/esp32-epaper-depg0290rhs: ESP32 driver for epaper display depg2090rhs

I hope the sample code will be useful for people having a similar display model.

My test code makes something like this

Thanks again.


1 Like