Driving RGB Pixel LEDs With CAT5 Cable

[Teknynja] was working on a project where he needed to drive a few strips of Adafruit Neopixels – WS2812 LED strips – that were located several feet apart. These LED strips draw a lot of current, and are very timing sensitive; anything more than a few feet of wire between the microcontroller and the LED strip will probably result in missed data, voltage drops, dimming LEDs, and possibly a non-functional strip.

The solution, as in all matters concerning long distance transmission of data, was CAT5 cable. [Teknynja] used RS-422 drivers and receivers to pull this task off, with 75174 line drivers receiving signals from a Teensy 3.0, and 75176 bus transceivers reading everything at the other end of a 20 foot cable.

For the power drop issue, [Teknynja] is feeding 12V into a few of the wire pairs in the cable and using a cheap LM2596 buck converter to step everything down to 5V at the strip.

With a fairly simple circuit, [Teknynja] was able to drive a few strips of WS2812 LEDs through 20-foot lengths of CAT5 cable with ease; it worked just the same as if the pixels were connected directly to the Teensy on a workbench.

19 thoughts on “Driving RGB Pixel LEDs With CAT5 Cable”

I’d try to use AC for the power. It might be too noisy though. But possibly changing the frequency of it may help. You have a regulator on the other end anyway, so this is just eliminating a large(r) power loss.

Why would using AC “eliminate a large(r) power loss”?
A good switching regulator should be more efficient than a transformer with a rectifier. Also, I imagine getting exactly 5V out of a settup without a feedback loop as beeing pretty difficult.

AC or DC would have similar I*R losses. What you are saving is the big bulk capacitor that you are going to need at the far end (instead of both ends) and give you reverse polarity “protection”. I would consider driving it with *unregulated* DC instead of AC.

CAT5 have lots of parasitic capacitance per unit length. This is what limits the slew rate of the control signal over distance. Driving signal with differential signal is basic stuff.

I’m curious as to why the use of AC was suggested. Supply voltage being equal AC has no advantage over DC when it comes to overcoming the resistance of a conductor. In fact there is a distance where HV DC gains the advantage over HV AC. AC won the “current war” for a variety of reasons, that AC is inherently better than DC for overcoming conductor resistance wasn’t one of them.

You do not need line drivers on both ends for this feat. There are two critical things to consider when driving ws2812 via long lines:

– Make sure you convert your signal to 5V CMOS levels. 3.3V is marginal and will lead to trouble with long leads.
– Long lines will cause signal reflections due to impedance mismatch and cause lots of errors due to this. This can be preventes by proper matching. Parallel termination will not work with CMOS, but you can use series termination at the input of this line.

cat5 contains twisted parallel pairs and has very low loss. it is also not susceptible to much noise being that it contains TWISTED pairs. This being said, parallel lines will always have the same voltage at any point along the line. all wire has a calculated resistance per foot so a little bit of arithmetic can tell you if you need an amplifier (in this case likely to be a PPPoE booster.)

cat5 contains twisted parallel pairs and has very low loss. it is also not susceptible to much noise being that it contains TWISTED pairs. This being said, parallel lines will always have the same voltage at any point along the line. all wire has a calculated resistance per foot so a little bit of arithmetic can tell you if you need an amplifier (in this case likely to be a PPPoE booster.)

I’m sure the cat5 will achieve greater distances, but isn’t the real hero here the RS-422 differential line drivers? Those little beauties we’re used for extremely long terminal runs using Cat3 long before Cat5 was around, the differential signaling instead of using a common ground being the key. I also seem to recall that RS-422 would even work with line cable in a pinch, though twisted pair for better noise reduction was preferred. I like the use of cable on hand but I bet 20 ft could be achieved with the other two cable types as well, i.e. don’t waste your Cat5 if you have the other lying around.

This is getting ridiculous. The WS2812b is really easy to drive and the timings aren’t nearly as strict as HaD likes to pretend. I just put a 10 µH inductor in the dataline (admittedly, together with a 330 Ω series resistor) and it doesn’t faze them one bit.