NewsAdafruit’s PioMatter library adds HUB75 RGB LED Matrix support to the Raspberry...

Adafruit’s PioMatter library adds HUB75 RGB LED Matrix support to the Raspberry Pi 5

Category articles

Raspberry Pi 5 has pushed the envelope in single-board computer performance by delivering a more powerful CPU and GPU along with faster I/O compared to its predecessor, the Raspberry Pi 4. However, one of its key innovations—the integration of the custom RP1 I/O controller—has also introduced a few challenges for makers. In particular, the traditional method of driving HUB75 RGB LED matrices via direct Broadcom processor control is no longer viable. Instead, the Raspberry Pi 5 now leverages the RP1 chip to manage its GPIOs, requiring new approaches to drive these popular displays.

At the heart of this change is the use of a Programmable I/O (PIO) block embedded in the RP1 chip. Many are already familiar with the PIO functionality in the RP2040 microcontroller, which powers the Raspberry Pi Pico. The RP1’s PIO block, while functionally similar, has some notable differences—for example, it features a doubled FIFO depth and is integrated into a PCI Express-connected peripheral. This allows the RP1 to efficiently offload “low-speed” peripheral tasks from the main Broadcom system-on-chip, freeing up the CPU for more demanding processing tasks. Recent discussions in developer communities reveal that while the RP1’s PIO capabilities are promising, accessing them requires new firmware strategies that interface with the RP1 over PCIe, a departure from previous models where the Broadcom processor had direct control over the GPIOs.

HUB75 RGB LED matrix panels are a staple in maker projects and DIY signage, renowned for their bright, full-color displays and the ability to chain multiple panels together for larger installations. These panels rely on a specific set of digital signals—typically involving 13 GPIO pins for data and control—to refresh the LEDs at high speeds. In earlier Raspberry Pi models, the Broadcom processor could directly handle these signals. With the Raspberry Pi 5’s shift to using the RP1 for peripheral control, the native capability to drive HUB75 matrices was lost.

Adafruit has addressed this challenge with its new PioMatter library, available on GitHub under the Adafruit-Blinka-Raspberry-Pi5-Piomatter repository. This innovative software harnesses the RP1’s PIO block to generate the precise timing signals required for HUB75 LED matrices, effectively restoring compatibility with these displays. Although still in its Alpha stage—with a few bugs noted by early adopters—the PioMatter library marks an important step in adapting to the architectural changes in the Raspberry Pi 5.

For those eager to experiment, the installation process is straightforward on Raspberry Pi OS. First, set up a Python virtual environment and install the necessary packages along with the PioMatter library:

python -m venv ~/venvs/blinka_venv
source ~/venvs/blinka_venv/bin/activate
pip install adafruit-blinka
pip install pillow
pip install numpy
pip install Adafruit-Blinka-Raspberry-Pi5-Piomatter

Next, add a new udev rule to enable proper access to the PIO subsystem by creating or editing the file /etc/udev/rules.d/99-com.rules and inserting:

  SUBSYSTEM=="*-pio", GROUP="gpio", MODE="0660"

After rebooting, you can run test scripts—such as one that draws a square, circle, and triangle on your HUB75 matrix—using a simple command like:

  python single_panel_simpletest.py

This approach not only overcomes the initial incompatibility but also demonstrates the flexibility of the new RP1 architecture. Moreover, it opens up creative possibilities. For example, developer Marian Vittek has already showcased how the spare PIO blocks in the RP1 can be repurposed for precision motor control using the DShot protocol—demonstrating that offloading peripheral tasks from the main CPU is both practical and beneficial.

The HUB75 interface remains a widely adopted standard for LED matrix panels. Its design allows for high refresh rates and seamless chaining of multiple panels, making it ideal for dynamic installations such as video walls and digital signage. With the new PioMatter library, makers can continue to harness the power of HUB75 panels even as the underlying hardware of the Raspberry Pi evolves.

Looking ahead, the integration of the RP1 chip with its advanced PIO block is likely to spur further innovation. As more detailed documentation and firmware support become available, the maker community can expect to see even more creative applications that blend high-performance computing with real-time peripheral control. Whether you’re building a giant LED display or a sophisticated interactive art installation, the Raspberry Pi 5’s new architecture offers exciting opportunities for both hobbyists and professionals alike.

By adapting to these changes, the Raspberry Pi Foundation is not only ensuring that legacy projects can continue to run but also paving the way for a new era of customizable, high-performance embedded systems. As the ecosystem matures, the lessons learned from integrating RP1’s PIO block will likely inspire further advancements in interfacing and control—cementing the Raspberry Pi’s position as a vital tool for innovation in the maker community.

Michal Pukala
Electronics and Telecommunications engineer with Electro-energetics Master degree graduation. Lightning designer experienced engineer. Currently working in IT industry.

News