Help with Mapping DMX LED Strips

hi guys, I,m very new to the forum. My background is animation. I have a modest grasp of TD.

I am trying to connect a series of 10-12 DMX LED strip Tubes with (32 leds in each tube(which i guess would mean 128 channels(rgb+dimmer)) and map it to RGB values from a movie top.

for the moment i,m\ using a enntect DMX usb pro 1 but eventually plan to connect a 100 of these end to end using an artnet.

i am not able to wrap my head around as to how to go about creating a rig to map the leds to a pixel area which then i could extend if additional tubes were installed.

if any1 can help , i would much appreciate it. :mrgreen:


welcome to the Forum.
You can get the color values of a TOP into CHOP channels via TopTo CHOP. This will give you 4 color channels r,g,b,a which sequenced via the Shuffle CHOP will give you the wanted rgbargba… sample sequence you need to send to a DMX device.

To sample the correct 32 values from the TOP, I usually use a SOP of some kind as it’s simple to position and with that select a portion from the TOP which you want to send to the LED Strips.

Have a look at attached example and let me know what you think. You can add more Lines and merge them or use the Copy SOP for when you want to attach more LED strips. Only thing to watch out for is that you need to split the channels (can also be done with the Shuffle CHOP) eventually to fill multiple universes.
basicLEDSetup.toe (4.49 KB)

hey thanx snaut, sorry wsnt able to respond sooner ,

since i,m quite a noob when it comes to light fixtures, it took me a while to wrap my head around the relationship between pixels and channels, and was kinda hitting a wall,the example was wot i needed to understand dmx interfaces with pixels :stuck_out_tongue:

so as it stands each tube has a pair of 16 pixels with rgb values of 48 channels per tube,

  1. now what i would like to do is create a structure eg. a kind of a grid of cubes, which i can control either as a whole or independent cubes. how do i go about mapping content to this or any 3d arrangement.

  2. i,m tryin to connect these light thru an artnet, i,m able to poll with an arnet dat but unable to send any signals to the lights ,am i missing any settings there,

i have noticed that there are only 512 channels to work with ,which would come out to about 10 led tubes, is it possible to scale and use multiple universe,s, dont know if that makes any sense

  1. also i,d like to know the difference between sending channels instead of samples .

Work on creating some basic masks and movie content, and setup different UV co ordinates from the example to different sections. Later on you can start creating a generative content system.

A good test is to send all 512 channels at 255. Your LEDs should turn white. What addresses have you set each fixture to?

You can send out multiple universes from touch, just remember each universe will need its own node to convert to DMX. Unless you find fixtures that natively take artnet.

thnx drazkers ,

i,ve configured the art-net as per the values from the artnet dat. dont think i can address the led tubes individually as i have daisy-chained 10 per universe

here are the setting on my digi network 8 Artnet
Primary ip
Secondary ip
Mask -
Gateway -

but my dmx out gives an error of “could not find channer “r” in table. Ignoring”.

but the same setup works without a hitch when i connect a enttec usb pro 1. any suggestions ?? :confused:
basicLEDSetup.8.toe (6.71 KB)


for “Packet Per Channel” mode, you will have to specify an Art-Net Routing Table.
The Table DAT should have 4 columns:

channel, net, subnet and universe

This way you can send multiple universes to the same Art-Net device.


Hello, I am trying to map some LEDs as well, thank you for making the initial file. I have included a table in the DMX out but I am getting errors. I would greatly appreciate the assistance. This will clear a major hurdle in my TD leaning progress. Thank You.
basicLEDMap.toe (4.6 KB)

Hey Cosmicink,

the net and subnet are actually ArtNet identifiers and should be
for Net: between 0 and 127
for Subnet between 0 and 15

Usually, but depending on how your ArtNet device is setup, Net and Subnet will be 0

Does this help?

Hi Markus, thanks, I’ll post an update. I have some LED strips going with another file, but the format is packet per sample.

Hi Markus,
I have attached a picture of the output I am getting from the attached toe file, but no animation from the LFO. My setup is 15 LED fixture of 120 pixels, so I am using one whole universe for a fixture. With the table and your directions I could get one fixture to light up. I am using a Pixlite board as input for ArtNet data. Thank you for assistance.
basicLEDMap.toe (4.79 KB)


just had a look at your file now and here are my notes:

The idea behind the network is that you can use geometry to lookup color values in a texture. This is done by converting a geometric representation of the LED fixtures (in your case this would be 15 lines with 120 points each) into CHOP channels displaying the point positions and using those to lookup the color values in a texture - so in this case the point positions are used as uv positions in the texture.

So the first thing I did with your file is, set the line SOP to have 120 points and then copy it 15 times with the Copy SOP. Connecting the SOPto CHOP will give you 3 channels (tx, ty, tz) with 1800 samples. Now I use this CHOP as an input to the TopTo CHOP - so the point positions become uv lookup positions in the referenced texture. As I only need rgb channels, I also remove the alpha channel completely.
The TopTo CHOP is a bit a slow one as it needs to download the texture from the gpu to convert it to samples - but the “Next Frame” Download Type parameter will cut the processing time significantly and usually the 1 frame delay shouldn’t matter too much.

As a texture I’m using a Ramp TOP just as an example. Converting the LFO to a texture is totally fine, but it will only result in a 1 pixel texture as the LFO only has 1 sample which can be interpreted as color. So in the file now I’m using the LFO to animate the Ramp instead.

The 3 channels which I get from the TopTo CHOP now have to be converted into an order the LEDs read - usually this is an rgbrgbrgb order, so here comes the Shuffle CHOP with the setting “Sequence All Samples” which does exactly that - you now have one channel with 5400 samples (120 LEDs * 3 Colors * 15 Fixtures)
With ArtNet though we can only send 512 values per universe and as you say, you have one fixture per universe - so we have to cut this channel up into 15 universes. The Shuffle CHOP will help with this again: Add a new one and set the Method to “Split N Samples” and set the N Value to 360 (120 LEDS * 3 colors). This will result in 15 channels which now can go into the DMXOut CHOP. As we send 1 channel per universe, the DMXOut CHOP’s Format parameter has to be set to “Packet per Channel” - in “Packet per Sample” mode you would need a DMXOut CHOP per universe you are trying to address.
I added a Rename CHOP to change the channel name from r0 - r14 to universe0 - universe14.
With this information I can fill out the ArtNet routing table DAT. For each channel I need to specify a universe - so for channel “universe0”: net and subnet will most likely be 0 and universe will be 0 as well. For channel universe1, net and subnet again 0 while universe now is 1.

With this setup, you can easily switch out the ramp1 TOP for any texture you like and see it playing back on your LEDs.

Let me know if you have any questions
basicLEDMapMarkus.1.toe (4.81 KB)



Thanks for the help too Markus. I’ve used this example to make a network that allows sending to 10 SGM led ball units, each with 6 rows of 28 lights.

But there’s a problem :frowning: The units are slightly out of sync which is most noticeable on fast movement. Like in this video:

They are each on a separate universe. I guess I’m doing something wrong but quite stuck. Do you have any advice for what might be causing this? I’ve attached the .toe file also.
ledballs.toe (7.56 KB)

Just curious, it looks like you have 10 DMX Out CHOPs sending all ten universes unicast to each receiver aka not just one universe per receiver as I’m assuming you intended… Did you try doing broadcast with just one DMX Out CHOP (send to address or better yet, separate each universe to a different DMX Out CHOP and send only one universe to each address instead of all 10 universes to each address? It looks like a network lag issue to me from that video and sending 100 (10 CHOPs x 10 universes each) art-net universes over the network (even though only 10 of those 100 data streams are being listened to) could be causing your problem.

Though you might’ve figured it out already since your post was days ago.

I want to install a few RGB LED strips on an amusement middle in a rec room. I can have eight sections (2+2 shelves on each aspect of a television) as a way to be lit with four separate RGB virtuals LED strips which can be about fifty-two" long. I might like so that you can manage each of the 8 sections separately or all collectively relying on what ever. A chasing feature of the lighting could be high-quality as nicely and response to music. My query is, what’s going to I want to accomplish this feat?

I think you’d be better off with a Pixel Pusher

It has built in iOS control abilities, no TouchDesigner needed.

Just quickly picking up this conversation to say thank you to Markus for sharing his basic led map network and his post on Jan 2017.
The network works beautifully and his post breaks it down perfectly.
thank you very much.

Posted my issues with pixel mapping bellow. Would be great if someone can help :slight_smile: