How to fix sporadic color changes of both single pixels and entire figures

I am experiencing sporadic color changes of both single pixels and entire figures.
I am looking for recommendations for controller modifications to make to get through this season.

Project: outline lighting of 2D figures in a nativity scene (24ft). 12 figures plus stable.
Need to be able to disconnect/disassemble for storage so using plugable connectors for power and data
Controllers: three ESP8266 ESP-12E running WLED
mounted to perfboard
1000uf 35v cap across 5v power in connection
Level shifter (I2C TE291) (I tried a TXS0108E - pixel colors were changing everywhere)
LEDs: 5V WS2811 RGB pixel (for all except stable)
5V WS2812B GRB (stable)
Power: Single 5v 60amp power supply
14awg stranded for power bus lines (2)
One power bus feeds the figures for Controller 1 and Controller 3
Second bus feeds figures for Controller 2.
18awg pigtail from bus to figures
18awg line to controllers

The three controllers are spaced about 9" apart, mounted on a railing behind the stable.
The three controllers are fed by a single 18awg bus line about 8’ long, that is
wire-nutted to 12" pigtails coming from each controller box
The signal line from each controller to its first figure is about 6’ long
Each figure has a 2-wire connector for power, connected to the first pixel
Each figure has removable butt connectors on the signal line - F on in, M on out
Data lines for figures are chained together with 20awg jumpers, most 18"-24", one on an end that is 8’
Controller 1: Stable - 3 segments, 44/52/44 (140 total)
Controller 2: Rt Side - 6 figures, 1 segment/figure, 21/45/53/56/51/49 (275 total, 8’ gap between last two figures)
Controller 3: Lt Side - 6 figures, 1 segment/figure, 63/32/49/65/20/48 (277 total)

The power supply is connected to the same AC outlet as other ‘dumb’ exterior lights.
The ‘dumb’ lights include a set of LED net lights set to a ‘fade’ effect.

If no effects and no ‘dumb’ lights connected, figures seem stable.
If ‘candle’ effect applied to middle segment of stable, sporadic color changes on figures connected to Controller 3.
If no effects and ‘dumb’ lights connected, sporadic color changes on figures connected to both Controller 2 and 3.

From what I’ve read so far, I might need to add a resistor on the data out from the level shifter?

I think that adding a small resistor (between 33Ω and 330Ω) is a good first step at least. I think you should also consider switching level shifters - it is pretty well documented that many i2c shifters are not fast enough for use with wled. You might try SN74AHCT125N, as recommended by Aircookie here. They’re cheap enough that it would be trivial to swap one and test it out!

(Edit: If you do go this route, be mindful of the “A” in the part number - a similar shifter is made without the “A” which is slower and less desirable).


I added 56Ω resistors on the data lines (on the boards right after the level shifter). It stabilized the figures when there was no candle effect on the stable segment but there was still plenty of ‘noise’ if the effect was turned on.
I’ll revisit the design after the season is over.

I guess you already visited this page :

We had problems with some effects but at end it turns out to be due to bad wiring ( still some effects worked )

Do you have a circuit diagram ? the guys were able to correct the issue once we sent the circuit diagram

1 Like

Yes, I had seen that page, thanks. Put together the attached diagram today.
I was looking at and found his page discussing the Data Signal resistor. Based on what I read there and the fact that I am not running my data wire in a cable bundle with a ground line, I probably should have used 249Ω rather than 56Ω.
I also saw a thread in the Issues section where someone was having similar ‘noise’ issues running two ESP8266 units off a single power supply (and resolved it by using two data outputs off a single unit)

Although it is not a solution but something we used to see if the PSU or wiring is the problem is to power the MCUs from different source ( keep the ground ) and see if you still face issue .

Also does your MCUs recycle or not , in our case it was rebooting but we only found out by continuously ping it because it comes back on in 1-2 seconds .

I do hope you can get help to fix this because you have a 300 Watt PSU and big setup .

If all fails then might be we can consult outside the forum as there is one youtuber that can help
but he might not be available until after the new year . No harm in asking him

If you’re still trying to “work-around” this basic issue, I think your fighting an up hill battle to no profit.

Your diagram shows a reasonably well laid out power distribution assuming you have enough injection points in the props. If you haven’t done so, I would put the injection points in the relative center of each prop. That will tend to cut the drops to 1/2 the maximum across a full bright/white prop versus injecting at one end or the other.

