Review: 3.7" e-Paper e-Ink Display for Raspberry Pi Pico

By Phil King. Posted

E-ink displays have long proven useful for portable Raspberry Pi applications with low power requirements where the display doesn’t require rapid updates. Combined with the lower-power usage and tiny footprint of Raspberry Pi Pico, an e-ink display makes an ideal combination for projects like a name badge or weather display.

This 3.7-inch Waveshare e-ink display (from £24) features two female headers on the rear so that you can simply plug in a Pico (equipped with soldered male headers). The graphic on the board makes it clear which way round to orientate Pico to avoid getting the wrong connections.

The board also features an eight-pin SPI interface, so can be wired up to a Raspberry Pi computer, Arduino, or another microcontroller.

Four shades of grey

While the 480×280 display is monochrome, it does offer four levels of greyscale for fairly accurate shading. One advantage of the greyscale display is that it takes less time to do a full refresh than on colour e-ink equivalents (which Waveshare also makes): just three seconds. Even better, it’s possible to do a partial refresh of an area of the screen, for instance for updating a digital clock display, in a mere 0.3 seconds.

To make the e-ink display work, you’ll need to visit the Waveshare wiki, and download a zip file containing C and Python example code and UF2 files to flash to Pico. The Python demo is limited and prints some text and a couple of rectangles in portrait mode. The C code – detailed in the wiki – uses landscape mode and is more extensive, printing text, drawing shapes, and showing a digital clock with seconds counting. There’s no example of displaying a bitmap image, however, so you’ll need to perform a bit of internet trawling to work out how to do it.



The display itself works well, and is fast to refresh, but you’ll need to do some work on the code to make the most of it.


Display: 3.7-inch, 480×280 pixels, four-level greyscale

Refresh: 3 seconds (full), 0.3 seconds (partial)

Dimensions: 95.3×56.9 mm board, 47.32×81.12 mm display area

From The MagPi store