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