template (master branch) and source for hardware projects (other branches)
Go to file
2024-12-04 00:41:04 +01:00
kicad lib: add pad 2024-11-17 04:53:15 +01:00
library@3f3f15e7c3 lib: update repo 2024-04-19 04:20:05 +02:00
pictures doc: add pictures 2024-12-04 00:37:25 +01:00
.gitignore make: export 3d model 2024-03-08 07:14:21 +01:00
.gitmodules update library 2022-03-07 14:42:51 +01:00
.qeda.yaml lib: add parts 2024-11-17 04:52:29 +01:00
bom.ini make: include DNF parts 2024-03-08 07:14:21 +01:00
CHANGELOG.md doc: move picture 2024-12-04 00:40:24 +01:00
DEVELOPMENT.md doc: update dev notes to KiCAD v8 2024-04-19 04:00:26 +02:00
fp-lib-table lib: add logos 2023-03-30 22:25:49 +02:00
KiBOM_CLI.py make: add bom generator (not included in pip) 2023-03-30 22:30:26 +02:00
LICENSE.txt add CERN-OHL-S license 2021-07-22 12:22:58 +02:00
Makefile make: don't export png (buggy) 2024-11-17 04:56:29 +01:00
README.md doc: move picture 2024-12-04 00:41:04 +01:00
sym-lib-table lib: add partdb library 2023-03-30 22:23:41 +02:00
usb_hub-cable.kicad_pcb brd: fix 5V trace 2024-12-03 12:15:33 +01:00
usb_hub-cable.kicad_pro brd: fix 5V trace 2024-12-03 12:15:33 +01:00
usb_hub-cable.kicad_sch sch/brd: remove connector form BoM 2024-11-17 05:06:04 +01:00
version add output generation script 2021-07-22 12:34:35 +02:00

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.