Flipper - Display server for TRMNL e-ink devices
Self-hosted Go server that drives TRMNL e-ink displays. No cloud, no subscription, one binary.
- TRMNL
- e-ink
- Self-hosted
- Go
Flipper is a self-hosted display server for TRMNL e-ink devices, written in Go. Point a device at it and it serves images from a local directory, resized, dithered and encoded for the panel. Everything runs on the local network. No cloud account, no subscription, one binary.
From an image folder to a device fleet
Drop images into a directory and Flipper takes it from there. Built-in screens render weather, Hacker News and news headlines without any image file at all, and playlists decide what shows when, for every device or for one.
- Supports TRMNL OG (800×480, black and white) and TRMNL X (1872×1404, 16-level grayscale), detected from the device headers
- Playlists with a duration and parameters per entry, assignable per device
- A device registry with telemetry: firmware version, battery, WiFi signal strength
- Firmware updates over the air from the CLI, matched to the device model
Deliberately simple
The design follows the Go standard library rather than a framework. Device state lives in a JSON file, processed images live in memory, and TLS works out of the box with a self-signed certificate that has the local IPs baked in, because TRMNL devices insist on HTTPS. One binary, a TOML config file, environment variables to override it, no database, no runtime dependencies. MIT licensed.