Skip to the content
2 layers81.9 × 126.7 mmKiPad, the printed circuit board in 3D

Custom PCB + 3D printed keycaps and case.

Size
81.9 × 126.7 mm
Copper layers
2
Thickness
1.2 mm
Parts
84
Nets
77
Pads
377
Tracks, vias
688, 354
Pours
1
Routed
Yes
KiCad
KiCad 8.0 (file 20240108)
Created
26 Apr 2021
Updated
6 Aug 2024

Overview

KiPad is an open-source printed circuit board by awkwardbunny, from the awkwardbunny/KiPad repository on GitHub. It is a 2-layer board of 81.9 × 126.7 mm with 84 parts on 77 nets, routed with 688 tracks and 354 vias.

It is built around the ATMEGA32U2-MU and SK6812MINI-E. Its parts include 42 diodes, 22 switches, 6 capacitors, 5 resistors and 1 IC. It belongs with the AVR (ATmega, ATtiny) boards of this library.

Main components

2

README

README.md

KiPad

Custom keypad made using KiCad.

Assembled Side view

Custom PCB + 3D printed keycaps and case.

PCB

The PCB was designed in KiCad and manufactured by JLCPCB.

Circuit board

Most of the components have a custom field DIGIKEY, which corresponds to the Digikey part number. Components can be ordered from Digikey easily by doing a BOM export and using Digikey's upload list feature.

The hotswap connectors, key switches, and stablizers do not have Digikey part numbers. Choose ones you like.

Keycaps

The keycaps were generated using this library.

Keycaps rendered

Case

The PCB was exported from KiCad and a case was modeled around it using OnShape. The models can be found under case/ or on OnShape.

The bottom of the case is designed to fit 1.2mm thick boards, so keep that in mind when putting in the PCB order.

Rendered case

Firmware

To build the firmware, follow the QMK setup, and then copy/link the qmk directory into the keyboards directory:

bash
# Clone project
git clone https://github.com/awkwardbunny/KiPad
cd KiPad
# By default, QMK installs to ~/qmk_firmware on linux
ln -s $(pwd)/qmk ~/qmk_firmware/keyboards/meirl
# Flash. Use the directory name above
qmk flash -kb meirl/kipad_v3_1 -km via

Reset and DFU

The Atmega32u2 goes into DFU bootloader without any code on it. If you wish to reflash, connect the keypad while holding down the top-left key (A).

If a bad firmware was uploaded and you cannot get it into DFU mode with that method, you need to trigger a reset while the HWB pin is pulled low. There is a pad exposed on the back for reset, and the HWB pin is connected to column 3. I solder one wire to each of these and do the following:

  1. Connect the device
  2. Take the wire connected to column 3 and make contact with ground (the USb shield works)
  3. Touch the wire connected to the reset pin briefly to ground
  4. Release the column 3 wire

And the device should show up in DFU mode

Via

To use with Via, you need to enable Settings -> Show design tab -> Enable. A new tab should appear. Open the new design tab and upload the keyboard definition qmk/kipad_v3_1/via.json. Now you should be able to reconfigure it as you like.

Udev

For linux, Via may not be able to access the keypad HID devices due to permissions. Try adding the following to /etc/udev/rules.d/90-kipad.rules:

text
# MEIRL KiPad v2.0
SUBSYSTEM=="usb", ATTRS{idVendor}=="4248", ATTRS{idProduct}=="4b50", MODE="0666"
KERNEL=="hidraw*", ATTRS{busnum}=="1", ATTRS{idVendor}=="4248", ATTRS{idProduct}=="4b50", MODE="0666"

# MEIRL KiPad v3.0
SUBSYSTEM=="usb", ATTRS{idVendor}=="4248", ATTRS{idProduct}=="4b51", MODE="0666"
KERNEL=="hidraw*", ATTRS{busnum}=="1", ATTRS{idVendor}=="4248", ATTRS{idProduct}=="4b51", MODE="0666"

# MEIRL KiPad v3.1
SUBSYSTEM=="usb", ATTRS{idVendor}=="4248", ATTRS{idProduct}=="4b52", MODE="0666"
KERNEL=="hidraw*", ATTRS{busnum}=="1", ATTRS{idVendor}=="4248", ATTRS{idProduct}=="4b52", MODE="0666"

And then sudo udevadm control --reload.

Parts

