Lo-Fi Art On A 32×32 Matrix

Display technology has improved by leaps and bounds over the last few years, thanks in no small part to the smartphone revolution. High-resolution LCD panels are dirt cheap and easy to interface with. There’s absolutely no logical reason to try and show images on a 32×32 array of RGB LEDs. But that didn’t stop [Felix Spöttel] from doing it anyway.

The project, which he calls thirtytwopixels, was designed to work in conjunction with MPD (Music Player Daemon) to show the album art for whatever is currently playing. The ultra-low resolution display added a certain element of abstractness to the artwork, which [Felix] said made it an interesting conversation starter. Guests would try and guess what the album art was depicting given the sparse rendition shown on the matrix.

[Felix] gives an excellent explanation of how to get the server and client-side software up and running should you want to recreate his setup, but his Python scripts also have a function where you can push an arbitrary image to the display if you don’t want to connect everything up to the MPD backend.

On the hardware side, thirtytwopixels uses the Raspberry Pi Zero W, a Adafruit RGB Matrix Bonnet, and a 32×32 LED matrix that uses the HUB75 interface. Even a relatively small LED matrix like this can get pretty thirsty, so [Felix] is using a 5 volt power supply that can deliver 4 amps to keep the electronics happy.

If you wanted to keep the low resolution aesthetic but make the display larger, we’ve seen WS2812B LED strips and 3D printed frames used to make a custom jumbo matrix which could surely be adapted for this concept.

15 thoughts on “Lo-Fi Art On A 32×32 Matrix

    1. Yes and no. Logic says yes. But the craze of modern times are that you only mention the horizontal resolution. Like 4k and the future 8k. So 32pixels is sort of correct.
      Strangely though… A camera is still referred to in megapixels as the total amount of pixels.
      These are strange times to live in.

        1. Old analog television basically had no horizontal resolution – a vidicon tube would scan the accumulated charge off of a plate in entirely continuous lines without any pixels, and the TV would draw it out in lines likewise because the phosphor coating was continuous as well. The sharpness was limited mainly by the transmission bandwidth.

          Color TV basically ruined it.

      1. That’s because a camera has a color filter array which doesn’t correspond 1:1 with the resulting image file in resolution. The individual sub-colors are dithered around, and the recorded image is a mosaic, which is then resampled (de-mosaic) to an arbitrary resolution that is determined by the software. To avoid moiré effects and false color artifacts, the resampled image resolution is typically much lower than the actual sensor element density with a factor of between 0.6-0.9 (Kell factor).

        The manufacturer may then choose to output an image with an equal “resolution” for marketing purposes by up-scaling the resulting low resolution image to match the sensor, but this is not the true resolving power of the photo – there isn’t actually that much detail in it, although you can make it look like detail if you keep some of the noise and mosaic artifacts (use a high Kell factor).

        Basically, it’s “not” cheating if the numbers match. The output of a digital camera doesn’t really have a fixed resolution, though it has limited resolving power which can be quantified in terms of pixels – it depends on what information you want to resolve.

        1. In a traditional Bayer filter pattern for example, you can strike a line through the sensor where you miss all the blue or red sensors, which causes color artifacts to appear at edges that align with the pattern in this way, which requires you to blur the image more to get rid of it, so you’re always making a compromise between color accuracy and sharpness.

          In terms of image resolution/reproduction, the best color filter pattern would be a random distribution with an even spread. Kinda like on film.

    1. How about a 32×32 pixel visual sensor made up of photo diodes? Can anyone point me to a discussion/tutorial about how this might achieved? Mainly curious about the software side.

Leave a Reply

Please be kind and respectful to help make the comments section excellent. (Comment Policy)

This site uses Akismet to reduce spam. Learn how your comment data is processed.