RGB full-color LED matrix panel (2.5mm Pitch, 64x32 pixels) (WS-23707)

This is a placeholder topic for “RGB full-color LED matrix panel (2.5mm Pitch, 64x32 pixels)” comments.

RGB full-color LED matrix panel, 2.5mm Pitch, 64x32 pixels, adjustable brightness…

Read more

Could this LED matrix (RGB full-color LED matrix panel (2.5mm Pitch, 64x32 pixels) | Buy in Australia | WS-23707 | Core Electronics) be connected to an Arduino and sent serial data in the form of an RGB matrix from the command line or via a python script to display an image?

1 Like

Are you asking if it “can be done” or if there is some interface already developed to do it for you.
I had a play with something like this a few years back and in short it is really just a series of shift registers.
OE lets you turn it on or off, and latch is when you want to send the data in the registers to the output side.
So then its just a case of clocking the data at at what ever rate you can (i.e. no strict timing like the WS2812).

So I cant see why you could not do it, but you would need something to take the RGB data and ensure its sent in the correct order and once all sent, latch out.

There may already be a driver for it now, so not sure on that front.

1 Like

Hi @k8_0

Welcome to the forum!

That can definitely be done we have this guide that we have put together for running a matrix that displays images on it, there is also information available on the manufacturer’s wiki for the item that should be able to point you in the right direction.

2 Likes

Thank you for your response! So, for this project I need to provide the RGB data myself (which is fine to do in Python) and send it via serial port of Arduino. Do you know the format that the data must be in for this to work? Also, I have just read through the manufacturer’s wiki that Dan shared and because I have an Arduino Uno it seems like it doesn’t have enough memory for this so, I might have to downsize the led matrix.

Thanks Dan. For this project I do need to use Arduino and send data to serial port either from command line or script so I am trying to figure out if it is possible to send this matrix data.

1 Like

Hey @k8_0,

This should be possible although the complication of this will depend on how much of the matrix data you want to be prepared before it is sent to the arduino.

For example it would be fairly easy to send a string of text like “Hello World!” from a computer to your arduino and have the arduino do the hard work to translate that string into a sequence of instructions to have the LEDs light up to show those words. In comparison, it would be way more difficult to translate that string into something the matrix can interpret THEN send it to the arduino.

  • Do you have an idea what sort of thing you are planning to display on the matrix?
  • It would also be helpful to know what device you plan to use to send information to the Arduino’s serial port. Is this just a standard computer or something else?

The more information we have on the specific of this project the better we will be able to help out :slight_smile:

1 Like

the data from the controller to the display wont be over serial, its a little more complex then that.
You will have (something like)
5 Pins for what line (Pins A, B, C, D and E), this allows you to select what line the data is for (e.g. 0 - 31) so 32 lines.
So you would select that first (normal GPIO pins and set h/l as needed to select the line.
Then For each pixel, convert the color to its bit depth (4 bits per color I think it was)… so for each pixel on the selected line

for pixel/column = 0 to 64
    R = 4 bits of red, G = 4 bits of green, B = 4 bits of blue
    Set clock low
    Set R1 = First High Bit, set R2 = First Low Bit Red
    Set G1 = First High Bit, set G2 = First Low Bit Green
    Set B1 = First High Bit, set B2 = First Low Bit Blue
   set clock high 
   set clock low
    Set R1 = 2nd High Bit, set R2 = 2nd Low Bit Red
    Set G1 = 2nd High Bit, set G2 = 2nd Low Bit Green
    Set B1 = Rnd High Bit, set B2 = 2nd Low Bit Blue
   set clock high
   set clock low
repeat for 32 pixels for this row

Once all the data has been clocked out, toggle latch, and as long has the display has power and OE is set, the pixels should glow.

Please note, its been too many years, so this is all based on a very quick gloss over some example code from the wiki, so check out the wiki as there could already be a library for your setup.

3 Likes

Hey Samuel, thanks for the info! I will just be using a standard laptop to send info to the serial port. I really don’t know much about any of this (all new to me) but I did have the idea that a user can input serial data in the form of either text or an image path which is then read into a python script which converts it into usable data that the matrix can use, then the arduino sketch is responsible for providing the instructions. I am now realising this might be a lot harder than I anticipated and perhaps something like the MAX7219 to output text might be more achievable.

I think this idea may have been a bit ambitious… really appreciate the time taken to help out though! I am considering using a MAX7219 to display inputted text instead and I can see some more resources available for what I am trying to achieve!

1 Like

Im sure there will be many options to do something close to what you want, each will have its own pros/cons.

As mentioned above, you could have some middle hardware between the laptop and the display. Im not up-to-date with all the LED firmwares out there and what “interfaces/api” they have; but it would be do-able.

e.g. for that display you could use some of the demo code and tweak it for the serial input.

That said, I would assume there would be some ready made devices that would take a message etc and output it on a led display. Most people who dont go with the full on store sold device either
a) Want to learn about how it all works
b) Want to keep the cost as low as they can
or
c) Need something custom.
Side note: very often trying to build it yourself to keep costs down can end up costing more (if you count your time).

e.g. On of my ongoing projects is a 32x32 WS2812b LED Array. I have an ESP32 driving it, but I have also written some windows software so I can send “a screen” to it over wifi. My application can load in an image, attempt to convert that to a nice pixel art version, allow some pixel level changes and send that to the display.
So, you can do what every you want, if you have the time, skill and patience to do it :slight_smile: