This is a sort of mini-review for the new Inky-Impression (2025, Spectra6-technology).
Hardware
There are some minor changes to the old version: e.g. two Stemma/Qt connectors, but most importantly the display is smaller than the PCB so you have now a small edge including holes. This prevents a borderless frame, but it makes it easier to attach a panel. Note that the shop-pages still shows the old display (-> @Hel).
The connector on the side is great, since you can use it from both sides (for “internal” or “external” components). I would have preferred that one of the Stemma/QT would also be oriented to the outside, but you can still use I2C from the normal connector.
The colors are nice and saturated. I measured a refresh-time of about 18s with an additional 6s of overhead (SPI-setup and so on), so one update cycle takes about 24s. This is far better than the 40+s we had with the old display generation.
Software
The Python-software from Pimoroni just works, well done. I did use the manual install method because I want to know what is going on and I want the choice to where I put my virtual environment, but you can certainly also live with the standard installer.
Images are automatically dithered. Dithering was developed for print where the colors bleed into each other. This is not available for displays, but the driver does a fairly good job. Dithering quality always depends on the input image and if you want to tweak it it is better to use ImageMagick and feed a pre-dithered image into the respective method.
Running from Batteries
E-inks are low power displays. If you run off a wall-plug, think about using a normal display, which is cheaper, has far better colors and very fast refresh-rates. There are good reasons nevertheless to use and power e-inks from mains, but usually you want to run them from batteries.
The typical setup is to add some external power-management (see for example the Witty-Pi-Mini in this post: Inky impression eInk built in a picture frame (automatic resizing of pictures with code example!) - #11 by jerrynsr) that powers your device on and cuts power after updates. I did not use the Witty-Pi-Mini for the Inky-Impression myself, but I use it for a tvheadend-based video-recorder on a Pi3A+ for years now and once it is setup it just works without problems.
Note that the Pi5 has everything that is needed already on board, but the Pi5 is absolutely oversized for the task (even the 2GB version).
To extend your battery life, make sure to optimize the boot time of your Pi. I managed to bring down the time until my application starts from 30s to 12s for a Pi-Zero-W. The Pi-Zero-W is sufficient for all you want to do with the Inky-Impression, but I would still recommend the Pi-Zero2-W, it is just so much faster and maybe the default boot-times are already good enough for your use-case.
If you need some boilerplate code, you can head to GitHub - bablokb/pi-e-ink-daily: Display Daily Agenda on an E-Ink Display.
The project uses the following systemd-service to update the display: the first ExecStart=
just tests for a button and prevents the automatic shutdown, the second ExecStart=
is the update program and the third ExecStart=
shuts down the system again (unless the first program bails out).
# Systemd service Definition for pi-e-ink-daily.service.
[Unit]
Description=Update Daily-Agenda on E-Ink Display
Requires=network-online.target
After=network-online.target
Wants=network-online.target
[Service]
Type=oneshot
RemainAfterExit=true
ExecStart=/usr/local/bin/check_admin_mode.sh
ExecStart=/usr/local/bin/daily_agenda.py
ExecStart=/bin/systemctl poweroff
[Install]
WantedBy=multi-user.target
But note that this is an old project, don’t expect that the installer still works!