Pixel Canvas
I spend all day looking at screens that want something from me. Pixel Canvas is a screen that doesn't — a networked 320×240 display that sits on my desk and quietly shows me my own life in the Vulpes palette.
It's an ESP32-S3-BOX-3B running a little Arduino REST API, driven by a bash CLI that rotates through "scenes" every fifteen minutes. Each scene is a tiny self-contained script that fetches from some corner of my data and draws it with primitives over HTTP — the weather, the last film I watched with my rating, the book I'm in the middle of, my best typing speed, a random card from the gear closet, a line from my journal.
The whole thing is the opposite of a notification feed. Nothing on it is urgent, nothing is trying to pull me back in. It's ambient — you glance at it the way you glance out a window, and mostly you just let it cycle in the corner of your eye while you work.
That's the part I actually care about. I've been tracking myself for years across a dozen systems, and the usual pitch for all that data is optimization: quantify yourself, find the inefficiency, grind it down. I've never been interested in that. I wanted to turn the panopticon inward and just look — not "how do I do more," but "what does a day of mine actually look like when it's reflected back and I'm not the one narrating it"
How it works
- Firmware — an Arduino sketch (LovyanGFX on the ESP32-S3-BOX-3B) exposes a small drawing REST API:
/pixel,/rect,/circle,/text, plus a browser drawing UI served at/. The device knows nothing about my life; it just knows how to draw. - CLI —
pixel <scene>pings the device, then runs the scene script. Every draw command is also logged, so a companion renderer (pixel-render) can snapshot exactly what's on the glass to a PNG — which is where every image on this page came from. - Rotation — a launchd job picks a scene every fifteen minutes, so it keeps cycling through my data on its own, no input from me.
By now there's a scene for nearly every corner of the archive — a random old tweet, a draft note yanked out of Obsidian, this week's intelligence-summary wiki page, the day's site analytics, a line of cipher text, and when there's genuinely nothing to say, a quiet field of ambient dots.
The scenes I like best are the ones that catch me off guard — a tweet from a version of me I'd half-forgotten, a book I keep meaning to finish. A small calm machine for remembering there's a life on this side of the screen too.