Skip to the content
PCBKitNew board
2 layers127.3 × 114.6 mmDabao, the printed circuit board in 3D

Unibody? Split? Why not both!

Size
127.3 × 114.6 mm
Copper layers
2
Thickness
1.6 mm
Parts
76
Nets
73
Pads
466
Tracks, vias
1,098, 161
Pours
1
Routed
Yes
KiCad
KiCad 10.0 (file 20260206)
Created
8 Oct 2025
Updated
17 Oct 2026

Overview

Dabao is an open-source printed circuit board by justinmklam, from the justinmklam/dabao repository on GitHub, published under the MIT licence. It is a 2-layer board of 127.3 × 114.6 mm with 76 parts on 73 nets, routed with 1,098 tracks and 161 vias.

Its parts include 20 switches, 18 diodes, 7 connectors, 6 resistors and 2 ICs. It belongs with the keyboards and input boards and the nRF52 and nRF5x boards of this library.

README

README.md

dabao

打包 (dǎ bāo or daa2 baau1), which means to take out (food) in Chinese, is a wireless, portable 36-key keyboard with a thumb trackpoint, designed for maximum flexibility and convenience.

pcb as unibody Keyboard can be used as a unibody...

pcb as split ... or as a split!

Design Rationale

I found that split keyboards can be cumbersome when I’m not working at a desk. Managing a laptop plus two independent keyboard halves while moving between coworking spaces, cafés, or even working from the couch quickly becomes unwieldy, and thus began the journey to create a keyboard for this specific need...

This project explores a keyboard that can seamlessly switch between a unibody form factor (easy to pick up and carry) and a fully split configuration when there's space for a full ergonomic setup. An integrated pointing device is included to reduce the need for external peripherals, making it truly portable.

Albeit unconventional, the trackpoint is positioned under the thumb to:

  • Enable the use of hotswap sockets while keeping the overall keyboard height low
  • Eliminate the need to modify keycaps for trackpoint clearance
  • Allow the fingers to remain on the home row during pointing tasks

In practice, using the thumb instead of the index finger feels functionally similar. After a short adjustment period, I personally haven't experienced a meaningful loss in accuracy or precision.

Features

  • Unibody or Split: Unique magnetic 4-pin connector allows the keyboard to be used as a single unibody or split into two halves via a USB-C cable. Use unibody mode on the go, and split mode at your desk!
  • Single Microcontroller: Uses one microcontroller and a GPIO expander, eliminating the need for two controllers or batteries to simplify charging and reduce costs.
  • Integrated Trackpoint: For convenient and precise cursor control.
  • Reversible PCB: Keeps ordering PCBs affordable.
  • Wireless via Bluetooth: Wireless operation (between the host computer) for portability.
  • Hotswap Switches: Supports Choc V1 or V2 switches. Can also be soldered directly if desired.
  • Thin: The case measures a mere 8mm from top to bottom (excluding switches and keycaps), making it very portable.

Case

The case was designed to be 3D printed with FDM in PLA or similar material, making it easy to print at home with consumer grade printers. Multi-material would be useful for cleaner removal of supports, but is not necessary. The case as shown was printed in Charcoal Black Matte PLA on a BambuLab P1S (no AMS).

See here for CAD files, and printing instructions here.

Build Guide

[!WARNING] This project is provided for educational and experimental purposes only. It is shared "as-is," without any warranty of any kind, express or implied, including but not limited to the warranties of merchantability or fitness for a particular purpose. By using these files, you acknowledge that you are assuming all risks associated with the assembly, use, and operation of the hardware. The author shall not be liable for any claim, damages, or other liability, whether in an action of contract, tort, or otherwise, arising from, out of, or in connection with the project or the use of these files.

See Build Guide for instructions on how to build one for yourself!

Firmware

See zmk-config.

Acknowledgements

This design was inspired by the following keyboards:

Helpful trackpoint resources:

Support

Thank you to my sponsors for making this project possible!

The PCBs for this project were manufactured by PCBWay. The boards came out clean with good tolerances and had a fast turnaround, especially considering it came from the other side of the world. Recommended if you're looking to prototype or build your own keyboard!

Parts

