Model or dataset
fatihak/InkyPi avatar
fatihak/InkyPi

InkyPi: a Raspberry Pi e-ink frame you configure from the couch

E-Ink Display with a Raspberry Pi and a Web Interface to customize and update the display with various plugins

4,238 stars576 forksPythonGPL-3.0

At a glance

What is it?
InkyPi is an open source, GPL-3.0 project that turns a Raspberry Pi and a Pimoroni or Waveshare e-ink panel into a customizable display, driven entirely through a web interface. Six bundled plugins cover images, newspapers, clocks, AI generated content, weather and calendars, scheduled playlists rotate them, and one installer script handles the SPI and I2C setup.
Who is it for?
Build an InkyPi when the goal is a calm, glanceable display for weather, calendars or images and a Raspberry Pi plus an e-ink panel is already the right hardware footprint, since the web interface and plugin system remove the usual solder-and-script phase of such projects. Skip it for video, backlit dashboards or anything needing fast refresh, e-ink's paper aesthetic is the feature, not a limitation to engineer around.
Can I use it commercially?
Yes, with conditions. GPL-3.0 is a copyleft licence: if you distribute software that includes it, you must release that software's source code under the same licence. Running it internally without distributing it does not trigger that obligation.
Is it still maintained?
Yes. The repository last received commits 33 days ago.
What is it written in?
Mainly Python, according to GitHub's language statistics.

Answers come from the project's GitHub data, last synced on September 30, 2026, and from our analysis. They are not legal advice.

Editorial analysis

A picture frame that refreshes on a schedule

InkyPi is an open-source, customizable E-Ink display powered by a Raspberry Pi, designed for simplicity and flexibility, with the defining feature being a web interface that handles setup and configuration from any device on the network. The pitch is a natural paper-like aesthetic, crisp, minimalist visuals with no glare or backlight, and a deliberate absence of distractions, no LEDs, noise or notifications, just the content chosen. The scheduling model is the part that elevates it beyond a static photo frame, set up scheduled playlists to display different plugins at designated times, so the morning can show weather, midday the calendar, and evening a comic, without anyone touching the device. The project is aimed equally at beginners and makers, with installation reduced to scripts and the everyday control surface living in a browser.

Six plugins, from image upload to calendars

The bundled plugin set covers the realistic use cases for a household display. Image Upload displays any image sent from the browser. Daily Newspaper and Comic shows daily comics and front pages of major newspapers from around the world. Clock offers customizable clock faces. AI Image and Text generates images and dynamic text from prompts using OpenAI's models. Weather displays current conditions and multi-day forecasts with a customizable layout. Calendar visualizes Google, Outlook or Apple Calendar data, again with layout options. The set is explicitly meant to grow, with building custom plugins documented in docs/building_plugins.md, and a wiki collecting community-maintained third-party plugins, so the plugin surface is the project's actual extensibility story rather than a config file.

A Pi 4, 3 or Zero 2 W and the right panel

The hardware recipe is a Raspberry Pi 4, 3 or Zero 2 W, with a 40 pin pre-soldered header recommended, a microSD card of at least 8 GB, and a supported e-ink panel. On the Pimoroni side, Inky Impression works in 13.3, 7.3, 5.7 and 4 inch sizes, and the 4.2 inch Inky wHAT is also supported. Waveshare coverage includes the Spectra 6 full color E6 panels at 4, 7.3 and 13.3 inches and black and white panels at 7.5 and 13.3 inches, with additional models listed through their catalog, subject to the compatibility section's caveats. Framing is left to the builder, with picture frames or 3D printed stands and a community file collecting 3D models and custom builds. The shopping links carry an affiliate disclosure, commissions at no extra cost, funding maintenance and development of the project.

One installer, one flag for Waveshare

Installation is three steps. Clone the repository, change into it, and run the installer with sudo:

bash
sudo bash install/install.sh

for Pimoroni Inky displays, or with the Waveshare flag and model name for Waveshare panels:

bash
sudo bash install/install.sh -W epd7in3f

The -W option is to be specified only for Waveshare, and some models complicate it further, those not published in Waveshare's common driver directory and shipped only under E-paper_Separate_Program take a path into the vendor repository instead of a bare model name, for example E-paper_Separate_Program/3.6inch_e-Paper_E/RaspberryPi_JetsonNano/python/lib/waveshare_epd/epd3in6e.py. When installation completes the script prompts for a reboot, after which the display updates to the InkyPi splash screen, the first sign the wiring is right.

The installer takes over the Pi

