Acroname’s programmable USBHub3+ hub (Fig. 1) is designed for production work. It is also a heavy-duty industrial hub certified to withstand ±15kV ESD strikes. It is certified to IEC61000-4-2 Level 4.
I checked out Acroname’s BrainStem technology that is built into the hub using the HubTool (Fig. 2), as well as writing some simple Python scripts. There is also an API for C and C++, which means it is accessible to any language that has C/C++ link support. It also works with systems like TestStand and LabView.
The programmable interface is easy to use or access via the APIs, and it allows operations like enabling or disabling any downstream port. The system also has control of the data, SS lines, and power lines for any port. This includes monitoring the voltage and current (Fig. 3) on all ports and controlling how much current each gets up to 4A/port. Current limit trip points can be set for any port.
The rear panel (Fig. 4, top) includes a pair of host connections, although only one can control devices attached to the system since USB is a single root system. Software management can occur using either port, as well as the control port that is also a USB port. The latter only has control functions and is not accessible to or from the other ports in the system.
Having two upstream ports is handy when running system tests since it is possible to switch from, say, a PC to a Mac that is already connected without unplugging and replugging a cable. I just tested it with a PC running Windows and another running Linux.
The USBHub3+ is as easy to use as a conventional hub, plus it has the bells and whistles that are easily accessible programmatically. How you take advantage of it will depend upon your application, be it system or USB product testing or industrial control with a fallback option. It was easy to get up and running in an afternoon from a programmatic standpoint.