The WaveShare 2.9" e-Paper Display

I bought one of these for about A$32.
Pretty good once you debug the demo code!

Similar projects worth following
This is a 2.9" E-Ink display module:
- 296x128 resolution
- SPI interface
- very low power consumption
- very wide viewing angle
- okay in direct sunlight.
- no backlight
- keeps displaying even when power off.

e-Paper Display

What is to like

  • very wide viewing angle
  • very low power
  • sunlight viewable
  • retains image when powered off
  • high resolution
  • work on Uno and Nano boards!

What is not to like

  • no manual or documentation except for the demo code and library files.
  • demo does not compile
  • hook up not document.
  • demo is not well presented
  • some ghosting of previous image
  • awkward coding
  • 3.3v and not 5v tolerant  (at least not said in the controller chip datasheet).

Library fixes

  1. replace <spi.h> with <SPI.h>
  2. replace <arduino.h> with <Arduino.h>

Hook up (Uno/Nano)

  • BUSY <-> D7 (INPUT)
  •  RST   <-> D8 (OUTPUT)
  •  DC    <-> D9 (OUTPUT)
  •  CS     <-> D10 (OUTPUT) 
  •  SPI (2 MHz):
  •      CS   <-> D10 (SS)
  •      DIN  <-> D11 (MOSI)
  •      CLK <-> D13 (SCLK)


The native screen orientaion is rotated (and upside down?):

Interfacing a 5v systm to a 3.3v system

There are a number of ways of interfacing a 5v system with a 3.3v system. In my case I used a signal diode (2n4148) and a 1k resistor (you could experiment with higher the resistor values to reduce power consumption.):

Here is the interface board:

Work to do

Although the demo once fixed up works nicely, the library needs simple some commands like that in the LCD library, like:

  • lcd.setCursor(), and
  • lcd.print()

However, I do think the rotated native orientation has merit for small displays.

Pretty happy with this display over all.


The ePaper demo

Zip Archive - 1.02 MB - 01/29/2018 at 07:46


The fixed ePaper library

Zip Archive - 30.51 kB - 01/29/2018 at 07:46


  • Modification for Pro-Mini (Clone)

    agp.cooper02/19/2018 at 02:02 0 comments

    Pro-Mini CLone

    I bought a Pro-Mini clone because I wanted low power (3.3v 8MHz) and a nice bolt-on PCB:

    This board uses a USB-FTDI adapter. As want to use the E-Paper display and rationalise the wiring, I modified  epdif.h and epdif.ccp to repurpose MISO (as it is unused):

    •  BUSY D8 (INPUT)
    •  RST  D12 (OUTPUT) (was MISO)
    •  DC   D9 (OUTPUT)
    •  CS   D10 (OUTPUT)
    •  DIN  D11 (MOSI) 
    •  CLK  D13 (SCLK)

    To do this I moved the pinMode definitions (in epdif.cpp) to after:

    • SPI.begin();

    and remapped the #defines in epdif.h to:

    • #define BUSY_PIN      8
    • #define RST_PIN        12

    Although the E-Paper module sees 4.75 volts while the USB-FTDI adapter is connected, in normal operation it will see 3.3 volts. It is a shame the FDTI voltage out is 5v even with the 3.3v switch selection. Checking the WaveShare website this seems to be okay short term. Here is my hookup:

    So I have D0-7 and A0-7 free and all ready for low-power battery operation.


View project log

Enjoy this project?



Kevin wrote 04/11/2020 at 14:46 point sells e-paper display modules and the panel only. Panel 212X104 $6.96, they have several sizes and the modules have FFC or PIN headers. 

  Are you sure? yes | no


[this comment has been deleted]

agp.cooper wrote 02/12/2018 at 05:33 point

Do you fancy a trip to China? In my case I look for sellers who are based in my country of residence rather than China itself, i.e. "resellers". It cost more but delivery is much faster. Although slow (~six weeks) I have not had much trouble with sellers from China. I also look for resellers from Hong Kong, they only take two to three weeks for delivery.

I gather that overseas mail is a problem where you are?


  Are you sure? yes | no

agp.cooper wrote 02/11/2018 at 00:48 point

Check on e-bay there are lots of sellers and differnet sizes. They are all WaveShare. While your shopping you may as well buy a cheap 8 bit voltage translator. The code has #defines for the size but just download the code for your display size. They are great displays and some are designed to fit directly into a Rasberry Pi.


  Are you sure? yes | no

Marcus wrote 02/08/2018 at 07:42 point

What make and model of display did you buy? Is there a link to the product or the supplier?

  Are you sure? yes | no

Similar Projects

Does this project spark your interest?

Become a member to follow this project and never miss any updates