I am looking to control 40 LED strands, of high density 144 pixel each strand.

I have 4 LeDMX4 Pro controllers from DMXking.com which can control up to 680 RGB pixels per port.

I have hooked up 16 strands, with 4 strand on each output of the LeDMX4

I’ve set the pixel count in the LeDMX4 Pro Configuration utility to 576, (which is 144 x 4). The maximum is 680 for SPI.

In my example I can move a single lit led up and down all the strings, and every single pixel is addressed fine. I have to span lots of universes to do this, 19 in total.

The issue is, 104 pixels are trying to be lit, but there are no leds there.

I jump from one Port to the next, after 4 strands, the missing 576 - 680 = 104 pixels.

I run the setslice to select the single pixel past the 576th pixel (the last pixel on the 4th string), I have to get to 681 for the 1st pixel of the 5th strand to light up.

Artnet Ouput 4.v4p (19.2 KB)

Hope this makes sense!

not 100% sure what you mean, but i think you are looking for the DIVMOD node. it does an integer division and a modulo and would look like this in VL:


however, you can achieve the same in vvvv with some more nodes:


if your index is 1 based, add 1 to the universe index. here is the patch:
Artnet Ouput 4_DIVMOD.v4p (19.8 KB)

1 Like

That is EXACTLY what I meant, thank you so much!

Your question on why 510, I’m not 100% certain, but when it’s set to 512 there is an offset to the pixels, you end up BG, the R, on the next pixel.

510 is because that is the maximum number of RGB values that you can send comepletely on one DMX universe. 512 is not divisible by 3, 510 is.

Hmmm, tricky, this is working really well, but it’s not getting deep enough.

The idea is that I can feed a 144 length linear spread for example to an HSL, and each string will have the same pixels effected. But what happens is that the 104 pixels missing creates an offset which compounds with each 4 string.

Artnet Output to 16 Strands x 144 Pixels 003.v4p (236.8 KB)

interesting, thanks for clearing this up.

so what you actually want is to re-arrange a big spread input spread to an even bigger output spread. you can do that with SetSpread like this:

Artnet Output to 16 Strands x 144 Pixels 004.v4p (117.4 KB)

only problem, this might get slow for high spread counts… but try it.

I would recommend pixel mapping graphics to LED’s, it makes it much easier to design for. Just use a pipet dx9 or 11 and sample from the postions you want your leds to be. I’ve found that running 2 instances with shared textures, dramatically improves performance, so just pipet and DMX in one instance, and do all your gfx in the other

1 Like

Cool beans, yeah, I have used that method a lot already, but haven’t used these new 8 channel spi drivers, there pretty grunty!!

I haven’t tried doing pipet in a separate instance, that’s a good call. In fact I haven’t really used separate instances at all really.

This topic was automatically closed 365 days after the last reply. New replies are no longer allowed.