32x32 RGB LED Matrix [SOLVED]

[SOLVED]

Sorry if I am posting in the wrong forum (Maybe should be in the Programming Questions?), yet I am having issues getting my Adafruit 32x32 RGB LED Matrix (32x32 RGB LED Matrix Panel - 4mm Pitch : ID 607 : $29.95 : Adafruit Industries, Unique & fun DIY electronics and kits) to properly output their example codes using an Arduino UNO. I have followed their step-by-step instructions and triple checked my circuit. I am a novice as this is my first project using an Arduino, any help would be greatly appreciated.

Below is the code for the text, it cycles through a few images before ending on the text, and the colors do not match what they say should be outputting (e.g. "// fix the screen with green" fills the screen in blue for me) (Helped by Spicetraders)

// testshapes demo for Adafruit RGBmatrixPanel library.
// Demonstrates the drawing abilities of the RGBmatrixPanel library.
// For 32x32 RGB LED matrix:
// http://www.adafruit.com/products/607

// Written by Limor Fried/Ladyada & Phil Burgess/PaintYourDragon
// for Adafruit Industries.
// BSD license, all text above must be included in any redistribution.

#include <Adafruit_GFX.h>   // Core graphics library
#include <RGBmatrixPanel.h> // Hardware-specific library

// If your 32x32 matrix has the SINGLE HEADER input,
// use this pinout:
#define CLK 8  // MUST be on PORTB! (Use pin 11 on Mega)
#define OE  9
#define LAT 10
#define A   A0
#define B   A1
#define C   A2
#define D   A3
// If your matrix has the DOUBLE HEADER input, use:
//#define CLK 8  // MUST be on PORTB! (Use pin 11 on Mega)
//#define LAT 9
//#define OE  10
//#define A   A3
//#define B   A2
//#define C   A1
//#define D   A0
RGBmatrixPanel matrix(A, B, C, D, CLK, LAT, OE, false);

void setup() {

  matrix.begin();
  
  // draw a pixel in solid white
  matrix.drawPixel(0, 0, matrix.Color333(7, 7, 7)); 
  delay(500);

  // fix the screen with green
  matrix.fillRect(0, 0, 32, 32, matrix.Color333(0, 7, 0));
  delay(500);

  // draw a box in yellow
  matrix.drawRect(0, 0, 32, 32, matrix.Color333(7, 7, 0));
  delay(500);
  
  // draw an 'X' in red
  matrix.drawLine(0, 0, 31, 31, matrix.Color333(7, 0, 0));
  matrix.drawLine(31, 0, 0, 31, matrix.Color333(7, 0, 0));
  delay(500);
  
  // draw a blue circle
  matrix.drawCircle(10, 10, 10, matrix.Color333(0, 0, 7));
  delay(500);
  
  // fill a violet circle
  matrix.fillCircle(21, 21, 10, matrix.Color333(7, 0, 7));
  delay(500);
  
  // fill the screen with 'black'
  matrix.fillScreen(matrix.Color333(0, 0, 0));
  
  // draw some text!
  matrix.setCursor(1, 0);    // start at top left, with one pixel of spacing
  matrix.setTextSize(1);     // size 1 == 8 pixels high
  matrix.setTextWrap(false); // Don't wrap at end of line - will do ourselves

  matrix.setTextColor(matrix.Color333(7,7,7));
  matrix.println(" Ada");
  matrix.println("fruit");
  
  // print each letter with a rainbow color
  matrix.setTextColor(matrix.Color333(7,0,0));
  matrix.print('3');
  matrix.setTextColor(matrix.Color333(7,4,0)); 
  matrix.print('2');
  matrix.setTextColor(matrix.Color333(7,7,0));
  matrix.print('x');
  matrix.setTextColor(matrix.Color333(4,7,0)); 
  matrix.print('3');
  matrix.setTextColor(matrix.Color333(0,7,0));  
  matrix.println('2');
  
  matrix.setTextColor(matrix.Color333(0,7,7)); 
  matrix.print('*');
  matrix.setTextColor(matrix.Color333(0,4,7)); 
  matrix.print('R');
  matrix.setTextColor(matrix.Color333(0,0,7));
  matrix.print('G');
  matrix.setTextColor(matrix.Color333(4,0,7)); 
  matrix.print("B");
  matrix.setTextColor(matrix.Color333(7,0,4)); 
  matrix.print("*");

  // whew!
}

void loop() {
  // do nothing
}

Photos attached:
-Photo 1 shows the colour wheel it SHOULD output
-Photo 2 shows my colour wheel :frowning:
-Photo 3 shows the text it SHOULD output
-Photo 4 shows the text mine outputs :frowning:

Not seeing the other three pictures posted?
But would suggest one more double check on the R,G & B wires.

one moment had to compress them due to the file size restrictions uploading to the forum

OK they are coming in now.
You did read the Adafruit disclaimer stating,

Some variants of this panel have the green and blue pins swapped; you’ll need to reverse the wiring on those four pins in that case.

Also seeing the unevenness of dots, would double check any breadboard connection if using them as breadboards I have found in the past can be intermittent.

Okay, I swapped the blue and green and it is outputting the correct color, yet the text is now still kind of odd. Not sure if it's the coding / board / or wiring. My friend is going to bring over a few UNOs so I can test if it's the board. The code should work since it seems like they used it to output it on their board. My wiring would be the only other fault, yet I followed their instructions :S

photo.JPG

OK again if your using a breadboard try wiggling the control, clock, enable, and latch pins while sketch is running.
I would suspect possible dirty (intermittent) connection.

Tried once before, and just again now. I also swapped my ribbon cable out with the extra one prior to creating the thread. Still no luck :frowning:

uhhh. I fixed it somehow. Swapped around the analog pins then put them back to how they were (I THINK???? :S) And it works perfectly?

When it hits the section to fill the screen with green is the screen solid green with no bad bits?
Modify text to fill the screen with four lines of all 8's cycle in each color.
Does all 8's appear the same or is it specific rows or columns.
try again with all asterisk's are they appearing same in all rows and columns.
try 5x7 boxes again are they all the same in row and columns.

It looks like problem is a row issue or column issue, as you state code should be OK, but that is not a 100% certainty.
But looks more like a hardware wire issue

I did read that these panels are made for a higher clock rate then the Arduino Uno runs at but as show they will work.
I would find a ribbon cable with pins on the other end to plug direct to the UNO for cleanest connection or better use a prototype shield and solder the ribbon to board.
Just do not like the breadboards.

quick question.. i just got my hands on a 40x40 rgb matrix ... looking at the pinnout.. everything seems to match except
it has a few extra pins... R3 G3 B3 R4 G4 B4 ... can you advice on how to use them or push me in the right direction?
ive been researching for the last 2 days but most of the tutorials and guides use only rgb 1&2 and not 3&4 ..
thanks

On your 40X40 board I would first suggest that you post it as a new question to the forum. This will open up the views to may who are not following this post.
Next if you have not already looked at the details on the 16X32 and the 32X32, and understand the two of those and how they differ, I would look into their operations code and library. You should if progression is correct find expansion of those will work for you, if the board is simple a increase.

Check: How the Matrix Works | 32x16 and 32x32 RGB LED Matrix | Adafruit Learning System.

In fact if the board is the same then it should be just an expansion the 32X32 which would work minus 8 rows and 8 columns