A pair of e-paper desk displays, one for me and one for my girlfriend. We each send the other a short note from a private web page — typed, drawn by hand, sent as a photo, or typed and rendered into real cursive — and it appears on a paper-like screen on their desk, next to that day's weather and calendar. More deliberate than a text, and good for the stretches we spend apart.
Each unit is an ELECROW CrowPanel 5.79″ — an ESP32-S3 with a 272×792 black-and-white e-paper panel. E-paper only draws power when the image changes, so a note can sit on the screen for days. The device polls over HTTPS about every thirty seconds and redraws only the region that changed, which avoids the full-screen flash e-paper is known for. The backend runs on Vercel with a key-value store, pulls each person's local weather from Open-Meteo and their day from a Google calendar feed, and composes the note, agenda and weather into the panel's layout before the firmware ever sees it.
Both units are built and running, one of them two hundred miles away. Wi-Fi is set up through a captive portal rather than by reflashing, and new firmware ships over the air, signed.
1 — DESIGNED IN THE BROWSER
Before the panels arrived I built a simulator that renders the exact 272×792 layout in a browser, pixel for pixel, so the whole look could be designed and argued with while the hardware was still in the post. Three panels: the note, the day's agenda from a calendar feed, and the weather with date and time. Event titles wrap to an adaptive line budget rather than being cut off — a calendar that truncates the one thing you needed to read is worse than no calendar.
2 — FIRST FLASH
The panel on the bench, pulling a real note over Wi-Fi for the first time. This is where the display work actually happens: getting the power rail sequenced before any draw call, aligning the layout to the seam between the two driver halves, and redrawing only the region that changed so it doesn't flash the whole screen. Shown here rendering typed text into cursive, which is the one part of the note pipeline you can't fake in a simulator.
3 — THE FINISHED PIECE
The enclosure is solid oak, cut and finished on the bench, with the panel let into the face and the corners pinned with dowels sanded flush. The screen sits proud of the frame so the note reads like something set in a picture frame rather than a gadget on a desk. On it: a note she drew by hand, that day's calendar, and the weather.
DESIGN DECISION
One unit lives in someone else's apartment, and that fact set most of the engineering. I can't ask her to plug a laptop into it when I want to change something, so signed over-the-air updates and captive-portal Wi-Fi setup went in from the first version rather than being added once it hurt — the firmware only accepts an image signed with my key, because a device that will install whatever it is handed is a device sitting on someone else's network. The other call was to buy rather than build: the cursive rendering is an existing browser handwriting model, vendored in. Training one would have been the most interesting part of the project and would also have been the whole project, and nothing about the result would have been better. I also dropped the battery instead of deferring it. It's a desk object beside a socket, and a battery would have meant charge management, a bigger case, and a thing that dies quietly; USB power made it a piece of furniture.