Capable Robot Components has launched its Crowd Supply campaign for the Programmable USB Hub in June of 2019. The hub is a feature rich and component rich USB hub that has a dev board built-in. The entire system is housed in an extruded aluminum case, with all the numbering and lettering and port attachments in brilliant white. Control power and data flow, directly through the unit. The first 40 units are sold out. There seem to be good reasons why these USB Hubs sell out fast. There was an in-depth article written on a similar hub some time ago.
Inside the enclosure is an array of functionality packed neatly onto a small board. There are 4x USB 2.0 ports that are High-Speed downstream ports and 1x upstream port, a 5th endpoint on the USB hub exposes 2 12C buses via Sparkfun Qwiic connectors, the UART and 2X GPIO. The input power is delivered to the unit by a locking Molex connector. Also, at the back of the unit is a USB port to reprogram and communicate with the MCU.
The power controls consist of:
- 5 power on each downstream port can be individually turned on and off
- Monitor the power consumed by each port at up to 200 Hz at a resolution of 13 mA
- Adjustable (per-port) current limits between 0.5 A and 2.6 A
- Onboard regulator supports 12 V to 24 V power input and generates 6 A of 5 V power for downstream USB devices; both voltages can be monitored by the internal MCU. No power is drawn from the upstream USB port.
- Input power is protected from over-voltage events and reverse-polarity connection.
This Programmable USB Hub is an open source device and can use MIT-licensed Python drivers to access, control, and program the Hub, as needed for a whole host of projects. There are a number of testing platforms that are compatible with the system, such as built-in IO expansion that allows for control or stimulate DUT (Device Under Test) or automate testing of embedded USB devices. The upstream port or the MCU USB port can be utilized to control, monitor or program the hub.
Some of the standout functions and features are:
- A CircuitPython based development board.
- A bridge between your computer and I2C (via Sparkfun Qwiic connectors), GPIO, and SPI (via its mikroBUS header).
- A power supply, providing 6A of 5V power to downstream devices and 13 mA resolution monitoring (per-port). Port power is individually limitable and switchable.
- A USB to TTL Serial adapter.
- A flexible embedded electronics test and development tool. USB data pairs are individually switchable, allowing you to emulate device removal and insertion via software.
- Functionally flexible. Open source python drivers on the upstream host and Python firmware on the internal MCU allow the behavior of this USB hub to be easily changed to suit your application and environment.
The ATSAMD51 microcontroller configures the hub IC and can be reprogrammed to alter the behavior of the hub. The unit’s microcontroller ship with open source firmware, ready and waiting for a simple computer connection that allows editing of code through small files, instead of through drivers or reflashing of hardware. The entire unit is ready for all those projects that have differing power and program needs.
|Blue: Connectors & IO||Green: Functional areas of the board|
|1. Upstream USB||A. 5V 6A Regulator|
|2. USB UART & GPIO||B. Input Protection|
|3. 12 V / 24 v DC In||C. Programmable Microcontroller|
|4. USB Hub I2C||D. 1 of 5 USB Data Disconnects|
|5. MCU I2C||E. USB Hub|
|6. MCU USB||F. Downstream USB Power Protection & Switching|
|7. 4x Downstream USB||G. RGB Status LEDs|
|8. mikroBUS Header|
Stephen started writing about technology after publishing sci-fi short stories. His first White-Paper, written in 2008, was well received and inspired him to continue writing about technology. Today he writes in the technology space full time, covering a multitude of topics. During the time he wrote part-time he edited hundreds of titles for large publishers, in science and technology. He lives in Staten Island, with his wife and children.