Skip to content

tlstommy/PiInk

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

98 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

PiInk - A Raspberry Pi Powered E-Ink Picture Frame

all 3 piinks

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!

Table of Contents

Installation

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.

WebUI & PiInk Buttons

The PiInk can be controlled via the WebUI which can be found at the Raspberry Pi's IP address or at piink.local

webui

Uploading an image

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.

Uploading an image via cURL

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

Settings

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.

PiInk Buttons

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

Parts List

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.

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.

Note: The larger the display, the longer it takes to refresh an image.

The included mounting hardware is used to secure the Inky Impression to the 3D-printed stand.

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

Recommended Printing Settings

  • Layer Height: 0.15mm
  • Infill: 10%-15%
  • Supports: Baseplate

PiInk Frame Assembly

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

Step 1: Attach the Pi Zero and install the standoffs to the lower mounting holes.

Assembly Step 1

Step 2: Secure the stand onto standoffs using the screws. They will thread themselves.

Assembly Step 2

Step 3: Route the Raspberry Pi power cable behind the PiInk stand.

Assembly Step 3

Demo

Below is a video showing the PiInk updating to a new image.

IMG_0512.1.webm

Issues & Suggestions

If you encounter any issues or have any suggestions, please submit them through the GitHub Issues page. Your feedback is greatly appreciated!