P10C4V1.6 LED Display Troubleshooting


I am trying to make a scoreboard-like display with an arduino and an led matrix. With the vast amounts of information available, I thought this would be a fairly simple project but clearly I’m missing something.

I started with a MAX7219 LED Matrix and an Arduino Mega 2560 to see whether or not I could get them to behave. I used the available wiring diagrams and was able to adjust some of the sample codes to achieve the results that I wanted, so I decided to upgrade to a P10 panel.

I attempted the same process with the P10 when it arrived, but haven’t been able to make any progress. I’ve tried nearly all of the wiring configurations available for both the UNO and the MEGA with no results.

Both arduinos work with the MAX7219.
The code that I am using to test uploads without errors or warnings.
The RX LED flashes on the UNO and I can see the code working in the serial monitor.

The P10 LEDs turn on, but are inconsistent and do not display what they should.

Here is one of the wiring diagrams I tried with the MEGA:

Here is one of the wiring diagrams I tried with the UNO:

I’m assuming that the P10 board I’m using has a different pin configuration, but I was not given any documentation with it. Does anyone have any suggestions on what to try?

This is a P10C4V1.6 panel and next to the pins there is a small diagram:

N D1
N D2
N F HUB 12

Also, here is one of the sample codes that I have used to test the display:

  Scrolling alphabet demo, displays characters one at a time into a scrolling box.

#include <SPI.h>
#include <DMD2.h>
#include <fonts/SystemFont5x7.h>
#include <fonts/Arial14.h>

// Set Width to the number of displays wide you have
const int WIDTH = 1;

// You can change to a smaller font (two lines) by commenting this line,
// and uncommenting the line after it:
const uint8_t *FONT = Arial14;
//const uint8_t *FONT = SystemFont5x7;

const char *MESSAGE = "abcdefghijklmnopqrstuvwxyz";

SoftDMD dmd(WIDTH,1);  // DMD controls the entire display
DMD_TextBox box(dmd);  // "box" provides a text box to automatically write to/scroll the display

// the setup routine runs once when you press reset:
void setup() {

// the loop routine runs over and over again forever:
void loop() {
  const char *next = MESSAGE;
  while(*next) {

Like I said - I’ve tried quite a few different combinations of code/wiring with no luck. Any and all help would be greatly appreciated.

It seems like my p10 board may be missing this “Buffer” chip. If anyone knows where to get one or is willing to sell one please message me. Also, if anyone knows of a distributor that can ship p10 panels to the U.S. in a week (for future reference) that would be greatly appreciated.