

Keyboard left
Like the thenar keyboard but built for pick-and-place
- Size
- 144.2 × 110.8 mm
- Copper layers
- 2
- Thickness
- 1.6 mm
- Parts
- 62
- Nets
- 106
- Pads
- 530
- Tracks, vias
- 1,918, 193
- Pours
- 2
- Routed
- Yes
- KiCad
- KiCad 10.0 (file 20260206)
- Created
- 6 Jul 2026
- Updated
- 21 Jul 2026
Overview
Keyboard left is an open-source printed circuit board by lytedev, from the lytedev/hypothenar-keyboard repository on GitHub. It is a 2-layer board of 144.2 × 110.8 mm with 62 parts on 106 nets, routed with 1,918 tracks and 193 vias.
It is built around the MCP23017-E/SS, TP4056 and USBLC6-2SC6, with the XC6206P332MR and MS88SF3 among its other parts. Its parts include 28 switches and 17 connectors. It belongs with the keyboards and input boards of this library.
Main components
5MCP23017-E/SS
SSOP-28(5.3x10.2x0.65)-40℃~+125℃ 1.7MHz 1.8V~5.5V 16 1uA 600mV 8 8mA I2C Interrupt Output Reset function、Cascading and address extension SSOP-28 I/O Expanders ROHSMicrochip TechnologyI/O ExpandersTP4056
ESOP-8-40℃~+85℃ 1 1A 35uA 4.2V 4V~6.5V Charging IC Lithium Battery Support Support 恒流充电、恒压充电、涓流充电、自动再充电、充电终止、可编程充电电流、软启动、欠压锁定 ESOP-8 Battery Management ROHSUMWBattery ManagementUSBLC6-2SC6
SOT-23-60.35pF、0.8pF 100nA 150W@8/20us 15V 2 5V 6A@8/20us 6V ESD SOT-23-6 ESD and Surge Protection (TVS/ESD) ROHSUMWESD And Surge Protection (TVS/ESD)XC6206P332MR
SOT-23-40℃~+85℃@(Ta) 1 1uA 200mA 3.3V 6V Fixed Over Current Protection Positive SOT-23-3L Voltage Regulators - Linear, Low Drop Out (LDO) Regulators ROHSTorex SemiconductorVoltage Regulators - Linear, Low Drop Out (LDO) RegulatorsMS88SF3
LGA-60_18.5X11.5LGA-60_18.5X11.5 New Arrivals ROHSMINEWUncategorised
README
README.mdHypothenar PCB
The v1 redesign — chip-direct nRF52840 module + I/O expanders, designed
for JLCPCB PCBA assembly. See docs/v1-design.md (in the repo root) for
architectural decisions and BOM rationale.
This directory is a work-in-progress. The PCB hasn't been drawn yet.
Repositories
- Primary: https://git.lyte.dev/lytedev/hypothenar-keyboard
- Mirror (GitHub): https://github.com/lytedev/hypothenar-keyboard
- Sibling model: thenar — the hand-solderable original this design derives from (GitHub mirror)
What's here
-
ref-designguide-schematic/— vendored copy ofebastler/zmk-designguide(CERN-OHL-P licensed). A reference schematic showing tested wireless-keyboard topologies: USB-C + ESD, TP4056 charge IC, XC6206 LDO, three different nRF52840 module options. This is our primary reference for the power tree and MCU section. Openref-designguide-schematic/designguide-schematic.kicad_schin KiCad to view. -
lib/kleeb/— vendored MIT-licensed KiCad library fromcrides/kleeb. The only public source of the MS88SF3 nRF52840 module footprint + symbol (inlib/kleeb/mcu.pretty/ms88sf3.kicad_modand themcu.kicad_symsymbol library). Add this to KiCad's path when drawing the schematic. -
lib/marbastlib/— CERN-OHL-P keyboard-focused KiCad library by ebastler. Used by zmk-designguide. Contains symbols + footprints for TP4056, XC6206, USB-C connectors, etc.
3D models from both libraries are stripped (~88 MB saved). Re-fetch the original repos if you want 3D viewer support.
Project skeleton
Two KiCad projects ready to open:
kicad/hypothenar-left/
hypothenar-left.kicad_pro # start with: nix develop -c kicad
hypothenar-left.kicad_sch # currently == designguide schematic (verbatim copy)
hypothenar-left.kicad_pcb # empty, will populate from netlist later
sym-lib-table # project-local symbol library wiring
fp-lib-table # project-local footprint library wiring
kicad/hypothenar-right/
hypothenar-right.{kicad_pro,kicad_sch,kicad_pcb,sym-lib-table,fp-lib-table}Open either project file (.kicad_pro) in KiCad and the kleeb +
marbastlib libraries are wired up automatically — search the symbol
browser for MS88SF3, TP4056, XC6206, USB_C etc. and they're all
present.
Roadmap
-
Prune the designguide schematic to just what we want:
- Keep: USB-C input + ESD, TP4056 charge IC, XC6206 LDO, one MCU module slot, Vsense divider (for battery reporting)
- Delete: the other two MCU modules (Holyiot and Moko — we use the third slot for our MS88SF3), the alternative BQ24075 charge IC, the LED underglow circuit, the battery protection (DW01A/FS8205) — optional, depends on whether we want belt-and-suspenders
- Replace: the Ebyte E73 module footprint slot with MS88SF3
- Save. ERC should drop from 409 to <50.
-
Add the MCP23017 section (not in designguide):
- Two MCP23017 ICs per half, I²C-connected to the MCU
- Address straps for 0x20 and 0x21
- 4.7 kΩ I²C pull-ups
- Reset line tied to MCU GPIO
- Reference:
SolderedElectronics/IO-expander-MCP23017-breakout-hardware-design
-
Add the matrix section: 28 switches per half. With switch-per-pin topology, each switch has one pin → GPIO pin on one of the MCP23017s, other pin → GND. No diodes.
- Will eventually come from the ergogen scaffold (regenerated for v1 without diodes); for now stub with a placeholder.
-
Add the rest of the per-half peripherals: scrollwheel encoder, Nice!View headers, slider switch, reset button.
-
Run ERC clean on the schematic.
-
Layout in KiCad: import netlist into the
.kicad_pcb, place footprints in the chip area, then bring in the ergogen scaffold matrix and stitch the two together. -
Routing: probably mostly by hand again (autoroute will hit similar plateaus as rc1).
-
Generate: gerbers + pick-place CSV + BOM CSV → submit to JLCPCB.
Working on this branch
v1 is a git branch off main. To work on v1:
jj edit v1 # check out v1 branch
jj new # start a new commit
# ... edit files ...
jj describe -m "v1(...): what I changed"
jj git push --bookmark v1main continues to be the validated rc1 design.
License notes
This repository bundles work under three licenses that are compatible with this project's MIT licence:
ref-designguide-schematic/— CERN-OHL-P v2 (ebastler/zmk-designguide)lib/kleeb/— MIT (crides/kleeb)lib/marbastlib/— CERN-OHL-P v2 (ebastler/marbastlib)
Both CERN-OHL-P and MIT permit redistribution + modification. Attribution preserved by keeping each library's original LICENSE file untouched.
Parts
62| Qty | Value | Footprint | References |
|---|---|---|---|
| 28 | PG1350 | S1, S2, S10, S11, S12, S13, S14, S15, S16, S17, S18, S19, S20, S21, S22, S23 +12 | |
| 4 | Hole | _2, _3, _4, _5 | |
| 2 | MCP23017 | MCP23017_SOIC-28W | 19.052, 19.053 |
| 1 | lib:text | ||
| 1 | ceoloide:display_nice_view | DISP1 | |
| 1 | kbd:ResetSW | _1 | |
| 1 | E73:SPDT_C128955 | T1 | |
| 1 | BATTERY | battery_pads | BT1 |
| 1 | C1 | passive_0603 | P1 |
| 1 | C2 | passive_0603 | P2 |
| 1 | C3 | passive_0603 | P3 |
| 1 | C4 | passive_0603 | P4 |
| 1 | C5 | passive_0603 | P5 |
| 1 | C6 | passive_0603 | P6 |
| 1 | C7 | passive_0603 | P7 |
| 1 | C8 | passive_0603 | P8 |
| 1 | D1 | passive_0603 | P17 |
| 1 | R1 | passive_0603 | P9 |
| 1 | R2 | passive_0603 | P10 |
| 1 | R3 | passive_0603 | P11 |
| 1 | R4 | passive_0603 | P12 |
| 1 | R5 | passive_0603 | P13 |
| 1 | R6 | passive_0603 | P14 |
| 1 | R7 | passive_0603 | P15 |
| 1 | R8 | passive_0603 | P16 |
| 1 | TP4056 | TP4056_SOP-8 | 19.056 |
| 1 | USBLC6-2SC6 | USBLC6-2SC6_SOT-23-6 | 19.055 |
| 1 | USB_C_Receptacle_HRO_TYPE-C-31-M-12 | USB_C_Receptacle_HRO_TYPE-C-31-M-12 | 19.054 |
| 1 | XC6206P332MR | XC6206_SOT-89-3 | 19.057 |
| 1 | ms88sf3 | ms88sf3 | 19.051 |
The 61 most common of 62 parts.
Questions
How big is the Keyboard left PCB?
It measures 144.2 × 110.8 mm and has 2 copper layers, 1.6 mm thick.
What parts does the Keyboard left use?
62 parts, built around the MCP23017-E/SS, TP4056, USBLC6-2SC6 and XC6206P332MR. 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 Keyboard left KiCad files?
From the lytedev/hypothenar-keyboard repository on GitHub, at the commit this page was made from: the board is routed/keyboard-left.kicad_pcb and its schematic kicad/hypothenar-left/hypothenar-left.kicad_sch. PCBKit opens the board in the browser, with nothing to install.
Can I use the Keyboard left design in my own project?
Its repository states no licence, so its author keeps all rights: ask lytedev before reusing the design.
Similar boards
- 2 layers100 × 90 mm

- 2 layers165.1 × 132.1 mm

- 2 layers180 × 100 mm

Ki pultforsterker main
SebastianKristo/pult-forsterker
Ett kort (180 × 100 mm, 2 lag) som erstatter alle modulene, og som i tillegg har USB-delingsswitch, to AUX-innganger som digitaliseres (så alt kan mikses), «smart relé» for strømmen til forsterkerdelen…
264 partsMIT - 2 layers

- 4 layers100 × 74 mm

Mission board
tmb5932/fixed-wing-drone
The basics needed to allow a RC plane to be turned autonomous on signal.
128 parts - 2 layers80 × 25 mm

- 4 layers45.1 × 45.1 mm

SuperPower uC KiCad
SuperPower/Artemis
All hardware designs and products you can find in this repository is licensed under CERN Open Hardware Licence Version 2 - Weakly Reciprocal
99 parts2 - 2 layers81 × 28.5 mm