To me, the data run lengths are the most critical part of your layout right after the level shifter issue.
Looking at your diagram, replacing the I2C level shifters (even with a sacrificial pixel) will stabilize the data going to the various props. You should also seriously consider a sacrificial pixel in the long data line from prop6 → prop7.

Personally I would replace all the I2C’s with Tx-Rx RS485 pairs and add one on the prop6 → pro7 connection. Others have had success on those lengths with standard level shifters and cable/resistor “tuning”. I don’t find it’s worth the effort and simply drop back to the Tx-Rx solution given it’s cost and simplicity.

Just my $.02

Each character is a prop, as is the stable/star. Power is injected at LED #1 on each prop.
My plan for next season (at the moment) is to replace my three ESP8266 controllers with a single Dig-Quad. I will also rework the data line connections between the props as I suspect my current ‘bullet connector jumper wires’ design probably isn’t helping my situation. I’ll also take a look at the RS485 approach.
Have a Merry Christmas!

So I count 13 props including the star.
It looks like the Angel on the left and the Wise Men (and maybe the camel?) on the right have the largest pixel counts in terms of injection points. If you are indeed injecting 13 times (one for each prop) you’re probably reasonably OK for voltage drops.

If you are reworking for next year, think seriously about moving injection points to the center LED of each prop string. If you cut the voltage drop shown at the end of a string from .5v to .25V, it can make a big difference in repeated stability between props.

As far as data lines, good short connections are always a good plan. Bullet connectors may or may not be ideal depending on how robust and clean they are. One of the things I’ll do for outside data connections that have to live in high humidity (not under water)/adverse conditions is to fill the connector with dielectric grease before I put it together. It tends to displace water away from the contacts and keeps corrosion at bay.

Definitely experiment with the Tx-Rx RS485 pairs. They can vastly simplify and improve the reliability of your data path. I’ve said before, I use appropriate gauge wire for power as needed and generally use small 22/4 wire for data. One pair powers the Tx/Rx device and the other pair is used for the A-B data lines.

Your display looks great - Merry Christmas!

Got the display broken down and parts back inside. I picked up some TTL/RS485 converters and set up my first test config. The converters are the ones with through holes for a 4-pin connection on the TTL side for power and rx/tx, then a 3-pin connection on the 485 side for A/B/Earth.
@divsys - are your RS485 connections ‘pluggable’, and if so, what are you using (or would recommend) for connecting pieces? I’m trying to think of good options for packaging the 485 receiver at a prop and keep it weatherproof (I’m in upstate NY so rain/snow/ice are all concerns), but also keep things ‘modular’ so they are easy to store/move. I could solder the 485 receivers to the prop and put a waterproof connector pigtail on it for the 485 cable and then hot glue/heat shrink it, but open to other suggestions.

I’ve gone two routes on the outdoor versions of the TxRx pairs.

  1. A small piece of 1/2" (or smaller) PVC pipe capped at both ends and a small hole drilled and sealed with a piece of Cat5 or 22/4 wire as a “flying lead”. The pipe is large enough to accommodate the full Tx or Rx board and keep it water tight.

  2. For the ultimate in tiny installs, I have self built some Tx Rx boards using SOIC-> Dip adapter boards and SOIC mount MAX485 chips. I mount the termination resistor and bypass cap right on the chip itself.
    They come out about 1cm square and I solder on a flying lead for connections. They’re small enough that you can heat shrink the entire board and wiring into a sealed unit. I suppose you could alternatively embed it in epoxy.

I leave a generous tail and just splice the wires using gel filled “B splices” (often used in Telco). The gel keeps the splices reasonably water proof and a wrap of good electrical tape is usually all it needs. I have a few of these that live outdoors in the We(s)t Coast and they’ve done well.

As far as which approach is better - 1) is definitely cut and dried easy to see, but a little bulkier.
For your props it would probably fit in the back quite easily and if you mount it vertically you get a “doghouse” for your connections to hide in.
2) is neat and tiny, easier to hid behind a string of lights but very labour intensive to build.
In general I treat either of these units as consumables. Inevitably I do something stupid in my wiring and kill one. I just swap it out, they’re cheap and simple to wire.

There’s a picture in one my previous threads to give you and idea: Personal project for my backyard... which way to choose? - #7 by divsys