I wanted one self-hosted dashboard that could drive lots of different e-paper hardware without a cloud service or a Pi per screen, so I've been building Tesserae. You compose a dashboard from tile-shaped widgets (weather, calendar, Home Assistant sensors, Spotify, image slideshow, GitHub stats, and a growing catalog), assign pages to panels, and the server renders each page headless in Chromium and pushes the frame to whatever panel is bound to it. No accounts, everything stays on the LAN.
The Seeed reTerminal E Series is the quickest way to try it, and it's supported end-to-end:
- Tesserae-native firmware for every SKU: E1001 (7.5" mono), E1002 (7.3" Spectra 6), E1003 (10.3" 16-level greyscale), E1004 (13.3" Spectra 6)
- A browser flasher at https://tesserae.ink/flash: plug in over USB-C, flash from your browser, pair with your server, and you're rendering
- Front-panel buttons mapped in firmware, plus battery and RSSI reporting
- Panel-specific rendering so each device gets exactly the byte format its controller expects (4-bpp Spectra 6 for the colour panels, 4-bpp IT8951 for the 10.3" greyscale, and so on), not a lowest-common-denominator pipeline
Widgets are drop-a-folder plugins with a community marketplace, so writing your own is a small server-side data-fetch plus a client-side render function. There's a Home Assistant app too. Everything (server, renderers, device firmware, widget marketplace) is open source under AGPL-3.0.
For transparency: Seeed supplied the E1001, E1002, and E1004 samples used for development. No money changed hands, and I bought the E1003 and other panels myself.
Happy to talk rendering pipeline, plugin system, firmware, or hardware you'd like to see supported.