The notes around installation set expectations about scope. The script requires sudo privileges to install and run the service, and the recommendation is to start from a fresh installation of Raspberry Pi OS to avoid conflicts with existing software or configurations, which is honest about how much of the machine the service intends to own. The installation process automatically enables the required SPI and I2C interfaces, the two Raspberry Pi buses the e-ink panels speak, removing the usual raspi-config detour. Deeper instructions, including imaging the microSD card with Raspberry Pi OS, live in docs/installation.md, and a YouTube tutorial walks the whole build for people who prefer following along visually. The result is an appliance, not a general purpose Pi with a screen attached.

Updates and removal are scripts too

The lifecycle continues in the same idiom. Updating to the latest code means navigating to the project directory, pulling with git, and running the update script with sudo, and the documentation states the point of the sequence, ensuring new updates including code changes and additional dependencies apply properly without requiring a full reinstallation. Removal is symmetrical, a single sudo bash install/uninstall.sh, so the project can be tried on a Pi without committing the machine permanently. The three scripts, install.sh, update.sh and uninstall.sh, sit together in the install directory, and the pattern keeps the operational surface small enough to remember, one directory, three verbs, matching the beginner friendly positioning of the web interface above them.

Inky auto-configures, Waveshare wants a driver

The two display families differ in how they come alive, and the support section explains the split. Waveshare offers a range of e-Paper displays similar to Pimoroni's Inky screens but with slightly different requirements, where Inky displays auto-configure via the inky Python library, Waveshare displays require model-specific drivers from their Python EPD library, the waveshareteam e-Paper repository's RaspberryPi and Jetson Nano section. That is why the installer's -W flag exists and why some models need a path instead of a name. The project has been tested with several Waveshare models, and the boundary is drawn clearly in bold, displays based on the IT8951 controller are not supported, the one line of shopping-list due diligence that prevents an incompatible purchase.

A public trello board and a devbox

The roadmap names its priorities in order, plugins, plugins, plugins, followed by modular layouts to mix and match plugins, support for buttons with customizable action bindings, and an improved web UI on mobile devices. Development planning happens in public on a trello board, where the same page invites voting on what should come next, a lightweight governance choice for a maker project. The repository itself shows engineering care, a tests directory with pytest configuration, a devbox.json declaring the development environment, an editorconfig, and docs split across installation, plugin building and community files. There are no GitHub releases, so git pull plus the update script is the distribution channel, and the last push landed 2026-08-29 under GPL-3.0.

Editorial conclusion

Build an InkyPi when the goal is a calm, glanceable display for weather, calendars or images and a Raspberry Pi plus an e-ink panel is already the right hardware footprint, since the web interface and plugin system remove the usual solder-and-script phase of such projects. Skip it for video, backlit dashboards or anything needing fast refresh, e-ink's paper aesthetic is the feature, not a limitation to engineer around. Before buying parts, check the supported display list carefully, Pimoroni Inky Impression and wHAT panels plus specific Waveshare models, since IT8951 based displays are explicitly unsupported, start from a fresh Raspberry Pi OS install as recommended, and follow the Waveshare driver instructions exactly if your panel needs the -W flag.

Frequently asked questions

what is inkypi?

InkyPi is an open-source, customizable e-ink display project powered by a Raspberry Pi, with a web interface for setup and configuration from any device on the network. It shows content through plugins, images, newspapers and comics, clocks, AI generated content, weather and calendars, and scheduled playlists rotate plugins at designated times.

how to install inkypi?

Clone the repository, cd into it, and run sudo bash install/install.sh for Pimoroni Inky displays, or sudo bash install/install.sh -W epd7in3f with your Waveshare model for Waveshare panels, where some models instead take a path into the E-paper_Separate_Program directory. Reboot when prompted and the display shows the InkyPi splash screen.

Is the Pimoroni Inky Impression display compatible with Raspberry Pi?

Yes, InkyPi lists Pimoroni's Inky Impression as a supported display in four sizes, 13.3, 7.3, 5.7 and 4 inches, alongside the 4.2 inch Inky wHAT, driven on Raspberry Pi 4, 3 or Zero 2 W with the inky Python library auto-configuring them.

Official sources

  1. fatihak/InkyPi on GitHub
  2. Issues
  3. License: GPL-3.0
  4. README
Add this badge to your README

If you maintain this project, the badge below links readers to this analysis and shows its maintenance status from the daily GitHub snapshot. Paste the markdown into your README; add ?metric=license or ?metric=stars to the image URL for a different field.

Add this badge to your README

markdown
[![Hysen Labs](https://hysenlabs.com/badge/fatihak-inkypi.svg)](https://hysenlabs.com/projects/fatihak-inkypi)