0

RGB LED 32X32 poor results from example code
Moderators: adafruit_support_bill, adafruit

Please be positive and constructive with your questions and comments.

RGB LED 32X32 poor results from example code

by r2rswift on Thu Dec 13, 2018 6:36 am

Recently bought a Feather M4 Express, an RGB LED Featherwing, and a RGB LED 32x32 matrix panel 6mm pitch. Connected them and ran the sample code, test shapes_32x32, using the configuration from the RGB LED Featherwing instructions. The LED output on the matrix panel is almost unreadable but you can vaguely see that it includes the sample shapes. Attached is a picture of the output. The output is unclear and it is off the edge of the board rather than centered as shown in the instructions.

Any ideas why the output be so unclear and not in the right position? Would it be a problem with the board or a code problem? Any suggestions?

Thanks!
Attachments
IMG_5462.jpg
Sorry but for the some reason the picture is rotated when attached.
IMG_5462.jpg (755.02 KiB) Viewed 206 times

r2rswift
 
Posts: 16
Joined: Fri Nov 23, 2018 11:26 am

Re: RGB LED 32X32 poor results from example code

by adafruit_support_carter on Thu Dec 13, 2018 7:51 pm

It could be a signal or a power issue. Can you post photos showing the soldering job on the Feather M4 Express and the RGB Matrix Featherwing.

What are you using for a power suppply?

adafruit_support_carter
 
Posts: 12675
Joined: Tue Nov 29, 2016 2:45 pm

Re: RGB LED 32X32 poor results from example code

by r2rswift on Mon Dec 17, 2018 6:02 pm

The Featherwing soldering pictures are IMG_5467 - IMG_5469 which give both the underside and a top view.

The Feather and Powersupply are in another picture.


Thanks for taking a look.
Attachments
IMG_5469.jpg
Featherwing view 3
IMG_5469.jpg (92.41 KiB) Viewed 178 times
IMG_5468.jpg
Featherwing view 2
IMG_5468.jpg (121.37 KiB) Viewed 178 times
IMG_5467.jpg
Featherwing view 1
IMG_5467.jpg (137.33 KiB) Viewed 178 times

r2rswift
 
Posts: 16
Joined: Fri Nov 23, 2018 11:26 am

Re: RGB LED 32X32 poor results from example code

by r2rswift on Mon Dec 17, 2018 6:04 pm

The Feather and power supply pictures are below.

Thanks!
Attachments
IMG_5473.jpg
IMG_5473.jpg (136.72 KiB) Viewed 178 times
IMG_5472.jpg
IMG_5472.jpg (111.17 KiB) Viewed 178 times
IMG_5471.jpg
IMG_5471.jpg (81.43 KiB) Viewed 178 times

r2rswift
 
Posts: 16
Joined: Fri Nov 23, 2018 11:26 am

Re: RGB LED 32X32 poor results from example code

by adafruit_support_carter on Mon Dec 17, 2018 6:32 pm

Power supply is adequate. Soldering on FeatherWing looks good. I think the soldering on the Feather needs some work. Some of the pins are cold and under soldered. I've circled some below, but check them. See if you reflow the solder and get it to wet out onto the solder pads better.

feather_solder.jpg
feather_solder.jpg (58.2 KiB) Viewed 175 times

adafruit_support_carter
 
Posts: 12675
Joined: Tue Nov 29, 2016 2:45 pm

Re: RGB LED 32X32 poor results from example code

by r2rswift on Thu Dec 20, 2018 11:57 pm

Thanks for the feedback. I re-soldered the pins you highlighted and checked the others. (See attached new photos). I then retried the Feather and Featherwing and the sample code. The results still look fuzzy and slightly off center (see attached). Any additional suggestions?

Thanks!
Attachments
LED samples.jpg
LED samples.jpg (300.1 KiB) Viewed 154 times
Feather2.jpg
Feather2.jpg (313.77 KiB) Viewed 154 times
Feather1.jpg
Feather1.jpg (314.75 KiB) Viewed 154 times

