Art-Net First/Last Pixel of Universe Blue Flicker

Hi!

I’m using WLED on the ESP8266 as a wireless Art-Net receiver that is mounted to a variety of musical instruments (guitar, bass, keytar, drums, etc) for a show that I’m creating.

Despite almost everything working great, I’m experiencing a single blue flickering pixel at the end/beginning/transition point of each Art-Net universe (some of the instruments use 2-3 universes).

I’m using multiple types of WS28xx strips and it seems to be happening no matter which kind I test.

The software I’m using to send the Art-Net is called MadMapper. I’ve also tried sending Art-Net with QLC+ and am experiencing the same issue. It does not occur with E1.31, but MadMapper doesn’t seem to work with E1.31 so it looks like I’m going to be stuck with Art-Net.

Could this be due to some sort of differing universe length definition? (510 vs. 512?)

I should also mention that everything functions perfectly fine when I’m not using Art-Net.

I’ve also contacted MadMapper about this issue but figured I would post here since it’s happening with multiple Art-Net sending programs.

Thank you so much for such a great piece of software. Please let me know if there’s any information I left out that could be useful in helping to figure this out.

Alex

Hi!
Thank you so much, I am very glad that you like WLED!

Other users have reported this blue led issue at universe boeswea a well. WLED does not yet support “splitting” a single LED across adjacent universes, therefore each universe should only have a length of 510 channels, which corresponds to 170 LEDs. I realize that a lot of software sends the more standard 512 channels per universe by default, I hope that will be supported in the future :slight_smile:

1 Like

The blue flickering pixels are happening with most Artnet outputting software since they all seem to send channels 511 and 512 with blank information. One exception is Jinx - if you don’t patch channel 511-512 it doesn’t send out anything, so no blue pixel flickering.

Here’s a workaround I came up with: Use MIDIMonster to convert the output of Madmapper/MADRIX/Resolume Arena to sACN, and filter out 511-512 while doing so. You can run MIDIMonster on the same local machine as Madmapper/Resolume etc., it hardly uses any resources. The Artnet destination IP in Madmapper is your own machine’s local IP. MIDIMonster receives it, converts to sACN and knows from the config file which WLED IP to send the sACN universe to.

Your MIDIMonster config file will look something like this:

[backend artnet]
bind = your local IP

[backend sacn]
bind = your local IP

[artnet in1]
universe = 1

[sacn out1]
universe = 1
destination = your WLED IP adress
priority = 100

[map]
in1.{1…510} > out1.{1…510}

This basically discards channels 511-512. No more flashing blue pixels - yay!!

2 Likes

Hey!!! Ah that makes sense! I will try this out, thank you so much. I wonder if it is also possible to do the same thing but keep the “output” protocol Art-Net? I will mess with it. Either way this is a great workaround, thank you for the idea, going to go download MIDIMonster now.

This should theoretically work translating Artnet to Artnet, yes. You’d have to dive a bit deeper into MIDIMonsters documentation and probably use some Artnet loopback tricks instead of forwarding to another protocol.

I have the impression that sACN performs a bit better with WLED though (less lag, better response). But that might be just some unscientific feeling.

1 Like

Are you running MIDIMonster on a Mac? I’m having a hard time installing it. I tried downloading the macOS binary and installing it that way but when I run it I get:

“Failed to open plugin search path ./backends/: No such file or directory”

(Maybe a permissions error or something? I’m the administrator but I don’t have root enabled or anything like that)

I’m not the best with the Terminal. I also know this isn’t entirely WLED related so I understand if you can’t put time into helping me with it, or if it wouldn’t make sense to ask for help here on this forum.

Any help is greatly appreciated, including all that you’ve done so far!

All Windows 10 here.
You need the subdirectory with all the backend functionality as “plugins” (sacn, artnet, midi, mouse input etc.). Once unzipped it should all be in place.

Check if the directory is actually there. And then there’s obviously the horrible privilege thing under recent OSXs which I’m very very happy to have left behind me :slight_smile:

You don’t have to actually install anything, you just run MIDIMonster by dragging your very own config file on the MIDIMonster binary (at least that’s how it’s done in windows) - Check the MIDIMonster documentation.

It’s very powerful but also very very very not user-friendly (and there’s no GUI at all). But that’s mostly the case with powerful software :slight_smile:

2 Likes

Did you find any other solution? I noted the same problem. This is a huge problem if we want to use madmapper or resolume arena software. These two programs send 512 channels and the last two are 0.

Can you somehow ignore the last two channels in the data frame? The solution with the use of midimonster is probably effective, but it complicates a bit :slight_smile:

Unfortunately, I am not able to use sACN at the moment (everything works fine here).

