0
\$\begingroup\$

I try to power a WS8211 based ledstrip. I first achieved to make it work with an Arduino UNO.

The ledstrip needs to be fed with 12V power.

Here is the working schematic : enter image description here

Once I apply power every 2 or 3 meters, everything works great !

I need to make it work with a Node MCU board with the ESP8266 wifi onboard. The main issue here is that this board use 3.3V logic. And because the ledstrip only understand 5v logic, I need to shift that. So I'm using a levelshifter I found on amazon here if you need details.

enter image description here

Here is the actual non-working schematic : enter image description here

The problem is that the ledstrip is flickering and does not light up all the leds. Since it worked perfectly on the Arduino, I am pretty sure the logic level sent to the ledstrip isn't powerful enough (even though I'm using a level shifter).

Since I'm pretty new to electronics, I am not very sure if I did a correct wiring with the level shifter, the common ground and so on...

Here are some notes : I tried to measure the voltage on the levelshifter with a voltemeter. I put the red cable of the voltmeter on the signal pin and the black cable on the ground pin : In the code I put the selected pin on OUTPUT mode and HIGH.

In the lower column voltage I barely get 3V. In the higher column voltage I barely get 4V.

Again, because I'm a newbie I don't if I made correct measurements.

Any suggestion is welcomed ! :-)

\$\endgroup\$
  • \$\begingroup\$ Have you tried connecting all the black wires together to make sure you have a common 0v? \$\endgroup\$ – HandyHowie Mar 25 '18 at 10:01
  • \$\begingroup\$ @HandyHowie check my answer \$\endgroup\$ – Lawris Mar 25 '18 at 13:48
2
\$\begingroup\$

Such a level-shifter is designed for a (relatively slow) I2C bus, it's unlikely to keep up with the very fast signal required for a WS2811 LED strip.

My first try would be to use the strip directly, with 5V power and the 3v3 data output of the ESP. Could very well work.

Next try would be a 74HC buffer for the 3v3 -> 5V conversion, for instance two gates from a 74HCT00 (one would invert the signal).

\$\endgroup\$
  • \$\begingroup\$ Thanks for the answer. Already tried the first solution multiple times, ledstrip would flicker (less but flickers) and fried some of my ESP's. I bought this level shifter while following this tutorial : github.com/bruhautomation/ESP-MQTT-JSON-Digital-LEDs \$\endgroup\$ – Lawris Mar 25 '18 at 10:02
  • \$\begingroup\$ Stupid tutorial. Might have worked for him, but not reliable. Beware: there could be a problem with the ESP library... \$\endgroup\$ – Wouter van Ooijen Mar 25 '18 at 11:17
1
\$\begingroup\$

Thanks to @HandyHowie, I directly connected the ground of the ledstrip to the levelshifter to have a direct common ground. It works flawlessly.

Here is the working schematic :

enter image description here

I also added this line on the top of my code to avoid any sort of flickering : #define FASTLED_ALLOW_INTERRUPTS 0

@HandyHowie feel free to post your comment as an answer so I can accept it :)

\$\endgroup\$
  • \$\begingroup\$ Thanks for posting your solution (which you can accept to indicate that it is correct). For future reference, you have been supplying wiring diagrams and not schematics. They are generally frowned upon here and referred to as "cartoons" as they don't show the schema or give any way to figure out how the circuit is supposed to work. \$\endgroup\$ – Transistor Mar 25 '18 at 13:51

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.