Go Down

Topic: P10 32x16 LED panel 1/4 scan now works with Adafruit_GFX (Read 5830 times) previous topic - next topic


I used modified library with UNO, Pro mini and Mega

Are you running 1/4 scan RGB panel with Arduino due?


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.


Still dont working :(



i used your modified library, it gives me following error,

C:\Program Files (x86)\Arduino\libraries\RGB-matrix-Panel\RGBmatrixPanel.cpp: In member function 'uint16_t RGBmatrixPanel::Color888(uint8_t, uint8_t, uint8_t, boolean)':

C:\Program Files (x86)\Arduino\libraries\RGB-matrix-Panel\RGBmatrixPanel.cpp:254:22: error: 'gamma' was not declared in this scope

   r = pgm_read_byte(&gamma[r]); // Gamma correction table maps

please help,

change this

&gamma -->  &gamma_table


I've a 32x32 Matrix led without D pin.
I've tried a modified class but not working...
Please help me


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.




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 https://forum.arduino.cc/index.php?topic=587781.0

Please any guide is appreciated



Hi guys

Here is a video of what I'm getting now https://youtu.be/m9r9iTQ_H7I

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 ?


Code: [Select]

void setup() {

int pixX = 16;
int pixY = 0;

void loop() {


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

    if(pixY==16) pixY = 0;



Jan 04, 2019, 07:29 pm Last Edit: Jan 04, 2019, 07:32 pm by GFragostini
Hi all! This is my first post on this forum. I created an account because of this very problem, because I have it, too :)  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? :)

So here's my code:

Code: [Select]
#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.setCursor(1, 9);   // next line


void loop() {
  // do nothing

And here's the pic:

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

Go Up