Two cameras on a Control Hub — how are you powering them, and has it caused disconnects?

We’re getting sudden Control Hub disconnects and occasional full robot restarts on a robot running two cameras.

I’ve read the ESD warning about the USB 2.0 port and the Wi-Fi chip, the REV troubleshooting page, and the MultiPortal and CPU-and-bandwidth pages.

What I can’t get from the docs

  1. If you run two cameras, where are they physically plugged in? Both Control Hub ports puts one on USB 2.0, which shares the Wi-Fi radio and is the documented ESD path. A hub on the 3.0 port puts both streams on one bus. Which trade did you take, and did it bite you?

  2. If you went with a hub — powered or unpowered, and which model? The docs name the Acer ODK350, but I’d like to know what has actually survived a competition season.

  3. For a powered hub, what’s feeding it — a power bank, or a hand-made cable to the +5V aux header? If you made the aux cable, did it stay seated through a season of collisions?

  4. Anyone running a Limelight 3A alongside a webcam — how are you handling the constant draw when no opMode is running?

  5. What streaming format and resolution did you settle on? Curious where MJPEG stopped being flaky for you in practice.

Also, for anyone who’s chased disconnects before: did it turn out to be what you first assumed? I’d rather learn from a wrong guess than repeat it.

Our cameras are Logitech C270 HD Webcam and Limelight 3A. Happy to post back what we find once we’ve isolated ours.

I don’t recall the exact details, but we played with up to 3 simultaneous cameras running different combinations of OpenCV and April Tag a couple years ago, and we had some control hub crashes when we pushed it too far. Our interpretation was high resolution high frame rate mjpeg streams can be too much for the control hub to process (it got very hot). Have you tried backing off on the C270?

Good luck!

Ben (25650 coach)

I’ve tested using a powerbank to power a USB hub (Acer ODK350) with webcam and limelight, seems to solve the constant draw of the Limelight. USB 3 bandwidth is 10x USB 2 so I doubt two cameras on the USB 3 port would be a problem.

The only way I found to stop the current draw of a Limelight is to unplug it, even with no program running it draws power. I think a powered USB hub is your best bet. The Limelight draws a lot - as much a running motor. You don’t want to use the +5v aux header with a hub and Limelight as that will still drain your robot battery.

An unpowered USB hub would be fine for two webcams, they don’t draw much and don’t draw when not in use.

Disconnects are always a challenge. Check the XT30 battery connection to the control hub, if at all loose try the XT30 pin fix mentioned on the REV troubleshooting docs. I’ve also seen the solder break between an XT30 connector and the wire (which is hidden under the black shrink tubing). Both can cause the control hub to power cycle. Maybe check that the robot doesn’t power cycle if you move the wires or shake the robot.

Are you drawing too much current (stalling a motor can cause control hub to brownout or power cycle). I saw one robot this summer with a problem, turned out a drive wheel was rubbing on something and could barely turn causing a stall.

Check your robotcontroller log, there might be an error message prior to the power back on messages. If not, then I think it is likely something power related (ESD or wiring). FTC Docs has added the Robot Wiring Guide, which I is mostly a copy of the older PDF of the same name, but still lots of good stuff there on ESD and wiring.

In addition to @MikeSilversides excellent suggestions, I have found that some poorly shielded USB cables can pick up noise that can sometimes cause the Control Hub to reset itself (reboot). If you find you’re disconnecting a lot, and you have a Limelight connected to your USB port, swap out your USB cable. DO NOT for any reason use the orange USB-A to USB-C cable provided with your Control Hub, that cable often fails without warning. Buy a name-brand USB-A to USB-C cable for higher reliability.