Controlling ~4000 LED pixels

luc.fm's icon

Hi everyone!

I've been working with Max for a couple of years, and feel very comfortable in the environment. I'm gearing up for my first big project, though, which involves controlling 24 WS2812b strips of ~150 pixels each, meaning I'm looking at close to 4000 LEDs in total.

I spent the summer reading countless threads on this forum (among others) to begin to figure out how to pull this off. I have limited experience with microcontrollers and serial communication, so the first step was to educate myself as much as possible. I still have some questions that primarily relate to the scale of the project, which I would love some advice/feedback on.

With endless thanks to everyone in this thread, I'm up and running controlling a single strip of 30 LEDs from a Jitter matrix. It looks great; the only issue is that 30 is a whole lot less than 4000.

I'm using jit.iter to break apart the matrix, and I'm controlling the strip by sending strings of messages in the format of "C Rvalue Gvalue Bvalue" over serial to an Arduino Uno . This is fine for 30 LEDs, and although I don't have much experience with serial, I have grave concerns about it scaling to 4000 pixels at any reasonable framerate.

I know that there are a few distinct options for controlling individually-addressible strips out there. In this thread Nat indicates that a single Teensy 3.1 could come close to controlling 4000 pixels. My question is whether or not serial communication is the way to go with so much data to be sent. If so, is there a more efficient way to send it than the format I described above (perhaps something like ArtNet)? Finally, how would controlling separate strips with their own corresponding matrices work in this context?

I know this is a lot, but if anyone with experience controlling large-scale LED displays with Max could chime in with any advice at all, that would be amazing. I'm also completely flexible in terms of approach –– if a Teensy is better, then that would be fine. If incorporating hardware like the Enttec Pixelator would provide for a simpler solution (but still retain control in Max), it's something I'm completely open to.

Any and all advice is welcomed and sincerely appreciated!

Michael Fergie's icon

Hello,

I can see that you had some success with this. Can you shed any light on how to interface Max with the Entech Pixxelator?

Thanks

luc.fm's icon

Oh man - this was a long time ago and I’m no longer using Max regularly so bear with me as I try and remember how I did this.

I do remember that the protocol used to allow Max to talk to the ENTTEC gear was ArtNet. There were individual jitter matrices for each individual LED strip (or in my case, group of 4 LED strips that behaved identically), which unpacked into a third party suite of ArtNet objects if I remember correctly. The ArtNet data was then sent over a local network to the pixelator, and ENTTEC took it from there.

I hope this helped in broad strokes! I can try to answer any specific questions (I can dig out the hard drives with this project and look around the patch if there’s anything in particular you want to know).

Michael Fergie's icon

Thanks for your reply!

The bit I am interested in is what this "third party suite of ArtNet objects" is, and how I can send the ArtNet data to the Pixxelator. If you have any more detail on this that would be most useful.

All the best.