Exact previews
See exactly what the panel will show before sending. Smart crop that finds the subject, manual crop, fit with a border or a blurred background, and an optional date caption.
A self-hosted control center for e-ink photo frames. One small Docker container, your own server, your Immich library. No subscriptions, no vendor cloud in the middle (unless the frame needs one).

| Frame | Integration | How the hub talks to it | Status |
|---|---|---|---|
| BLOOMIN8 E-Ink Canvas | π Local | Local API on your LAN, push or scheduled pull, Bluetooth wake | β Full support |
| SwitchBot AI Art Frame | βοΈ Cloud | SwitchBot's official cloud API | β Supported (needs a public https address) not tested |
| TRMNL, Waveshare PhotoPainter, Seeed reTerminalβ¦ | π Local | The hub acts as their TRMNL "BYOS" server | β Supported not tested |
| Your own ESP32 / Raspberry Pi frame | π Local | Open Frame protocol | β Supported not tested |
| Aura | βοΈ Cloud | Unofficial, reverse-engineered API only | β Not supported |
| Reflection | π± NFC | Tap-to-print from a phone, no API | β Not possible |
Local frames talk to the hub over your network only and keep working without internet. Cloud frames go through the manufacturer's servers.
mkdir eink-hub && cd eink-hub
curl -O https://gitlab.com/yayitazale/eink-hub/-/raw/main/docker-compose.yml
curl -o .env https://gitlab.com/yayitazale/eink-hub/-/raw/main/.env.example
docker compose up -dOpen http://<your-server>:8080, choose an admin password and add your first frame. No hardware yet? Add Canvas β Simulated Canvas gives you a virtual frame to try everything.
π€ Built with Claude
This project has been developed together with Claude.