Skip to the content
2 layers89 × 124 mmHub20, the printed circuit board in 3D

Hub20 is a numpad with a bunch of features you never knew you needed.

Size
89 × 124 mm
Copper layers
2
Thickness
1.6 mm
Parts
183
Nets
116
Pads
827
Tracks, vias
1,910, 332
Pours
623
Routed
Yes
KiCad
KiCad 5 (file 20171130)
Created
4 Jul 2020
Updated
4 Feb 2022

Overview

Hub20 is an open-source printed circuit board by joshajohnson, from the joshajohnson/Hub20 repository on GitHub. It is a 2-layer board of 89 × 124 mm with 183 parts on 116 nets, routed with 1,910 tracks and 332 vias.

It is built around the CY7C65632-28LTXCT, USBLC6-2SC6 and AP2112K-3.3, with the SK6812MINI-E, WS2812B and BSS138 among its other parts. Its parts include 58 capacitors, 51 diodes, 23 switches, 10 resistors and 7 ICs. It belongs with the STM32 boards of this library.

Main components

7

README

README.md

Hub20

Hub20

Hub20 is a numpad with a bunch of features you never knew you needed. They include:

  • Left and Right handed layouts supported, along with a 4x5 1U grid enabling it to be used as a macropad.
  • Two rotary encoders, enabling intuitive controls for a wide range of tools including CAD and photo / video editing.
  • Inbuilt USB 2.0 Hub with Type-C connectors, allowing connection to other keyboards, memory sticks, wireless receivers and more!
  • VIA and QMK compatibility, including a "macro" mode enabling the keys to be remapped on a host computer.
  • 27 addressable RGB leds, including one under each key.

If this project looks familiar, it's because it contains all the best parts of Hub16, with a few added extras.

Project Status

Hardware is finalised and kits can be purchased from Tindie.

Hub20

Getting Started Guide

Detailed Info

Repo Contents

  • documents contains all documentation and images for the project.
  • firmware contains both the source and precompiled binaries for Hub20.
  • hardware contains the KiCad design files for the keyboard.
  • josh-kicad-lib is my personal KiCad parts library which contains many of the parts used.
  • scripts contains a number of scripts used in the PCB design process.
  • mechanicals contain the plate and case design for Hub20.
  • production contains all the files required to produce the PCB. It also contains test scripts and jigs.
  • software contains all the VIA config, along with template script to use Hub20 as a macropad with software on your computer.

Notes on the USB Hub

The hub is a four port USB 2.0 Hub with Type-C connectors, aimed at allowing connection of keyboards, mice, memory sticks, wireless receivers, and other small devices (including a second Hub20!) to your computer.

Due to cost and space constraints, the hub has some limitations. The hub is not:

  • USB 3.x, Power Delivery, Thunderbolt, DisplayPort, etc compatible.
  • Designed to charge your phone quickly. Only 100mA is guaranteed per port.
  • Designed to work with power hungry devices such as spinning hard drives.
  • Guaranteed to provide full USB 2.0 speeds and performance on all ports.

Might you be able to charge your phone whilst copying files at full speed of a spinning hard drive over a long cable? Maybe. However Hub20 is a numpad first, USB hub second, so if you are looking for a high performance device I'd suggest picking up a dedicated USB hub and just using Hub20 as a numpad.

If you have any questions or comments please get in touch. I can be found on Discord as _joshajohnson#9451, Twitter, email, or leave an issue or pull request on this repo.

Parts

