Back to projectsDIY E-Ink Dashboard with Spectra 6

Overview

A custom e-ink information display built from scratch using a Waveshare Spectra 6 panel and ESP32. Designed as a low-power always-on dashboard showing weather, calendar, homelab status, and public transport times — refreshing once every 15 minutes and running for months on a single battery charge.

Why Spectra 6?

Spectra 6 (also marketed as E6) is Waveshare's implementation of the ACeP (Advanced Color ePaper) technology. Unlike traditional black-and-white e-ink or the older black-white-red Spectra 3 panels, Spectra 6 supports 6 colors: black, white, red, yellow, blue, and green. Full refresh takes about 15 seconds — slow, but perfect for a dashboard that updates infrequently.

Hardware

DisplayWaveshare 7.3" Spectra 6, 800x480, 6-color ACeP
Driver BoardWaveshare ESP32-S3 e-paper driver
Enclosure3D-printed PLA with matte finish
Power18650 Li-ion cell, ~3 months per charge

Design Decisions

  • Push, not pull — the display fetches from a lightweight API endpoint serving pre-rendered bitmap data, rather than rendering on-device. This keeps the ESP32 firmware simple and the layout easy to iterate.
  • Custom bitmap format — a compact indexed bitmap maps each 2-bit pixel to one of 6 colors, reducing payload to ~240 KB per frame.
  • Deep sleep between refreshes — the ESP32 wakes every 15 minutes, fetches the latest frame over WiFi, pushes it to the panel, and goes back to sleep. Average power draw is under 1 mW.

Current Status

Prototype hardware is assembled and the display driver is working. The bitmap rendering server (a small Bun endpoint) serves pre-composed dashboard frames. Next steps: design the dashboard layout, add weather and calendar data sources, and refine the 3D-printed enclosure.