76
QtyValueFootprintReferences
181N4148Library:D_SOD-323_HandSoldering_ReversableD1, D2, D3, D4, D5, D6, D7, D10, D11, D12, D13, D14, D15, D16, D17, D18 +2
18choc_v1_SW_HSLibrary:Kailh_socket_PG1350_optional_reversible.kicad_modS1, S2, S3, S4, S5, S6, S7, S10, S11, S12, S13, S14, S15, S16, S17, S18 +2
12SolderJumper_2_OpenJumper:SolderJumper-2_P1.3mm_Open_TrianglePad1.0x1.5mmJP1, JP2, JP3, JP4, JP5, JP6, JP7, JP8, JP9, JP10, JP11, JP12
44.7kResistor_SMD:R_0805_2012MetricR2, R3, R4, R5
2Conn_01x04Library:TPSensorModule_ConnectorJ3, J7
1100kResistor_SMD:R_0805_2012MetricR8
110kResistor_SMD:R_0805_2012MetricR1
12.2uFCapacitor_SMD:C_0805_2012MetricC1
1Conn_01x05Library:TPModuleJ1
1Conn_BatteryConnector_JST:JST_PH_S2B-PH-K_1x02_P2.00mm_HorizontalJ5
1DisplayConnector_PinHeader_2.54mm:PinHeader_1x05_P2.54mm_VerticalJ8
1LOGOLibrary:takeout-logoG***
1LOGOLibrary:takeout-textG***
1MCP23017_SPPackage_SO:SOIC-28W_7.5x17.9mm_P1.27mmU2
1MagConn_01x04_PinLibrary:PinMagnetic_1x04_P2.54mmJ4
1SW_POWERPCM_marbastlib-various:SW_MSK12C02-HBSW2
1SW_RESETButton_Switch_SMD:SW_Push_SPST_NO_Alps_SKRKSW1
1SolderJumper_2_BridgedJumper:SolderJumper-2_P1.3mm_Bridged_Pad1.0x1.5mmJP13
1USB_C_Receptacle_USB2.0_16PConnector_USB:USB_C_Receptacle_GCT_USB4085J2
1nice_nanoPCM_marbastlib-xp-promicroish:nice_nano_AH_USBupU1

The 69 most common of 76 parts.

Questions

How big is the Dabao PCB?

It measures 127.3 × 114.6 mm and has 2 copper layers, 1.6 mm thick.

What parts does the Dabao use?

76 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 Dabao KiCad files?

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

Can I use the Dabao design in my own project?

Its repository publishes it under the MIT licence: you may reuse it on that licence's terms (keep the author's notice, and for a copyleft licence share your changes alike).

Similar boards

  • 2 layers48 × 107 mmTwin orbit, the printed circuit board in 3D

    Twin orbit

    earthtojake/text-to-cad

    Design physical products with AI

    76 parts26kMIT
  • 2 layers85 × 115 mmOSO BOOK B1, the printed circuit board in 3D

    OSO BOOK B1

    joeycastillo/The-Open-Book

    For details on how to build, test and use Open Book, I've made documentation available here.

    76 parts8.1kCC-BY-SA-4.0
  • 2 layers77 × 97 mmRgb to hdmi, the printed circuit board in 3D

    Rgb to hdmi

    hoglet67/RGBtoHDMI

    Bare-metal Raspberry Pi project that provides pixel-perfect sampling of Retro Computer RGB/YUV video and conversion to HDMI

    76 parts1kGPL-3.0
  • 2 layers137.9 × 92.7 mmErgoTravel, the printed circuit board in 3D

    ErgoTravel

    jpconstantineau/ErgoTravel

    A Portable Ergonomic Split Keyboard inspired from the ErgoDox, Let's Split and Minidox

    76 parts284MIT
  • 2 layers60.6 × 24.1 mmBlep audio, the printed circuit board in 3D

    Blep audio

    CRImier/MyKiCad

    My KiCad boards. Can't be bothered uploading individually anymore, so here you go.

    76 parts253GPL-3.0
  • 2 layers49 × 49 mmOSBMS Balancer Rev 0.9, the printed circuit board in 3D

    OSBMS Balancer Rev 0.9

    Teslafly/Dead-OpenBMS-dead

    A scalable, open source battery management system

    76 parts248
  • 2 layers79 × 75 mmPortableTerminal, the printed circuit board in 3D

    PortableTerminal

    profdc9/RFBitBanger

    A QRP digital transceiver created from readily available parts for off-the-grid maintenance

    76 parts222
  • 2 layers35.1 × 36.6 mmBinNanoFOC, the printed circuit board in 3D

    BinNanoFOC

    katbinaris/nanofoc_devkit

    Compact All-In-One BLDC Controler featuiring ESP32-S3, TMC6300 and Magalpha sensors. Small 35x35mm footprint.

    76 parts146