-->
Page 1 of 3

How to boost output from NodeMCU

PostPosted: Mon Jul 29, 2019 6:32 am
by LedFreak_UK
Quick overview:-
Been running a few leds (500+) for Christmas on arduinos using the FastLED library for just over a year now and after watching a few videos decided that perhaps it was time to see what the ESP8266 (or in my case NodeMCU) would bring to the table.

I've now got the NodeMCUs (I have 3 but only need 2 for now) and (after watching a few videos on the differences between Arduinos and ESP8266s) I have wired the outputs from the pin D6 (pin 12) to a logic level converter This seems fine for testing at ground level but my led strip (main display) is 10m (32ft) away.

I can only assume that the leds (WS2812b) don't get the full signal as they're just really glitchy and only about 60 work with the rest not working at all. Ironically the old arduino nano that currently runs the display works fine over the same distance with a logic level converter (I did test to see if it was the led strip or the ESP/Arduino).

Can anyone suggest what I can do short of moving the esp closer (not practical due to the location of the 1st led, in fact about a month ago I moved all the processors into a new position as it was just so difficult to reprogram where they were originally).

I was thinking of adding another logic level converter closer to the first led... but this has its own issues as I use 24-5v buck converters to supply the leds, and as I understand it I'd have to add another buck converter to get the 3.3v supply for the logic converter.

Many thanks

Re: How to boost output from NodeMCU

PostPosted: Tue Jul 30, 2019 4:34 am
by btidey
LED strips use fairly fast (800Khz) signals with fairly tight timing.

Over a 10m connection it is easy to degrade signal quality due to cable capacitance. You need to carefully consider the type of cable used and the impedance of the drivers. Your cable could easily have a capacitance of 1nF and the driver impedance would need to be < 50 Ohm to avoid significant degradation. You also have to be careful to avoid ground loop problems which can impact on signalling reliability.

If your main concern over positioning is access to reprogram the devices then a simpler solution would be to use OTA programming. You can then position the device right next to first LED and avoid cable driving issues.

Re: How to boost output from NodeMCU

PostPosted: Tue Jul 30, 2019 6:05 am
by lethe
An easy workaround (although quite hackish) would be to place a few extra WS2812b's in between that 10m stretch.
This will reduce the wire's capacitance and each one will clean up and amplify the signal (of course you would need to account for those extra LEDs in your code).

Re: How to boost output from NodeMCU

PostPosted: Tue Jul 30, 2019 5:25 pm
by LedFreak_UK
Hehe please forgive my ignorance but I'm a total novice (I work with mains voltage (240v+)normally where I only have to deal with Volt drop and cable sizes :D) . To this end I've had to refer to tables to calculate the resistance of the signal cable (1mm solid core coper BUT with 4 places where I have breaks (for buck converters) and I've used Wago connectors). According to the table I've used it works out that the resistance is about 0.215ohms (plus wagos)). This is still substantially less than the 470ohm resistor I added initially when the display was programed locally to the LEDs). The whole system is wired using 1.5mm solid copper cables (twin and earth in UK) for power and I'm using the earth as the signal. Would adding a resistor help stop possible interference?

I'm just puzzled why my arduino works yet the NodeMcu doesn't using the same cable... BTW Ive removed said resistor in both cases.

I've not looked into the OTA programming side yet but this may be something to consider...