Addressable RGB Data signal line

Hi All - I am trying to power two hundred 1904 (24vdc) using an Arduino Uno R4. The lights are powering separately from the Arduino and I need to only feed the data signal to the RGB LEDs. The system works fine on the bench with a few LEDs. However, I now need to test in the field where the data line will be 50+ feet from the Arduino controller (via underground conduit). The previous controller (off the shelf T8000) is being swapped out for the Arduino, but everything else is in place and cannot be changed. I simply want to connect the common gnd and feed the LEDs with with Arduino’s data signal (pin D4 using the FastLED library). Feeding a TIP-120 via the datapin with proper resistor seems to be straight forward. But the issue I see is connecting the Collector so that separate 5vd data will drive the LEDs so that the Arduino output 5vdc/8ma limit is not exceeded. Typically the transistor is connected to supply power so that it can power a motor or other device without issue. But in this case, I am not sure how the signal line would connect to the Collector because I am not sure of the configuration of the 1904s internal wiring. I have read about possible signal repeaters, but unfortunately that will not work here because the conduit is under concrete and inaccessible except for the point of the controller and approximately 50’ away where the lights start. Any input (no pun intended) would be greatly appreciated. Thank you.

What is this for?

Let me get this straight, you have a controller 50 feet away from the first addressable LED ?

You are controlling some leds which compatible with say a WS2812 (or 2811) protocol wise (or very similar, more or less 800KHz signal)
There is a conduit going underground and there is some kind of cable in there ?

The controller should naturally be as close to the first LED as possible, but you said this isn't possible...!?

But there is a controller that is there and working at the moment or not ?

Anyway what type of cable is in the conduit ? 50 feet + say about 20 meters ? Could you put a UTP cable through it ?

The signal you are going to transmit is 800KHz, well it is about 800kbps and sent with a varying pulse width signifying a HIGH or LOW bit. I don't see how any transistor is actually goin to be quick enough.

The main issue you will encounter is capacitance of the cable degrading the data signal. You could try just adding a TTL 74HCT00 series at both ends (maybe best to use a schmitt-trigger 74HC14 and run the signal through a gate at each end) and if the cable is thin enough and you have common GND you might be OK, but if you can run a twisted pair cable ideally just a UTP and use just 1 pair) you can put a MAX485 transceiver at each end and for sure it 'll work.

This is all if i understand it correctly.

ideally post the datasheet for the LED and explain what you can cable wise.

Since I am a new user, I am not permitted to upload documents. The LEDs are similar to the 1903’s (but 24vdc). There wiring is in place and works for the current controller (a T8000 as previously mentioned). The current configuration is a separate 24vdc power supply to the leds and the T8000 connected to the power supplies ground and the data out line from the T8000 running via the conduit to the LEDs. The T8000 is a cheap (approx $50) controller that is nothing fancy. The problem with it is that it has almost no tech support and buggy software. So we are replacing it with a custom Arduino-based controller. The T8000 supplying data without issues with nothing else on the far (LED) of the conduit. So there is a solution without changing wire or adding anything on the LED side. I just know via testing with large wire runs that the signal is obviously degraded. How the current controller is boosting the signal is the issue. That plus as previously mentioned how to configure a transistor into the circuit for the data line to the LEDs.

To post images etc. you need trust level 1, you can get there by:

  • Entering at least 5 topics
  • Reading at least 30 posts
  • Spend a total of 10 minutes reading posts

Users at trust level 1 can...

  • Use all core Discourse functions; all new user restrictions are removed
  • Send PMs
  • Upload images and attachments

My question is really: why configure a transistor for the data line to the LEDs?

Because the Ardiuno Uno R4 is limited to 8mA. From what I have found during research is that it seems to be universally accepted that a transistor is used to increase current output for Arduino projects. And it seems that for my case here, more than 8mA will be needed for dataline. Do you have a solution that does not require a transistor? If so I am interested in learning more.

Good info - Thank you.

Can you explain why so much current is needed?

I'm not familiar with 1904 LEDs, but other addressable LEDs require only a tiny fraction of that.

Your description is too vague without the requested information but in general terms you can't send an 800kHz+ signal down an unspecified bit of wire using a single transistor and expect it to arrive in good condition at the other end. You need proper impedance matching to avoid reflections and you need to drive the output actively high and low to stand any chance of driving the capacitance of the wire. If you have electronics that achieve this then either use what you have or copy it. If you can't then search for a line driver.

This may be useful

I appreciate the help - will search for a line driver. Using what I have is not an option as previously described. Reverser engineering the unit is not an option as it is currently being used and cannot be removed and disassembled. Thank you for the line driver suggestion.

Thank you for the info - Yes, I do indeed have the protocol info for the 1904 and have controllers. The issue is that we have need for many different custom solutions and want to design our own Arduino based controller for future needs. Thanks again for the info. I will be searching for a line driver at this point.

Further to my last, as noted in the 1904 specs, it is 24vdc. So assuming I can run the dataline at a higher voltage (which the spec indicates is good for long cable runs like I have here), my initial question is still valid: how to control the 24vdc data line when the Arduino signal is limited to 5vdc. Without a transistor, how can I achieve this? Thank you.

Can you link to the specs you have for 1904, because that page I linked to says the data line is 5V. (The led supply voltage is 24V.)

I got that info from what you had posted. There it says “Up to 24V, allowing for very long cable lengths”. That is why I mentioned “assuming” in my message. If it means that up to 24vdc is only for power, then I do not understand how the data line at 5vdc can still be used for “very long cable runs”. That spec seems confusing.

The data line is a signal line. The current involved should be pretty low. So a long cable run is less of a problem, because the voltage drop is proportional to the square of the current.

At higher frequencies, the current will increase and this may make a line driver circuit important. But at lower frequencies, maybe not. The spec says the frequency can be as low as 400KHz.

Have you tried connecting the R4 to the long cable yet? It might work, and if not, I don't think there is much risk of damage. A ~0.5K resistor in the line will help reduce reflected signals that would interfere with the main signal.

I did try connecting the R4 with the long cable and it is not working properly. The URL for the current controller’s manual is here: https://www.superlightingled.com/PDF/T-8000_user_manual.pdf

This one works fine on the long cable run without issue and it is controlling approx 250 individuals 24vdc lights (each light as 9 LEDS of the 5050 variant).

Did you add the resistor I mentioned?

I did - it only works with resistor when connected on very short run. When using 50’ of wire it does not work unfortunately. Will be putting project aside for a few days, as I travel starting tomorrow. Thank you for the input today!