

SerialHub
A 6-port UART hub
- Size
- 90.7 × 78.2 mm
- Copper layers
- 4
- Thickness
- 1.6 mm
- Parts
- 129
- Nets
- 130
- Pads
- 797
- Tracks, vias
- 1,870, 345
- Pours
- 2
- Routed
- Yes
- KiCad
- KiCad 9.0 (file 20241229)
- Created
- 25 Oct 2025
- Updated
- 29 Oct 2025
Overview
SerialHub is an open-source printed circuit board by glingy, from the glingy/uarthub repository on GitHub. It is a 4-layer board of 90.7 × 78.2 mm with 129 parts on 130 nets, routed with 1,870 tracks and 345 vias.
It is built around the RP2040 and W25Q16JVSSIQ. Its parts include 70 capacitors, 31 resistors, 13 connectors, 8 ICs and 1 switch. It belongs with the interfaces and adapters boards and the RP2040 boards of this library.
Main components
2README
README.mdUART Hub
This is a 6-port "null modem cable". There are six 4-signal UART channels with flow control. Each channel is connected to all six RP2040's at each USB port to allow full software configuration of which USB ports communicate on which channels.
For example with the following configuration:
Channel 0: Port 0, Port 1
Channel 1: Port 0, Port 2
Channel 2: Port 1, Port 3
Channel 3: Port 1, Port 2
Channel 4: Port 0, Port 1
Channel 5: Port 0, ExternalA computer connected to USB 0 will see four USB CDC-ACM serial ports (COM ports on Windows, TTY's on Linux). They will be connected to USB 1, USB 2, USB 1, and the external pins labeled 5 respectively. Port 1 will also have four serial ports (USB 0, USB 3, USB 2, USB 0). Note that in this case there are two independent serial connections between USB 0 and 1. USB 2 will have two serial ports, USB 3 will only see one port, and USB 4 & 5 will see no serial ports.
USB 0 will also have an additional management serial port that allows runtime configuration of which ports are associated with each channel via a terminal-based UI.
This project is not intended to work for other protocols (I2C, SPI), but the hardware should be capable of supporting I2C or SPI devices on the external pins, the RP2040 uses the same pins for I2C/SPI as it does for UART.
Parts
129| Qty | Value | Footprint | References |
|---|---|---|---|
| 56 | 100nF | Capacitor_SMD:C_0402_1005Metric | C10, C11, C12, C14, C15, C17, C18, C19, C20, C21, C22, C23, C25, C26, C28, C29 +40 |
| 14 | 1uF | Capacitor_SMD:C_0402_1005Metric | C1, C2, C5, C13, C16, C24, C27, C35, C38, C46, C49, C57, C60, C68 |
| 12 | 27Ω | Resistor_SMD:R_0402_1005Metric | R3, R4, R7, R8, R11, R12, R15, R16, R19, R20, R23, R24 |
| 12 | 5.11kΩ | Resistor_SMD:R_0402_1005Metric | R5, R6, R9, R10, R13, R14, R17, R18, R21, R22, R25, R26 |
| 6 | Conn_01x04_Pin | Import:SaleaeTestpoint4 | J1, J3, J5, J7, J9, J11 |
| 6 | RP2040 | Package_DFN_QFN:QFN-56-1EP_7x7mm_P0.4mm_EP3.2x3.2mm | U3, U4, U5, U6, U7, U8 |
| 6 | USB_C_Receptacle_USB2.0_16P | Import:SAMESKY_UJ20-C-H-G-SMT-1-P16-TR | J2, J4, J6, J8, J10, J12 |
| 5 | 7.15kΩ | Resistor_SMD:R_0402_1005Metric | R27, R28, R29, R30, R31 |
| 4 | MountingHole_Pad | MountingHole:MountingHole_3.2mm_M3_Pad | H1, H2, H3, H4 |
| 2 | 10kΩ | Resistor_SMD:R_0402_1005Metric | R1, R2 |
| 1 | ASE-12.000MHz-E-T | Oscillator:Oscillator_SMD_Abracon_ASE-4Pin_3.2x2.5mm | X1 |
| 1 | Conn_02x24_Odd_Even | Connector_PinHeader_2.54mm:PinHeader_2x24_P2.54mm_Vertical | J15 |
| 1 | LOGO | Import:Turtle | G*** |
| 1 | SW_SPST | Button_Switch_THT:SW_PUSH_6mm_H4.3mm | SW1 |
| 1 | TLV74033PDBVR | Package_TO_SOT_SMD:SOT-23-5 | U9 |
| 1 | W25Q16JVSS | Package_SO:SOIC-8_5.3x5.3mm_P1.27mm | U2 |
Questions
How big is the SerialHub PCB?
It measures 90.7 × 78.2 mm and has 4 copper layers, 1.6 mm thick.
What parts does the SerialHub use?
129 parts, built around the RP2040 and W25Q16JVSSIQ. The full list of its parts is on this page, with links to each part's symbol and footprint where PCBKit's library has them.
Where can I download the SerialHub KiCad files?
From the glingy/uarthub repository on GitHub, at the commit this page was made from: the board is SerialHub.kicad_pcb and its schematic SerialHub.kicad_sch. PCBKit opens the board in the browser, with nothing to install.
Can I use the SerialHub design in my own project?
Its repository states no licence, so its author keeps all rights: ask glingy before reusing the design.
Similar boards
- 4 layers299 × 127 mm

- 2 layers285 × 94.6 mm

- 2 layers25.4 × 54.5 mm

Rpi pico debugger shoe
ShawnHymel/rpi-pico-debugger-shoe
Stackable debugger board for the Raspberry Pi Pico. Solder long headers to this debugger board in order to connect the Pico to it.
49 parts84 - 4 layers96 × 28 mm

- 2 layers21 × 49.5 mm

- 4 layers53 × 42 mm

MioLink
Misaka0x2730/MioLink
ARM JTAG/SWD debugger (BlackMagic port) based on RP2040.
117 parts30GPL-3.0 - 4 layers190 × 100 mm

Rioctrl controller
festlv/rioctrl-hw
Hardware design for modular CNC controller
281 parts16CERN-OHL-S-2.0 - 2 layers53.3 × 68.3 mm
