PixelPane

A 32x32 LED pixel art frame on my shelf, driven by a Raspberry Pi.

PythonRaspberry PiLED matrixHome Assistant3D Printing

PixelPane plays pixel art GIFs mixed with live, animated scenes: the clock, the weather, what's playing, my next meeting, and decorations that change with the seasons. From the front it's a dark mirror until the LEDs light up behind it.

It's open source and plugin-based, like MagicMirror. Home Assistant, or anything that can send an HTTP request, pushes notifications and data to it, and it has its own control page, with a live preview of the panel, for everything else.

how it works

  1. 01

    Behind a mirror

    A 32x32 LED panel sits behind a 3D-printed grid and a two-way mirror in a shadow box, so every LED reads as a square pixel.

  2. 02

    Scenes are plugins

    A playlist mixes GIFs with animated scenes. Each scene comes from a plugin, and a plugin is one Python file.

  3. 03

    Home Assistant pushes to it

    Home Assistant sends ON AIR, doorbell and laundry alerts, the weather and what's playing. It only receives, so it never needs a Home Assistant token.

ls clips/

Recorded from the control page. Hover to play.

Play now, with a live preview
Notifications and ON AIR
Weather, music, meetings, homelab
The GIF library

ls inside/

Side view of the inside of the shadow box: from the front, a two-way mirror, an optional diffuser, the 3D-printed light grid, the LED panel facing forward, then the Raspberry Pi with the RGB Matrix HAT and a 5 V 4 A power supply going to the wall
Inside the shadow box
The PixelPane control page: a live preview of the panel, power and brightness, what is playing now and next, the active Autumn and Halloween themes, and Play now buttons for every scene
The control page, with a live preview of the panel
← cd ../projects