I will be grateful for your help in removing the blue flicker :slight_smile:

Don’t want to inject noise into the discussion, but have you brought your WLED instances up to V0.13-b6?
There have been a number internal updates from V0.12 that may be helpful…

Yes, i compiled the newest version.
Also try with two different values of :
MAX_CHANNELS_PER_UNIVERSE
(510 and 512)

Has anyone found anything on this topic? :slight_smile:

Hi everybody,
First of all, thank for this topic cause it’s the only topic who speak about this problems.

So I have the exact same problem on my led strips (blue bllink) and I not able to use MIDIMonster because I’m on a mac and I have the same
“Failed to open plugin search path ./backends/: No such file or directory”

that’s why i’m reviving the topic
Has anyone found a way to solve the problem via MIDIMonster or via another solution?
I also tried OLA which would be an alternative to MIDIMonster, but I admit I’m lost on it.

Alex says that SCAN not working with the E1.31 but normally it’s work in Multicast mode.
But I can’t go in SCAN cause I also have some par led to control in Arnet.

Thank you
Please let me know if there’s any information I left out that could be useful in helping to figure this out.

Thank you so much for this workaround! This was driving me completely insane. You are a hero.

I can confirm that this works using Resolume. Just note that you will have to create an Artnet in, Sacn out, and Map for every new universe you use. I had to make 14 different sets. Maybe there is a more elegant way to code your config file but I’m not a programmer.
Thanks Again!

Hi Rykel! Are you running Mac or PC and if you get a chance would you mind sharing your MIDIMonster code?

I’m on Windows 10. I don’t have a Mac anymore so I can’t test MidiMonster in that environment.
One thing I did notice is that “Failed to search for backend plugin files in: /backends/” error will happen if you are trying to use a config file you saved somewhere other than the folder that holds the MidiMonster program and “backend” folder. Your config file must be saved in the same place as the other program files.
I’m sending data from resolume to 4 different esp32 that are all equipped with an ethernet port. Obviously, all IP addresses would be dependent on your hardware. The “bind” address is the machine running Resolume. This is also the address you will be sending to in your resolume lumiverse. The Destination addresses are the ESP32s.

[backend artnet]
bind = 192.168.1.109

[backend sacn]
bind = 192.168.1.109

[artnet in1]
universe = 1

[sacn out1]
universe = 1

destination = 192.168.1.107
priority = 100

[map]
in1.{1…510}>out1.{1…510}

[artnet in2]
universe = 2

[sacn out2]
universe = 2

destination = 192.168.1.107
priority = 100

[map]
in2.{1…510}>out2.{1…510}

[artnet in3]
universe = 3

[sacn out3]
universe = 3

destination = 192.168.1.107
priority = 100

[map]
in3.{1…510}>out3.{1…510}

[artnet in4]
universe = 4

[sacn out4]
universe = 4

destination = 192.168.1.105
priority = 100

[map]
in4.{1…510}>out4.{1…510}

[artnet in5]
universe = 5

[sacn out5]
universe = 5

destination = 192.168.1.105
priority = 100

[map]
in5.{1…510}>out5.{1…510}

[artnet in6]
universe = 6

[sacn out6]
universe = 6

destination = 192.168.1.105
priority = 100

[map]
in6.{1…510}>out6.{1…510}

[artnet in7]
universe = 7

[sacn out7]
universe = 7

destination = 192.168.1.106
priority = 100

[map]
in7.{1…510}>out7.{1…510}

[artnet in8]
universe = 8

[sacn out8]
universe = 8

destination = 192.168.1.106
priority = 100

[map]
in8.{1…510}>out8.{1…510}

[artnet in9]
universe = 9

[sacn out9]
universe = 9

destination = 192.168.1.106
priority = 100

[map]
in9.{1…510}>out9.{1…510}

[artnet in10]
universe = 10

[sacn out10]
universe = 10

destination = 192.168.1.106
priority = 100

[map]
in10.{1…510}>out10.{1…510}

[artnet in11]
universe = 11

[sacn out11]
universe = 11

destination = 192.168.1.104
priority = 100

[map]
in11.{1…510}>out11.{1…510}

[artnet in12]
universe = 12

[sacn out12]
universe = 12

destination = 192.168.1.104
priority = 100

[map]
in12.{1…510}>out12.{1…510}

[artnet in13]
universe = 13

[sacn out13]
universe = 13

destination = 192.168.1.104
priority = 100

[map]
in13.{1…510}>out13.{1…510}

[artnet in14]
universe = 14

[sacn out14]
universe = 14

destination = 192.168.1.104
priority = 100

[map]
in14.{1…510}>out14.{1…510}