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?



Stuart Longland wrote 02/11/2018 at 10:15 point

> replace <spi.h> with <SPI.h>

This… ladies and gentleman, is why you should never use Microsoft Windows as a development environment. ;-)

Looks a nice enough little display though… Do you know of other places that sell them apart from FleaBay?

  Are you sure? yes | no

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

Stuart Longland wrote 02/12/2018 at 05:47 point

Ahh likewise… if it's feasible, I try to go as local as I can…  that said, Jaycar are expensive for very limited stock; Altronics are a little better, but their Virginia store is a fair hike from where I live at The Gap (~40km round trip on the bicycle).

RS Components no longer have their warehouse at Archerfield (which is an even longer hike), so for them and Element14, it's an interstate order.  Sometimes though, ordering direct overseas is the only viable solution.

My gripe with eBay is their utterly ridiculous password policies, and of course you never quite know what you're going to get.

  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