Skip to content

Repository files navigation

Temporal

License

A 36-42 key split ergonomic keyboard with wireless support, a breakoff pinky column, and optional encoders in the thumb cluster.

Temporal Preview

Temporal tilt shot Temporal angle shot

Design

Layout

  • 36-42 keys depending on configuration:
    • 42/41/40 keys (0/1/2 encoders) with full pinky column
    • 38/37/36 keys (0/1/2 encoders) with breakoff pinky column
  • Column stagger and splay on pinky and ring columns

Hardware

  • Kailh Choc v1 or v2 low-profile switches, with optional hotswap sockets
  • nice!nano or other Pro Micro compatible microcontrollers
  • Optional nice!view display
  • Optional EC11/EC12 rotary encoders in thumb cluster (up to 2)
  • Wireless with battery support
  • Reversible PCB
  • 3D-printable cases, with an optional kickstand for tenting

Tools

  • Ergogen generates the layout, PCB, plates, and cases from ergogen/config.yaml
  • KiCad v10 holds the hand-routed traces; its pcbnew API and kicad-cli drive the scripted post-processing and the exports

Firmware

Temporal runs ZMK. The shield definition and default keymap live in temporal-zmk; curbol/zmk-config is a working config that uses it.

Build Guide

docs/build-guide.md covers assembly and ordering. docs/bom.md lists every component a full build needs.

Keycaps

Any Choc-compatible keycap fits. KLP Lame Keycaps are 3D-printable and sculpted; docs/bom.md lists the print quantities for a full build.

Development

Prerequisites

  • Node.js and npm
  • A package manager make deps can drive: Homebrew on macOS, or pacman and yay on Arch Linux

Setup

  1. Install dependencies (OpenSCAD, KiCad, zip/unzip, Maple Mono NF font, and KiCad plugins):
make deps
  1. Generate PCBs and cases:
make gen

This will:

  • Run Ergogen to generate PCB and case files
  • Derive temporal.json, the ZMK Studio physical layout, from the same points
  • Post-process PCBs (edge cuts, silkscreen widths, ground planes, text keepouts, via stitching, zone fills, embedded fonts)
  • Configure KiCad project files with defaults from scripts/kicad_config.yaml
  • Derive the top_plate_*_stealth variants from the generated top plates
  • Render assets/preview.svg and a pcb.png per board
  • Export gerbers for manufacturing
  • Generate the JLCPCB BOM and CPL files in jlcpcb/
  • Generate STL case files

Note: The main pcbs/temporal/ PCB requires manual steps in KiCad after generation. See pcbs/temporal/README.md for details.

Verifying

make check

Confirms the sources parse and lint, ergogen/config.yaml builds, every committed board passes DRC and carries its own silkscreen font, and the pours in pcbs/ still match the custom DRC rules. It then regenerates each committed derived artifact and diffs it against what is checked in: temporal.json, jlcpcb/, the .kicad_pro and .kicad_dru files, and the gerber zips. This is what CI runs on every push.

Influences

Temporal takes influence from:

Support

Buy Me a Coffee at ko-fi.com

About

Temporal is a 36-42 key split ergonomic keyboard with wireless support. Features a breakoff pinky column and optional encoders in the thumb cluster.

Topics

Resources

Stars

43 stars

Watchers

1 watching

Forks

Releases

Sponsor this project

Packages

Contributors

Languages