Particle Photon and Adafruit 32x64 RGB LED Matrix


What device OS version are you running that on?
Can you post your code or SHARE THIS REVISION?

This could be noise (your wiring looks prone to that) or a timing issue.
For the latter you could try tweaking the library and increase the time constants here

That would reduce the over-all refresh rate but may improve signal separation.


I just got my order from DigiKey and i am now assembling everything. I have noticed, that the hole-pads for the clamping connector are a bit too small for the clamp connectors in the BOM. I will file down the two legs of the part, but just so you lot know. :wink:


The device OS is 1.1.0. I tried this same setup with a 32x32 (P6) panel, which worked absolutely fine. Still, I cannot entirely exclude that it might be noise which is causing this behavior.

Tweaking the library and the delays did not have a positive effect on the problem: in some cases, it even became worse… My code can be found here:


I had the problem that the panel isnt displaying all colours nicely and sometimes there are flickerings of light that arent meant to be. I decided to add a 3.3V to 5V bridge between the photon and the panel and all those light issues were gone… Its still not working 100% properly but im working on that. I just wanted to ask @peekay123 if i have consent to add that 3.3V to 5V bridge on your photon shield? I would also post it on here if it works.


@faziban, I have not had a panel NOT work at 3.3v but that is a definite possibility. How long is your ribbon cable going to the panel? Not sure what other issues you may be experiencing unless you have not configured the application for this board’s GPIO configuration. Glad you are making progress though!


I’ve been using @peekay123 pcb on a 64x32 display for more than a year and the clock code works without fail and has never frozen up on me.

I’m feeding the device 5v.


My PCBs arrived today. They look fantastic, thanks again, @peekay123 . I’m still waiting on all the connectors unfortunately; I’m looking forward to when I can start soldering. I bought the 64x32 panel a few months ago, so that’s ready to go.


With a friend, I found the source of the error and the panel is now working more or less as expected. there were still some strange ghosting effects (flickering Lines/Dots on the matrix, just for like 0.1 second, but still clearly visible). I set everything up again, but now with a 3.3V to 5V level-shifter between Photon shield and the Panel. With the levels shifted, the Matrix displayed everything without any problem. No ghosting effects or anything!
I used this levelshifter:

@peekay123 Now I would like to integrate that levelshifter on your handy shield. Is it possible, that you could provide the KiCAD Project? I would happily post my version on here, when done. I would add the same levelshifter that is also on those breakoutboards that i used (link above).

@RWB I have also read somewhere, that those Adafruit Panels are produced in batches and can be slightly different to eachother. So its possible, that I have a panel in the lower tolerance region. I dont know. What clock are you useing it for?


Why not lets collaborate and make a gen 3 capable board … think of all the mesh possibilities for creating larger composite display panels like 4 x 64x32 panels…


@faziban I agonized as to whether to include a level shifter or not. I wanted to the board to be easily assembled with no SMD parts. The level shifter you are using is overkill and expensive IMO. Its better to use two cheap level-shifting high output current AND gates like the SN74AHCT1G08 like @Pixelmatix used in his APA102 driver board. These could be hand soldered or reflowed on the board.

I may make the changes myself. Regardless, I will share the kicad design on github so you can you and others can make changes and then do pull requests so others can benefit.

@shanevanj, the Gen3 devices don’t have the horsepower nor the hardware assets available to support RGB panels. The bit-banged approach used on the Photon code is very colour limited due to the processing overhead. A dedicated STM32, ESP32 or RPi would provide better performance but without all the Particle goodies.

That is one of the reasons why I am working on a hardware accelerated solution that will support RGB matrix panels, Neopixel strings and matrices and a whole bunch of other things but it needs to cook for a while yet.


What kind of hardware acceleration is available in Gen3 devices that could help with LED panels?


I’m pretty sure @peekay123 is talking about an add-on solution, not something built-in.


Yup, as the amazing @Moors7 said, it would be an add-on solution for any platform, not just Gen3 devices.


I’m just running @peekay123 's clock / weather code which I modified some for my own purposes.

The code is on the web IDE under RGB Clock I think.


@faziban, btw, which signals did you level shift from the Photon to the panel? CLK and LAT?


@peekay123 I shifted the levels of all connections.

except of course the GND connections.


@faziban, interesting. Like @RWB, I have never had issues with the 32x32 and 64x32 panels I have ordered from Aliexpress. However, level shifting/buffering improves slew rate and better drives a longer ribbon cable. BTW, how long is your ribbon cable?

The challenge is deciding to stay with through-hole parts or not. My version 4 of the RGB Matrix Panel board used SMD parts which not everyone can solder themselves, especially the microSD socket on that version of the board. Any thoughts on this?

The TXB0108 is a bi-directional device which is not required here and is relatively expensive.
The best driver to use IMO is the SN54/74HCT541 octal buffer/driver which is available in 20-pin DIP which can be hand soldered. Two of these would cover the 13 signals needed. However, being through-hole, these will take more room on the board.


@peekay123 I am useing the standard ribbon IDC cable that was sent with the panel itself. It is no longer than 13cm (5 inches), which btw is very unhandy for a test setup on a desk :smiley: :smiley:

I see your point with the SMD parts and i think its good to make the panel for everyone! I should be able to solder SMD as good as THT, but lets see what the general public thinks:

  • i can SMD
  • i can’t SMD

0 voters

And yes the level shifter i used was highly overkill! It was just the first think i had at hand.

This one looks good to me, given i understand that datasheet properly :smiley:
The Board is a very handy size, but i think a bit bigger isn’t too much of a problem for most of us, especially because we are useing it with a LED panel, that is 3 times its size anyways :wink:


As far as SMD parts go, I’m okay with anything I can still hand solder somewhat reasonable with a soldering iron. I’ve done 0402 by hand, which isn’t too bad, but as soon as you need specialized equipment it becomes a blocker.

As for size, the smaller it is, the cheaper it should be. That said, I’d prefer to keep the board as thin as possible so the overal thickness of a project doesn’t have to increase more because the control board sticks out.
(I want to use them for word clocks, so the thinner, the better ;))


i agree with the thickness part. But i think a bit wider and longer would be reasonable and not too big of an issue, what do you think? :wink: and the connector to the panel is gonna be the thickest thing anyway i assume