P10 Single Color HUB12

Hi, I successfully built a HUB12 P10 big screen using 12 panels in a 3 × 4 configuration, driven by an ESP32.
I’m using a setup where each row has a separate LAT pin, while the other pins are shared.

The screen works, but I’m facing an issue with the fonts:

Horizontal parts of characters sometimes render 1 pixel too high or too low.

Some letters (like E, D, R) show extra pixels at the bottom.

In certain rows, horizontal lines of the text don’t align properly with the vertical strokes.

How can I fix this font rendering misalignment? Is it related to the PxMatrix library,

Why not combine all panels in a single chain?

The reason may be either improper synchronization of different panel chains or in the timings. The pxMatrix library is not suited for a long chains of panels.

hub12 doesn't support single chain

Please explain this - do you mean it is impossible to run a single panel?

The common setup on YouTube, Github etc involves using a single P10 HUB12 panel. However, I need a larger display due to the low resolution of a single panel.
My project is a basketball game where I need to show the score on a big screen. To achieve this, I plan to build a larger screen using a 4x6 panel array, which will have a total resolution of 64 x 192 pixels.

Understand...

Why do you think it can't be done by using a single chain?

Below is a display that contains 16 (4*4) P10 HUB12 panels, using a single chain connection.

The library is

I am using a single color HUB12 panel controlled by an ESP32. I chose the ESP32 because I need to use the ESP-NOW protocol for my game.
My question is, will this library work with the ESP32?

No, the library only supports STM32 and Raspberry Pico rp2040 controllers.
But this code confirm that a multiple single-color HUB12 panels can be used as a single chain. As I wrote above, by switching a LAT you add a risk of lacking synchronization and producing a glitches on the display.

Hey bro, finally I solved the problem with a separate LAT pin for each ROW, this way you can make the display as big as you want with ESP32 & p10 HUB12 Monochrome Panels.
Thank You very Much.

Looks great!
Could you share your experience? What's the library you used? What was a cause the issue?

Why not? I want to share this with everyone because there’s very little information online about the P10 Hub12 Monochrome, especially on how to convert it into a large display. Could you tell me where I can share my project?

The most popular option is Github, I think.

I still not understand what is the problem to chain a many P10 panels. HUB12 are designed to be connected in series to make a large screen. I have feedback that people have developed a screen up to 48 p10 modules under the control of my library.

With ESP32 ?

I Lib I used
https://github.com/tort32/PxMatrix

The way to connect of the HUB12 panels doesn't depend on main controller.

The lib used very weird... specific custom connection scheme :slight_smile:

I still not understand why not use a daisy chaining that HUB12 was designed for...
The multiple row display just a representation of the single row one:

Original Chinese P10 Driver HD W03 vs My Copy

(attachments)


I needed an ESP32 because I had to use an ESPNow protocol, and a adaFruit GFX for fonts, so this library was perfect.

Give me code and conmection ESP,P10 panels pls