Skip to content

JRiggles/DELPHI-kbd

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

DELPHI_KBD logo in white

Hardware v1.0.2, Software v1.1.2 © 2022-241 Static Badge

Dual Ergolinear Low-Profile Human Interface

DELPHI is a minimal split mechanical keyboard designed to combine ergonomics and an ortholinear layout into a small form factor.

Photo of assembled keyboard with PCB plates and the 'HP' version of the 'Edge Case'

Keyboard Layout Editor layout
Layout (yes, it's COLEMAK)

Features

  • "Ergolinear" layout combines an ortholinear (columnar) layout with staggered pinky rows for ergonomics
    • Outermost 2 columns on each half are staggered down 1U for easier reach
  • Kailh "Choc" low-profile mechanical switches
  • Hot-swappable sockets
  • Split board (optional, I suppose)
  • 40-42 keys (40%) total [20-21 keys on each half]
  • Thumb cluster on each half supports a 3×1U or a 1×1U + 1×2U layout
  • Wired connection to PC (either half can be connected via USB)
  • Wired connection between Left and Right boards (via Adafruit STEMMA QT)
  • Dimensions: 4.65" × 3.15" (118mm × 80mm) [each half]
  • Adafruit QT Py RP2040 microcontroller (2×)
    • USB C
    • Raspberry Pi RP2040 chip
    • STEMMA QT connector (a.k.a. Qwiic)

Important

A STEMMA QT cable (or compatible equivalent, such as a SparkFun Qwiic cable) is required to connect the halves
300mm or 400mm length is recommended. The cable pictured above is 300mm long.


DELPHI might also work with the SAMD21 Adafruit QT PY as long as you solder on the "optional"* 2MB SPI Flash IC, but I haven't been able to get this board to work on Windows 11 (YMMV).

*KMK firmware will not fit on this board without the extra Flash memory.

PCB Renders

PCB render front view
PCB top view

PCB render rear view
PCB bottom view

Accessories

PCB top and bottom plates

Note

  • One plate set covers one half of DELPHI - you'll need to use two sets to cover both halves
  • The main PCB mounts to bottom plate via qty. 5 M2×6mm standoffs per-half
  • It's recommended that you use at least the bottom plate on each half of DELPHI in order to protect the components and avoid hitting the microcontroller's reset / boot buttons

PCB render front view
Plates front view (i.e., left side top and bottom plates) - photo here

PCB render rear view
Plates rear view (i.e., right side bottom and top plates) - photo here

3D printable case: the "Edge Case"

Note

  • This case assumes you're using at least the bottom PCB plate (in addition to the main PCB)
  • The STL is for the LEFT side; it will need to be mirrored in your slicer of choice to accommodate the RIGHT side

There are two case variants:

  • Edge Case LP (low-profile, lines up with bottom plate and main PCB)
  • Edge Case HP (high-profile, lines up with bottom plate and top plate; pictured above on assembled keyboard)

Presupported Lychee Slicer scene files (*.lys) are included for each case variant

Software

Software Setup

The setup for DELPHI essentially follows the TL;DR Quick start guide for KMK, with some changes:

  1. Connect the LEFT half of DELPHI to your computer via USB
  2. Download and install CircuitPython for the Adafruit QT Py RP2040
  3. Rename the CIRCUITPY USB drive to DELPHI_L (must be exactly this!)
  4. Download and unzip KMK Firmware
  5. Download DELPHI boot.py
  6. Download DELPHI main.py
  7. Copy the kmk folder to the root of the DELPHI_L drive
  8. Copy boot.py to the root of the DELPHI_L drive2
  9. Copy main.py to the root of the DELPHI_L drive
  10. Eject the DELPHI_L USB drive and disconnect it from your computer
  11. Repeat these steps for the RIGHT half of DELPHI, being sure to rename the CIRCUITPY drive to DELPHI_R at step 3 (must be exactly this!)

TODO

  • Build guide?
  • Update to CircuitPython 9.0.4
  • Test printing the Edge Case LP
  • Test printing the Edge Case HP
  • Peg compatibility? - if I can figure it out...

Apparently Peg doesn't play nicely with KMK's "Stringy Keymaps", inline comments in keymaps, or hold-tap keycodes. Support for Peg is on hold until further notice.

Footnotes

  1. Hardware/software versions will (try to) adhere to SEMVER. It is my intention that hardware and software which share a MAJOR version will be compatible with one another (e.g., hardware version 1.2.3 will still be compatible with software version 1.0.0)

  2. As of firmware v1.1.0, DELPHI hides the CircuitPython USB drive by default. To mount the drive, hold the corresponding homing key (e.g. "T" on the left half or "N" on the right half) while connecting the board. To disable this feature, simply leave the boot.py file empty.

About

Dual Ergolinear Low-Profile Human Interface

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages