Skip to the content
2 layers141.8 × 109.2 mmSkoldpad, the printed circuit board in 3D

Sköldpad 1.0 - a columnar-staggered split keyboard built with ergogen and KiCad

Size
141.8 × 109.2 mm
Copper layers
2
Thickness
1.6 mm
Parts
94
Nets
74
Pads
760
Tracks, vias
968, 8
Pours
585
Routed
Yes
KiCad
KiCad 7 (file 20221018)
Created
2 Jul 2026
Updated
15 Jul 2026

Overview

Skoldpad is an open-source printed circuit board by martisak, from the martisak/skoldpad repository on GitHub. It is a 2-layer board of 141.8 × 109.2 mm with 94 parts on 74 nets, routed with 968 tracks and 8 vias.

Its parts include 47 switches and 23 diodes. It belongs with the keyboards and input boards and the nRF52 and nRF5x boards of this library.

README

README.md

Sköldpad logo

A split, columnar-staggered keyboard built around a nice!nano MCU with a rotary encoder, laid out with ergogen and routed in KiCad. It's based on/inspired by josukey (MIT licensed), an ergogen-based Corne clone.

Firmware (ZMK, with a custom keymap tuned for Swedish input and coding symbols) lives in its own repo: martisak/zmk-config.

Renders

Prerequisites

  • Node
  • KiCad (to open/edit the PCB)

Getting Started

bash
git clone https://github.com/martisak/skoldpad.git
cd skoldpad
npm i

Ergogen

The layout lives in ergogen/config.yaml.

Build

Runs Ergogen and builds all of the output files (outlines, case, PCB skeleton) into ergogen/output.

bash
npm run ergogen:build

Watch

Watches config.yaml and the footprints directory and re-runs the build on changes.

bash
npm run ergogen:watch

KiCad

The hand-routed PCB lives at ergogen/kicad/skoldpad.kicad_pcb (along with the schematic, 3D step model, and the custom Skoldpad.pretty footprint library it depends on) — open ergogen/kicad/skoldpad.kicad_pro in KiCad.

Sköldpad PCB layout

Regenerate these from the routed board with make schematics (requires kicad-cli and Python 3 on PATH); see the Makefile.

Firmware

Firmware and keymap are maintained separately at martisak/zmk-config:

bash
git clone git@github.com:martisak/zmk-config.git

It's a nice!nano ZMK build with its own keymap (not based on Miryoku), tuned for the macOS Swedish layout — base layer plus NUM, FUNC, and directional layers. Builds run in GitHub Actions on every push; grab the .uf2 artifacts from the latest successful run.

The PCB footprints support a nice!view display — this should work but hasn't been tested yet.

Case

The case is designed in Shapr3D (viewable in 3D at that link) and 3D printed. STL files for both halves (top and bottom shells) are in case/:

Bill of Materials

Quantities below are per half; this design is one hand's PCB, fabricated twice (one normal, one mirrored) for a complete pair — double everything for a full two-hand build.

This PCB is Choc v1 (PG1350) only. The switch footprint's center hole and stabilizer-leg positions don't match Choc v2 or MX, so neither is a drop-in substitution — see Future Work.

PartQty/halfNotes
nice!nano1MCU, one per half (each half is an independent BLE unit)
nice!view1Display — untested, see Known Issues; optional
Panasonic EVQWGD001 rotary encoder1⚠️ Discontinued by Panasonic — check old-stock listings (e.g. Jotrin) or plan to substitute a pin-compatible EVQW-series encoder
Kailh Choc v1 switch23See Future Work — v2 is the recommended switch going forward
Kailh PG1350 hotswap socket23Choc v1 hotswap socket, e.g. Chosfox
SOD-123W diode (e.g. 1N4148W)23Standard keyboard-matrix switching diode
JST PH 2-pin connector (S2B-PH-K, 2.0mm)1Battery connector
LiPo battery (JST PH 2-pin)1Capacity not specified by the design — pick to fit the case
Kailh PCM12 SPDT slide switch1Power on/off
Würth WS-TASV SMT tactile switch (434121025816)1Reset button
M2 screws + threaded inserts/standoffs11 setsOne per mounting point in config.yaml (screw_* positions)
1u keycap (Choc profile)21
1.5u keycap (Choc profile)2Thumb keys — see Known Issues re: rotation

Not in the PCB itself but needed to finish a build: the 3D-printed case (see Case section above) and a filament of your choice.

Known Issues

  • The two thumb keys should be rotated to accept a 1.5u keycap, as shown in the renders.
  • nice!view support is untested — should work per the footprint, but not confirmed on hardware.
  • The case's screw posts are thin and prone to cracking when installing the threaded inserts (see Bill of Materials — M2 screws + threaded inserts/standoffs); consider thickening the posts in the Shapr3D model or heat-setting inserts more carefully.

Future Work

  • Move to Choc v2 switches — currently on v1, which has a smaller center post than v2.
  • Test compatibility with full-size MX switches.
  • Test nice!view once one arrives (currently on order).
  • Update the BOM's rotary encoder — the specified Panasonic EVQWGD001 is discontinued; find and validate a pin-compatible replacement.
  • Consider per-key LEDs instead of underglow — underglow would need a transparent case, which the current 3D-printed design isn't.

License

Code (footprint generator scripts, build tooling) is MIT. The hardware design (PCB, schematic, case, and ergogen layout) is CC BY-NC-SA 4.0, matching the license of the nice!nano and nice!view footprints it incorporates (see Thanks below).

Thanks

AI Disclosure

Claude (Anthropic) assisted with README and documentation polish — drafting and formatting text (including the BOM table and general presentation of this repo) from the author's own notes and decisions. The design, PCB, firmware, fabrication work, and content substance (including Known Issues and Future Work) are the author's own.

Parts

94
QtyValueFootprintReferences
46PG1350S1, S2, S10, S11, S12, S13, S14, S15, S16, S17, S18, S19, S20, S21, S22, S23 +30
23Nexperia_CFP3_SOD-123WDiode_SMD:Nexperia_CFP3_SOD-123WD1, D2, D10, D11, D12, D13, D14, D15, D16, D17, D18, D19, D20, D21, D22, D23 +7
11MountingHole_2.2mm_M2_Pad_ViaH1, H2, H3, H4, H5, H6, H7, H8, H9, H10, H11
4lib:text, , ,
2LOGOSkoldpad:tankG***, G***
2LOGOSkoldpad:shieldpadG***, G***
1Button_Switch_SMD:SW_SPDT_PCM12T1
1nice_nanoMCU1
1434121025816S48
1Connector_JST:JST_PH_S2B-PH-K_1x02_P2.00mm_Horizontal_1
1nice!viewDISP1

The 93 most common of 94 parts.

Similar boards

  • 2 layers102 × 85 mmSuperflat, the printed circuit board in 3D

    Superflat

    hackclub/OnBoard

    💡 Join 1,000 teenagers and make your first PCB with a $100 grant!

    94 parts915
  • 2 layers58 × 71 mmMLX90640-allsky, the printed circuit board in 3D

    MLX90640-allsky

    eddyem/stm32samples

    Code samples and ready projects based on bare-metal STM32

    94 parts208
  • 2 layers45.2 × 146.8 mmVca, the printed circuit board in 3D

    Vca

    nickajeglin/Eurorack-pcbs

    A collection of easy to solder DIY eurorack PCB's

    94 parts208
  • 2 layers62.3 × 64.3 mmCapacitor alarm clock, the printed circuit board in 3D

    Capacitor alarm clock

    ArcaEge/capacitor-alarm-clock

    capacitor blow up human wake up

    94 parts156MIT
  • 2 layers180 × 160 mmIidx pico, the printed circuit board in 3D

    Iidx pico

    whowechina/iidx_pico

    Pico beatmania IIDX controller

    94 parts125
  • 2 layers145.7 × 107.8 mmTRS IO++, the printed circuit board in 3D

    TRS IO++

    apuder/TRS-IO

    TRS-IO gives a TRS-80 Model 1/III online capabilities and provides access to a variety of services. TRS-IO currently features the following capabilities:

    94 parts75GPL-3.0
  • 2 layers49.6 × 37.2 mmLocateMagnet, the printed circuit board in 3D

    LocateMagnet

    Aiano/LocateMagnet

    磁定位系统

    94 parts64
  • 2 layers65 × 40 mmNF6-MCP2210-v01, the printed circuit board in 3D

    NF6-MCP2210-v01

    nanofury/NanoFury

    NanoFury Project

    94 parts62GPL-3.0

Questions

How big is the Skoldpad PCB?

It measures 141.8 × 109.2 mm and has 2 copper layers, 1.6 mm thick.

What parts does the Skoldpad use?

94 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 Skoldpad KiCad files?

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

Can I use the Skoldpad design in my own project?

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