Maximum length data wire LEDs
This whole article talks about the data wire length from the controller to the first LED, going from LED and LED below does not apply! The Signal from an LED is much less powerful then from a controller. A different solution should be used extending behind a LED (more about that in the future).
A common question that gets asked is how long the data wire to the LEDs can become before data signal integrity issues start becoming an issue, often visible as flickering of the LEDs or other sporadic behavior.
Generally you should be ok up to 10m/32ft with AWG26 or thicker for your LED data wires!
But, sadly there is no real good “one size fits all” answer to this. But let’s consider the following while testing:
- A level-shifter is used
- A data line resistor is in place
- Stable power including Capacitors, etc.
My LEDs run fine without a level-shifter?!
If you are thinking of running without the above features such as running addressable LEDs without a level-shifter. That can work….most of the time, sometimes. All addressable LEDs (5v or 12v) require a 5v data signal, all ESP8266/ESP32 send a 3.3v data signal. So although outside of the official specifications, yes, often using a 10cm/3inch cable with the 3.3v signal from an ESP into the 5v expecting LED works ok, until it doesn’t, if it works you are very likely right on the edge! So for any length longer then the LEDs right next to the controller, use a proper level-shifting setup.
Let’s take a look at the full testing scenario:
- Using a pre-assembled QuinLED-Dig board (QuinLED-Dig-Uno v3r5) with custom QuinLED-ESP32 and Ethernet
- Has a level-shifter to 5.12v in place
- Has a 249Ω resistor on both LED data output ports
- Has stabilized power delivery on the board (big and small caps)
- Custom DC-DC circuit for power delivery to make sure level-shifters always gets 5.1v
- 5v 40Amp (generally outputs 5.15v)
- 12v 10Amp (generally outputs 12.125v)
For data line testing wires the following was used:
- 3x 5m/16ft piece of AWG26 wire (verified true copper)
AWG26 wire is actually pretty thin, but I felt this would give a good “worst case” real world scenario. It does have to be said that it can be beneficial the longer the data wire has to become to make it a thicker wire up to say AWG18. This will likely keep the signal intact over longer distances.
Test strips 5v
For 5v the following strip types where tested:
- Generic ws2812b OLD (4 years old)
- BTF-Lighting ws2812b New (6 months old)
- BTF-Lighting ws2812b-ECO (6 months old)
- BTF-Lighting sk6812 RGBW (6 months old)
Test strips 12v
For 5v the following strip types where tested:
- Generic ws2811 60LEDs/m (3 years old)
- BTF-Lighting ws2811 96LEDs/m (bright and non-bright variant) (6 months old)
- BTF-Lighting ws2815 60LEDs/m (1 year old)
- Generic ws2815 60LEDs/m (6 months old)
- BTF-Lighting sk6812 RGBW (2 year old)
For each of the LED strips I tried it with 1x, 2x and 3x 5m/16ftwires in the data path. So:
Each time connected using WAGO clamp blocks to extend it. The data wires were spread out in the room to not cause any interference from “coiling them up”.
Test result conclusions
I could write out all the testing results here, but that would make this even more boring, you just want to know how long this data wire can become already.
In my testing I noticed the following:
5m/16ft is always ok
None of the LED strips mentioned above had any issues running them at 5m/16ft data wire distance even with the relatively thin AWG26 wire.
10m/32ft is mostly ok
All LED strips again worked fine at 10m distance except for the older ws2812b strip which would very sporadically show a glitch.
There have been some revisions to the ws2812b LED package/chip over the years where in the more recent revisions it has become more sensitive to data at lower voltages (hence they now often work with a very short wire and 3.3v, still 5v is highly recommended!).
15m/48ft can be ok….
At 15m/48ft some issues started to occur. The old ws2812b strip I had really started showing issues, lots of flickering and errors visible in the patterns.
The newer ws2812b and ws2812b-eco did better, but also showed some errors.
At this distance also the 12v strips such as the ws2811 started to show issues.
5v sk6812 and 12v ws2815 (both data connections into a single connection block after a single data wire to the block) seemed to do best, it mostly seemed to display everything ok but I felt like it was right on the edge. sk6812 seems to be best in regards to data integrity with a weak data signal in general.
So even with a relatively thin wire but combined with a proper level-shifted setup running up to 10m/32ft generally worked fine for all types tested. Going longer then that started to introduce problems but could likely have been solved stepping up to a thicker wire (I have seen better results using 15m/48ft and AWG18 for instance).
Testing with 20m/64ft of AWG18/0.75mm2 wire showed perfect results on all strips as long as the wire wasn’t close to any source of interference.
Another thing to consider though is that this type of signaling really isn’t meant to travel long distance, there are other solutions for that such as differential signaling (might be more about this in the future 😉 ). The main reason is that the current single line signaling picks up more and and more noise/influence from outside the longer it gets. At some point the noise will become too strong for the data signal to survive intact and cause corruption visible on the LED strip.