An open-source, low-power, digital picture frame that gives images a natural, paper-like, aesthetic.
Features:
- Web UI: A built-in interface to control PiInk and upload images over the network.
- Low Power: The E-Ink display only needs power to change images, allowing pictures to persist on the frame.
- Natural Aesthetic: No backlight and the unique E-Ink technology make images look as if they are printed onto paper.
- Open Source: PiInk is under the MIT License, so modify it as you see fit!
To install, clone the repository, run the install script, and follow the on-screen instructions:
git clone https://github.com/tlstommy/PiInk.git
cd PiInk
sudo bash install.sh
Upon reboot, the PiInk program will start and be accessible on the web at the Raspberry Pi's IP address or at piink.local
The PiInk can be controlled via the WebUI which can be found at the Raspberry Pi's IP address or at piink.local
Use the WebUI to upload an image to the PiInk via a file upload or an image link.
If you ever are unable to access the WebUI, press the A
button on the back of the PiInk and an info screen will pop up.
Images can be uploaded to the frame over the command line by using cURL.
Here is an example command: curl -X POST -F file=@image.png piink.local
In the PiInk Settings, set options for the PiInk such as orientation or automatic image adjustment. Reboot or shut down PiInk from the power button in the top right.
There is a button labeled Clear Ghosting
that can be pressed to cause the display to "scrub" the image to fix image ghosting issues.
Located on the backside of the PiInk's display are four buttons: A, B, C, and D. Each of these buttons is designed to execute a specific operation on the PiInk. Refer to the table below for the function associated with each button:
Button | Function |
---|---|
A |
Display the PiInk info screen |
B |
Rotate the current image clockwise |
C |
Rotate the current image counterclockwise |
D |
Reboot the PiInk |
PiInk's 3D printed mount is tailored to fit the Raspberry Pi Zero family, but it's versatile enough to be used with any Raspberry Pi model. Here's what you'll need to build your own PiInk:
- Raspberry Pi: Purchase a Pi Zero or other Raspberry Pi model from websites like Adafruit or Pimoroni.
- E-Ink Display: Specific details are in the next section.
- 3D-Printed Stand: Required for mounting the E-Ink Display.
PiInk uses a Pimoroni Inky Impression E-Ink Display, available in 3 sizes: 4", 5.7", & 7.3" You can purchase one at the links below.
The included mounting hardware is used to secure the Inky Impression to the 3D-printed stand.
Find 3D printable stand files in the STL folder or on Printables.com. Select the appropriate stand for your E-Ink display size from the table below:
E-Ink Display | STL file |
---|---|
Inky Impression - 4.0 Inches | 4 Inch Stand |
Inky Impression - 5.7 Inches | 5.7 Inch Stand |
Inky Impression - 7.3 Inches | 7.3 Inch Stand |
- Layer Height: 0.15mm
- Infill: 10%-15%
- Supports: Baseplate
Mounting the PiInk onto the PiInk stand is a straightforward process that can be completed in 3 simple steps.
You will need the following materials that are included with the Inky Impression:
- (2) Standoffs
- (2) Screws
Below is a video showing the PiInk updating to a new image.
IMG_0512.1.webm
If you encounter any issues or have any suggestions, please submit them through the GitHub Issues page. Your feedback is greatly appreciated!