All works
Personal project

Kaminka-Pi.

A little picture frame for our photos and whatever Kami is listening to on Spotify.

Raspberry PiPythonReactLED matrix
Completed
Finished white-framed LED matrix displaying a photograph

This is an old, old project from when my girlfriend Kami and I were still long-distance and playing Stardew Valley together. One day she surprised me with a cross-stitch of our characters. I wanted to surprise her back for her birthday with my skills - coding and tinkering - so I made my own version of Spotipi: Kaminka-Pi. Shout-out to ryanwa18 for the idea!

Kami’s Stardew Valley cross-stitch of our characters, framed in black

It’s a little picture frame that cycles through our photos every 20 seconds. When Kami plays music on Spotify, the album cover takes over. She can manage the pictures and control the frame from her phone.

From tiny screen to 64×64 pixels

Finding a Raspberry Pi Zero during the shortage took some scouting. The one I found had no header, so I had to learn to solder and add one myself 🛠️. I started with a small LCD touchscreen, using Python and Tkinter to show the pictures. That proved the idea worked before I committed to the bigger display.

I wanted Kami to be able to use it without fiddling with the Pi itself. A small Flask server exposes the hardware controls, like brightness and safe shutdown, over the local network. The React page is the friendly bit she can open on her phone to change those settings and browse or upload photos. At first the Pi also managed the gallery, but it was too slow, so I moved the photos to Firebase and let the Pi concentrate on the display.

After a while I bought a 64×64 RGB matrix and built it into a frame. Python and Pillow shrink pictures to fit the tiny grid, while Spotipy checks what Kami is playing and swaps in the album art. The display and web controls start when the Pi boots. Seeing our photos and album covers glow in a real frame made all the tinkering worth it.