P10 32x16 LED panel 1/4 scan now works with Adafruit_GFX

rello76:
Hi!
I have a P10 with 1/2 scan.
This library didnt work.
Is it possible to adapt? ( i Havnt the "c" pin)

Did you solve the problem? I am having the same issue.

Regards

Hello

I'm using, with some success, the modified library posted at top

But I need some help to get a 16x16 RGB P10 1/4 scan panel

I started this topic asking help How to get 16x16 RGB P10 1/4 scan panel to work with arduino - LEDs and Multiplexing - Arduino Forum

Please any guide is appreciated

Thanks

Hi guys

Here is a video of what I'm getting now P10 panel 16x16 RGB 1/4 scan - YouTube

As you can see, the script prints first dot (0,0) at 2nd row, I'm guessing this is about the screen layout

I'm trying to modify the library, as far as I can tell, the part that could control this is about line 376 at RGBmatrixPanel.cpp, where shift variabe is defined

Please , any help ?

Thanks

void setup() {
  matrix.begin();
}

int pixX = 16;
int pixY = 0;

void loop() {

  matrix.fillScreen(0);

  matrix.drawPixel(pixX, pixY, matrix.Color333(210, 210, 210));

  pixX++;
  if(pixX==32){
    pixX=16;
    pixY++;
    if(pixY==16) pixY = 0;
  }
  delay(60);

  matrix.swapBuffers(false);
}

Hi all! This is my first post on this forum. I created an account because of this very problem, because I have it, too :slight_smile: But it seems that this issue is slightly different with everyone.

I implemented Ruud's original code, but it did not solve my problem. My outdoor 32x16 1/4-scan panel seem to work OK by writing on lines 1 and 2 in correct order. Also the led colours work fine. But the panel output is messed up with two ways:
1: a single pixel does not appear as a single pixel, but more like some funny "vertical group of fours" depending on the coordinate I wish to place it.
2: Pixel mapping seems to be weird, too (see the pic). I tried to write: "-----" on the second line in wht/red/grn/blu/wht, but all I got was 4-pixel tall bars in weird order.

My panels have a silkscreen saying: "P10(3535)16X32-4S-M2.1"

I tried gusantor's code and I'm having similarities with the pixel "hopping" with an addition of the multiple vertical pixels (4 minus some) appearing on my panel.

It seems to me, that there is no universal standard as to how to build led displays. But I'm sure there must be a way to control each of them. There just must be - they wouldn't build them in millions in the first place if this was not the case... right? :slight_smile:

So here's my code:

#include <Adafruit_GFX.h>   // Core graphics library
#include <RGBmatrixPanel_1per4.h> // Hardware-specific library (Ruud's version) 

#define CLK 8  // MUST be on PORTB! (Use pin 11 on Mega)
#define LAT 10
#define OE  9
#define A   A0
#define B   A1
#define C   A2
#define D   A3
RGBmatrixPanel matrix(A, B, C, CLK, LAT, OE, false, 1); // 1 = amount of panels
void setup() {
  
  
  matrix.begin();

  matrix.setCursor(1, 9);   // next line
  matrix.setTextColor(matrix.Color333(7,7,7)); 
  matrix.print('-');
  matrix.setTextColor(matrix.Color333(7,0,0)); 
  matrix.print('-');
  matrix.setTextColor(matrix.Color333(0,7,0));
  matrix.print('-');
  matrix.setTextColor(matrix.Color333(0,0,7)); 
  matrix.print("-");
  matrix.setTextColor(matrix.Color333(7,7,7)); 
  matrix.print("-");

}

void loop() {
  // do nothing
}

And here's the pic:
http://s257.photobucket.com/user/knarf_69/media/-----_in_WRGBW.jpg.html?sort=3&o=0

Many thanks in advance for your patience and help! :slight_smile:

It looks like the snake pattern for p10 modules is defunct out of China. I've ordered panels from 4 different manufacturers with HUB75, and none of them work now with this library. It's just not the snake "S" pattern anymore. 1/4 scan is also the default, there are no more 1/8 scan except a few indoor modules.

Someone with enough ability should modify this library and change the pattern, it was a very useful library.

Folks who are getting four pixels vertically instead of a single pixel, I learned a fun fact: They've inverted the addressing logic!

