roboRIO usb


Does anyone know if you can use a usb hub on the roboRIO to increase the number of available usb ports to support additional cameras, etc.?

Camera Plugin

Hubs are part of the USB standard, so I don’t see any reason why you wouldn’t be able to use a USB hub. (I wouldn’t be surprised if the 2 USB ports were 1 port connected like a hub internally.)

That said, make sure you either use a powered hub or make sure all the devices connected to the hub draw >900 mA/4.5 W total, the maximum current per port according to the roboRIO specifications.


We’ve done it. It works fine as long as you don’t try to pull too much current from the RoboRIO. 500ma is the max draw on USB 2.0. So, if you’re trying to power 3 cameras, for example, you’ll likely be in an overcurrent situation. Try powering the hub from a 5V supply and see if it works better for you.




The roboRIO specifications document says the maximum draw per port is 900 mA.


Quite true. That is the number they list. However, that is in excess of the USB 2.0 spec. That number is in line with the USB 3.0 spec, but the port on the RoboRIO isn’t listed as a USB 3.x device. So, yes, you should be able to get by with it. But, even though the RoboRIO can supply 900ma, it doesn’t mean that your hub is built to handle that kind of current inbound from a single USB port. You’d still be better off with a powered hub, IMHO.

Good luck,





Hello I’m trying to use a usb hub on the roborio to increase the amount of usb cameras we can use as well, the problem I’m having is that I can’t get the images from the camera when it is plugged into the usb hub. I have tried two usb hubs, one that was powered from 5v and one that was not. The camera shows up on the roborio web interface when plugged into the usb hub that is NOT powered by a 5v but I’m still not able to get images from it in java. You guys have any ideas what could be happening? (Sorry if I threadjacked)


Have you changed the camera address in your java program to match the address reported in the web dashboard?


900mA is indeed from USB 3.0 as roboRIO is designed to support USB 3.0 bus powered cameras, though at USB 2.0 rates.


By address do you mean the name, ex “cam0”? If so the name didn’t change when plugged into the usb hub.


As a point of compare, you may try launching Vision Assistant and choosing to Acquire images. You can pick the USB camera such as “cam0” in the list and see if it works there.

Greg McKaskle


You said you go it to work for you, would you mind elaborating on how you addressed it in the code. How do you find what port numbers each port of the hub are on?


We had a solution from a couple of years ago. But, the camera server has changed significantly since then. If you still want the code from 2017, I’d be happy to post it. But, it my not work with today’s camera server code. I believe that the camera server in 2019 is actually built to facilitate two+ cameras. But, I haven’t looked at that problem in a while.


I would suggest using a powered hub so it won’t draw too much from the RIO. You can use this one and just cut the wires off the power adapter and wire it directly to the VRMs 5V 2A port.