Making an awesome scrolling message


This was going to be a direct message to @peekay123 but I realized this might be helpful to the whole community (and someone other than peekay might want to help!)

We have a 3 panel LED from peekays maker faire project, and have daisy chained them together.

Aside from the built in demos, are there any good resources on how to make an awesome scrolling animation? We have our holiday party next week, and since its mounted on top of an old mortal kombat arcade cabinet, we’d love to have a mortal kombat theme or even a pacman eating our root ventures logo!

Any advice on how to get this done would be awesome.


I see that you posted this pic over at @peekay123 other post

What size are the panels?

@avidan, the PixelClock code contains a “marquee” clock which scrolls text. It would be easy to adapt the code to three panels. It could be adapted to graphics and text scrolling.

im willing to offer a bottle of whiskey for a marquee of Pac-man eating the Root Ventures logo :wink:

Should be doable, the thing is the Root Ventures logo does seem to have lots of detail but the RGB Matrix has very low resolution.


Like @ScruffR mentioned, the resolution is tight. This is the closest I’ve come by hand. Would something like that be okay?


Is this 64x64 - which would mean 2x2 RGB Matrix Panels

I’m pretty sure it’s 96x32 looking at the picture and the fact that @peekay123’s panels were 32x32. It’s going to be tight, but if the logo above, or a simplification of that is acceptable, it should be doable :smile:

@ScruffR, the library can’t handle more than 32 pixels high. For that, you would need another set of pins to control another row of panels.

@peekay123, yes it can - sort of :wink:
You just need pay attention to the drawing routines :wink:

If you daisy-chain top-left, top-right, bottom-left, bottom-right, you’ll just need to draw pixels (X/Y | Y>32) as ((X+32*colCount)/(Y-32)) (colCount being 2 for two columns of 32 pixel panels)
Or am I wrong there?


@ScruffR, you not wrong but it does complicate matters. Having 4 panels already slows down the refresh rate and without having tested it, I can’t say how it will look. However, you are correct in that you treat the 1x4 panel arrangement as a 2x2 in the way you draw it much like the neopixel matrix library does.


ya, i can see that the logo might be very tough with only 32 pixels high…maybe just pacman eating some pellets, ghosts, and then the words ROOT / VENTURES.


@avidan, I’m working with @Moors7 to see if I can get animated gifs to work on a 1x3 panel set. I’ve assembled my panels but now I need to distribute power. The test code I have compiles so keep your fingers crossed :smile:


Fingers are crossed. My colleague Kane is a GIF junkie, so that would be perfect!


Animated GIFs WORKS!

Wooohoooo! Existing library? Got a quick how-to?

@avidan, I’m working with @Moors7 on testing some GIFS and fine tuning the code. Can you build your own animated GIFs? I’m uploading a video of some quick and dirty GIFS for testing. Here is a link to my dropbox:

@avidan, note that you can’t power all the panels from a single 5A power adapter plugged in to the RGB shield. What I did was power the panels with a separate (PC) power supply capable of supplying 10+ amps. I also connected the common ground of the panels and power supply to the screw terminal GND to have all grounds powered. I powered the shield with the 5v 5A power pack that came with each panel by plugging it in to the power jack under the shield.

THIS IS IMPORTANT: Everything is done by one Photon so you only use one RGB shield! All boards need to be daisy chained with 16-conductor ribbon cables (not sure if these came in the kits) connected from OUT of the first board to IN (where the shield normally plugs in) of the second board and then OUT of the second board to IN of the third board.

Ok. This is exactly how we are wired up. I’m gonna share this conversation with Kane and see where we get. Hes an animated gifs machine.


@avidan, the existing code runs a GIF file animation for a number of cycles and then goes to the next file. In your case, it would be better to play each animation without a break in between. It would be great to have a longer animation to test. :wink: