As is commonly advised I use a resistor between the Arduino data output and

As is commonly advised I use a resistor between the Arduino data output and the WS2812B’s data input.

I usually use a 390 Ω resistor and that works fine.
I’m now using a 3.3v NODEMCU board instead of my usual 5v Arduino boards.

Should I use a different value resistor due to signalling at lower voltage?

the 3.3V pin output is beneath the WS2812b’s level 1 threshold. The easiest fix I’ve seen is to place a diode in series w/ the 5V Vcc for the very 1st LED ONLY. Remaining LEDs in the chain would be tied direct to 5v Vcc. The wave shaping circuits will restore proper signaling levels further on down the chain. You could continue to use the 390Ω resister for MCU pin protection. Here again … I’m new to all of this … I’ll defer to those with more experience (maybe I should just keep my mouth shut … :wink: )

Thanks for the input, in my testing so far I have found that the 3.3v signal is working fine with the setup I’m using. I’ve tried with and without the resistor and both appear to be working fine.

Just was wondering if I was too close to doing something wrong :wink:

Interesting … WS2812b specs state logic 1 = .7 Vcc = 3.5v … it’s not an exact science … :wink:

just to further the discussion … the role of the resister is to provide for MCU pin protection should a failure of the LED force 5v onto it’s input (not uncommon w/ digital logic) … the MCU pin in a low state (w/o a resister) could draw sufficient current from the failed LED to burn out the pin driver. The resister limits the current to a level the pin can tolerate. There is a minimum value of resister suitable dependent on the MCU, it would be calculated by determining the pin sink current and dividing 5V by that value and rounding up the result to the next common resister value. The maximum value that could be used is limited by the input impedance of the LED and its input capacitive characteristics. Assuming the LED has a significantly high input impedance the concern would be signal slewing (not reaching a logic level 1 fast enough) due the LED input capacitance and resister value chosen.

@Danny_Evans This is what i do http://www.elec-tron.org/?p=1184

It’s a source termination resistor. If you are using cables >0.5m to your LEDs, reflections of the signal start to occur. It is necessary when you see flickering.
http://www.ni.com/white-paper/3854/en/

Thanks for the info all. I just switched from the working 5v WS2812B strip to some 12v WS2811 strings and strips. These still use 5v logic but are not working . I’ll try the advice here. Leon is that what a “null pixel” is? I might give that a go first.

David, thanks for the interesting write ups.

I can’t tell you why or how they are working but they is!

I’m pretty confident the 2 different strips I tried that worked are both 12B’s

From what I gather your diode tip is pretty much the same thing as the single pixel tip Leon linked.

@Danny_Evans yep,i use the null pixel as a voltae level shifter essentialy. Put it as close to the nodemcu as possible

Thanks again Leon.
I’ll have to rejigulate the stripboard layout a bit to accommodate but I’ll wire up a spare pixel on the board, actually it can replace a wire link I have there already.
These are the lights I’m trying to use it with:

Danny actually Juergen is likely correct … I based my assumption from comments else where … he has working knowledge …

@Juergen_Bruegl ​ what source termination resistor are you using for a3, 3v mcu? Do you use a destination resistor at the end of the stripe? For example for apa102… Or ws2812

@Lars_Walpurgis ONLY if I run into problems I use a source termination resistor, haven’t had to use a destination resistor yet. I have not used it for a 3.3V like Teensy because the board is so small that I can hide it relatively close to the installation.
The official method is to use a scope and look at the signal. Then try out different values.
‘My’ method is to use just a 500K pot, no scope, and then adjust the pot until the problem is gone. Measure the pot and replace it with a E24-series resistor close to the value.

Great thanks!!