InkyPi is an open-source, customizable E-Ink display powered by a Raspberry Pi. Designed for simplicity and flexibility, it allows you to effortlessly display the content you care about, with a simple web interface that makes setup and configuration effortless.
Features:
- Natural paper-like aethetic: crisp, minimalist visuals that are easy on the eyes, with no glare or backlight
- Web Interface allows you to update and configure the display from any device on your network
- Minimize distractions: no LEDS, noise, or notifications, just the content you care about
- Easy installation and configuration, perfect for beginners and makers alike
- Open source project allowing you to modify, customize, and create your own plugins
- Set up scheduled playlists to display different plugins at designated times
Plugins:
- Image Upload: Upload and display any image from your browser
- Newspaper: Show daily front pages of major newspapers from around the world
- Clock: Customizable clock faces for displaying time
- AI Image: Generate images from text prompts using OpenAI's DALL·E
- AI Text: Display dynamic text content using OpenAI's GPT-4o text models
- Weather: Display current weather conditions and multi-day forecasts with a customizable layout
And additional plugins coming soon! For documentation on building custom plugins, see Building InkyPi Plugins.
-
Raspberry Pi (4 | 3 | Zero 2 W)
- Recommended to get 40 pin Pre Soldered Header
-
MicroSD Card (min 8 GB)
-
E-Ink Display: (affiliate links)
- Inky Impression by Pimoroni
- Inky wHAT by Pimoroni
- Waveshare EPD devices
- 7.3 inch 7 color display
- as supported via the waveshare epd device drivers at Waveshare e-Paper. See later section on Waveshare e-Paper compatibilty for more infromation.
-
Picture Frame or 3D Stand
- See community.md for 3D models, custom builds, and other submissions from the community
To install InkyPi, follow these steps:
-
Clone the repository:
git clone https://github.com/fatihak/InkyPi.git
-
Navigate to the project directory:
cd InkyPi
-
Run the installation script with sudo:
sudo bash install/install.sh [-W <waveshare device model>]
Option:
- -W <waveshare device model> - specify this parameter ONLY if installing for a Waveshare device. After the -W option specify the Waveshare device model e.g. epd7in3f.
e.g. for Inky device use:
sudo bash install/install.sh
and for Waveshare devices use:
sudo bash install/install.sh -W epd7in3f
After the installation is complete, the script will prompt you to reboot your Raspberry Pi. Once rebooted, the display will update to show the InkyPi splash screen.
Note:
- The installation script requires sudo privileges to install and run the service. We recommend starting with a fresh installation of Raspberry Pi OS to avoid potential conflicts with existing software or configurations.
- The installation process will automatically enable the required SPI and I2C interfaces on your Raspberry Pi.
For more details, including instructions on how to image your microSD with Raspberry Pi OS, refer to installation.md. You can also checkout this YouTube tutorial.
To update your InkyPi with the latest code changes, follow these steps:
- Navigate to the project directory:
cd InkyPi
- Fetch the latest changes from the repository:
git pull
- Run the update script with sudo:
sudo bash install/update.sh
This process ensures that any new updates, including code changes and additional dependencies, are properly applied without requiring a full reinstallation.
To install InkyPi, simply run the following command:
sudo bash install/uninstall.sh
The InkyPi project is constantly evolving, with many exciting features and improvements planned for the future.
- Plugins, plugins, plugins
- Modular layouts to mix and match plugins
- Support for buttons with customizable action bindings
- Improved Web UI on mobile devices
Check out the public trello board to explore upcoming features and vote on what you'd like to see next!
Waveshare have a range of E-Paper screens, similar to the Inky screens from Pimoroni. They have slightly different requirements.
Waveshare device support is now available, but unlike the Inky screens which are auto configuring they require specific Waveshare EPD drivers.
When running the installation for waveshare displays, specify the driver for the device model (without the .py extension) with the -W option, and the script will automatically fetch the appropriate driver.
It is assumed that if the display is supported as part of Waveshares EPD package then it should work. However, note thate some displays—such as the 7.8" (7in8)—use a different SPI configuration (single CS) and are not currently supported out of the box.
Distributed under the GPL 3.0 License, see LICENSE for more information.
This project includes fonts and icons with separate licensing and attribution requirements. See Attribution for details.
Check out the troubleshooting guide. If you're still having trouble, feel free to create an issue on the GitHub Issues page.
If you're using a Pi Zero W, note that there are known issues during the installation process. See Known Issues during Pi Zero W Installation section in the troubleshooting guide for additional details..
InkyPi is maintained and developed with the help of sponsors. If you enjoy the project or find it useful, consider supporting its continued development.
Check out these similar projects:
- PaperPi - awesome project that supports waveshare devices
- shoutout to @txoof for assisting with InkyPi's installation process
- InkyCal - has modular plugins for building custom dashboards
- PiInk - inspiration behind InkyPi's flask web ui
- rpi_weather_display - alternative eink weather dashboard with advanced power effiency