Keyboard Plan

This project uses readily available, open-source components as the starting point to bridge the the requisite skills to design and build a completely custom keyboard, starting from the the PCB design phase. The goal of this project is to build a premium, wireless, split spacebar keyboard powered by ZMK.

PCB and Firmware

Cyber60 PCB

This project uses the Cyber60 board by 4pplet. The board features:

Layout

The following keyboard layout is generated from Keyboard Layout Editor and is useful for many tools which help automate keyboard design such as Plate & Case Builder.

["~\n`","!\n1","@\n2","#\n3","$\n4","%\n5","^\n6","&\n7","*\n8","(\n9",")\n0","_\n-","+\n=",{w:2},"Backspace"],
[{w:1.5},"Tab","Q","W","E","R","T","Y","U","I","O","P","{\n[","}\n]",{w:1.5},"|\n\\"],
[{w:1.75},"Caps Lock","A","S","D","F","G","H","J","K","L",":\n;","\"\n'",{w:2.25},"Enter"],
[{w:2.25},"Shift","Z","X","C","V","B","N","M","<\n,",">\n.","?\n/",{w:2.75},"Shift"],
[{w:1.5},"Ctrl",{w:1.25},"Win",{w:1.5},"Alt",{a:7,w:2.75},"",{w:1},"",{a:7,w:2.75},"",{a:4,w:1.5},"AltGr",{w:1.25},"Win",{w:1.5},"Ctrl"]

ZMK Firmware

Documentation is availble here

Pointing Device Support

Pointing devices are not currently not supported in the release version of ZMK, however, the feature branch from urob has an implementation pending PR.

While it is generally possible to integrate a pointing device with the MCU, there are not enough free accessible pins to do so. Three GPIO pins are needed. Since I will not be using a rotary encoder, ROT_A and ROT_B provide two pins. The third will need to be repurposed from another component. 4pplet recommends using the buzzer or caplock LED, however, modifications are necessary.

Instead, I will implement pointing mouse emulation via IJKL keys.

Inspiration

While gasket-mount case constructions are very popular right now, due to allowing flex in the keyboard, I am not convinced about the value added. My case is designed as a tray-mount. Construction of the case uses a sandwitch design which means that the overall vertical thickness of the case is made up of several layers. The main body of the case will be constructed using stacked leather. This is a technique used in the construction of handles for tools and knives. The process involves compressing leather and then shaping it. This technique is also found in shoemaking. The end result is comparable to wood.

For the overall case design, I’m going for: thick bezels, hard eges, angular. Some references:

Keychron

PBTfans Retro Dark Light keycaps

Design

The body of the case consists of four layers:

Layer Thickness Material
Top plate 5mm Metal
Body 7mm Leather
Transparent diffuser 1/8” Acrylic
Bottom plate 5mm Metal
Base (wedge) 11mm (at thickest) Metal

The most complicated piece is the base which provides the keyboard a 5-degree tilt.

Layers

Bottom Plate

The bottom plate is machined from a single sheet of 1/4” material down to 5mm.

On the top side:

On the bottom side:

Mid Body

The body of the case consists of an acrylic layer (1/8”) and stacked leather. Construction of the stacked leather is covered (here).

For the acrylic piece:

Note the overhang lip on the shorter side: the PCB sits on this surface. In the middle, the PCB is held up by with spacers.

Top Plate

The top plate is machined from a single sheet of 1/4” material down to 5mm.

On the top side:

On the bottom side:

Wedge

The base is machined from a single sheet of 1/2” material.

I have no idea how this is to be done, how complicated it is, or if it is feasible. The general shape is a 5-degree wedge. The additional geometries are visual.

On the top side:

On the bottom side:

Assembly

Construction

Leather Stack

General idea: https://www.instructables.com/Stacked-Leather-Knife-Handle/

The bottom plate and cutout of the PCB tray forms the mold in which to shape the leather. The cutout ensures that inside face is formed precisely.

Wet leather pieces in the shape of the case are then fit between the top and bottom plate and compressed using threaded rods, washers and bolts. It is important to ensure that the leather is uniformly compressed.

Since the interior edge is constrained, the compressed leather will expand towards the outer side. When dry, the excess leather can be cut/sanded off indexed by the top and bottom plate. This should produce a perfectly flush finish.

The leather stack should then be disassembled, glued back together, and polished.

This is how the press assembly works.

Bill Of Materials

etc etc scrap notes

For the metal and acrylic, each plate requires minimally 13”x5” of material.