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:const char *ssid = "YOUR_WIFI_SSID"; const char *password = "YOUR_WIFI_PASSWORD"; const char *host = "YOUR_SERVER_IP" const uint16_t port = "YOUR_SERVER_PORT";
-
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