Having Fun with Pervasive Displays E-Paper Screens – A Maker’s Journey
31 Oct 2022
Today, e-paper displays are everywhere: at home with e-readers, in stores with electronic shelf labels (ESL), in buildings for room management, in factories for smart displays, in hospitals with medical devices, on the go with wearables. But how does e-paper work? This article will introduce you to the journey of a maker, from the discovery of e-paper technology to the development of e-ink projects based on the Pervasive Displays e-paper displays.
The fields explored by hobbyists and makers are very diverse, including embedded systems, IoT, 3D printing, robotics. What are your motivations to invest in the fields of embedded systems and e-paper?
Electronics was a hobby. I used to build radios with my father. At that time, we were using lamps and transistors were just becoming available. Then I went on with my studies and left electronics.
I resumed with electronics fifteen years ago. Everything has changed: now, digital has overcome analogue, sensors are incredibly diverse and precise, and every component is almost a whole system. My first microcontroller (MCU) board was an Arduino Uno, but I switched very quickly to more capable boards, either 16 bits like the LaunchPad MSP430 with a built-in debugger or 32 bits like the chipKIT Uno32, and then to boards based on the Cortex-M. On single-board computers (SBC), I use the different models of Raspberry Pi, mostly Zero Wireless, 3B and 4B.
E-paper is everywhere, but how does it work? This was my major motivation: understanding how it works. By understanding, I mean using an e-ink screen, exploring the benefits and limitations of this technology, and tailoring solutions for very specific cases for which no commercial product are available.
The Pervasive Displays e-Paper EPD Extension Kit (EXT then EXT2) for the Texas Instruments LaunchPad MSP430 brought the perfect opportunity to start exploring technology and answering my questions.
As a professional maker, what do you think of the current offer of e-paper displays? What have been the major changes from the past and what do you anticipate for the future?
The first generation of e-paper was really slow and required almost all the pins provided by the MCU, including a pulse-width modulation (PWM) signal for the external time controller (eTC). The first major improvement was removing that signal with internal time controller (iTC). Then came colour with the black-white-red displays, even in very large e-ink screens up to 12″. And fast update slashed the refresh time.
The driving board was simplified with each new generation. The third generation EXT3-1 board is more compact and requires a minimum number of pins to drive the screen.
The last change from Pervasive Displays represents a major shift with the introduction of e-paper touch panels. Up to now, e-paper displays were passive display devices at the end of line. With touch, e-paper displays act as active input devices. The dedicated board, EXT3-Touch, is combined with the EXT3-1 to save space and secure connections.
Using touch with fast update and the dedicated PDLS-Touch library, hobbyists are ready to develop human-machine interfaces (HMI) based on e-paper.
With sensors to collect measures and algorithms to process them, a single device shows the results on the e-paper display and registers the commands from the user through the touch panel. As low-power, everything runs on batteries and does not require any network. I see a great potential for e-paper displays with touch as edge computing devices.
The future? I would expect e-paper technology to close the gap with other technologies like TFT, while keeping the key features like readability, contrast and low power. Let’s imagine the evolution of e-paper with full colour support, faster refreshment rates and, from a technical point of view, built-in frame buffer.
Your website shows many of your projects. They include weather station, remote messaging system, remote image display, a typie-walkie, to name some IoT projects. What is the most interesting application you have done with a Pervasive Displays e-paper screen? Can you tell us why?
Each project explores one key feature of the Pervasive Displays e-ink screens with a specific MCU. The weather station runs on a sub-1 GHz network with different sensors based on Texas Instruments CC1352 LPSTK; and a central hub featuring the e-paper display and running on the LaunchPad CC1352. The remote messaging system relies on WiFi with the cloud service provided by Particle. The typie-walkie e-ink project, after tests with WiFi on ESP32-DevKitC boards, uses LoRa on iLabs Challenger RP2040 LoRa boards for lower power consumption.
The most interesting application was the remote messaging panel. Elderly family members need help to remind today’s date and events. I couldn’t find any product on the market, so I started developing this project. And the critical component was the screen: the screen should be large, easy to read, even under direct sunlight, not emitting light, and immune to power outages. Additionally, the system should be discreet to fit in the living room.
This project is built around a Pervasive Displays black-white-red e-paper display and uses different colour to show two classes of messages: in red, messages stored locally as birthdays and holidays; in black, messages sent remotely.
The project combines three technologies:
- A dashboard powered by Node-RED on a PC: messages are typed in and sent.
- A service on the cloud: the messages are transferred by a third-party provider, Particle.
- A display: the main board Particle Photon includes a microcontroller and a WiFi radio to receive the messages and display them on the screen.
Other technical details include an external SRAM for the frame buffer, a persistent FRAM to keep the messages, and a low-power WiFi radio for battery operation. Finally, the nice wooden case fits perfectly in the living room!
Why Pervasive Displays?
Pervasive Displays makes e-paper display exploration effortless and rewarding with any board! Pervasive Displays brings an extensive line of options: e-ink screen sizes from 1.54” to 12.0”, monochrome and colour (black-white-red), embedded fast update (on selected references) and touch (on 3.70”). One single board, the EXT3-1, drives all the screens, and runs with any MCU and SBC. An additional board, the EXT3-Touch, is required for touch.
Even if hobbyists are supposed to be price conscious and have plenty of time, I always make a difference between price and cost when I source a component or a subsystem like a display.
A product which appears less expensive may actually require additional work to make it work, because documentation is scant or support is limited. I am willing to pay the right price to get a good level of documentation and support. At the end, I am saving a lot of time.
The offer from Pervasive Displays fits into that pattern: it provides evaluation kits, extensive documentation, ready-to-use libraries, multiple examples and direct support. Support is critical. Obviously, I did experience issues on some of the e-ink projects shown above, especially during final integration, and Pervasive Displays always helped me fix them so I could complete my projects.
One special mention goes to the evaluation kits. Apart from the boards like the EXT3-1 and EXT3- Touch, Pervasive Displays lists the EPD Pico Kit (EPDK), which contains everything to start with.
On the hardware side, the kit includes a Raspberry Pi Pico board based on the dual-core Cortex-M0+ RP2040, a Pervasive Displays e-Paper EPD Extension Kit Gen 3 (EXT3-1) , a 20-way cable, a 2.66″ monochrome e-paper display, a printed Quick Start Guide and pins maps for connection. On the software side, the open-source Pervasive Displays Library Suite is available for download. The wiki offers an introduction to the concepts of the e-paper technology. The concise articles illustrated with diagrams offer a gradual approach to learn how an e-paper screen works and how to take the most benefit of it.
What hardware and software tools do you use?
As hobbyists have access to limited resources, they have to develop specific tools and methods. Most of them are now used by companies: let’s mention fast prototyping and frugal innovation. As early adopters, hobbyists investigate new technologies and help them mature, before they go public to a broader audience.
I am using the Arduino SDK, although with another IDE, first Xcode on macOS and then Visual Studio Code on Linux and Windows. The Arduino SDK provides a hardware abstraction layer (HAL): the same code can run on multiple platforms and boards, both MCUs and SBCs. It is not limited to the ARM Cortex architecture like mbed OS.
One example is the very popular Espressif ESP32 platform with WiFi and Bluetooth capabilities. Another interesting example is Energia, a fork of Arduino for the LaunchPad boards from Texas Instruments, which goes further by including RTOS capabilities, interfaced through the Galaxia library. Raspberry Pi launched the RP2040, a dual-core Cortex-M0+ MCU.
Other boards include the Adafruit Feather, with a compact form-factor, stackable expansion boards, and a large choice of radios for IoT, including WiFi, Bluetooth and LoRa.
The modern MCUs are very powerful and allow elaborate applications. To deal with this complexity, I am using two tools to debug: the Segger J-Link debug probes and the Saleae logic analyser. The Segger J-Link debug probes for programming and debugging allows to execute each line step by step, monitor variables and check the call stack. The Saleae logic analyser records the signals of the GPIOs and decodes the SPI or I²C buses for later analysis. Both tools were especially useful during the development of the PDLS library for the Pervasive Displays boards and screens.
One final word?
I wish I had a kit like the EPDK when I started exploring e-paper technology! I can’t wait to see what innovations and enhancements Pervasive Displays is going to release. The latest consists on adding touch capability to e-ink screens. This opens a world of new possibilities.
Links to Pervasive Displays
- Main website https://www.pervasivedisplays.com/
- Documentation https://docs.pervasivedisplays.com/
- Libraries with examples https://github.com/PervasiveDisplays
- User guide https://pdls.pervasivedisplays.com/userguide/
- Reference manual https://pdls.pervasivedisplays.com/reference/
List of projects featuring e-ink screens
- Driving a Large E-Paper Display with a Compact Xiao RP2040 https://embeddedcomputing.weebly.com/driving-a-large-e-paper-display-with-a-compact-xiao-rp2040.html and https://www.hackster.io/rei-vilo/driving-a-large-e-paper-display-with-a-compact-mcu-board-148344
- Low-Power E-Paper Weather Station https://embeddedcomputing.weebly.com/low-power-e-paper-weather-station.html
- FRAM-based E-Paper Screen Controller https://embeddedcomputing.weebly.com/fram-based-e-paper-screen-controller.html
- Remote e-Paper Pictures Panel https://embeddedcomputing.weebly.com/remote-e-paper-pictures-panel.html and https://www.hackster.io/rei-vilo/remote-e-paper-pictures-panel-44094f
- Remote e-Paper Messages Panel https://embeddedcomputing.weebly.com/remote-e-paper-messages-panel.html and https://www.hackster.io/rei-vilo/remote-e-paper-messages-panel-1faa0c
- Typie-Walkie with E-Paper Screen https://embeddedcomputing.weebly.com/typie-walkie-with-e-paper-screen.html
- Typie-Walkie with LoRa and E-Paper Screen https://embeddedcomputing.weebly.com/typie-walkie-with-lora-and-e-paper-screen.html
- Pervasive Displays e-Paper EPD Extension Kit https://embeddedcomputing.weebly.com/pervasive-displays-e-paper-epd-extension-kit.html
- Pervasive Displays e-Paper EPD Extension Kit Gen 2 https://embeddedcomputing.weebly.com/pervasive-displays-e-paper-epd-extension-kit-gen-2.html
- Pervasive Displays e-Paper EPD Extension Kit Gen 3 https://embeddedcomputing.weebly.com/pervasive-displays-e-paper-epd-extension-kit-gen-3.html
- Connecting the Pervasive Displays e-Paper EPD Extension Kit Gen 3 https://embeddedcomputing.weebly.com/connecting-the-e-paper-epd-extension-kit-gen-3.html
- Pervasive Displays e-Paper EPD Extension Kit Gen 3-1 and Touch https://embeddedcomputing.weebly.com/pervasive-displays-e-paper-epd-extension-kit-gen-3-1-and-touch.html
- Connecting the Pervasive Displays EXT3-Touch https://embeddedcomputing.weebly.com/connecting-the-pervasive-displays-ext3-touch.html
- Pervasive Displays E-Paper Display Pico Kit https://embeddedcomputing.weebly.com/pervasive-displays-e-paper-display-pico-kit.html
- Arduino Uno https://store.arduino.cc/products/arduino-uno-rev3
- chipKIT Uno32 https://digilent.com/reference/microprocessor/uno32/
- Texas Instruments LaunchPad MSP430 https://www.ti.com/tool/MSP-EXP430G2ET
- Texas Instruments LaunchPad CC1352 https://www.ti.com/tool/LAUNCHXL-CC1352R1
- Texas Instruments LPSTK CC1352 https://www.ti.com/tool/LPSTK-CC1352R
- Particle Photon https://store.particle.io/collections/wifi/products/photon
- Espressif ESP32-DevKitC https://www.espressif.com/en/products/devkits/esp32-devkitc
- iLabs Challenger RP2040 LoRa https://ilabs.se/product/challenger-rp2040-lora/
- Raspberry Pi Zero Wireless https://www.raspberrypi.com/products/raspberry-pi-zero-w/ and https://www.raspberrypi.com/products/raspberry-pi-zero-2-w/
- Raspberry Pi 3B https://www.raspberrypi.com/products/raspberry-pi-3-model-b/
- Raspberry Pi 4B https://www.raspberrypi.com/products/raspberry-pi-4-model-b/
- Raspberry Pi Pico RP2040 https://www.raspberrypi.com/products/raspberry-pi-pico/
- Adafruit Feather https://www.adafruit.com/feather
- Segger J-Link debug probes https://www.segger.com
- Saleae logic analyser https://www.saleae.com