84
QtyValueFootprintReferences
21SK6812MINICustom:LED_SK6812MINI-E_PLCC4_3.2x2.8mm_P1.75mmLED1, LED2, LED3, LED4, LED10, LED11, LED12, LED13, LED14, LED15, LED16, LED17, LED18, LED19, LED20, LED21 +5
21~Diode_SMD:D_MiniMELFD1, D2, D3, D4, D10, D11, D12, D13, D14, D15, D16, D17, D18, D19, D20, D21 +5
20.1uCapacitor_SMD:C_0805_2012MetricC2, C5
222Resistor_SMD:R_0402_1005MetricR4, R5
222pCapacitor_SMD:C_0402_1005MetricC1, C3
25.1kResistor_SMD:R_0402_1005MetricR2, R3
2G***kibuzzard-66A8A61Fkibuzzard-66A8A61F, kibuzzard-66A8A61F
2G***kibuzzard-66A8A670kibuzzard-66A8A670, kibuzzard-66A8A670
2G***kibuzzard-66A8A64Ckibuzzard-66A8A64C, kibuzzard-66A8A64C
110kResistor_SMD:R_0402_1005MetricR1
110uCapacitor_SMD:C_0805_2012MetricC7
116MHzCrystal:Crystal_SMD_3225-4Pin_3.2x2.5mmY1
11uCapacitor_SMD:C_0603_1608MetricC6
1ATmega32U2-MPackage_DFN_QFN:QFN-32-1EP_5x5mm_P0.5mm_EP3.1x3.1mmU2
1RESETResistor_SMD:R_0402_1005Metric_Pad0.72x0.64mm_HandSolderSW22
1SW_0MX_Hotswap:MX-Hotswap-2U-ReversedStabilizersSW20
1SW_1MX_Hotswap:MX-Hotswap-1USW16
1SW_2MX_Hotswap:MX-Hotswap-1USW17
1SW_3MX_Hotswap:MX-Hotswap-1USW18
1SW_4MX_Hotswap:MX-Hotswap-1USW13
1SW_5MX_Hotswap:MX-Hotswap-1USW14
1SW_6MX_Hotswap:MX-Hotswap-1USW15
1SW_7MX_Hotswap:MX-Hotswap-1USW9
1SW_8MX_Hotswap:MX-Hotswap-1USW10
1SW_9MX_Hotswap:MX-Hotswap-1USW11
1SW_AMX_Hotswap:MX-Hotswap-1USW1
1SW_ADDMX_Hotswap:MX-Hotswap-2U-VerticalSW12
1SW_BMX_Hotswap:MX-Hotswap-1USW2
1SW_CMX_Hotswap:MX-Hotswap-1USW3
1SW_DMX_Hotswap:MX-Hotswap-1USW4
1SW_DIVMX_Hotswap:MX-Hotswap-1USW6
1SW_DOTMX_Hotswap:MX-Hotswap-1USW21
1SW_ENTERMX_Hotswap:MX-Hotswap-2U-VerticalSW19
1SW_MULMX_Hotswap:MX-Hotswap-1USW7
1SW_NLMX_Hotswap:MX-Hotswap-1USW5
1SW_SUBMX_Hotswap:MX-Hotswap-1USW8
1USB_C_Receptacle_USB2.0_14PConnector_USB:USB_C_Receptacle_GCT_USB4105-xx-A_16P_TopMnt_HorizontalJ1

Similar boards

  • 2 layers216 × 70.8 mmChoc40, the printed circuit board in 3D

    Choc40

    rainkeebs/Choc40

    40% Low profile keyboard designed for Kailh 'Choc' v1 switches and MBK Extended keycaps.

    98 parts15Unlicense
  • 2 layers68.3 × 49.2 mmMacro kb, the printed circuit board in 3D

    Macro kb

    joaofbmaia/6macro

    6macro keyboard PCB

    53 parts1
  • 2 layers44.5 × 46.9 mmAku keypad, the printed circuit board in 3D

    Aku keypad

    akukerang/keypad-osu

    Practice keypad pcb for Osu.

    23 parts
  • 2 layers38.1 × 25.4 mmBinarykb, the printed circuit board in 3D

    Binarykb

    bennettzug/binarykb

    simple 2 key macropad with USB-C connector and hotswappable switches

    18 partsMIT
  • 2 layers25 × 45 mmOmegaFloppy, the printed circuit board in 3D

    OmegaFloppy

    fastjack/OmegaFloppy

    The last floppy adapter you'll ever need

    27 partsCERN-OHL-P-2.0
  • 2 layers19.1 × 23.3 mmWhy, the printed circuit board in 3D

    Why

    lfgberg/why-PCB

    PCB for the 1key gasket mounted why macropad

    20 parts
  • 2 layers261.9 × 77.3 mmPCB design try, the printed circuit board in 3D

    PCB design try

    rocket-bus/PCB_design_try

    PCB_design_try

    117 partsMIT
  • 2 layers3xbar, the printed circuit board in 3D

    3xbar

    MaiTheSan/PCB-Design

    All PCB Projects of SawnsProjects & Salane

    11 parts

Questions

How big is the KiPad PCB?

It measures 81.9 × 126.7 mm and has 2 copper layers, 1.2 mm thick.

What parts does the KiPad use?

84 parts, built around the ATMEGA32U2-MU 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 KiPad KiCad files?

From the awkwardbunny/KiPad repository on GitHub, at the commit this page was made from: the board is KiPad.kicad_pcb and its schematic KiPad.kicad_sch. PCBKit opens the board in the browser, with nothing to install.

Can I use the KiPad design in my own project?

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