Revisiting problem with driving WS2815B strips

Thread Starter

BobTPH

Joined Jun 5, 2013
8,812
I have finally gotten back to the problem I described in this thread: Signal Interference Problem

In short, I am controlling 12V WS2815B strips with a 3.3V microcontroller, and the data signal is getting corrupted sometimes. I have 8 units and the ones with the longest connecting cable from the controller to the strip (about 18") are the problematic ones.

It turns out, I did something really dumb. I had been using 5V WS2812 strips powered by a Li Ion battery and 3.3V microcontroller and never had trouble with the data, so I assumed the data signal was TTL and at 3.3V would be good for the WS2815 as well. And it mostly works, so I didn't think about it much.

But, reviewing the datasheet, the control logic on the WS2815B is run off an internal 5V regulator, and the logic high level is 0.7 Vdd, i.e. 3.5V. It is a wonder it worked at all, and the longer wiring presumably makes the out-of-spec signal worse enough to be very unreliable.

So, I would like to try upping the signal to near 5V (well above 3.5) to remedy this problem. The pulses are as short as 220ns and the bit rate is 800Kbps.

I tried some simulation with 2n3906 and 2n3904 in either a push pull or single ended configuration and the rise and fall times seem marginal at best.

I have also considered using a 5V tolerant pin on the micro as an open drain with pullup to 5V, but I worry about the drive strength (impedance) for the 18 inch wiring.

So I think I want a CMOS buffer / line driver to give a good low impedance drive. Does that sound right? Any suggestions on parts, or other possible solutions? I only need one buffer per board so a single unit would be preferable to a hex one.
 

Thread Starter

BobTPH

Joined Jun 5, 2013
8,812
Thanks for the suggestions.

I found this, does it seem. reasonable? It appears that it can switch 5V with an input threshold if about 3.0V, interpolating between the 4.5 and 5.5 Vcc numbers.
 

MrSalts

Joined Apr 2, 2020
2,767
Thanks for the suggestions.

I found this, does it seem. reasonable? It appears that it can switch 5V with an input threshold if about 3.0V, interpolating between the 4.5 and 5.5 Vcc numbers.
There are many options out there. Looks like you found a pretty good one.
 

Thread Starter

BobTPH

Joined Jun 5, 2013
8,812
I looked at , but it has the same input threshold of 0.7 Vdd as the strip. The one I linked has a threshold of 3V with 5V Vdd, which should work with the 3.3V micro.
 

Thread Starter

BobTPH

Joined Jun 5, 2013
8,812
I notice I never posted that this problem was solved. I used the buffer linked in post #4 and everything works fine.
 
Top