E-Paper Driver HAT

From Waveshare Wiki
Jump to: navigation, search
E-Paper Driver HAT
Universal e-Paper Driver HAT, supports various Waveshare SPI e-Paper raw panels
E-paper-driver-hat-1.jpg

Universal e-Paper Driver HAT, supports various Waveshare SPI e-Paper raw panels
{{{name2}}}

{{{name3}}}

{{{name4}}}

{{{name5}}}

Introduction

Universal e-Paper Driver HAT, supports various Waveshare SPI e-Paper raw panels

More

Interfaces

VCC 3.3V
GND GND
DIN SPI MOSI
CLK SPI SCK
CS SPI chip select (Low active)
DC Data/Command control pin (High for data, and low for command)
RST External reset pin (Low for reset)
BUSY Busy state output pin (Low for busy)

Working principle

Introduction

This product is an E-paper device adopting the image display technology of Microencapsulated Electrophoretic Display, MED. The initial approach is to create tiny spheres, in which the charged color pigments are suspending in the transparent oil and would move depending on the electronic charge. The E-paper screen display patterns by reflecting the ambient light, so it has no background light requirement. Under sunshine, the E-paper screen still has high visibility with a wide viewing angle of 180 degree. It is the ideal choice for E-reading.

Communication protocol

SPI timing

Note: Different from the traditional SPI protocol, the data line from the slave to the master is hidden since the device only has display requirement.

  • CS is slave chip select, when CS is low, the chip is enabled.
  • DC is data/command control pin, when DC = 0, write command, when DC = 1, write data.
  • SCLK is the SPI communication clock.
  • SDIN is the data line from the master to the slave in SPI communication.

SPI communication has data transfer timing, which is combined by CPHA and CPOL.

  1. CPOL determines the level of the serial synchronous clock at idle state. When CPOL = 0, the level is Low. However, CPOL has little effect to the transmission.
  2. CPHA determines whether data is collected at the first clock edge or at the second clock edge of serial synchronous clock; when CPHL = 0, data is collected at the first clock edge.
  • There are 4 SPI communication modes. SPI0 is commonly used, in which CPHL = 0, CPOL = 0.

As you can see from the figure above, data transmission starts at the first falling edge of SCLK, and 8 bits of data are transferred in one clock cycle. In here, SPI0 is in used, and data is transferred by bits, MSB first.

How to use

Working with Raspberry Pi

Installing libraries required

If you want to connect your E-paper screen to Raspberry Pi, you should install some necessary libraries, or else the Demo below may work improperly. For more information about how to install the Raspberry Pi libraries, please visit the website: Libraries Installation for RPi.

You can find the detailed presentation about the installations of libraries wiringPi, bcm2835 and python.

Hardware connection

Here is the connection between Raspberry Pi 3B and E-paper.

e-Paper Raspberry Pi 3B
3.3V 3.3V
GND GND
DIN MOSI
CLK SCLK
CS CE0
DC 25 (BCM)
RST 17 (BCM)
BUSY 24 (BCM)

Expected result

1) After the corresponding libraries installed, you can copy the relative programs into your Raspberry Pi, and then enter the corresponding file.

  • BCM2835: Execute the command: make, to compile the code and generate a file epd. Execute the command: sudo ./epd, the program will run.
  • WringPi: Execute the command: make, to compile the code and generate a file epd. Execute the command: sudo ./epd, the program will run.
  • Python: Execute the command: sudo python main.py

2) Image will be displayed on the screen.

  • Note:The refresh rate of this module is slow (about 6s), and it will flicker for several times during refreshing. Please be patient.

Working with Arduino

Hardware connection

e-Paper Arduino
3.3V 3V3 (if the display doesn't work on 3.3V, you can try 5V in most cases.)
GND GND
DIN D11
CLK D13
CS D10
DC D9
RST D8
BUSY D7

Expected result

  1. Copy the libraries file of Arduino demo code to the libraries folder which is under the installation directory of Arduino IDE, it usually is C:\users\username\documents\arduino\libraries. You can also designate the location on Arduino IDE--> File -->Preferences -->Sketchbook location
  2. Upload the project.
  3. E-paper will display the image.

Note:

  • The refresh rate of this module is slow, and it will flicker for several times during refreshing. Please be patient.

Working with the STM32 development board

  • Here we use STM32F103ZE development board or NUCLEO-F103RB.
  • The demo code is based on HAL, so you can port the demo code to other STM board with STM32CubeMX.
  • The demo code can be compiled successfully in Keil v5

Hardware connection

Connecting to the STM32F103ZE:

e-Paper STM32F103ZE
3.3V 3V3
GND GND
DIN PA7 (MOSI)
CLK PA5 (SCK)
CS PA4
DC PA2
RST PA1
BUSY PA3

Connecting to the NUCLEO-F103RB:

e-Paper NUCLEO-F103RB
3.3V 3V3
GND GND
DIN PA7
CLK PA5
CS PB6
DC PC7
RST PA9
BUSY PA8

Expected result

  1. Open the project (epd-demo.uvprojx), which is under the MDK-ARM directory.
  2. Click Build to compile the project.
  3. Click Download to load the code to your board.
  • Reset, the screen will display image.
    Note: The refresh rate of this module is slow, and it will flicker for several times during refreshing. Please be patient.

Resources

Documentation

e-Paper

Support

Support

If you require technical support, please go to the Support page and open a ticket.