WLED_0.9.1_ESP8266_ledpin4 not working out of the box

Hy!

The MCU-s are wemosd1 mini and a nodemcu, and a ws2812B strip.
What I did:

  • I cut the strip, and had a huge fight to solder it to my wemos (D4 as data, 5V and Gnd). I flashed the wemos. Connected it to my wifi, aaand the first led is blank, 9 leds are white, and the 10th led is green. I can’t change the color, the pattern or anything.
  • At this point I thought that my poor ironing skills probably damaged the first led (but before the flashing I saw the full strip lighted up, its about 30 leds…)
  • I get a nodeMCU out, fixed it to a breadboard, and cabled up with the cut part of the strip (this was presoldered and exactly 10 leds long, I used the D4 pin again). I didn’t connected it to my network, just tried out with the build in wifi ap. I can’t change the colors, the first led is blank, the other 9 is white.

Based on the wiki, I think I did everything as I should be. good version, good pins. Any idea?

(I hyped right now so I will try to downgrade to find a release which working…)

Same pattern on D4 with 0.8.6_ESP8266_ledpin4, and 0.9.0-b1_ESP8266_ledpin4.
On D3 with 0.9.0-b1_ESP8266_ledpin3, I get one blue led, and when I started a reflash it went to red.
On D3 with 0.9.0-b1_ESP8266_ledpin4 I get one green led :smiley:

I have no idea at this point what is the main problem, but based on my studies I think that somehow this is just noise created by the startup. I think I freeze this now, but any help or advice would be welcome. At worst case I will start to compile something by hand :frowning:

The 5V supply should be connected to the 5V and 0V/Gnd of the wemos AND the strip. The wemos pin output with a very short wire can connect to the strip but a 5V level shifter is needed for longer data wires.

I connected everything to the wemos (for ~30 led it should be ok, the vin is a simple usb charger, in theory it could power the strip). So I don’t need to create a common 5V or common GND bcs its already common :smiley: But… You mean I need to levelshift the data pin from 3.3 to 5v?

I flashed up a strandtest, and it worked flowlessly, it will be either something painfully trivial or a bad pin adress…

D4 = gpio2 is not a good choice to use. Look at this table. It explaines him self.
It is also depending if a resistor, or diode, or a levelshifter is used. So long as D4 is low at boot time it will stuk and not working correctly.

Make a test and disconnect D4 while boot, after boot wait 20 seconds, reconnect D4 and it will work.

Some Background about LED strips:
So long as power is connected (+5V/+12V and GND) the data input is hold LOW !!!. When data are comming in the input is going high and that’s OK. Look at the data sheet of all different LED controllers (not the MOSFET types RBG) are all low on data input to hold the LED’s off while there are no data while booting and in standby (after boot, no signal).

I simply compiled a version from source with d1_mini env, flashed up, and it works like a charm… I think the problem is either with the ledpi4 versios, or my wrong version choice…

LEDPin4 and 3 arent D4 or D3, D4 is GPIO2.
LEDPin4 is GPIO4, wich is not D4, the standard bin without ledpin is GPIO2.
LEDPin2 and 3 (aka GPIO2 and 3) are the standard and recommended ones.
D4 and RX(GPIO3), work perfectly fine on a D1 Mini, i use them all around here.
And dont use D1 or D2 for the D1 mini, use GPIO13 for HW SPI in that case.
But you need to change a bit more in the code for that.

2 Likes

This is correct. The ledpin 4 binary is for pin gpio4, that is D2.
For D4 (gpio2), the standard WLED_0.9.1_ESP8266.bin is used.
The different pin numbers are confusing, I agree :smile:

3 Likes

You are right! I made the wiki-page more explicit. Thanks for the heads up!

2 Likes