A Cool Raspberry Pi Display

Get Crisp Static Images Plotted via Inky’s Python Library

Mike Riley
The Pragmatic Programmers

--

https://pragprog.com/newsletter/

During a recent interview to promote my latest book, Portable Python Projects, I was asked what new Pi-related technologies that has captured my attention. I quickly replied, “The Inky Impression” board.

The Inky Impression is a 5.7 inch, seven-color, 600x448 pixel E-Ink display with pins that connects to the Raspberry Pi GPIO adapter. It delivers a crisp display of static imagery plotted via Inky’s Python library. Imagine a smaller, more colorful version of an Amazon Kindle screen that allows you to programmatically define the contents. It’s thin, easy to install, and pleasantly colorful. You can even disconnect the Impression board from its power source after the screen has been updated, and that last static screen will remain as a persistent image on the display.

Due to the lack of reasonably priced inventory on the Pi 4 models, I have resurrected my previously decommissioned Pi 3’s for these kinds of projects. After connecting the Inky Impressions display to the Pi 3’s GPIO adapter and enabling the Pi’s SPI and I2C interfaces via Raspberry Pi OS’s raspi-config utility, I cloned the latest Inky library from GitHub and ran a few of the Python-based demos included in the library examples folder. While the screen refreshes take several passes to layer the colors on the display, the results are surprisingly colorful and clear. I used Inky’s image.py example, a simple routine that calls upon the Python Image Library, to test a variety of dithering on images with more than seven colors. Depending on the subject, lighting and color gamut, the rendered results were for the most part reasonable attempts to reduce colors to Impression’s limits.

Next, I searched GitHub for projects that were coded specifically for the Impression display. Of course, the two most obvious, calendars and weather, were top hit results. The one I tried first was Head Strong Solutions’ Inky Google Calendar project, which required configuring an API key and token to be generated via the Google Developer console for the calendar of the Google account I was interested in polling. The finished display was adequate but limited to only four single line entries per day.

I then cloned and tested Hothomir’s Weather Report. I already had a OpenWeather API key from a previous project, so once that was added to the configuration along with latitude and longitude location details, Weather Report displayed the current temperature and forecast for the day.

Inky Impression Weather Report

Besides the two projects featured in this article, a number of other enthusiasts have posted their own Inky calendar and weather interpretations, some more colorful than others. I plan on allocating more tinker-time to the board to combine ideas from all these projects and create a display that updates with the day’s agenda, weather, latest headlines, and favorite stocks on a single informational screen that I can glance at occasionally while working on my primary PC monitor. Since the Impression board needs power only when syncing new display information, the expense to run it in the background is minimal.

✒ Are you a fellow Inky E-ink display enthusiast? Please share your favorite projects in this article’s comments!

Be sure to pick up a copy of Portable Python Projects by Mike Riley, available from The Pragmatic Bookshelf. You can save 35 percent with promo code python_automation_2022 now through May 30, 2022. Promo codes are not valid on prior purchases.

--

--