r2rswift
 
Posts: 16
Joined: Fri Nov 23, 2018 11:26 am

Re: RGB LED 32X32 poor results from example code

by franklin97355 on Fri Dec 21, 2018 12:34 am

The pins with blobs should also be reflowed. Take a look at this Soldering Guide for more information.

franklin97355
 
Posts: 20974
Joined: Mon Apr 21, 2008 2:33 pm
Location: Lacomb, OR.

Re: RGB LED 32X32 poor results from example code

by adafruit_support_carter on Fri Dec 21, 2018 3:51 pm

hey @r2rswift, it could still be one or more marginal solder connections unfortunately. It's looking better, but still not 100%. And the behavior you're seeing is indicative of a possible signal issue. See the good reference image in the guide linked above:
https://learn.adafruit.com/adafruit-gui ... -joint-5-2

It's the wetting out on to the pads of the Feather that needs some work. With these longer header pins it can be a bit tough as the solder wants to flow up the pin and not onto the pad.

It looks like maybe the behavior of the matrix changed though? Like you made some progress?

adafruit_support_carter
 
Posts: 12675
Joined: Tue Nov 29, 2016 2:45 pm

Re: RGB LED 32X32 poor results from example code

by r2rswift on Sat Dec 22, 2018 1:46 pm

Took the solder off all the pins and reapplied. I don’t know if it is better or worse at this point. Pictures are attached. I don’t see any improvement in the example shown on the LED. It still is shifted to the left and hard to read. New picture is also attached.

What should I try next?
Attachments
DDAA705A-30AE-4D96-9AE6-1852E7CC62DB.jpeg
DDAA705A-30AE-4D96-9AE6-1852E7CC62DB.jpeg (208.59 KiB) Viewed 130 times
02D638E8-AF90-4520-BF43-1260A960C52A.jpeg
02D638E8-AF90-4520-BF43-1260A960C52A.jpeg (102.92 KiB) Viewed 130 times
19FC3B71-0C67-490E-B2C7-A434DB20D417.jpeg
19FC3B71-0C67-490E-B2C7-A434DB20D417.jpeg (131.62 KiB) Viewed 130 times

r2rswift
 
Posts: 16
Joined: Fri Nov 23, 2018 11:26 am

Re: RGB LED 32X32 poor results from example code

by adafruit_support_carter on Sat Dec 22, 2018 2:52 pm

I'd say that's looking better. Let's look for possible software issues...

You have a Feather M4 Express. And looking back to first post:
Connected them and ran the sample code, test shapes_32x32, using the configuration from the RGB LED Featherwing instructions.

The unmodifed testshapes32x32.ino is here:
https://github.com/adafruit/RGB-matrix- ... _32x32.ino
The pins are defined at the top. They need to be changed for the RGB Featherwing along with some other code tweaks. Sounds like you were following the guide, so did you make these changes?
https://learn.adafruit.com/rgb-matrix-featherwing/usage

adafruit_support_carter
 
Posts: 12675
Joined: Tue Nov 29, 2016 2:45 pm

Re: RGB LED 32X32 poor results from example code

by r2rswift on Mon Dec 24, 2018 9:27 am

Yes. I made the changes that were in the guide. Below is the code that I used:
Code: Select all | TOGGLE FULL SIZE
// 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 <RGBmatrixPanel.h>

// Most of the signal pins are configurable, but the CLK pin has some
// special constraints.  On 8-bit AVR boards it must be on PORTB...
// Pin 8 works on the Arduino Uno & compatibles (e.g. Adafruit Metro),
// Pin 11 works on the Arduino Mega.  On 32-bit SAMD boards it must be
// on the same PORT as the RGB data pins (D2-D7)...
// Pin 8 works on the Adafruit Metro M0 or Arduino Zero,
// Pin A4 works on the Adafruit Metro M4 (if using the Adafruit RGB
// Matrix Shield, cut trace between CLK pads and run a wire to A4).

