Getting makers excited

E-paper displays represent an entirely new class of user interface. A new open source adapter board makes it easier than ever to get started with this new, innovative technology.

For anyone experimenting with electronic products today there is one common requirement that spans all applications: to develop something that can be called ‘low power’. Of course, ‘low’ is relative but in the IoT era it often means operating for thousands of hours from a single cell, or even from energy harvested from the local environment (typically light, heat or vibration).

It is these kinds of applications that get makers excited, by getting the absolute best out of a device using the fewest possible resources. This class of application is more accurately called ‘ultra-low power’ and could be defined as any device that has active power levels in the micro-Watts, while using deep sleep modes to reduce current consumption to the nano-Amps.

Figure 1: The three figures on this page highlight the connectors needed to interface the e-paper board to the Teensy-LC

These are extremely tough requirements to meet, but less so if averaged over the entire operational lifetime of the device. If the functionality allows for short bursts of activity, followed by long periods of inactivity, overall system power can be kept to an absolute minimum.

Conceptually, this is entirely possible. Modern MCUs are designed with power in mind, and semiconductor manufacturers promote the low power credentials of their products. The key, as mentioned above, is often in implementing innovative sleep modes. These are often multi-tiered and progressively reduce or remove power to parts of the MCU, until the only thing active is a timer ready to wake the core up at a predetermined time or after receiving an external interrupt.

These hibernation modes are perfect for devices that are not required to interact with users when they are inactive, or devices that can give the appearance of constant operation by waking periodically and reacting accordingly, such as smoke alarms. But what about devices that require greater degrees of user interaction?

Often the only solution here is to use some form of indicator, and for many years this has taken the form of LEDs, providing an indication of status (green LEDs typically indicate everything is working correctly, while red LEDs might be used to alert a user to a problem, for example). While LEDs can consume very little power, they are not so suitable for applications that are expected to operate for many hours from a single charge, or from harvested power.

The development of e-paper displays has permanently changed this landscape for embedded designers. Thanks to their bistable nature, electronic paper displays (EPDs) enable ultra-low power applications to include a user interface without busting the power budget, because an EPD only consumes power when the screen is updating, and needs no power to retain its contents. The screen’s contents remain even when power is totally removed, hence the name ‘e-paper’.

In order to make it easier for embedded engineers to explore this innovative technology, SonikTech has developed an open source interface board that provides the crucial link between an MCU and an e-paper display. The adapter has been designed to work with the E2215CS062 2.15-inch EPD from Pervasive Displays and the Teensy-LC MCU board, which is based on a Kinetis L ARM Cortex-M0+ MCU from NXP, although it could be used with any MCU running the appropriate firmware.

Necessity the mother of invention

The idea of experimenting with an e-paper display came from another project, a weather forecaster which was originally powered from a mains outlet. User feedback centered on making it battery powered, but the LEDs used would have consumed far too much power to make that feasible.

An alternative and altogether more user-friendly solution was a low power LCD screen, and it was thought that adding a solar power cell would keep the battery charged. This worked well outside on sunny days, even though the LCD backlight needed to be on constantly, consuming power. However, on a cloudy day or if located inside, it was difficult to keep the battery charged using just the solar panel.

An e-paper display seemed to offer a better solution, as these displays are sunlight-readable and don’t require power until the screen’s contents need to be updated. However, at the time it was felt that driving an e-paper display was complex, demanding multiple voltages at irregular levels and polarities, which in turn required a lot of bespoke support circuitry. In high volumes this could be incorporated into an ASIC, but for low volume users or hobbyists these complexities could put e-paper displays outside the reach of many.

This proved not to be the case with the Pervasive Displays products. As well as offering a simple physical interface, the displays handle most of the complexities involved with e-paper. Pervasive Displays was also able to supply some open source code that formed the basis for a driver, as well as some circuit examples.

Within a very short period of development time — just a couple of days — the first iteration of the interface board was working. The prototype PCB was manufactured using OSH Park, a community-based service. The adapter board was subsequently launched on CrowdSupply. The firmware was rewritten to make it compatible with the Arduino project and bundled with some demonstration code, all of which can be obtained free of charge on Hackaday and GitHub.

The display chosen for this project offers a resolution of 110dpi, with 208 x 112 pixels. It has built-in circuitry to drive the active matrix TFT screen, which is controlled over an SPI interface. The few peripheral components required by the e-paper board to generate the voltages needed to drive the display were also incorporated into the adapter board. The connectors needed to interface the e-paper board to the Teensy-LC microcontroller platform comprise the main part of the board, as shown in the schematic in Figure 1.

Evaluating the e-paper display using the Teensy-LC is a simple process of plugging the adapter board into the display and then into the Teensy-LC board, which is then connected to a PC via USB. The software used to drive the Teensy-LC board, and therefore the display, is Teensyduino; a software add-on for the Arduino platform. The Teensy platform accepts all standard Arduino instructions (such as digitalWrite, analogRead and so on), as well as standard Arduino libraries. Once the software is installed and running and the hardware is connected, users can run example programs which include sample images that will be displayed on the e-paper screen.

The pseudocode in Figure 2 shows how the screen is updated, while the flowchart in Figure 3 covers the sequence, including references to how the control pins should be driven during the update.

Figure 2: The pseudocode in the figure at the bottom of this page, shows how the screen is updated

Design challenges

While the adapter board may seem simple, part of the challenge of developing it was to ensure it worked correctly with the complex drivers integrated on the e-paper display. This includes getting the width and length of the PCB tracks just right, which must be optimised for the display. After experimenting with several prototypes this design goal was achieved.

As e-paper display designs are generally proprietary and bespoke there really isn’t a ‘standard’ approach to their interface, so any adapter board is necessarily going to be unique to the chosen manufacturer’s format. In this case that is Pervasive Displays, which uses an SPI interface to communicate with the display coupled with control pins for the internal Tcon driver (iTC), the signals for which also need to be produced by the host MCU.

As well as the driver (supplied as open source by Pervasive Displays) the software’s complexity really lies in the look-up table (LUT) which is needed to update the screen. Most LUTs are created for specific screens and may cover different operating conditions, such as partial updates. The software may also need to cater for other conditions such as temperature variations (which can influence how the screen behaves), initialisation and variable duty cycles. Because temperature is an important factor, the adapter board includes a temperature sensor which is also connected to the SPI bus. The software uses the sensor to choose the optimal operating mode.

Conclusion

The option of adding a high-resolution display to an ultra-low power application offers many benefits. Progress made in e-paper displays, such as the integration of the screen driver, means it is now easier than ever to incorporate a display into almost any application, even in designs that must operate from extremely low power and based on very modest microcontrollers.

The ability of e-paper displays to hold their contents when all power is removed, means they can be used in applications that no other display can. The small amount of energy needed to refresh the screen can be applied in many ways. Conventionally, this might involve a battery, but it is now equally possible to only apply power during an update. This may even be applied wirelessly, for example.

Because it is unlike any other display technology, e-paper will enable new and innovative applications. The adapter board featured here is intended to help makers get started with e-paper displays - so let’s get creative!

Figure 3: The flowchart in this figure shows the sequence, including references to how the control pins should be driven during the update