cat articles/pixoo-spotify

Displaying Spotify Artwork on a Pixoo 64

I bought a Divoom Pixoo 64, a chunky 64×64 pixel display. The idea came from reading tenderlove's article about controlling one with Ruby. A display that I could control programmatically sounded like fun.

What I wanted was somewhere in the room that would always show the artwork for the music I was listening to. I use Spotify and usually play it through the speakers in my room from either my computer or phone, but I see the album artwork much less often than I expected. When listening on shuffle, I also regularly wonder what the current track is.

So I had my AI coding assistant implement it. More precisely, I built it about seven months ago and have been using it every day since. I recently tidied it up a little and published it:

The Pixoo API documentation is not exactly easy for humans to read or use. An AI coding assistant can still make sense of it and implement what I need, which is convenient. The API itself exposes a surprisingly broad and useful set of features, so perhaps having the documentation available at all is enough.

Here is what it looks like 👇

Pixoo 64 displaying Spotify album artwork and a scrolling track title

With only 64×64 pixels, the artwork naturally takes on a pixel-art look. I am very happy with it. Kawaii.

For text such as the track title, the program overlays the 8-point Misaki Gothic pixel font, builds a GIF, and sends that to the display. Tiny pixel fonts are a blessing. The program runs on a spare Raspberry Pi.

Because it polls the Spotify API, the display takes a moment to react when the track changes. It would be nice if Spotify exposed these changes as events.

cat related_articles/pixoo-spotify.yaml

  1. Building a Machine Learning PC with Two RTX 5090 GPUsNotes from building a two RTX 5090 machine learning PC in Japan, including power supply constraints, cooling, parts, and multi-GPU training tradeoffs.
  2. Understanding LangChain Expression Language (LCEL)LCEL is LangChain's recommended way to build chains. This article explains the basic behavior of Runnable, RunnableSequence, RunnableParallel, dict syntax, invoke, and RunnablePassthrough step by step.
  3. Launching AI News and how I used OpenAI behind itHow AI News collects AI, data science, and machine learning topics and uses OpenAI APIs to classify and summarize them in three lines.