ESP8266 Peripherals: 2.7″ ePaper display

Do you like this post? Writing posts, developing libraries and programming online font creators is actually hard work. I order most of my electronics from a Chinese website called Banggood. It is save and the items usually arrive in good quality. With every order you do there by following this link you are supporting the blog. Thank you!

This post describes how to connect the 2.7″ ePaper display development module from Embedded Artists to the ESP8266. ePapers are very interesting in the IoT field since they only require power during the update. Depending on the type of display they can then maintain the image while the connect micro controller goes back to sleep.

Connecting this display required a bit of creative thinking. At first I thought that the ESP8266 wouldn’t have enough pins to connect the display. I decided to strip some aspects and I’m honestly not 100% sure what the side effects are. The board comes with a temperature sensor and I decided to set the temperature manually to save pins. This probably yields better quality for displayed pictures.

Another problem was to figure out how the pins on the connector were arranged. Here the following schematic helped:

So here is how you connect it:

ePaper FunctionePaper PINNodeMCU (Generic)ESP Function
SCK3D5 (14)CLK
UART TX8D4 (2)
EPD Reset12D0 (16)
EPD Panel On13D2 (4)
EPD Discharge14D1 (5)

When you have connected the display download this sample code:

The ePaperDemo

I adjusted my OLED library for the SSD1306 to the ePaper display. It has the advantage that you first create the content of the ePaper display in a buffer. When you are ready to write everything to the display call the appropriate method and the content of the buffer will be written to the display. The library currently supports the following function:

  • Draw Text at a given location. Define text alignment and get information how much space the text will consume
  • Create custom font files with and include them in your firmware
  • Draw lines, circles, boxes and fill them

I hope to extract a library from it but until then just use the demo code to get started with your own project.

Posted by squix78


  1. The temperature sensor on these displays is used to adjust the refresh times to improve the display clarity at low temperatures where it takes longer for the ePaper “particles” to find their new state. So it is reasonable to not use the sensor if the display’s operatine temperature range is not very large.

  2. I also see the PWM line is not connected, I am not sure what the implications of this is but that is typically used to generate bias voltages. It could be that function is not needed on the latest displays?

Leave a Reply