You are browsing as a guest. Sign up (or log in) to start making projects!

USB-C Hub

Hardware
  • 6 Devlogs
  • 16 Total hours

Usb c hub for my laptop, i plan so that the ports are modular so you can swap them out and replace with ports that you need like framework laptops, more details will be specified later. currently in research and learning stage so no posts for a few days.

Open comments for this post

2h 45m logged

Dev log 06 (06/09/26)

Worked on finalizing the PCB for manufacture, turns out I have more problems than I thought so lets go through them:

Removed the charging option for ports:

  • USB port on laptop can not provide the power needed to enable charging for all 4 ports.
  • If I wanted charging made available I will have to connect the USB-C ports CC pins to the MCUs PD pins (yes the STM32G0B1KBTR MCU I picked can handle direct connection with diff pairs and PD)
  • But even if PD connected (which allows the port to draw more power) the USB port on the laptop still can not provide enough power to since most laptop ports provide 500mA –> 900mA while charging option requires 1.5A.

Added test points:

  • Bro its £70 (Manufacturing and shipping) therefore if something goes wrong I would like to give myself a higher/easier chance of finding what is wrong with the board.
  • Test points enable me to physically debug the board with a volt meter etc, aaaaa frick i just remembered, I need to add GND test points as references… crap would have been bad if I forgot to add those cause that would make my test points redundant…

Fixing DRC errors:

  • Man so many DRC errors since I was moving stuff around some vias accidentally joined up with traces running below them, but all those are fixed now, should be fine.
0
0
1
Open comments for this post

27m logged

Dev log 05 (05/09/26)

Made minor changes based on feedback I got, I added tear drops and a 0.1uF filtering capacitor for the USB 2.0 VBUS to handle high frequency noise and flyback.

Note:

School has started now so I have way less time than I orginally thought so yeah.

0
0
14
Open comments for this post

2h 33m 33s logged

Dev log 04 (30/08/26)

Finished PCB, I lost around 5 hours and i have 11 hours recorded but not loaded up in stardance for some reason I have attached the link here: https://lapse.hackclub.com/timelapse/W-kbFj_EBe9T

Some changes I made / what I have done:

  • Changed the clock IC into a crystal oscillator cause it saves costs.
  • Used JLC PCB impedance calculator to calculate the correct width and space between traces for 90 ohms of impedance for the USB 2.0
  • Switched to 16pin USB-C port cause it is more readily available than 14 pin.
  • Fixed some minor errors with the schematic such as forgotten/incorrect connections

Info on the PCB:

4 layers:

  • layer 1: Main layer for components and differential signal routing with GND fills
  • layer 2: Main GND layer
  • layer 3: Power layer, main routing for VBUS and 3V3 fills)
  • layer 4: Mainly for routing OCS, EN and RGB_DATA signals

What I will do next:

  • Work on case design.
  • Considering adding test points on the PCB to help debug possible failures.
  • Find a way to solve the time not being added to stardance when its logged in lapse….
0
0
6
Open comments for this post

4h 29m 7s logged

DEV LOG 03 (20/08/26)

Schematic development

  • Worked on USB hub IC required connections.
  • Switched out load switches from dual channel ones to single channel one (TPS22919DCK) cause i wanted battery charging to be available for my USBs so the load switches need to be rated for 1.5A cont 5.5v max and active high (cause easier and more reliable) I know there are dual channel versions of what i need but they they arent in stock in JLCPCB so yeah….

Personal note:

I orginally wanted a direct connection via SMBus between the USB hub and MCU but i couldnt figure out cause the data pins are multifunction pins with the config pins and both have different requirements in terms of pull up and pull down resistors so I got confused so i decided just to do default config instead to keep it simple.

1
0
62
Open comments for this post

4h 41m 1s logged

DEV LOG 02 (15/08/26)

Bruhhhh component selection sucks….

Load Switch selection:

I decided to change the load switch to TPS 2052B (DGN Package cuz idk… i mean there was a reason but i forgot it… lol) cause it offers dual channel (space for 2 USB instead of one) and the B variant is just better in terms of performance.

USB controller IC:

For the USB controller I decided to go with the USB2514B-I/M2 (SQFN Package since JLCPCB offered it and it was the cheapest thing i could find the footprint for and its the new version) since it can handle 4 USBs which is just what i need for the basic USB-C hub im designing.

Crystal Oscillator for the USB controller IC:

Based of the USB hub specs it needs a crystal oscillator that has:

  • 24MHz Freq tolerance 350 ppm
  • <100ps of jitter
  • 1.2 V CMOS Logic

For this component selection was so so so so so so annoying (again for me idk abt u) like I definitely need to study this and research this more cause I wanted to find an “active crystal oscillator” cause it saves me the hassle of calculating the capacitive load that I need to work out the values for the load capacitors or smth like i need to research that, but anyways ill come back to those parts later…

In the end I found an active crystal oscillator “1491-24003-BTBEGA” with the help of ai lol………….. cause its cheap and its offered by JLCPCB in their PCB assem, the annoying part about this was that you had to create the footprint and symbol your self… took me like 30mins cuz i had no clue how to create symbols and footprints in Ki - cad…. yeah that sucked.

Anyways thanks for reading I suppose? (whoever reads this ofc lmao)

0
0
6
Open comments for this post

1h 12m logged

DEV LOG 01 (13/08/26)

Right guys, its finally time to start working on this project, been busy the past few days studying fundamentals of PCB design (AC return current, differential pairs for USB and components such as clock oscillators and MCU required connections, LDOs or Load switches and some basic theory like how energy is transferred in electricity (electromagnetic wave, electric wave + magnetic wave and such)

Plan:

  • Design a basic USB-C hub get the basics down.
  • Move onto advanced designs such as ethernet, HDMI and audio (will need to upgrade MCU to cortext M4)
  • Create a fully custom USB-C hub with all the features that I can possibly add, such as a OLED screen or audio speakers or framework style swappable ports or literally plug in the framework ports (if i can design a board that can do that, I mean its just a USB-C right….? I hope….)

What did I do today?

Component selection… damn I really didnt expect it to be this annoying (FOR ME) since theres thousands to pick from so I ai to recommend some trust worthy well known brands to pick from and give me some requirements for the component.

I only selected a load switch today the TPS 2051B by Texas instruments since it offered:

  • 3 pins for VBUS switching for the USB.
  • Undervoltage lockout
  • 500mA continuous current (Required for USBs)
  • Soft start (limits inrush current to prevent large current surges)

Sidenote:

I think I went into too much on the little details on PCB design but I guess the physics stuff I learnt helps like how a capacitors works and stuff will help next year in my A-level studies ig. *tho i swear i kinda forgotten most of the stuff…. ig ill review it later ofc.

0
0
5

Delete project?

Are you sure you want to permanently delete this project? This action cannot be undone.

All devlogs, followers, and associated data will be removed.

Followers

Loading…