Skip to the content
2 layers89 × 100 mmHub16, the printed circuit board in 3D

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

Size
89 × 100 mm
Copper layers
2
Thickness
1.6 mm
Parts
132
Nets
99
Pads
583
Tracks, vias
1,282, 181
Pours
366
Routed
Yes
KiCad
KiCad 5 (file 20171130)
Created
3 Jan 2020
Updated
26 Jun 2021

Overview

Hub16 is an open-source printed circuit board by joshajohnson, from the joshajohnson/Hub16 repository on GitHub. It is a 2-layer board of 89 × 100 mm with 132 parts on 99 nets, routed with 1,282 tracks and 181 vias.

It is built around the CY7C65632-28LTXCT, USBLC6-2SC6 and ATMEGA32U4, with the WS2812B among its other parts. Its parts include 38 capacitors, 28 diodes, 19 switches, 13 resistors and 6 ICs. It belongs with the keyboards and input boards and the AVR (ATmega, ATtiny) boards of this library.

Main components

4

README

README.md

Hub16

Hub16 assembled

Hub16 is a macropad with a bunch of features you never knew you needed. They include:

  • 16 Cherry MX compatible keys, along with switches in each encoder.
  • 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 dynamically remapped on a host computer.
  • 11 addressable RGB LEDs to display state, or just light your desk up.

Project Status

Project is stable, with assembled boards available at Tindie.

Hub16 on desk

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 Hub16.
  • 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.
  • Mechanicals contain the plate and case design for Hub16.
  • 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 Hub16 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 Hub16!) 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 Hub16 is a macropad 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 Hub16 as a macropad.

Errata

  • Boards assembled in 2021 will have an issue with VIA where the LED controls are incorrect. Follow these instructions to resolve
  • Boards purchased between June 12 and June 22 2020 will not go into the bootloader upon resting from software. Workaround: reset board with physical reset button on bottom of PCB. Fix: reflash the bootloader following these instructions.
  • Firmware builds prior to 27th June do not continually send characters when the encoders are depressed.
  • Firmware builds prior to 9th June have issues with the bottom right key p not functioning correctly.
  • Some rotary encoders output flipped signals (clockwise instead of counterclockwise), if after assembly your encoders appear to be sending the wrong signals, comment in line 84 in config.h, or alter the setting in your software.

If you have any questions or comments please get in touch. Asking in the No Sharp Corners Discord Discord or opening an issue / pull request will result in the quickest response.

Parts

