Page 1 of 1

Driving RGBW (with Cold or Warm White) or RGBAmber LEDs with an RGB input - RGB to RGBW/RGBA ?

Posted: Mon Jan 08, 2018 4:24 pm
by mad-matt
Hi everyone,

I had the same request multiple times on the support so I wanted to share my answer. The problem is how would we control a RGBW or RGBAmber led strip, since in our video world we're working with RGB. If MadMapper plays a movie, it gets RGB values, when using a syphon input or materials (GLSL shaders) we get RGB values. How then would we control a RGBW led strip ? MadMapper offers multiple solutions to this problem.

By default MadMapper support RGBW pixels. This thread is for people who want to have a custom control on what values MadMapper sends to the 4 pixel channels (or for RGBAmber). It is for advanced users that already have experience with LED control.

If using the RGBW pixel type of MadMapper, we'll send on the 4 channels: channel 0=red component value, channel 1=green component value, channel 2=blue component value, channel 3=min(red,green,blue)

To have control what's sent on each channels, read this:

The most flexible solution is to control RGB with a video stream and W with another one (not using GLSL expressions). You can map the media on two fixtures, patched on the same DMX address (ie ArtNet universe 0 channel 1) with different fixture definitions: one fixture definition will control the RGB, the other will control the warm white channel.
For doing that, you create two fixture definitions of the same size, ie 171x1 pixels for a 171x1 RGBW strip. The first fixture definition will have pixel type of 4 channels - R, G, B, unused - and the other pixel type of 4 channels - unused, unused, unused, L (a fixture won't erase the value stored in the channel for "unused" channels), so each fixture patched on the same start address will feed part of the channels (RGB & W).
Then you can use two different movies, one for RGB, the other for W (you can then use color filters in Final Cut, Premiere or other app and do two exports).

That's an option if your setup is just to playback a movie. If you setup is more interactive or using a live video input from Syphon for instance, you might use GLSL expressions. In this case you would do something with 4 expressions. If you compute Warm White value with W = min(red*F1,min(green*F2,blue*F3)). You have to find the correct F1,F2,F3 - each between 0.0 and 1.0 - depending on white pixel color temperature. For cold white: 0.299, 0.587, 0.114. For warm white... googling fastly I found ... ithm-code/)
Then the 4 expressions would be
channel 1: R - min(R*F1,min(G*F2,B*F3))/F1
channel 2: G - min(R*F1,min(G*F2,B*F3))/F2
channel 3: B - min(R*F1,min(G*F2,B*F3))/F3
channel 4: min(R*F1,min(G*F2,B*F3))

Any comments or suggestions welcome !
Matthieu - MM team

Re: Driving RGBW (with Cold or Warm White) LEDs with an RGB input - RGB to RGBW ?

Posted: Wed Jan 10, 2018 10:41 pm
by kozman007
I read all this and I am a beginner. This RGBW thread mentioned when you want to play a movie. However my purposes are for programming RGBW programmable LED strips. Did you mean playing a movie on a LED strip curtain? I'm I have 34 metres of strips (2040 pixels) and have a structure setup. Does MadMapper support RGBW in this matter? Sorry if this is a rather elementary question but this is a new program for me. I appreciate the response.

Re: Driving RGBW (with Cold or Warm White) LEDs with an RGB input - RGB to RGBW ?

Posted: Tue Jan 16, 2018 12:05 pm
by mad-matt
MadMapper has native handling of RGBW. But some people want to handle the W another way, especially when the white pixel is warm white. Don't take care about that at the moment. If you want more precise control over what's sent to the RGBW channels then read this post back when you already have your setup working