Recently, I found a relatively cheap e-paper display browsing a Raspberry Pi shop. Texts or images are permanently displayed by colored pigments, without the need for a maintenance voltage. You may know this from e-book readers. Since I happened to have a Raspberry Pi Zero left, I quickly tried a DIY e-paper project.
List of used hardware
On waveshare’s website there is a sporadic manual and a GitHub link. The code examples on GitHub seem to be more up-to-date than those linked on the manufacturer’s site. Also, this DIY blog article helped me a lot.
Let’s start with a few “apt-gets”:
sudo apt-get update
sudo apt-get install python3-pip python3-pil python3-numpy
sudo pip3 install RPi.GPIO
Next, we download the display drivers and libraries from the manufacturer. There is no universal driver, each display has an associated driver.
First, we simply copy the complete GitHub repo:
git clone https://github.com/waveshare/e-Paper
This should have created a new directory that contains the complete folder structure of the GitHub repo. We change to the directory containing the Raspberry Pi Python3 examples:
cd e-Paper/Raspberry Pi/python3/examples
and execute the matching python script for the display:
Now the demo code should run and render pictures and texts on the display! Cool!
You notice that the refresh cycle takes a while. But for a “clock” which refreshes every minute, it is enough.
As an an example
It is a “work-in-progress”, currently these functions are implemented: