My kitchen remodel includes new above and below cabinet LEDs. Following the advice of my friend who is a rocket scientist, and who happens to be an highly acclaimed EE, I installed cat5e cable for data signal and 18/2 for power. I’m now reading that cat5 is bad practice, even though my tests seem to be working, independently. I have questions
4 cabinets, each with an upper and lower set of LED strips.
The “control center” is located approximately in the center, above the cabinet.
Power: 150W/30A power supply with 1 set of terminals going to controller and 63” set of LEDs, and the other terminal to three cabinets (3 runs, each with a pigtail to the lower LED bar); in-wall 18ga LED wire.
Signal: Eight (8) home-run cat5e lines - one to each LED strip.
CPU: ESP32 with a 8-channel logic level shifter
- 440 total LED’s on 8 strips, using ESP32 with 8 data signals
- 7.32meters @ 18W/m = 132W + 20% = 158W
I’ve tested the farthest runs, on both sides, and had 3 of the runs hooked up simultaneously to a ESP3266 (I’m switching to ESP32 to drive the whole setup).
One or two strips had a 330ohm resistor, the other did not. Two used GPIO output at ~3.3v over a single thread of Cat5 and I boosted the other with a logic level shifter to slightly over 5v.
With that, all three strips performed well.
- Given that the cat5 is already installed, I can use it (preferred), or if not, place a small controller at each location and run 8 WLED instances. Is the concern about cat5 regarding signal quality or safety? If I continue with cat5, is it better to use a twisted pair (or more) instead of a single wire?
- Should an ESP32 drive this setup?
- Should I shift all signal to 5v, or just the ones that seem to need it?
- Is 330ohm resistors the right size? Can I add at the cpu side of the line, after the logic level shifter? does it matter where it goes? Why 330ohm?
- Should I place fuses on each line leaving the power supply? Can I use inline auto type fuses with lower gauge wiring (14ga)?
How is the 33-62Ohm size determined? Is it based on the type or amount of LED? CPU? wire?
The resistor value is a little “black magic” value from experience.
The smaller value you can use reliably (preferably 0 ohm=> no resistor).
What kind of distance are you talking between the ESP32 and the strips?
For 5m and up I’d suggest adding a differential TxRx pair.
That will work perfectly with Cat5 cabling and replace the shifter.
my long run is about 5m. How would I add a differential TxRx pair?
For each strip you get a pair of RS485 modules one set to transmit (Tx) the other to recieve (Rx).
They power off 5V and take the GPIO data directly from the ESP32.
The Tx module sends the data across 2 wires (a Cat5 twisted pair is perfect for this) and the Rx module converts that back to a single data line at the strip location.
Here’s an example of the devices: RS485 modules
They’re designed specifically to deal with high speed data over long distances and can be used to transmit WLED data reliably over 100m.
Thanks for the explanation. I’m glad to know about this!
Is there any significant delay in the conversions or transmission? Ie, if I only need this on one or two of the 8 lines, will it be noticeable out of sync?
There should be no delay, those devices are rated for at least 10Mbps, well beyond what the LED’s require.
You should be able to mix and match as you desire.
Do the signals need to be upshifted to 5v to match the 5v working voltage of the module?
No, they use a 5V supply but the Tx is compatible with 3.3V inputs and the Rx outputs 5V.
Which side of the signal wire should the resistor be installed:
Between the controller and the signal wire, or the signal wire and the LED strip?
And, does the direction matter?
Typically goes at the controller end, but you can try at the strip.
Resistors have no direction (no polarity).
Well, two of the 8 strips have a light flicker. They are oddly not the farthest out. I made a resistor wire harness and tested 10,33,47,100,330 ohm resistors on each side (one at a time). No change
I’ve got a set of RS-485 converters on the way.
Amazon US recommended these and they looked slimmer. I have these now:. Robojax TTL to RS485 Module 485 to Serial UART Level Converter Communication Module https://a.co/d/fUzmfYc
Can I use these? Are the rx/tx pins for the “bridge”? Do they get crossed? Is A+ or B- for signal in/out?
I have a prototype working. Super simple.
The bridge is connected over the long run with one of these on each side.
A+ connects to A+
B- connects to B-
Both boards get 5v/ground
The signal goes IN to the TX pin
The signal comes OUT of the RX pin on the other side.
I didn’t use the 2nd ground
Next step - install.
It works, installed. No more flash.
Dang. One of the strips with RX/TX setup stopped working.
I’ve swapped out and isolated lines, strips, and wled config. The controller, up shifter and RS485 send module all work fine. The signal line tests.
The inputs to the to the receiving side of the RS485 measure the same as the send. The output of the RS485 on the receive side measures The same as other lines w/o the RX/TX setup, so it seems the receive module is working, too.
My power is solid 5v going into the strip.
What voltage should the signal indicate going into the strip? Should it change with light effects or brightness? can I interpret the signal “intentions” via voltage? I guess I’d need an oscilloscope but since I’m getting about 3.8v average … seems it’s working ?
I think I’d need a oscilloscope to measure the RX/TX, on the receiving side, too.
But it’s not. Any suggestions.
Right, you can’t use a meter to check the data line.
Very simple test of the Tx/Rx pair:
Disconnect MCU Din on the Tx and LED Dout on the Rx.
Connect the Tx Din to +5V with a 1K resistor.
Measure Dout on the RX, should be close to 5V or at worst > 3.5V.
Change the Tx Din so it goes to Gnd via the 1K resistor.
Rx Dout should go to Gnd.
So whatever signal you give to the Tx Din, it should appear at the Rx Dout.
Don’t just leave the input floating, you’ll get lots of noise and a strange looking Rx Dout.
The other way to test is with some spare LED’s. Disconnect the Rx output from the main strip and connect your spares (after you power them with +5V and remeber the common Gnd) to see if you’ve got anything from WLED.
thank you, divesys. I appreciate all of the detail.
It turned out to be the RS-485 on the RX side. I replaced it and my LED world is now at peace.
I was getting voltage all the way through, but the wled signal was just not controlling the lights. I wired up a RS-485 / LED harnesses to test both sides, and it revealed a bad RX board. I was still only getting 3.9, but it works now.