You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
Go to file
Chris 598a6924ea Cleanup of color-module and removal of old drawing module 5 years ago
ci added ci 5 years ago
examples Adapt stm32 example to changes to fix build errors 5 years ago
src Cleanup of color-module and removal of old drawing module 5 years ago
.gitignore some changes 5 years ago
.travis.yml Fix travis build for stm32f3 5 years ago
Cargo.toml Remove more or less duplicate test cases for 2in9 buffer 5 years ago Create 5 years ago Update Readme 5 years ago

eink-waveshare-rs Build Status

This library contains a driver for E-Paper Modules from Waveshare.

It uses the embedded graphics library for the optional graphics support.

(Supported) Devices

Device (with Link) Colors Flexible Display Partial Refresh Supported Tested
4.2 Inch B/W (A) Black, White Not officially [1]
1.54 Inch B/W (A) Black, White
2.13 Inch B/W (A) Black, White
2.9 Inch B/W (A) Black, White

4.2 Inch E-Ink Black/White

Out of the Box the original driver from Waveshare only supports full updates.

  • [1]: Be careful with the quick refresh updates:
    It's possible with this driver but might lead to ghosting / burn-in effects therefore it's hidden behind a feature.


Interface Description
VCC 3.3V
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)

Display Configs

There are two types of Display Configurations used in Wavedshare EPDs, which also needs to be set on the "new" E-Paper Driver HAT. They are also called A and B, but you shouldn't get confused and mix it with the Type A,B,C and D of the various Displays, which just describe different types (colored variants) or new versions. In the Display Config the seperation is most likely due to included fast partial refresh of the displays. In a Tabular form:

Type A Tybe B
1.54in (A) 1.54in (B)
2.13in (A) 1.54in (C)
2.13in (D) 2.13in (B)
2.9in (A) 2.13in (C)
2.7in (A)
2.7in (B)
2.9in (B)
2.9in (C)
4.2in (A)
4.2in (B)
4.2in (C)
7.5in (A)
7.5in (B)
7.5in (C)


  • improve the partial drawing/check the timings/timing improvements/....


There are multiple examples in the examples folder. For more infos see the seperate Readme there: