E-Ink Frame Server

Backend for Seeed XIAO EE02 e-ink photo frames — runs on Cloudflare Workers.

What this is

This worker is the server half of a custom firmware project for the Seeed Studio XIAO ePaper Display Board (EE02), which drives a 13.3" Spectra 6 color e-ink panel. Each board runs custom firmware (not Seeed's stock firmware or the SenseCraft app) that wakes from deep sleep on a schedule, calls this API directly, displays whatever image it's given, and goes back to sleep to save battery.

This worker handles, per user account:

[EE02 board, deep sleep]  --wake-->  GET /device_config, /hash, /image_packed
        ^                                        |
        |                                        v
        +---------- refresh + sleep <---- this worker (Hono + D1 + KV)

Manage your frames

Devices, images, and schedules are all managed from the admin dashboard.

Open Admin Dashboard →

Setting up a new user

Accounts are created entirely from the dashboard — there's no signup form, no email, no password. Creating an account is just registering a passkey (Face ID, Touch ID, Windows Hello, or a security key); the passkey is the account.

  1. Go to /admin, open the "Create account" tab, and click the button.
  2. Follow your browser/OS prompt to create a passkey.
  3. Save the API key shown once after signup if you also want scripted (non-browser) access.
  4. Register your board's MAC address (shown when the board enters config mode) to start managing its images and schedule.

Returning later? Use the same passkey to log back in from the "Log in" tab — no need to keep the API key around unless you're scripting against the API directly.