My experience so far has been that ws2812 leds can be driven directly by a 3.3V Arduino such as Wemos mini. I may well just have been lucky so far.
But with ws2811 chips and "clones" like GS1903/TM1903, when using a 3.3V Arduino, level converters have been needed.
I also found that the LLC modules designed for i2c bus lines worked with ws2811. However, the circuit was not very stable. Touching the LLC module with my fingers would cause the data signal to the led strip to be unreadable and the strip would start to flash and change colour randomly. Taking my finger away, everything started working normally again.
My theory as to why the LLC modules are unstable is that they don't switch fast enough. i2c signals switch at 100KHz, although they can also optionally be 400MHz on most Arduino. ws2811 signals switch at 400KHz and ws2812 at 800KHz.
With 74hc14 chip instead of the LLC, there was no instability. Touching the circuit did not affect the strip, which updated perfectly.
If you could look at the signal with an oscilloscope you would instantly see the answer. Unfortunately while I do have an oscilloscope I use a much cheaper solution for I2C level shifting.
will I have some problems in the future due to the slow level shifting?
It is not the shifting that is slow it is the edges of the signal that could have a poor rise and fall time. If it affects anything, it will be with getting the signal into the first LED. After that, the signal is regenerated by every LED it passes through.
sblantipodi:
everyone seems to agree that the best logic level shifter for WS2812B is the Texas Instruments 74HCT245 and similar.
Well, I don't know that "everyone" agrees in respect of the 74HCT245. If it is the most readily (and cheaply) available, so be it but the 74HCT14 is simpler and has exactly the same effect. And the 74HC14 will most likely do just as well and is the most readily available of all.
sblantipodi:
this configuration seems to work perfectly, I'm using it since many days as a PC Ambilight and I am not experiencing visible problems but...
... should I upgrade my logic level shifter from the sparkfun to the Texas Instruments?
I'm asking it because I don't want to solder a new circuit, now it works and I would like to leave it as it is.
Will I have some cons in using this circuit with that logic level converter for a long time?
Not sure. There may be some ageing effect and a drift in parameters such as to cause it to be unreliable. Changes in supply voltage may affect it.
sblantipodi:
Can you explain me why the Texas Instruments it's better?
Because it does the job of level translation correctly with no room for error. That's all.
PaulRB:
My experience so far has been that ws2812 LEDs can be driven directly by a 3.3V Arduino such as WeMOS mini. I may well just have been lucky so far.
Well, if it were not reliable, it will cause trouble with all the WeMOS WS2812 indicator "shields" because that is exactly how they are implemented. (Mine works fine. )
PaulRB:
My theory as to why the LLC modules are unstable is that they don't switch fast enough. i2c signals switch at 100KHz, although they can also optionally be 400MHz on most Arduino. ws2811 signals switch at 400KHz and ws2812 at 800KHz.
400MHz? I seriously doubt that.
Yes, that is exactly the problem. They pull down just fine, but the pull-up is merely a resistor. A lower value can be fitted within the ESP8266 capability to drive it.
I was able to connect the mosfet logic level shifter, is there a guide on how to connect the 74HC14 ?
will the 74HC14 fit on a breadboard or it is too small for a breadboard?
edit how can I know that I am buying an original Texas Instruments and not a clone that may work worse than my mosfet logic level shifter?