Project Overview

The MatrixPortal Album Art project loads and displays a remote image from a webserver and automatically updates when a new album is picked on the webserver.

Source code: GitHub


In the fall of 2021 I started to play around with loading an image on two 32x64 RGB Matrices. That project eventually turned into the PyPortal Album Art, which displays the album art along with a Winamp player showing the name of the artist and album. I used the PyPortal because I didn’t care for the image quality of the RGB Matrix because it used a 64x64 image, which is practically pixel art at that resolution. Much later when I came across this Adafruit Learn Guide on gamma correction for the RGB Matrix did I have an aha moment of how to proceed.

The image used is generated by my FastAPI Python application and the image is resized using Pillow by the web app. I was then able to adapt the gamma correction code from the above learn guide and have that run by the web app, too. But for the purpose of this code, you can use any image on the web by just changing the URL in the code.

Using MQTT, the MatrixPortal listens for a message created by the web app when a new album is chosen and then saves and loads the image on the RGB Matrix. If you wish to use MQTT to listen, you will need to create an Adafruit IO account.

Parts Needed

An album by Divine Fits, showing the album sleeve, the art on a computer screen and the same image on an RGB Matrix