Skip to main content

Raspberry Pi Pico and Zero Team Up to Drive 70 FPS LED Matrix

Raspberry Pi
(Image credit: DeVayu)

There’s nothing quite as illuminating as controlling a matrix panel with a Raspberry Pi. It’s like having your own personal marquee for displaying whatever you want from messages and notifications to videos and even games. But what really drives a good Pi project home is high-quality performance like this RP2040-powered matrix project developed by DeVayu that uses a Pico to drive a 64 x 32 matrix panel at over 70 FPS.

driving_a_ledmatrix_at_70fps_over_wifi_using_a from r/raspberry_pi

In the project thread, DeVayu explains that this is the fourth iteration of his matrix project endeavors. The initial project began about 5 months ago and also featured a Pico as the main controller but the FPS output was nowhere near as high as it’s reaching in the current development. What began as an output of 28 FPS has since more than doubled.

In order to get the high-performance output, a little extra hardware is needed as a Pico on its own is not enough to process the data into a usable state fast enough for the 70+ FPS results. In addition to the Pico, a Raspberry Pi Zero W is used along with Raspberry Pi alternative SBC Odroid XU4Q. DeVayu is using a 64 x 32 matrix panel but other sizes would work just as well, however, additional programming would likely be necessary to get the output formatted to the correct aspect ratio.

Video frames are processed and compressed by an Odroid XU4Q, then sent to the Pi Zero W using MQTT. The use of MQTT, a protocol commonly to send data between multiple devices across flaky connections is the surprise element of this project. Normally MQTT would be used to send small packets of data from devices in the field, back to an office. We've never seen it used in this manner. The Pi Zero W is responsible for decompressing the frames and then transmits them to the Pico via SPI. According to DeVayu, one thread is used to receive the images while the other is used to display images at 500 Hz.

A sensor, attached at the top of the unit is used for gesture controls. The Zero is responsible for monitoring this sensor and triggering a custom animation script. A demo video shows DeVayu changing what’s shown on the matrix by waving in front of the sensor.

If you want to recreate this Raspberry Pi project, visit the original project thread over at Reddit for a closer look at how it goes together as well as a video demonstration of the matrix in action. There are already plans in the works to develop a new version of the Pico-powered matrix as well as release the source for this one—be sure to follow DeVayu for more updates.

Ash Hill
Ash Hill

Ash Hill is a Freelance News and Features Writer at Tom's Hardware US. She manages the Pi projects of the month and much of our daily Raspberry Pi reporting.