ESP-MQTT-JSON-Digital-LEDs
ESP-MQTT-JSON-Digital-LEDs copied to clipboard
Inconsistent colors
Hi all,
I'm writing here, in case someone is able to provide any useful feedback, as I'm starting to go crazy with this. So I built this project, with a WS8211 strip I got off of eBay and a Wemos D1 mini. The problem I'm seeing is that it seems as if leds get "out of sync", i.e. I turn it on (solid color) all leds are on. I turn it off, some leds stay on (at the end of the strip, maybe even switch to a different color - usually green). I turn it on, then off again, a different number of leds stay on, possibly with a different color... It's completely inconsistent. Sometimes, if I turn on/off several times, I might get all leds to turn off.
I've tried several things to sort it out, both hardware and software related, to no avail.
Can anyone shed some light as to what the problem might be?
Thank you
Hey,
I had the same issue. After looking on the internet, I found that the WS8211 that I used prefers the data line to be directly 5v. I removed the logic level shifter and directly connected the nodecmu to the data line of the strip (12v for the power, 5v for the data line) and it fixed the problem immediately.
I hope it helped.
Hi ncareau, thank you for your response. However I must be missing something, as I don't get how removing the logic level shifter might accomplish driving the strip with 5V on the data line. Isn't the Nodemcu a 3.3v unit?
Well, according to this image, he used 5v. : https://github.com/bruhautomation/ESP-MQTT-JSON-Digital-LEDs/blob/master/ESP%20MQTT%20Digital%20LEDs%20Wiring%20Diagram.png
nodemcu can be powered by up to 20v on the regulated pin. Removing the level shifter made the strip a lot more stable, but you are right, it should be 3.3. I'm probably missing something but the schema is kind of invalid ?
I think the schematic is right, but the description "5V to 3.3V level shifter" is rather misleading. This kind of level shifter are usually two-way, but in this specific application, we are looking - I think - at the 3.3V to 5V side of it. Originally, all my attempts were driving the strip directly from the output of my Wemos D1 mini, which outputs 3.3V. Having had no luck, I waited a month for a level shifter to arrive and when it did arrive, I tested it. It made no difference whatsoever. As some point, I re-tried adding #define FASTLED_INTERRUPT_RETRY_COUNT 1
. I had already tried that @3.3V but I gave it a shot @5V too and it seemed to work. The strip was finally stable for about a day and then it went berserk again... So essentially I gave up on this and took on banging my head against the wall instead. Less frustrating... :)
I'm having the same issue. It's totally random. I bought a new esp8266 to see if it was faulty.
@lexam79 I got this working! I was about to give up. Connect the end of your LED strip Data to the ground on your Wemos D1.
@TheCellMC so you connected the end of the DATA line of the strip to ground, right?
I'll give it a shot and report back. Thank you!
Exactly. I hope that this fixes your issue
Well, I tried that too, I connected the DOUT at the very end of the strip with the GND right next to it (all grounds are connected between them anyway), but the same behavior occurs...
No, I meant connect the DOUT a the very end of the strip with the GND on the controller (Wemos D1 mini in your case).
@TheCellMC While this kind of makes sense it also seems kinda crappy that the only way to correct this issue is to ground the end of the strip. I happen to have cabinets that run long and running a line from the d-out all the way back to the 8266 would look fugly. I think depending on your situation you can ground it almost anywhere. Even a piece of metal that is grounded.
https://github.com/bruhautomation/ESP-MQTT-JSON-Digital-LEDs/issues/92
Ground the end of the LED strip to my NodeMCU fixed my problem. Grounding to the end of the power supply didn't work.
OK in the end, after spending countless hours trying to figure this out, I tried grounding the strip from the secondary ground cable that it had (there are two ground cables coming out of the strip at the beginning) and it seems that this, in addition to running an additional power/ground set of cables and soldering it every few leds did the trick...