I made a little test project that pushes a single pixel at a time into the A shift register. I first push a green pixel so you can more easily follow it visually. This shows you the snaking pattern that we have to deal with with the P10 32x16 1/4 scan panels now.

Here's a video of pixels being shifted into the A address on my panel.

My addrressing scheme's seems a bit weird based on what I've been reading. The panel works if I hold all address lines high and then sequence through pulling them low when I want to display the lines. Do other panels use a binary encoded addressing scheme?

Pixel_order.ino (1.72 KB)

Hello,
I have a chrono project running on a Mega 2560 PRO with a 32x16 RGB 1/8S indoor display. This project is working fine.
I have received a couple of 32x16 RGB outdoor 1/4S and my project is not working with this panel.
I have included the RGBmatrixPanel.cpp and RGBmatrixPanel.h from Ruud, but it is still not working.
With a video board, this panel is working fine, panel is not faulty.
On this panel there is a pin D, but I thing that this pin is not used and I have put the pin to GND.
I have loaded a small program to test the display....I try just to write a pixel and a have a vertical line of dots...

#include <Adafruit_GFX.h> // Core graphics library
#include <RGBmatrixPanel.h> // Hardware-specific library (Ruud's version)
#define clear() fillScreen(0)

#define CLK 11 // MUST be on PORTB! (Use pin 11 on Mega)
#define LAT 10
#define OE 9
#define A A0
#define B A1
#define C A2
RGBmatrixPanel matrix(A, B, C, CLK, LAT, OE, false, 1); // 1 = amount of panels
void setup() {
matrix.begin();
}

void loop() {
for (int i=0;i<32;i++) {
matrix.drawPixel(i, 0, matrix.Color333(2, 3, 4));
delay(200);
}
matrix.clear();

}

Any idea how to modify the GFX or RGBmatrix library to have this panel working.
Regards
Papbo

savotech:
The code worked perfectly for me after debugging some errors in the gamma.h file.

gamma array declaration keyword was diffent from one used on the rgbmatrixpanel.cpp so i modified the gamma.h

See the attached file.

Hi Savotech,

Thanks for the file, I can compile the sketch, but now I have another problem it is related to the order of the pixels, I hope it will be easier to fix:
the issue is the "y" axis is interchanged on both rows of the panel, for example, if you draw a pixel at x=0, y=0 it appears at x=0, y=4, on the other hand if you draw the pixel x=0, y=4 it appears at x=0, y=0 and is the same with the lower row if you draw a pixel at x=0, y=8, it appears at x=0, y=12

If you write something the letters are cutted by the half.

Is there any chance you can help me? I will really appreciate it

Thank you :slight_smile:

What should I do with 16x64?

Can't I connect 3 ~ 4 16x32 Panels using Arduino Uno?

Hi guys,
Any idea how to fix the pattern here. the text is 1234, which is clearly not in the correct order..

I'm using the P8 1/4 16x32 from china with 24 shift registers

1234 -- is sliced horizontally, the bottom half and the top are swabbed...

im using RUUD RGBmatrixPanel but still have problem with my LED P10 RGB 1/4 scan outdoor.

the problem is row position not correct (photo attach), its should be rows :

5 6 7 8 1 2 3 4 13 14 15 16 9 10 11 12

code + library running perfectly with my RGB indoor.

any one can help me to solve this problem?, need advice/suggest to edit RGBmatrixPanel.cpp.

thanks

done, finally i solved the problem ^^

1 Like

hi @quankl01 can u share the soved problem....

gunaone:
hi @quankl01 can u share the soved problem....

indo ya bro

Hi quankl01,
Do you have some tips to say me how you resolve your display problem.
I have the same problem, a,d i dont find why.
Thanks a lot in advance.

hello can you say that how solved this problem.
i have the problem and i dont know how solved

quankl01:
done, finally i solved the problem ^^

Have the same problem with rows, they are in order like this :

5 6 7 8 1 2 3 4 13 14 15 16 9 10 11 12

Its solved with changing 1 line in Ruud library

Thanks a lot,
I try to find the line to modify.
For the moment i try to change nmultiplexrows,shift,y,buffersize... i have some change but not in good way.
may be i change the wrong value.
Have another tips?
Thanks in advance.

quankl01:
done, finally i solved the problem ^^

Please my dear, please give me instructions for how did you fix this problem shows in your photos.