A self-hostable, wireless e-ink picture frame system for the Soldered Inkplate 10.
This repository contains two components:
inkplate
- Arduino sketch for the Soldered Inkplate, an ESP32-based e-paper display:- Displays pictures hosted on server.
- Automatically updates the picture at midnight.
- Enters low power mode until the next scheduled refresh or a manual refresh (via wake button), extending battery life to several months.
server
- Server written with Go + HTMX:- Web dashboard for uploading and managing images.
- Handles image processing and storage to a SQLite database.
- Produces single binary for easy deployment.
The server requires a Go installation in order to run.
- Navigate to the
server/
directory. - Run
go run .
See deploy.sh
for deploying the binary to a Raspberry Pi server.
-
Install the
arduino-cli
brew install arduino-cli
-
Create
inkplate/secrets.h
with your Wi-Fi credentials and server info:#define SSID "YOUR_WIFI_SSID" #define PASSWORD "YOUR_WIFI_PASSWORD" #define SERVER_ADDRESS "YOUR_SERVER_ADDRESS"
-
Connect the Inkplate to your computer via USB.
-
Update
sketch.yaml
with your appropriate Inkplatefqbn
andport
:arduino-cli board list # Identify device's port
-
Compile and upload the
inkplate/inkplate.ino
sketch to the Inkplate.arduino-cli compile --verbose --upload --profile default
Note
If you encounter a "Bad CPU type in executable" error on Apple Silicon, install Rosetta using softwareupdate --install-rosetta