Particle Photon and Adafruit 32x64 RGB LED Matrix


I find SOIC packages with 0.05" pin spacing and 1206 parts significantly easier to solder and deal with than through hole, so I’d prefer SMD. It is so much faster to not have to deal with bending pins evenly and flip to board back and forth hoping everything stays put. And given how bulky 1206 feels, I can’t see 0804 or 0603 to be a problem.


Here is the board with the different packages available for the 74HCT541 for size comparison. Start at the top: SOIC-20_W7.5mm, TSSOP-20_W4.4mm, SSOP-20_W5.3mm and the 20-pin DIP.

The DIP and the SOIC look hand solderable. Not sure about the SSOP and the TSSOP.


i agree with you, that the DIL and SOIC are not too big of a problem to solder. for an experienced solder, its definately possible to do all of them, but not for the general engineer i think.


I would agree with that, I know from experience that I’d have no trouble with the SOIC, but I doubt I could handle the SSOP or TSSOP.


I finally gave up on waiting for my package for parts from China and bought the connectors locally today. I soldered everything together and it all worked the first try.

But software-wise, most of the screen modes are very tiny using only the top left corner. I’m using a 64x32 matrix and it appears the software is designed around a 32x16 matrix. I know the whole display is working properly because the plasma screen is full screen even though the time is in the top left like it thinks the screen is smaller.

Interestingly, the pacman animations are limited to the top half but go 3/4ths of the way across. The Conway’s Life one only uses the left half even when I changed the width parameter to 64.

I wondering if I’m using an obsolete version of the firmware or I’m missing a simple software switch somewhere. I’m uisng RGBPongClock V1.1.2


Did you set the pixel dimensions of your screen in the code?

I have 2 64x32 screens going 24/7.


@OracleJ, the RGBPongClock needs to be setup to handle a 64x32 panel as it defaults to 32x32. You need to comment out the 32x32 line and uncomment the 64x32 line as shown:

/***** Create RGBmatrix Panel instance *****
 Last parameter = 'true' enables double-buffering, for flicker-free,
 buttery smooth animation.  Note that NOTHING WILL SHOW ON THE DISPLAY
 until the first call to swapBuffers().  This is normal. */
//RGBmatrixPanel matrix(A, B, C, CLK, LAT, OE, true, 32);	// 16x32
//RGBmatrixPanel matrix(A, B, C, D,CLK, LAT, OE, true, 32);	// 32x32
RGBmatrixPanel matrix(A, B, C, D,CLK, LAT, OE, true, 64); // 64x32

Not all effects and clock faces are written to fill whatever panel size there is as you noticed with the Pacman animation. You are encouraged to modify the code to change this!


Thanks for the replies.

I did make that configuration change. Changing the code to increase the resolution looks daunting, even the font files will have to be replaced, so I was hoping someone had already created a 64x32 version. I’ll see what I can do, and I really do appreciate all the work you’ve contributed to me getting this far.

@RWB do you mean the configuration change that peekay123 mentioned are is there something else I am missing.


Here is what I have for my 64x32 screens:


Hey @peekay123 just wondering if the following ( would work with something like this (


It should.


Thanks, ordered both… Where can i find the connection instructions? And which library is compatible with this?




I finally got the PCB for the LED Panel. I connected everything, and I am getting the following.

This currently has the RGBPongClock running from the particle WEB Ide. I also made the following change to the code.

Changed the version to 3


updated for the display


This is how i have everything hooked up.

Any recommendations on what i could be missing :)?


@ScruffR you wouldnt any idea about this, would you? @peekay123 seems to be away.


There are so many of these RGB Matrix Panels around so I couldn’t tell what might be wrong here, but I’d double check whether the pinout on the panel header really matches the pin assignment in the library.

Also double check that you are using the IN header and not the OUT.

Can you post a high res image of the IN header on the panel?


@jrjack, sorry for the delay. I believe the issue lies in the pin definitions in RGBPanelMatrix.cpp which don’t match the configuration of the OSHPark board. I will need to update the library and republish. However, I’m not sure how to update just yet so I will post here to let you know when it’s ready. Sorry about that :disappointed_relieved:


Oh :confused:

Here is the pin lay out…

I reconnected everything, using a ribbon wire now. And getting this.

However, when i hold the board in my hand, or touch it, things become slightly clearer

Things arent grounded properly?


I’d resolder all the pins and components on your board.


Does the RGBpongclock have the correct pin definition for the board?