My first open source HW project, USB HUB with CH551G inside. - Page 1
Forum section: electronics / projects

author: AnhGeek
author_rank: Newbie
timestamp: December 15, 2024, 06:02:40 am
content: Hi all,I would like to share my first open source HW project, that I finished recently with some testing at my home.This project aim to make an USB HUB with USB power can be controlled via command from user. I found there some USB hub which is famous brand, but very expensive. So, I decided to create my own with very affordable price (around 2$ for chips and PCB).This is my project, I locate it on Github so everyone can access it:https://github.com/AnhGeek/USB_HUB_Power_ControlledI know I still have some knowledge limitation, if you found any issue in my design or any better improvement please share and we will build up our skills.I still doubt to connect ground to USB shield, Should I connect it with ground?Thank guys.

author: NiHaoMike
author_rank: Super Contributor
timestamp: December 15, 2024, 12:50:44 pm
content: If you use a hub chipset that supports per port switching, you don't need a separate microcontroller.https://github.com/mvp/uhubctl

author: HwAoRrDk
author_rank: Super Contributor
timestamp: December 15, 2024, 02:18:51 pm
content: May I suggest to use a dedicated-purpose USB load switch IC rather than P-MOSFET to switch power to the ports.The advantage is that they feature current limiting and reverse current blocking. At the moment you are relying on a single fuse on the upstream VBUS to protect against, e.g. short circuit on a device on a downstream port.For example, the MT9700 is only a few cents more than an Si2301. There are plenty of others too. Some also have a fault flag output that you could use as input to the MCU to signal that there is a problem with that port.

author: AnhGeek
author_rank: Newbie
timestamp: December 17, 2024, 03:26:10 pm
content: Quote from: NiHaoMike on December 15, 2024, 12:50:44 pmThanks for your suggestion.I knew this project, but it seems outdated, isn't it? I can't find any type which can easily to buy in my country, and the hub list hasn't been updated recently.But I will try this again with my hubhttps://www.amazon.com.au/ORICO-USB-3-0-4-Port-HUB/dp/B0832ZZKJD

author: AnhGeek
author_rank: Newbie
timestamp: December 17, 2024, 03:30:30 pm
content: Thanks!MT9700 is good component. I have never heard about this kind of mosfet, very small package with limit current controlled via a external resistor.However it still requires a resistor. Could you suggest some other? which will have internal resistor, it means the limit current is pre-configured.

author: HwAoRrDk
author_rank: Super Contributor
timestamp: December 17, 2024, 07:08:24 pm
content: Sure, there are other chips which have a fixed current limit. For example:TPS20xxCseries,LPW5202,SY6288.But what is so troublesome about having an extra resistor?

author: AnhGeek
author_rank: Newbie
timestamp: December 21, 2024, 08:03:11 am
content: I intend to mass product this circuit, so one more compenent then more money would be spentbtw, thanks for your advise

author: NiHaoMike
author_rank: Super Contributor
timestamp: December 21, 2024, 01:05:02 pm
content: Quote from: AnhGeek on December 17, 2024, 03:26:10 pmMost hub chips support per port switching, look up the datasheet and see how to make use of it.

author: AnhGeek
author_rank: Newbie
timestamp: December 22, 2024, 06:36:34 am
content: Quote from: NiHaoMike on December 21, 2024, 01:05:02 pmYes, you're right, almost expensive chips would support by default. But it often offers a controller pin, not a power switch itself.My Orico hub is using VL817-Q7, but I don't see any mosfet or IC chip that would control the power. And I don't think the IO pin of VL817 can drive a USB port with more than 1.5A or more!So, conclusion here is "Chip support doesn't mean that the HUB supports it as well".But if I use VL817 to embed to my board, it can reduce an external MCU. However, VL817 is expensive (upto 5$ each on eBay) and the package is QFN76 which is hard to solder it by hand.PS: I tried the github project you gave, but it's only work in Linux. I don't think it worth to create a virtual machine using linux and make a bridge connection, too redundant, from my perspective.