183
QtyValueFootprintReferences
44100nCapacitor_SMD:C_0603_1608MetricC1, C11, C12, C13, C15, C16, C17, C21, C22, C23, C24, C25, C26, C27, C29, C30 +28
231N4148Diode_SMD:D_SOD-123D1, D10, D11, D12, D13, D14, D16, D18, D19, D20, D21, D22, D24, D25, D26, D27 +7
20MX_RGBjosh-keyboard:MX_KEYSWITCH_RGBSW2, SW3, SW4, SW10, SW11, SW12, SW14, SW15, SW16, SW17, SW18, SW19, SW20, SW21, SW22, SW23 +4
20SK6812MINI-Ejosh-keyboard:DUMMY_SK6812MINI-ED31, D33, D34, D35, D36, D37, D38, D39, D40, D41, D42, D43, D44, D45, D46, D47 +4
81uCapacitor_SMD:C_0603_1608MetricC10, C19, C28, C32, C34, C54, C55, C57
7WS2812BLED_SMD:LED_WS2812B_PLCC4_5.0x5.0mm_P3.2mmD2, D3, D9, D15, D17, D23, D30
510KResistor_SMD:R_0603_1608MetricR5, R6, R7, R8, R9
5600Rjosh-passives-smt:Ferrite_Bead_0603FB1, FB2, FB3, FB4, FB5
42Ujosh-keyboard:MXOnly-2U-ReversedStabilizers-NoLED-3PINMX3, MX4, MX5, MX6
4M3MountingHole:MountingHole_3.2mm_M3H1, H2, H3, H4
4USBLC6-2SC6Package_TO_SOT_SMD:SOT-23-6U2, U6, U7, U8
4USB_C_Receptacle_USB2.0josh-connectors:USB_C_U262-161N-4BVC11J1, J2, J3, J4
310KResistor_SMD:R_Array_Convex_4x0603RN1, RN2, RN3
310uCapacitor_SMD:C_0603_1608MetricC14, C20, C41
3500mAjosh-passives-smt:Fuse_0805_2012MetricF2, F3, F4
35K1Resistor_SMD:R_0603_1608MetricR2, R3, R14
215pCapacitor_SMD:C_0603_1608MetricC44, C45
22Ujosh-keyboard:MXOnly-2U-NoLED-3PINMX1, MX2
2EC11josh-buttons-switches:RotaryEncoder_Alps_EC11E-Switch_Vertical_H20mm_CircularMountingHolesSW7, SW13
1100KResistor_SMD:R_0603_1608MetricR4
112MHzjosh-oscillators:Crystal_SMD_3225-4Pin_3.2x2.5mmY1
11Ajosh-passives-smt:Fuse_0805_2012MetricF1
14u7Capacitor_SMD:C_0603_1608MetricC18
1649RResistor_SMD:R_0603_1608MetricR10
1AP2112K-3.3Package_TO_SOT_SMD:SOT-23-5U1
1BSS138Package_TO_SOT_SMD:SOT-23Q2
1Board-Titlejosh-logos:board-titleLOGO2
1CY7C65632-28LTXCTjosh-dfn-qfn:QFN-28-1EP_5x5mm_P0.5mm_EP3.35x3.35mm_ThermalViasU5
1DTC123JPackage_TO_SOT_SMD:SOT-23Q1
1EVQPULjosh-buttons-switches:Panasonic_EVQPUL_EVQPUCSW1
1Josh-Detailsjosh-logos:josh-detailsLOGO1
1Josh-Logojosh-logos:josh-johnson-logo-11x2LOGO3
1LEDJumper:SolderJumper-2_P1.3mm_Bridged_RoundedPad1.0x1.5mmJP1
1LEDLED_SMD:LED_0603_1608MetricD32
1OSHWjosh-logos:OSHW-Logo2_9.8x8mm_MaskLOGO5
1STM32F072C8TxPackage_QFP:LQFP-48_7x7mm_P0.5mmU3

More from joshajohnson/Hub20

1
  • 4 layers84.2 × 118.3 mmHub20, the printed circuit board in 3D

    Hub20

    joshajohnson/Hub20

    Hub20 is a numpad with a bunch of features you never knew you needed.

    175 parts68

Similar boards

  • 2 layers89 × 100 mmHub16, the printed circuit board in 3D

    Hub16

    joshajohnson/Hub16

    A macro pad with 16 keys, two rotary encoders, a four port USB hub, and plenty of LEDs!

    132 parts388
  • 2 layers390 × 120.2 mmKeyboard, the printed circuit board in 3D

    Keyboard

    joshajohnson/entropy

    Strange keyboard with a left hand numpad

    334 parts97
  • 2 layers84.3 × 65 mmChief, the printed circuit board in 3D

    Chief

    joshajohnson/chief

    Macropad designed by Bing

    60 parts
  • 2 layers160 × 120 mmTrigon, the printed circuit board in 3D

    Trigon

    nkallen/trigon

    large left-handed Macropad with embedded 3d mouse and rotary encoder

    112 parts2
  • 2 layers325.5 × 240.1 mmMun, the printed circuit board in 3D

    Mun

    RGBKB/Keyboard-files

    Public files for keyboards and more

    448 parts113GPL-3.0
  • 2 layers283 × 94.2 mmTsuki, the printed circuit board in 3D

    Tsuki

    AcheronProject/Tsuki

    60% keyboard PCB featuring a wide array of layouts powered by STM32F072

    387 parts35
  • 2 layers305 × 100.3 mmSixtyfive, the printed circuit board in 3D

    Sixtyfive

    nicoles/sixtyfive

    a keyboard for me to type upon

    179 partsMIT
  • 4 layers145.3 × 115.1 mmCynaroides, the printed circuit board in 3D

    Cynaroides

    vattern/Cynaroides

    Split ergo, STM32F411 per key rgb

    136 parts

Questions

How big is the Hub20 PCB?

It measures 89 × 124 mm and has 2 copper layers, 1.6 mm thick.

What parts does the Hub20 use?

183 parts, built around the CY7C65632-28LTXCT, USBLC6-2SC6, AP2112K-3.3 and SK6812MINI-E. 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 Hub20 KiCad files?

From the joshajohnson/Hub20 repository on GitHub, at the commit this page was made from: the board is hardware/1.0.1/Hub20.kicad_pcb. PCBKit opens the board in the browser, with nothing to install.

Can I use the Hub20 design in my own project?

Its repository states no licence, so its author keeps all rights: ask joshajohnson before reusing the design.