132
QtyValueFootprintReferences
27100nCapacitor_SMD:C_0603_1608MetricC10, C11, C13, C14, C15, C16, C21, C23, C24, C25, C26, C27, C28, C29, C30, C31 +11
16DDiode_SMD:D_SOD-123D5, D6, D7, D8, D11, D12, D13, D14, D17, D18, D19, D20, D24, D25, D26, D27
16KEYSWjosh-keyboard:MX_KEYSWITCHK1, K2, K3, K4, K6, K7, K8, K9, K11, K12, K13, K14, K16, K17, K18, K19
11WS2812BLED_SMD:LED_WS2812B_PLCC4_5.0x5.0mm_P3.2mmD2, D3, D4, D10, D16, D22, D23, D29, D30, D31, D32
710KResistor_SMD:R_0603_1608MetricR2, R5, R8, R9, R10, R11, R12
51uCapacitor_SMD:C_0603_1608MetricC4, C5, C19, C20, C22
5600Rjosh-passives-smt:Ferrite_Bead_0603FB1, FB2, FB3, FB4, FB5
422pCapacitor_SMD:C_0603_1608MetricC2, C3, C17, C18
4MH-M3MountingHole:MountingHole_3.2mm_M3_ISO14580H1, H2, H3, H4
4USBLC6-2SC6Package_TO_SOT_SMD:SOT-23-6U1, U4, U5, U6
4USB_C_Receptacle_USB2.0josh-connectors:USB_C_U262-161N-4BVC11J1, J3, J4, J5
310KResistor_SMD:R_Array_Convex_4x0603RN1, RN3, RN5
3200mAjosh-passives-smt:Fuse_0805_2012MetricF2, F3, F4
35K1Resistor_SMD:R_0603_1608MetricR1, R3, R4
210uCapacitor_SMD:C_0603_1608MetricC1, C12
222RResistor_SMD:R_0603_1608MetricR6, R7
2Rotary_Encoder_Switchjosh-buttons-switches:RotaryEncoder_Alps_EC11E-Switch_Vertical_H20mm_CircularMountingHolesSW2, SW3
112MHzjosh-oscillators:Crystal_SMD_3225-4Pin_3.2x2.5mmY2
116MHzjosh-oscillators:Crystal_SMD_3225-4Pin_3.2x2.5mmY1
1500mAjosh-passives-smt:Fuse_0805_2012MetricF1
1649RResistor_SMD:R_0603_1608MetricR14
1ATMEGA32U4josh-dfn-qfn:QFN-44-1EP_7x7mm_P0.5mm_EP5.2x5.2mm_ThermalViasU2
1AVR-ISP-6josh-connectors:AVR_PROG_2.54_THTJ2
1Board-Detailsjosh-logos:board-titleLOGO3
1CY7C65632-28LTXCTjosh-dfn-qfn:QFN-28-1EP_5x5mm_P0.5mm_EP3.35x3.35mm_ThermalViasU3
1Josh-Detailsjosh-logos:josh-detailsLOGO2
1Josh-Logojosh-logos:josh-johnson-logo-17x3LOGO1
1KMR2josh-buttons-switches:Panasonic_EVQPUL_EVQPUCSW1
1LEDLED_SMD:LED_0603_1608MetricD1
1LED_ONJumper:SolderJumper-2_P1.3mm_Bridged_RoundedPad1.0x1.5mmJP11
1Logo_Open_Hardware_Smalljosh-logos:OSHW-Logo2_9.8x8mm_MaskLOGO4

More from joshajohnson/Hub16

5
  • 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 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!

    117 parts388
  • 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!

    116 parts388
  • 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!

    109 parts388
  • 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!

    98 parts388

Similar boards

  • 2 layers89 × 124 mmHub20, the printed circuit board in 3D

    Hub20

    joshajohnson/Hub20

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

    183 parts68
  • 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 layers61.9 × 65.9 mmTutelPad, the printed circuit board in 3D

    TutelPad

    0xCB-dev/0xCB-TutelPad

    An 8-key macropad

    40 parts6
  • 4 layers25 × 29.6 mmMicro, the printed circuit board in 3D

    Micro

    0xCB-dev/0xCB-micro

    1% - 65% keyboard controller with RGB underglow and a backlight driver

    45 parts5
  • 2 layers285 × 94.6 mmKeyboard, the printed circuit board in 3D

    Keyboard

    ngzh/gh60_split

    A modified gh60 pcb design

    336 parts
  • 2 layers144 × 144 mmPanel, the printed circuit board in 3D

    Panel

    0xCB-dev/0xCB-1337

    Mechanical macropad with OLED running QMK

    466 parts61
  • 2 layers62 × 62 mm1337-v3.0, the printed circuit board in 3D

    1337-v3.0

    kitspace-test-repos/kicad6-file-collection

    87 partsMIT
  • 2 layers232.2 × 76.7 mmCpm43, the printed circuit board in 3D

    Cpm43

    Gtrx0/cpm43

    40% mechanical keyboard with rgb underglow and single color backlight

    188 parts59

Questions

How big is the Hub16 PCB?

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

What parts does the Hub16 use?

132 parts, built around the CY7C65632-28LTXCT, USBLC6-2SC6, ATMEGA32U4 and WS2812B. 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 Hub16 KiCad files?

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

Can I use the Hub16 design in my own project?

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