APA102 Bug or wireing issue?

Heya I’ve recently decided to take the leftover apa102 led stripe from my Hyperion ambilight project I’ve done around 2018 or so and to put it in my shelf so far it works out pretty well but I’ve encountered a kinda weird or specific issue that annoyes me i found a workaround but it still bugs me and i want to find out what’s up with it .

So now to the issue when i set the LED count in WLED to 90 (which is the exact amount of the LEDs used) the LEDs begging from around half of the LEDs and getting worse to the end are getting glitchy buggy and unresponsive but as soon as I double the amount from like 90 to 180 LEDs in WLED without attaching more LEDs it’s solved all 90 LEDs get response and no issues occur i can even set the segment back down to 90 so that is calculates the max brightness correctly for the 90 LEDs does anyone here know what I can check where the issue might be coming from?

Without more details of the physical setup:

  1. Insure solid connection from controller to 1st LED and make sure it’s not too long (ideally, less than a foot or so).
  2. Insure the controller is outputting a 5V signals (vs 3.3V) and if using a level shifter to raise 3.3 to 5, be sure both data and clock are being shifted and that the shifter is capable of the speed you are driving them - not all are and APAs can run at a higher clock speed than WS281X
  3. Insure the controller and LED strips are sharing a common ground line (even if they use different power supplied)
  4. Insure the power supply feeding the LED strips is a) capable of delivering the necessary amperage and b) is delivering the correct voltage (i.e. 5.0 or 5.1, not like 4.8 or something).
  5. Insure the output pins on the ESP are capable of being output pins (some are not and are analog/input)

I know a lot of these are things you’ve likely read before, but 95 times out of a hundred, it’s something like the above.

I us a big pile of APAs and love the refresh speed they offer compare to WS281X devices. Other than some dodgy wiring and insuring my level shifter was fast enough (APA can drive pretty fast compared to WS281X stuff), they work solid and required no special WLED settings.

Ayyy thanks for the tips i will check those and will follow up how it went ^^

So I’ve now checked some things:

  1. Connections are solid and runs are not to long (Controller to first LED is max 3cm)

  2. After some investigation i found out yeah the esp32 is only putting out 3.3V on Data and Clk but power is hooked up to the 5v supply directly so I might try the level shifter but somehow logically it might not be the issue thooo cuz the 3.3V are there anyways and don’t change if i tell wled that there are 90 or 180 LEDs (there are just 90 but fooling the wled software with 180 fixes the issue somehow) so technically i should be fine with 3.3V for data and clock

  3. Jup

  4. Actually it was feeding only 4.9~ adjusted the output to 5.05V and for the amps it’s a 12A supply that should be enough also have power injection every 30 LEDs

  5. They should be able according to the Pinout sheet I’ve used and also if they where input then it would be a miracle how i then would be able to control the lights

To clarify the LEDs are working i can control each one of them already over the esp with wled the issue is just when set to the correct amount (90 LEDs) it glitches but when set to double of the actual amount (90*2=180) it works no issues at all to better show of the issue i also attached a short video showing the LEDs with the same effect playing once with 180 LEDs configured and once with 90 LEDs configured keep in mind i did not change the physical led amount it was in both takes only 90 LEDs i just changed the wled config

I’d definitely investigate the level shifting then. As a rule, “naked” ESPs always speak 3.3V out without some help.

The APAs are designed to handle 5V TTL logic. Things may sort of work or sometimes not at lower voltages and things like sending more data could be pushing a charge cap over a limit or some other thing that marginally works better with more data (and thus more signal power).

Off that list, but still possible, is perhaps a bad LED on the APA strip. It’s pretty rare (they usually work or don’t), but what you are describing feels like “marginal” behavior, so thinking of marginal voltages, marginally bad LED in the chain, etc.

I will definitely try out to use a level shifter as soon i got one just was putting my thought out and adding some more context but till i get that level shifter some days will fly by any direct level shifter recommendations so I don’t order a wrong one which might be not fast enough thooo?

If you are handy with soldering (or breadboarding, should you have the space), best is something like a simple SN74AHCT125N chip. It doesn’t take much to hook it up (just be sure to connect unused input channels to ground). Just avoid any analog/passive level shifters - they CAN work, but they seem to have more problems messing up waveforms at higher frequencies.

Alternately, I’ve switched from using "naked ESP32"s to the Quinn DigiUNO boards. The board can take any voltage and power an onboard ESP32 (it does NOT regulate power for the LED strip though, but it will pass power through) and includes level shifters all in one pretty compact board with screw terminals. The DigiUNO, though suggesting a single string, actually has two level shifted outputs for either 2 different WS281X strips OR one APA strip (data/clock).

Takes all the tedious power regulating, level shifting, etc, etc out of it and pretty inexpensive (I buy them in blocks of 10 at a time just to have them around).

So now it’s getting interesting I’ve received the the SN74AHCT125N Chip and it’s working but i still have the exact same issue i need to double the LED count in WLED for all LEDs to work well i also checked that each LED has the expected address and also swapped the 15led modules a bit around in the led chain to see if i might have some faulty LEDs which then should may switch a bit on how bad the issue is occurring like if the faulty led is in the begin or end of the chain but no difference it’s the same issue with and without the SN74AHCT125N chip (i also pulled the unused channels on the chip to ground as recommended) @gduprey

Yikes - that all sounds like what I’d recommend too. I’m afraid I’m out of ideas. I’ve never seen that happen with a WS281X or APA strip before. Fortunatly, all the steps you have taken are re-usable. At this point, I think I’d order another APA strip as a test. While not what you are trying to do, it sounds like nearly all other tests have been done and next is to confirm the LEDs themselves with a completely separate/different LED strip. Maybe grab a cheap WS281X strip too (you can change the WLED config super easy) to confirm it works in different protocols.

If you get a fresh/new APA strip and it does the same thing, well, then I’m really out of ideas (short of a corrupted ESP/WLED firmware install). If a new APA strip works, then you know it’s something with the current APA/LEDs (though the level shifter is a keeper after that - it really can help in marginal cases).

Best of luck!!

Gerry

I would also try installing the most current WLED release to the esp from: https://wled-install.github.io/

Yeah i guess i will use my workaround for now because it works without any issue besides that I must trick the wled controller. until i have a new project where i need LEDs again i will stay on the workaround i don’t have want to buy led strips that then will lay around just to test this especially because technically the issue is not a big bummer luckily it’s just weird and with the workaround it works but thanks for the tips i will continue with them when i got another project but before i need to do some other projects first ^^

Already tried the 0.14.0-b1 build and 0.13.3 build

We are on b3 now.

Updated to the nightly build b3 issue is still there with and without the levelshifter