Daisy chaining USB hubs to control multiple arduinos via Serial

I have multiple neo-pixel light fixtures which are each driven by their own Arduino Uno. The lights have their own 5v power supply which is also powering the Arduino via the Vin pin. The light fixtures all need to be centrally controlled (animation, color, brightness etc.) and the way I'm doing that is to send serial data over USB to each of the Arduino from a central computer (in this case a Raspberry Pi). The exact configuration I'm looking to achieve is in this crude diagram.

I have a few questions about a configuration like this:

  1. Does providing 5v to the Vin of an Arduino Uno also provide 5v to the rest of the USB hub or chain it is attached to?
  2. Given that each Arduino is externally powered in this way, is the signal likely to degrade over the distance of the extensions?
  3. I know there are depth limits to the extent you can daisy chain USB hubs, but in this configuration is there any limit to the length I can extend the signal from the raspberry pi. Presumably I could comfortably get to a total of 5m from the raspberry pi but am I likely to need an active extension to get further, or will the USB hubs serve this purpose?

Thanks all for your time and expertise

Not an answer to your question.

I have a LED strip project running on a ESP32 and communicates with a RPi through MQTT.

On the RPi I run a Python program that connects the 12 ESP32's together. From my web site I can view the ESP32's data and change the ESP32's setting, the RPi serves as the go between my website and the ESP32's. Anyways, I can change the gain of the sound modules on the LED strip project.

Oh, IF you use powered hubs you should be good to go.

1 Like
  1. No. No. No. 5 volt should be fed to UNO pin 5 volt. Vin needs 7 - 12 volt. 1.5 + 1.5 meter supplying 5 volt will pick up disturbing noise.

  2. What signal?

  3. ? Make a little drawing to show what You are thinking of.

IIRC there is a limit to the amount of hubs that can be chained.
It is a while since I did it here but each needs it's own PSU and each PSU needs to be capable of supplying the whole load to that one single hub.

127 is the limit to actual USB sequential ports.

Hi,
Why USB?
Have you looked at RS485 or canbus?

Tom... :smiley: :+1: :coffee: :australia:

1 Like

Hey, Thanks for replying. This project I'm asking about is really one small part of a much larger project which needs to be very modular and involves very many parts. ultimately we'll be dealing with dozens of Raspberry pis connected to hundreds of Arduinos. All the other elements I have working so far work with Arduinos connected to the Pis through USB which makes it simple to get sensor info, give serial commands, or update the sketches on the Arduinos (which all have different roles throughout the project) and I am hoping that I can also control the lighting in a similar way. From my perspective it would make more sense to extend the maximum length of the USB line with an active extender before I try to add another layer of complexity with a different protocol or hardware. The point is that it's a good idea but I'm trying to make it work with USB

Yes I believe you're right about the limit. It would be possible for me to use active powered hubs at each lighting fixture I'm just hoping the quality of the serial command signals from the Pi will not degrade over the length of the cables. I will probably be able to do something of a test soon. Thanks for replying

  1. Yes that's a good point, I believe if I use powered USB hubs then the Arduino can be powered directly from the USB connection.
  2. I'm talking about Serial communication between the Raspberry Pi and the Arduinos. That way I can have the Pis control the lighting at each node via USB

Yes you must use active (self powered) hubs.
If you mean active at the protocol level eg a repeater, that may be a different story and possibly very expensive.

Yeah I'm certainly trying to avoid a repeater. the question is ultimately if I'll be able to if I want to extend the signal further than 5m from the Pi with self powered hubs every 1.5m or so. If not I'll end up having to do some kind of wireless control. Thanks for your help so far