ESP8266 Peripherals: 2.7″ ePaper display

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.

[the_ad_placement id=”inpostplacement”]

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
GND1GND
VCC23V3
SCK3D5 (14)CLK
MOSI4D7 (13)MOSI
MISO5D6 (12)MISO
SSEL6D3 (0)CS
UART RX7
UART TX8D4 (2)
I2C SCL9
I2C SDA10
GPIO11
EPD Reset12D0 (16)
EPD Panel On13D2 (4)
EPD Discharge14D1 (5)

When you have connected the display download this sample code:
https://github.com/squix78/ePaperDemo1

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 http://oleddisplay.squix.ch/ 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 Daniel Eichhorn

Daniel Eichhorn is a software engineer and an enthusiastic maker. He loves working on projects related to the Internet of Things, electronics, and embedded software. He owns two 3D printers: a Creality Ender 3 V2 and an Elegoo Mars 3. In 2018, he co-founded ThingPulse along with Marcel Stör. Together, they develop IoT hardware and distribute it to various locations around the world.

5 comments

  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 to BodmerCancel reply