Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Group pixels to reduce DMX footprint #142

Open
oligriffiths opened this issue Nov 17, 2022 · 3 comments
Open

Group pixels to reduce DMX footprint #142

oligriffiths opened this issue Nov 17, 2022 · 3 comments

Comments

@oligriffiths
Copy link

oligriffiths commented Nov 17, 2022

Hi

I am considering this package for a DMX LED project I have, and was wondering about an idea to reduce the DMX footprint by providing the ability to group N pixels together, thus dividing the DMX footprint per strip by N. That way 1 set of 3 DMX channels (RGB) can be assigned to N number of pixels.

Anyway I've ordered the relevant hardware and looking forward to getting started.

Thanks

Oli

@ulri-me
Copy link

ulri-me commented Nov 18, 2022

Hi

your question is missing an essential information:
Which LED strip do you want to use?

In case it is the WS2812(b) then your idea will not work.

https://www.digikey.com/en/datasheets/parallaxinc/parallax-inc-28085-ws2812b-rgb-led-datasheet
Have a look at the datasheet above. It states the LED has a "Cascading port transmission signal by single line".

This cascading transmission means that the first LED receives the RGB information for every pixel upcoming. It cuts away the first three bits (and displays them itself as RGB information) and transmit the remaining RGB information for the upcoming pixels in the transmission line.

Assuming you have a count of p pixels, then the first LED in the line must receive
(p+1 - 1(the first pixel)) * 3 bits for RGB.
It cuts away 3 bits (RGB) and transmits
(p+1 - 2(the second pixel)) * 3 (RGB) bits
down the line.
The p'th pixel will then receive
(p+1 - p(the p'th pixel)) * 3 (RGB) bits,
so there is nothing to transmit left.

To sum up this explanation you cannot build groups within one LED strip as you have the cascading transmission line.

Your only option would be to use multiple LED strips in parallel powered by one output. As the transmission is unidirectional, you can connect multiple "first LEDs" of multiple LED strips to the same output and therefore control a higher count.

@oligriffiths
Copy link
Author

oligriffiths commented Nov 18, 2022

Perhaps I wasn’t clear enough in my description.

What I am suggesting is merely assigning 1 set of 3 DMX channels (RGB) to N pixels, so say instead of using 12 channels for the first 4 pixels, you could use 3 channels and have all 4 pixels be set to the same value as those 3 DMX channels. Essentially copying and pasting the value of each set of DMX channels to N pixels, rather than it being a 1:1 mapping.

@oligriffiths
Copy link
Author

Alternatively a very simple example would be a group size of N pixels where N = pixel strip length, thus being able to control the entire strip as one color with just 3 DMX channels.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants