Background: A few months ago I bought some BTF Lighting WS2812b PVC Coated Wire Fairy Pixels from Amazon. Today I went and put them up around a couple windows and when I connected them to my Esp32 shield I was getting some flickering. I had a decent length data run of 12-14ft.
First thought: data run too long. I added an F-Amp by the controller. Issue persists.
Second attempt: cut the length in 1/2, put F-Amp at controller, ran 5ft xConnect jumper, added 2nd F-Amp and connected to the lines running to the pixels that was now only another 5-6ish ft. Issue Persists.
Gave up and had dinner lol. After dinner I went and did a bunch of testing with the following results.
Tested using 2 spare strings of the above LEDs both with same results.
Test #1: Connected string directly to my Esp32 shield. Still doing the disco.
Test #2: Connected 2 different F-Amps (one at a time from 2 diff’ vendors). Still doing the disco.
Test #3: Swapped out Esp32 off the shield and stuck on a narrow version. Still flickering.
Test #4: Connected to bare Esp32 with dupont jumpers. Flicker flicker flicker…
Test #5: Well my as well try my d1 mini esp8266 shield. LEDs Work! No Flicker!
Test#6: Stuck a d1 mini style Esp32 onto the d1 mini shield and the Flicker is back. WTH.
Test #7: Added 1000uF Cap. (tried bare esp32, Esp32 shield and d1 mini shield). Flicker…
Test #8: Seeing the esp8266 worked I went to trying that with a long data run of 10ft+. As expected it had issues.
Test #9: Added F-Amp and the LEDs went wicked dim. Hmm. Switched to F-Amp from second vendor and oddly enough they worked! So I said well just maybe I was on the bleeding edge of things and this vendors F-Amp had shorter leads on each side.
Test #10: Removed long lead and for giggles went to being close to the controller. Vendor #1 F-Amp same result, wicked dim LEDs. Vendor #2’s F-Amp 100% Functional. Huh??
Test #11: Well I didn’t try just the LEDs close with no Amp’s So why not… Well yep they work. But I notice 1 LED not lit. Hmm. Try all 3 colors. Only Blue reacts on that LED. Trace the LED and see it’s the first one. Try other string same exact thing. (Yes I made sure skip first pixel was not checked)
Test #12: Add the F-Amp from vendor that worked, and magic first LED (and rest) all working.
Test #13: Grab the left over cut off LEDs that I didn’t use on the windows and see if the first LED on the cut string acted the same. Yep same thing as test #11 and 12.
Test #14: Tried non-PVC coated fairy lights from BFT that I had and they worked fine with both vendors F-Amps as well as the first LED lighting when no amp was used. (on Esp8266 I did not test on Esp32).
So if you read all that and are still here lol, Any clue what the heck the deal could be with those fairy lights?
-Also when I click on the ones that I ordered over the summer the link now takes me to a weird new style they seem to of replaced them with. https://www.amazon.com/gp/product/B01DC0ISIU The ones that I bought were the ones with the frosted blob over the chip. Not these weird pcb ones.
Edit: Looks like they still have the style I have, but in 32ft. https://www.amazon.com/BTF-LIGHTING-WS2812B-Pre-soldered-Addressable-Idividually/dp/B01DC0ITX4
Oh forgot to add that the string worked fine with one of those dumb controllers that comes with the IR remote.
Hmm, sounds like the same problem I had.
Or still have.
With an ESP8266 it works without problems, as soon as I connect an ESP32 it just starts to flicker or no effects arrive at all.
Wow. Yes looks to be the exact same issue. Really strange.
It’s odd that you are having the issue with the BTF brand fairy lights. Those lights use the WS2812 ic. I’ve seen this behavior with the cheaper fixed address fairy lights. Unlike WS2812 that modifies and boosts the data signal at each pixel, the fixed address lights do not modify the signal and are designed to work with very low voltages on the data line. I’ve never seen a data sheet for the fixed address lights but they seem to be designed for a 3v3 data signal rather than 5v.
My point to all of this, I wonder if you didn’t get an authentic BTF product. Try adding a resistor to the data line.
Yea really weird. I actually did try a few different resistors that I had. Most of what I have are 1k and higher. I did find a 3ohm that did not seem to change anything and a 68ohm that actually made the flickering 300% worse. 270ohm was just as bad as the 68.
The lights were right from the BTF store on amazon and came in the BTF antistatic bags. The uncoated ones from them work fine. It’s just the coated with the problem. I am working around it using an 8266 and the f-amp and that is working 100% even with a 20ish ft data line. It’s just kinda a waste/pain as they are part of my xlights Christmas display and I was all setup to have 1 12v controller and 1 5v and now I’m having to use 2 5v’s. But gotta do what you gotta do. Good thing I try to keep an extra shield built incase I ever need it. Guess I need to build another extra one now lol.
I also have some cheap fixed address ones (non BTF) that work as well. Oh and yes everything is level shifted.
Almost sounds like an “out of spec” timing issue for these devices.
I know there was a fair bit of work in the Neopixelbus library (WLED uses that to drive strips) to accommodate various speed devices.
Most of that is “buried under the hood” in WLED but a custom compile would let you tune the timing specifically for these devices.
Definitely not for the faint of heart…
It sounds like a possible timing issue. The published timings for various pixel chips vary, but most have some margin such that a generic 281x timing often works OK. An esp8266 may have slightly different timing than the esp32, as I believe they use different subsystem hardware.
Looking at a scope picture of the signal at the processor and at the first pixel would be super informative, for different controllers.
By the way, the second link now gets redirected to the first after a brief pause (I can see the linked ASIN for a fraction of a second on the address bar, then it’s replaced with the ASIN of the first link before the Amazon page loads). Odd.
Looks like they are sold out of the 2nd link. They were on sale for $14.60.
Anyways for anyone interested I ordered these other fairy lights from amazon and I confirmed today that they are addressable (not fixed address) and that they work with an esp32. Mine had 101 LEDs. https://www.amazon.com/dp/B0B2BYZQPQ (The BTF’s looked just like these but were clear wire and had jst’s at both ends.)
They have a usb controller soldered on them but it is super easy to open up and remove.
Are there also addressable LEDs that are controlled using a different method? I think I read something about 6 bits / color. But I’m not entirely sure.
I don’t think so, unless you are talking about the ones that come with controllers that normally say ‘8 modes’. I think those work off PWM.
Another update for anyone interested. These lights are addressable and work on Esp32. They currently have a 50% off coupon @ amazon making them $8 33ft 100ct. https://www.amazon.com/dp/B0BG8KHJ9K
They have four wires?
50% coupon applied to one item per order at checkout
3 wire: + D -
Coupon will work multiple times. Just need to do 1 per order. I ordered 2x.
I have been trying alot of different things to get these to work with esp32 and the only way I have been getting a stable result is by having a known good ws2812b pixel infront of the fairy lights, sacrifical pixel style. Or since I didn’t have a single led lying around 256 leds, 16x16 matrix. Found this out after trying all the different tips and tricks for dealing with flickering leds.
Interesting. Maybe I’ll give that a try sometime. The easy solution for now is just for me to use them with an 8266 and an f-amp. I for sure will never buy more of those BTF’s. Those other 2 brands I linked to have worked fine with the esp32.