My Custom USB Hub: 2x USB-A, 2x USB-C
I’ve got a regular desk setup. There’s a monitor on it. All good — except plugging in USB devices is a pain. The USB-A (old) ports are placed on the bottom edge, so every time I need to connect something, I play the classic game of “flip the plug the right way by feel.” And if it’s a USB-C device — it has to go directly into the laptop, since that’s the only place with the right port.
I found a few USB hubs that have both A and C ports, but they all come with super short cables for plugging into a laptop. In the end, I bought a 4-port USB-A hub with a longer cable and a mount, plus some USB-A to USB-C adapters. It worked fine — I screwed it onto the monitor stand, and the ports were finally easy to reach. But this glitchy piece of junk only worked until the computer went to sleep — after that, I had to unplug and plug it back in every time.
To be fair, my needs aren’t that crazy: some programmers for my little projects, FIDO2 keys, a card reader for dumping photos from my camera, drones to flash new firmware to… you get the idea. No charging needed, USB 2.0 speeds are more than enough.
So I sat down, dug into the topic, and ended up designing my own USB hub.
What’s in it — and why it works for me:
- Two USB-A and two USB-C ports — I can plug in everything I need, no adapters.
- A mounting system for my monitor stand — all ports are easily accessible.
- One of the USB-A ports faces backwards — that’s where the webcam is plugged in, so its cable stays out of the way.
- Overcurrent and ESD protection.
The whole thing is built around a Chinese CH334F chip, and the circuit is almost identical to the one in the datasheet. The only difference: I added a reset button, just in case the hub also “freezes” after the computer sleeps. Turned out to be completely unnecessary — but hey, it’s there.
While working on the schematic, I had to wrap my head around what “impedance” is and how to route differential pairs on a PCB.
The enclosure was 3D-printed with standard white PLA filament.
In the end, I got exactly the hub I needed: no extras, just the right features. It works reliably, nothing freezes, and all ports are within reach. Maybe I’ll upgrade the board to USB 3.0 in the future, or add a passthrough charging port — but for now, I’m totally happy with it.