Programmable USB Hub

by Capable Robot Components

A USB hub with per-port power and data disconnects + dev board + I²C, GPIO, and SPI bridges

View all updates Aug 09, 2019

Final Week!

There is one more week to go on the Programmable USB Hub campaign! That means there is only one more week to purchase your Hub before prices increase.

SKUCampaign PricePre Order PriceExpected Retail
USB Hub PCBA (no housing)$140$160$185
USB Hub (housed)$180$200$225
USB Hub Kit$220$240$275

Behind the scenes, a lot of work has been occurring to get ready for FCC testing, the production build, and production testing.

New Hardware Revision

To support certification and production, the Programmable USB Hub has gone a minor design revision.

Revised USB Hub PCB

Changes include:

  1. The main power connector has changed from a Molex MicroFit Jr to Molex MiniFit Jr; this connector supports 16 AWG wire standard on AC-DC supplies.
  2. Footprints on the USB connectors were changed to reduce angular skew during soldering.
  3. Test points for various internal voltage buses, control signals, and IO signals have been added to the bottom of the PCB to support a flashing & testing jig.
  4. A switchable 10-ohm resistor was added to the MISO net. This was required because during chip initialization that pin is sensed to determine which downstream ports should be advertised to support USB Battery Charging. Unfortunately, there is no way to tell the USB4715 this information via a control register (like most other features of the chip). The resistor advertises that all ports are high power, and after the "configuration strapping" period the in-built MCU disconnects this resistor from the MISO net to allow the SPI bus to operate normally.
  5. The 5v DC-DC regulator section was relaid out to support the new larger input connector and reduce the trace length between the 5v regulator and the downstream ports. I'm happy to announce that the trace length is now down to 40mm (from 100mm) and is also twice as wide -- so voltage loss along the trace will be much lower on this revision.
  6. The auxiliary connector with UART and GPIO now has an ESD and EMI filter on the four signals.
  7. One edge of the board has exposed copper which touches the metal enclosure and connects the chassis to ether the upstream USB cable shield, system ground, or both.

Improved Software

And on the software side of things:

  1. The open-source USB Hub Driver was expanded to allow control & monitoring of multiple Hubs. Devices can be addressed via either enumeration order or serial number.
  2. A 'power reset' command was added to the command-line tool, which toggles port power off & on after a configurable delay. Previously, two commands (off & on) would have had to be issued.
  3. Firmware now supports the switchable 10-ohm resistor for Battery Change advertising (see above).
  4. A repository has been created showing some CircuitPython Examples for the USB Hub. Examples are divided into firmware (e.g. which run on the in-built MCU) and host (e.g. the CircuitPython code runs on the upstream computer and communicates with devices attached to the I2C bus of the Hub).
  5. Driver support for SPI reading and writing from the upstream host is in progress. A support ticket has been opened with Microchip to resolve a lingering issue.


Thanks to each and every one of you who has helped us get here! Without your support, the Programmable USB Hub would not have become a reality, and we are so grateful!

$29,756 raised

of $10,000 goal

297% Funded! Order Below

Product Choices


Programmable USB Hub

Fully assembled Programmable USB Hub PCBA in a custom metal enclosure with light pipes and rubber feet.


Programmable USB Hub Kit

Fully assembled Programmable USB Hub PCBA in a custom metal enclosure with light pipes and rubber feet. Also includes a power supply, Aux cable, I²C cable, and USB cable.


Rubber Bumpers


Mounting Flanges


Capable Robot Components

Capable Robot Components enables rapid development of autonomous robots by providing technological building blocks to system integrators. Right now, integrators have to develop things they would rather purchase because the right robot-first products don't currently exist. CRC provides proven products which are domain-agnostic, but configurable and adaptable to the integrator's market needs. This allows autonomous system developers to spend more time and effort on domain-specific engineering and testing.

Chris Osterwood

See Also

Subscribe to the Crowd Supply newsletter, highlighting the latest creators and projects: