Shopping list for displaying creative coding on LED matrix

Tags: #<Tag:0x00007fa499a5d468>

I’m just getting started with learning some creative coding - creating primarily visual outputs. I really want to find a way of displaying the results of my work on a really simple 64 x 64 LED matrix screen (like this).

I’m very new to the world of programming and coding and I’m trying to work out what I would need in order to run these creative code scripts (primarily javascript) to an LED matrix (or maybe just exporting them as mp4s and playing them). I am assuming it would involve something like a Raspberry Pi or Arduino, but I’m unsure of the specifics and what other components I might need (I also understand that there are accessories that can influence the on-screen content depending on sensor inputs).

Does anyone have any recommendations for getting started with this in terms of a shopping list? I’ve had a search around for tutorials and can’t really find anything super specific. Any pointers would be greatly appreciated! :slightly_smiling_face:

Thanks,
Simon

There are two ways to approach this project.

Which you choose should depend on whether you are looking to do:

  1. AV approach – Showcase work developed for high-level languages, scripting languages, or tools like a web browser or a games engine.

  2. DIY electronics approach – Showcase work you will modify or develop for this project.

AV Approach

These panels’ popularity and low cost are driven by their use in the live events industry and digital signage, which use these large-pixel, low-resolution panels in various applications, including digital billboards, festivals, etc…

Much higher resolution (smaller pixel pitch) panels with drivers designed to achieve a finer colour gamut are increasingly being used in TV and Film production to create virtual sets, a process generally known as Virtual Production.

These panels are usually mounted in interlocking metal frames with a driver board and power supply. They typically use a non-standard protocol to send the signal back to a video processor that cuts it up into the correct order and applies transformations to match the panels’ colour and brightness.

Depending on age, these video processors are usually driven by HDMI, SDI, DisplayPort, or DVI. There are more modern ‘digital LED posters’, a self-contained product.

The benefit of this approach is that you can plug any normal video source in over HDMI or similar and quickly get a picture from your existing projects. It can also be repurposed quickly. The disadvantage is that paying for a complete product will be more expensive.

You’ll also be more likely to get high refresh rates and a proper colour gamut.

DIY electronics approach

When working with them as a more DIY project, people tend to pick their favourite microcontroller and programming language and then figure out how to drive the panel in general; however, this will require something relatively fast and with a decent amount of memory. Although, in some cases, it’s not impossible with something like an Arduino Uno, you won’t get the best out of the panel from this.

What you are going to need:

1 - The Microcontroller

What you want to look for is a microcontroller that works with the programming languages you are familiar with and for which a reputable company, like Adafruit, has written a graphics library so you can draw shapes rather than lighting pixels.

Other companies like Seeedstudio and Sparkfun may have them, but Adafruit’s libraries and documentation are generally among the best.

The panel. you shared on Pi Hut has examples for Raspberry Pi (inc PICO) and Arduino (inc ESP32), and STM32 microcontrollers, but it’s not particularly beginner friendly, the Adafruit website has a more beginner approach based around their Feather system of PCBs.

2 - Panel

Pick a panel with a tutorial that matches so you can start quickly.

3 - Power supply

You will need to consider a power supply of the correct voltage, and also sufficient current to light all the pixels are 100% power. The example you shared requires a 5V 4A power supply.

This approach is cheap and allows you to learn about how the technology works. The disadvantage is that you can’t easily use it to display anything other than custom projects. You are likely to come across colour-depth limitations depending on how much memory your processor has and refresh rate limits depending on how fast your processor is and how complicated it is for your graphics to be rendered.

2 Likes

I created something using these LED panels and you can drive them from a Pi Pico or ESP but I found that if I had network traffic as well the refresh rate was pretty choppy. Especially using circuit python. But that may not be an issue for you. There are a load of examples for this kind of thing, most vendors will provide them.

Since then I moved to just driving it from a Pi Zero W. There are a load of libs out there for doing so. My code is here - https://github.com/tmilner/rpi-rgb-led-matrix but its a bit of a mess. Its based on https://github.com/hzeller/rpi-rgb-led-matrix which is the best library I could find for driving them off a Pi’s GPIO.

2 Likes

Thanks Tommie! I think the DIY electronics approach is definitely going be the approach for me.

My aim is to display projects in a very lo-fi way that I can then capture and create content from (as opposed to sharing videos directly in the way I see a lot of creative coders doing). I’m used to creating content for hi-res self-contained displays and this would be a sort of counterpoint to that - deliberately being a bit more home made and DIY!

Thanks for all the pointers!

Thanks Tom, these are really good resources. I think I just need to bite the bullet and have a bit of a play!