

Hi there! Here is my personal Hack Club macropad.
- Size
- 95 × 75 mm
- Copper layers
- 2
- Thickness
- 1.6 mm
- Parts
- 23
- Nets
- 23
- Pads
- 99
- Tracks, vias
- 126, 0
- Routed
- Yes
- KiCad
- KiCad 10.0 (file 20260206)
- Created
- 19 Jun 2026
- Updated
- 27 Jun 2026
Overview
Usbhub is an open-source printed circuit board by AYUSH-pro-grammer, from the AYUSH-pro-grammer/hackpad repository on GitHub. It is a 2-layer board of 95 × 75 mm with 23 parts on 23 nets, routed with 126 tracks and 0 vias.
Its parts include 9 diodes, 9 switches and 2 ICs. It belongs with the interfaces and adapters boards and the RP2040 boards of this library.
README
README.mdHackpad
Hi there! Here is my personal Hack Club macropad.
It is a compact 3x3 keyboard meant for shortcuts, programming and gaming.
The keyboard consists of a Seeed XIAO RP2040 microcontroller, OLED screen, and mechanical switches.
Build Images
What it includes
- 3x3 mechanical switches
- 0.91" OLED screen
- Seeed XIAO RP2040
- 3D-printed housing
- Custom PCB designed in KiCad
Images
Schematic

PCB Layout

3D Front View

3D Back View

Render 1

Render 2

Bill of Materials (BOM)
| Name | Purpose | Quantity | Reference Link | Distributor |
|---|---|---|---|---|
| PCB | Main board for soldering all the parts | 1 | Custom-designed PCB | Custom Fabrication |
| Seeed XIAO RP2040 | Main controller | 1 | https://robu.in/product/seeed-studio-xiao-rp2040-v1-0/ | Robu.in |
| MX Switches | Mechanical switches for the 3×3 keypad | 9 | https://keychron.in/product/cherry-mx-switch-set/ | Keychron |
| Keycaps | Keycaps mounted on the switches | 9 | https://meckeys.com/shop/accessories/keyboard-accessories/keycaps/cherry-colour-pbt-keycap-set/ | Meckeys |
| 1N4148 Diodes | Prevent ghosting in the key matrix | 9 | https://quartzcomponents.com/products/1n4148-zener-diode | Quartz Components |
| 0.91" OLED Display (128×32 I2C SSD1306) | Displays status and information | 1 | https://www.buydisplay.com/i2c-blue-0-91-inch-oled-display-module-128x32-arduino-raspberry-pi | BuyDisplay |
| 5 mm LED | Indicates device status / key presses | 1 | https://robu.in/product/5mm-red-led-pack-of-10/ | Robu.in |
| 220 Ω Resistor | Limits current through the LED | 1 | https://robocraze.com/products/220-ohm-resistor-pack-of-10 | RoboCraze |
| 3D Printed Case | Encloses and protects the device | 1 | Custom-designed and 3D printed | Local 3D Printing Service |
Project files structure
kicad/- PCB filescad/- 3D modelsgrb/- gerber files for manufacturingimage/- screenshots and renders
Parts list
- 9x MX-style switches
- 9x keycaps
- 1x Seeed XIAO RP2040
- 1x 0.91" OLED screen
- 9x diodes
- 1x custom PCB
- 1x 3D-printed housing
Firmware
For firmware I used CircuitPython.
Brief steps
- Load CircuitPython on the XIAO RP2040
- Move necessary libraries onto the board
- Upload
code.pyfile - Connect and test the switches
Images
The images with PCB and 3D render can be found in the image/ folder.
Parts
23| Qty | Value | Footprint | References |
|---|---|---|---|
| 9 | 1N914 | Diode_THT:D_DO-35_SOD27_P7.62mm_Horizontal | D1, D2, D3, D4, D5, D6, D7, D8, D9 |
| 9 | SW_Push | Button_Switch_Keyboard:SW_Cherry_MX_1.00u_PCB | SW1, SW2, SW3, SW4, SW5, SW6, SW7, SW8, SW9 |
| 1 | DM-OLED096-636 | DM-OLED096-636 (1):MODULE_DM-OLED096-636 | U1 |
| 1 | LOGO | kicad-image:batman-og | G*** |
| 1 | LOGO | kicad-image:vatman | G*** |
| 1 | XIAO-RP2040-DIP | Seeed Studio XIAO Series Library:XIAO-RP2040-DIP | U2 |
The 22 most common of 23 parts.
Questions
How big is the Usbhub PCB?
It measures 95 × 75 mm and has 2 copper layers, 1.6 mm thick.
What parts does the Usbhub use?
23 parts. 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 Usbhub KiCad files?
From the AYUSH-pro-grammer/hackpad repository on GitHub, at the commit this page was made from: the board is kicad/usbhub.kicad_pcb and its schematic kicad/usbhub.kicad_sch. PCBKit opens the board in the browser, with nothing to install.
Can I use the Usbhub design in my own project?
Its repository states no licence, so its author keeps all rights: ask AYUSH-pro-grammer before reusing the design.
Similar boards
- 2 layers65 × 56 mm

- 2 layers14 × 100 mm

Yunomi
google/mozc-devices
Circuit diagrams and firmware source code for Gboard DIY keyboards
23 parts3kApache-2.0 - 2 layers50.8 × 52.2 mm

- 2 layers138.8 × 89.8 mm

- 2 layers32.9 × 53.3 mm

- 2 layers35.5 × 50 mm

- 2 layers19 × 19 mm

- 2 layers88.5 × 28 mm

ExpBreakout
Duet3D/Duet-2-Hardware
The KiCAD source for the Duet 3d printer controller see www.duet3d.com
23 parts258