kicad | ||
library@3f3f15e7c3 | ||
pictures | ||
.gitignore | ||
.gitmodules | ||
.qeda.yaml | ||
bom.ini | ||
CHANGELOG.md | ||
DEVELOPMENT.md | ||
fp-lib-table | ||
KiBOM_CLI.py | ||
LICENSE.txt | ||
Makefile | ||
README.md | ||
sym-lib-table | ||
usb_hub-cable.kicad_pcb | ||
usb_hub-cable.kicad_pro | ||
usb_hub-cable.kicad_sch | ||
version |
These are the hardware design files for USB hub cable.

purpose
The USB hub cable is a board to build a USB 4-in-1 charger and data cable.

usage
Here how to build a USB 4-in-1 charger and data cable using the USB hub cable board:
- Get up to 4 USB cables, depending on which connectors you would like to support.
- For example, get 1x USB-A to micro-B, 1x USB-A to lighting, and 1x USB-C to C cable.
- Cut them to the desired length, and strip the ends to expose the single wires within.
- Solder on the board pads the USB-A tail wires to the host side using the indicated colors.
- Do the same with the other tails: micro-B, lightning, and 2x C; on the device side of the board (front and back).
- The CC wire, if present in the USB-C cable, does not have a dedicated color. Identify it by exclusion, or test using the pins on the connector (less easy), or using a breakout board (more easy).
- Some full-featured USB C to C cable come with 2 CC wires, and a lot of others. These are more rare, and should not be wasted for this board. Just use cheap simple USB 2.0 data cables (with silicone coating if you like flexible and more robust cables).
- I recommend to test the cable each time a tail is soldered on to ensure it works correctly.
- Use cable ties though the board holes to secure the cables and prevent ripping apart the cable by pulling on it (glue gun is also a good solution for cable relief).
- Cover the board using shrink tube, or (non-conductive) tape.
- Enjoy using your newly built cable.


design
motivation
3-in-1 USB charging cables are widespread, and a convenient solution to charge any device, no matter if they use a USB micro-B, C, or lightning connector. But these cables cannot be used for data transfer. At most only one of these connectors has also the data pins for data transfer, and it's hard to know which. The reason is that USB is a point-to-point bus, where one host can only be connected to one device. When multiple devices are connected to the bus, they would interfere with each other and prevent any communication. One solution could be to put the data lines in all connectors, but have the user just connect one data device. But that would expect too much from a user, which would not understand why data transfer does not work if by mistake he connected two devices. Also the additional wires would heavily degrade the differential signal transmission as it creates stubs. Another hanger is that some devices use the data lines to negotiate high voltages for faster charging, such as quick charge. Other devices on the same cable would also receive higher voltages, and be damaged if they don't support more than the standard 5V.
solution
The solution to have multiple USB devices on one cable is simple though: use a USB hub. But this requires multiple cables, and a hub, making the setup cumbersome. This project is a very small and simple 4-port USB hub on a board, with pads to directly solder cables on it. Using it allows building a 4-to-1 USB cable for charging and data transfer.
implementation
The board uses the CoreChips SL2.1S, a compact and inexpensive 4-port USB hub integrated circuit. This supports USB 2.0 High Speed (480 Mbps), and Battery Charging 1.2 (5V with up to 1.5A). While the SL2.1A does not require an external 12 MHz crystal oscillator, the SL2.1S does, and this makes communication also a lot more stable.
protections
The board has very few components. It does not includes ESD protection, or ferrites to clean the power line. It also does not include 1.5A input or output fuses, and the cable could still be used with chargers capable of delivering more current. It does include tiny 10 uF output capacitors though, which is better than nothing.
charging
Since it uses a USB hub, the data lines don't go directly from the charger to the device. This prevents using faster charging protocols such as quick charge to negotiate high voltages using these lines. Power Delivery is also not supported. Supporting fast charging would make the board a lot more complex, bigger, and very expensive. This is out of the scope of this board. If you want fast charging, just use a dedicate 1-to-1 cable.