Software apps and online services
In the last couple of years, I tried several powered USB hubs to drive some development boards and USB peripherals. Most of the USB hubs which we can find in the local market are unreliable or not designed to drive more than 500mA of a load.
After having a few bad experiences with powered USB hubs, I decided to build a USB hub by myself. I specifically design this hub to drive USB powered development boards and experimental peripherals.
The core element of this USB hub is the "FE1.1s" USB 2.0 hub controller. "FE1.1s" is a low cost, 4-port, high-speed USB hub controller, and this chip can easily order by eBay or AliExpress.
Apart from FE1.1s features, this USB hub has the following additional features:
- Switches to on/off and reset individual USB ports.
- Capability to provide a maximum of 3A of current from each USB port.
- Power using 9V to 15V DC voltage source.
This USB hub uses PIC16F630 MCU and four units of LM2596-5.0 switching regulators to achieve the above-listed features.
At the testing stages, we test this unit successfully on both Linux and Windows operating systems. In both platforms, it works without installing any additional device drivers. We used Ubuntu 18.04, Debian 10, and Windows 10 operating systems to conduct those tests.
To test the performance, we drive several single-board computers in parallel using this hub. Our load tests comprise with few Raspberry Pis, Arduino Dues, and several Orange Pi development boards.
With proper heatsink, the hub performs well with all the load combinations. Throughout the above analysis, the hub is powered using 12V - 20A power supply unit.
This project is an open-source hardware project. All the design files, firmware source codes, and binaries are available at github.com.