•
3 min read
Introducing Screeny

I bought a Tidbyt sometime during the pandemic. It seemed like something I should want: a furniture-grade walnut frame around a low-resolution LED panel, all retro-futuristic vibes. Then you plug it in and realize it makes almost any room a little uglier.

The problem isn’t the hardware, it’s the software model. Tidbyt’s servers render frames in the cloud, and an underpowered ESP32 inside the frame displays them as fast as it can — somewhere between 10 and 20 fps, according to the internet. A faster frame rate wouldn’t have helped anyway, because most Tidbyt apps are, frankly, ugly.

What if a Tidbyt were less of a screen and more of a digital art frame?

Today I’m open-sourcing Screeny. It turns a Tidbyt into a single-purpose, high-frame-rate display for graphics rendered on your local network. Screeny Studio, a Rust binary that generates the graphics in real time, can run as a Home Assistant app, so it’s easy to manage.

The core technical trick: every frame fits in a single UDP packet. Screeny compresses each one into 1,464 bytes or less, shrinking its color palette only when it has to. This means the ESP32 can shovel packets onto the screen as fast as they arrive from the network.

Screeny Studio

Screeny ships with a handful of patches. I love Humans since 1982’s ClockClock 24, and the Clocks patch tries to capture the poetry of clock hands dancing between their occasional duty of telling time. It’s an homage to something I hope to have in my house one day.

There’s also a split-flap clock inspired by the Vestaboard, Halloween bats, falling leaves, a generative 3D world flyover (if the machine running Screeny Studio has a GPU), and a slow-motion flock of Boids.

This is all very MVP, and there’s plenty of room to find more original, less derivative art for the medium. But the hard parts — high-performance display firmware, a compute-efficient art generator, OTA updates, and Home Assistant integration — are done.

And yes, of course I built this with Claude Code. It’s a hobby project that turned something collecting dust on a shelf into something I actually installed in my living room. We should all be so lucky to build with so few constraints.

The code is on GitHub.