// FeatherWing pinouts for M0 and M4
#define CLK 13
#define OE 1 // TX
#define LAT 0 // RX
#define A A5
#define B A4
#define C A3
#define D A2

// the RGB data pins on featherwing, must be on same PORT as CLK
uint8_t rgbpins[] = { 6,5,9,11,10,12 };

// Create a 32-pixel tall matrix with the defined pins
RGBmatrixPanel matrix(A, B, C, D, CLK, LAT, OE, false, 32, rgbpins);


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 -- image doesn't change
}
Last edited by adafruit_support_carter on Mon Dec 24, 2018 12:43 pm, edited 1 time in total.
Reason: added [code] tags

r2rswift
 
Posts: 16
Joined: Fri Nov 23, 2018 11:26 am

Re: RGB LED 32X32 poor results from example code

by adafruit_support_carter on Mon Dec 24, 2018 12:49 pm

OK, that all looks good. Hmmm. Could still be a signal issue somewhere. Let's check the display connections. Post a photo showing the backside of the RGB matrix and how you are connecting everything there.

Also - the code initially goes through a sequence of filling the screen with solid colors - white, green, yellow. Do those seem to work OK?

adafruit_support_carter
 
Posts: 12675
Joined: Tue Nov 29, 2016 2:45 pm

Re: RGB LED 32X32 poor results from example code

by r2rswift on Mon Dec 24, 2018 3:46 pm

Attached are the photos of the data and power connections on the back of the RGB matrix. The data cable is going to the input connector and the power can with the plug in connector.

The solid color seems to display fine but the x and the circle seem to be off center just like the text. The yellow outline box has a single line top and bottom and several lines on the right and no line on the left.
Attachments
71A23EF2-E7E7-485E-B68E-7697AD31F439.jpeg
71A23EF2-E7E7-485E-B68E-7697AD31F439.jpeg (100.3 KiB) Viewed 104 times
67F0E1F8-4361-4E1A-A9F0-0EBE6C209564.jpeg
67F0E1F8-4361-4E1A-A9F0-0EBE6C209564.jpeg (122.02 KiB) Viewed 104 times
24CE96B0-B0E5-4C79-B95E-4578C12CD38E.jpeg
24CE96B0-B0E5-4C79-B95E-4578C12CD38E.jpeg (142.02 KiB) Viewed 104 times

r2rswift
 
Posts: 16
Joined: Fri Nov 23, 2018 11:26 am

Re: RGB LED 32X32 poor results from example code

by adafruit_support_carter on Mon Dec 24, 2018 4:24 pm

Thanks. That's all notionally correct. Code has been changed, so it's not that. So back to the signal issue. It *may* still be soldering. It's just a little too hard to tell for sure from your photos. I don't want to circle anymore as that might lead you to focusing on just specific pins. But look at that soldering guide linked above, and go over all of them just to see if you think it all looks OK.

One other thing it might be - the ribbon cable. Where did the one you are using come from?

adafruit_support_carter
 
Posts: 12675
Joined: Tue Nov 29, 2016 2:45 pm

Re: RGB LED 32X32 poor results from example code

by bsbwtim on Wed Aug 14, 2019 9:40 am

A few months late, but possibly useful...
I came across this post after I swapped a Feather M4 for a Feather M0 driving a 32x64 display, which had been working properly. I noticed that if I touched the CLK pin(13), the problem got worse. It appeared to be some kind of jitter or marginal level in the clock signal to the matrix. The 3.3V signal output is a bit on the low end for the 5V logic, and it seemed like the rise time of the signal may have been slow, so I soldered a 1K resistor from pin 13 to the 3.3v (NOT 5V!!) pin, and it now works perfectly, even on a 32x64 display.
Hope this helps.

bsbwtim
 
Posts: 4
Joined: Tue Mar 01, 2011 10:08 pm

Please be positive and constructive with your questions and comments.