What Is E-paper?

E-paper displays are a niche display technology that uses electric fields to move colored particles in a controlled way to make a very paper-like display.

Most people first saw it in the smart price tags in supermarkets, another widespread use is for e-book readers, and there are used more and more in signage.

A modern e-paper price tag
A modern e-paper price tag (credit: Minew)
A Kindle e-book reader
A Kindle E-book Reader (Credit: Amazon)
A bus stop sign using e-paper
A bus stop sign using e-paper (credit: Papercast)

These are all very good ways to use a technology with some pronounced advantages and disadvantages:

Advantages:

  • Extremely low power requirements: They only need power during refresh and consume no power once the image is displayed. This is perfect e.g. for a price tag that normally only needs to be changed once a day or less.
  • Paper-like display: They really do look like printed paper with all the advantages this brings: no need for backlight, extremely broad viewing angle, no eye strain.

Disadvantages:

  • Low refresh rate: You can forget playing video games on e-paper, it takes anywhere from hundreds of milliseconds (smaller black and white) to tens of seconds (large multi-color) to refresh the display.
  • Limited color display options: E-paper display are monochrome (black and white) by default. Lately, gray-scale (4 or 16 level) and multicolor e-paper displays became available, but these are still limited to 3, 4 or 7 colors. You can’t control them in the same way as RGB displays, so these displays are best for art that looks like comics, i.e. with clear lines and large single-colored surfaces.
  • Full refresh involves blinking: When you initialize e-paper, this involves fast blinking; the duration depends on number of colors and size. Black and white displays can do partial refresh with no blinking, but even these must do a blinking full refresh from time to time.
  • Not a mainstream technology yet: When you decide to use e-paper, there are resources available, from libraries to displays themselves. It is a technology that has seen some widespread use, especially in e-readers. But e-paper displays are much less standardized and more diverse than other display technologies. One display might allow partial refresh, the other doesn’t. A display that supports partial refresh might make a clean update or blink just once. The libraries I’ve seen are sometimes poorly documented. You might stumble upon unforeseen problems and will have to study some issues for sure. It’s doable, but using an OLED or LCD display is much more straightforward.

How To Use It?

E-paper is normally controlled by a small, low-power micro controller to take advantage of the low power requirements. It does not require much computing power and I’ve seen systems running on a simple Arduino Nano. Most systems will use a modern micro controller like a Pico or ESP32, but some people also use a Raspberry Pi, eg. to display computer- or AI-generated art.

I chose to use the ESP32 micro controller.

Why Use an ESP32 for E-paper?

  • It’s ubiquitous: There are many development tools available and a big community of developers to help you on your way.
  • It has all the periphery you need: WiFi, Bluetooth, SPI, a lot of flash
  • It will work with very low power in deep sleep. This enables compact battery- and solar-powered systems with no need for extra wiring and power supply.

Development Tools

There are several options to develop apps for ESP 32:

  • The ESP IDF: A very powerful development environment that includes an IDE, but you can use it in VSCode and Platformio too.
  • The Arduino ESP32 core: An Arduino core for ESP32 that you can use in Arduino and Platformio environments.

Pros and Cons of ESP IDF

ESP IDF is the native development environment of the manufacturer, so you can use all the options the chips offer. I would prefer to use it, but there is a problem: Libraries for e-paper are limited.

I found only one promising library for e-paper, the CALE EPD, but the GitHub project is not active lately (since 2023). This is a problem due to changes being introduced in the ESP IDF by ongoing development which mean you will have to fork and repair the library. The range of e-papers seems to be somewhat limited as well, even if it is still the most versatile option. In the end, I wasn’t able to get it working, which is mostly due to me not being an experienced developer, but should still tell you something.

Pros and Cons of the Arduino Core

It looks like the Arduino core is not prioritized by Espressif, but it is reasonably up to date and does not have many limitations. Arduino is a mature environment that puts a lot of emphasis on being backwards compatible, which I really like, but the main advantage in this case is the fact you have a great e-paper library available:

GxEPD2 is a really comprehensive e-paper library with very broad coverage of e-paper displays. It builds on Adafruit GFX, so the interface should be somewhat familiar if you worked with displays in Arduino before. It should work with all the chips Arduino supports, from the old Atmel ones, to the STM, Pico, ESP32 etc.

It’s main disadvantage is the lack of comprehensive documentation There are extensive examples that will enable you to get where you are going, but there will be pitfalls.

The very best thing about this library is that you simply take the example project, wire the display, and select the options in the configuration files: it should work on the first try. There is also a lot of information about it in the internet.

If you found this article useful, you can buy me a beer here.