E-Paper Shield

From Waveshare Wiki
Revision as of 08:54, 21 September 2022 by Eng52 (talk | contribs) (→‎FAQ)
Jump to: navigation, search
E-Paper Shield

Universal e-Paper Driver shield, supports various Waveshare SPI e-Paper raw panels, designed for Arduino





This is a universal driver board for connecting Arduino/NUCLEO and e-Paper raw panels can be used to drive various SPI interface e-Paper from Waveshare.


  • Operating voltage: 3.3V/5V
  • Interface: 3-wire SPI, 4-wire SPI (by default)
  • RAM capacity: 1M-bit / 128K-byte
  • Dimensions: 53.34mm × 53.34mm


Arduino UNO

  • The main control of the development board used in this example is: Arduino UNO.

Plug the module into the Arduino UNO, you need to pay attention:

  • When the Arduino board has an ICSP interface, the SPI Config switch on the display module is placed in the ICSP direction (default).
  • When the Arduino board has no ICSP interface, the SPI Config switch on the display module is set to SCLK\D13, MISO\D12, MOSI\D11 respectively.

Software Instruction

Download the program in the resource, or click here [1]
Unzip the file and copy the EPD file in the Arduino directory to the libraries in the Arduino installation directory, usually C:\Program Files (x86)\Arduino\libraries
Epapaer shield1.png
Restart Arduino IDE, click File->Example, and check whether there is an EPD option, if so, the library import is successful.
Epapaer shield2.png
Select the screen of the corresponding size and COM port, and download it to the UNO, which will realize functions such as drawing and reading pictures on the SD card.


Hardware Preparation

  • The main control of the development board used in this example is XNUCLEO-F103RB

Software Instruction

  • This demo is based on the HAL library, so the example program can be ported to other STM chips using STM32CubeMX
  • This demo is compiled and passed in the Keil v5 environment
  • Download the program in the documentation, or click here to download: [2]
  • There are two demos provided for decompressing the file. One is the routine that uses the RAM of the STM32 itself, and the other uses the onboard SPIRAM. For the former, it cannot be created on a screen larger than 4.2 inches. The cache of the whole image uses the method of uploading and refreshing multiple times.

As shown below:
Epapaer shield3.png

  • Open main.c in the project, remove the // of the test statement corresponding to the corresponding screen, compile and download, and it will realize functions such as drawing and reading pictures on the SD card.

For example: If you are using a 1.54-inch ink screen, as shown below
Epapaer shield4.png


Related Resources

This is a post in Arduino Form about our SPI e-Paper thanks to ZinggJM, maybe you want to refer to.


*Refresh mode
    • Full refresh: The electronic ink screen will flicker several times during the refresh process (the number of flickers depends on the refresh time), and the flicker is to remove the afterimage to achieve the best display effect
**Partial refresh: The electronic ink screen has no flickering effect during the refresh process. Users who use the partial brushing function note that after refreshing several times, a full brush operation should be performed to remove the residual image, otherwise the residual image problem will become more and more serious, or even damage the screen (currently only some black and white e-ink screens support partial brushing, please refer to product page description)
  • refresh rate
    • During use, it is recommended that customers set the refresh interval of the e-ink screen to at least 180 seconds (except for products that support the local brush function)
    • During the standby process (that is, after the refresh operation), it is recommended that the customer set the e-ink screen to sleep mode, or power off operation (the power supply part of the ink screen can be disconnected with an analog switch), which can reduce power consumption and prolong the life of the e-ink screen. . (If some e-ink screens are powered on for a long time, the screen will be damaged beyond repair.)
    • During the use of the three-color e-ink screen, it is recommended that customers update the display screen at least once every 24 hours (if the screen remains the same screen for a long time, the screen burn will be difficult to repair)
  • place of use
    • The e-ink screen is recommended for indoor use. If you use it outdoors, you need to avoid direct sunlight on the e-ink screen, and take UV protection measures at the same time. When designing e-ink screen products, the customer mainly determines whether the use environment meets the temperature and humidity requirements of the e-ink screen


Power on the development board for a long time, after each refresh operation, it is recommended to set the screen to sleep mode or directly power off processing, otherwise the screen may burn out when the screen is in a high voltage state for a long time.


You can adjust the value of Vcom in the program to change the display contrast, and the screen improvement effect with local brushing is particularly obvious.


The border display color can be set through the Border Waveform Control register or the VCOM AND DATA INTERVAL SETTING register.


0.5mm pitch, 24Pin.



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