WS2814 24V flickering/gliching when connected to 3.3v - No change with Logic level shifter

Continuing the discussion from Are WS2814 24v RGBW LED Strips compatible with WLED?:

I think I’m having the same issue as @Kai-X1 and. I’ll just dump as much info as I can in the hopes of someone helping us :slight_smile:

Specs

Controller: Esp32 Type-c

LEDS: WS2814 24v White PCB RGB WW IP30
Logic Level Shifter: Gifted by a member of my hackerspace, seems like a TXS0108E.
Power Supply: https://www.aliexpress.com/item/1005005610546046.html

Without Logic Level Shifter (Kai’s Problem)

Connecting a 3.3v GPIO pin from an esp32 directly to the data wire of an ws2814 LED strip results in white flickering instead of any color I select. I have searched this up and am fairly certain that this is because the data pin should accept a 5v input. This can be achieved with a logic level shifter. I did exactly that

With Logic Level Shifter

This is basically the same setup as above but with a Logic level shifter based on the TXS0108E. With this setup the LEDS do not react in any way or form. They dont even turn on until I touch the exposed wire with my finger.

Here is a video showcasing what I described above: https://youtu.be/yeecMHgY4Q8

Things I’ve tried

Things I havent tried

  • Connecting OE pin to 3.3V as mentioned in the wled docs. I didnt quite get it after reading some stuff on the arduino forums. Apparently it has to be high in order for the LLS to do anything. This might be why I aint getting anything out of the LLM, not even flickering.
  • Looking at the 5v output using an oscilloscope

I don’t see a 5v positive input on the board from your power supply. Am I missing something?

I also don’t see a capacitor between ground and positive on the level shifter. I’m not sure how that would affect thing, though, as I’m not that knowledgeable on level shifters.

1 Like

My suggestion:
Wire the TXs0108 just like the diagram in the KB (that’s why its posted there).
The only thing you can leave out is the 62Ohm resistor, that’s optional.

The wiring of all the other pins is not.

The reason all the pins need to wired:
That OE pin stands for “Output Enable” - meaning the output drivers get enabled.
Until you tie that to the 3.3V, nothing will happen at the outputs.

Follow the instructions…

1 Like

5v positive comes through USB ^^
I take that and feed it to the LLS by bridging the VIN pin on the ESP32 with the red 5V wire

Technically you can leave it out says this forum post:

Although my power supply’s noisy-ness isnt exactly confidence instilling. I’ll give that a shot, thanks!

Thank you for that simple explanation! That’s exactly what I needed. I thought I’d ask around first before warranting a trip to my local hackerspace for just a resistor :‍D

Will keep this thread updated.

Connecting OE to 3.3v totally did the trick! I ended up using a 250K resistor to connect the two :‍)

Thanks for the help!

Also worth looking at is adafruit’s page on logic level shifters:

I am using WS2814 24v COB strips in my setup and they are working. I am using Quinled DigUno. They are finicky, little concerned using them for a permanent install. So far so good

1 Like

“abuse” two RS485 transciver ICs as levelshifter :smile:
you solve two problems at once time. Levelshifting and long lines. Up to 500 meters between ESP and LED-stripe are possible.
look: https://wled.discourse.group/t/ws2814-based-power-led-pixel/9869
At ESP side you should use a 3,3V version, like SP3485 - ESP module can power up the transciver IC also.

1 Like