241 lines
5.4 KiB
YAML
241 lines
5.4 KiB
YAML
|
|
meta:
|
|
engine: 4.1.0
|
|
author: phiwan
|
|
|
|
|
|
units:
|
|
kx: cx
|
|
ky: cy
|
|
# halfs
|
|
khx: kx/2
|
|
khy: ky/2
|
|
# padding
|
|
px: kx + 2
|
|
py: ky + 2
|
|
# adjust preview rendering
|
|
$default_width: cx
|
|
$default_height: cy
|
|
|
|
|
|
points:
|
|
zones:
|
|
# main key matrix
|
|
matrix:
|
|
anchor.shift: [170, -170]
|
|
key:
|
|
tags: [key]
|
|
padding: ky
|
|
spread: kx
|
|
columns:
|
|
outer:
|
|
# upper key
|
|
rows.top.column_net: cpinky
|
|
rows.top.row_net: rthumbs
|
|
# lower key
|
|
rows.home.column_net: cring
|
|
rows.home.row_net: rthumbs
|
|
# this column only has 2 keys
|
|
rows.bottom.skip: true
|
|
pinky.key:
|
|
stagger: 5
|
|
column_net: cpinky
|
|
ring.key:
|
|
stagger: 10
|
|
column_net: cring
|
|
middle.key:
|
|
stagger: 7
|
|
column_net: cmiddle
|
|
index.key:
|
|
stagger: -7
|
|
column_net: cindex
|
|
inner.key:
|
|
stagger: 0
|
|
column_net: cinner
|
|
rows:
|
|
bottom.row_net: rbottom
|
|
home.row_net: rhome
|
|
top.row_net: rtop
|
|
# thumb clusters
|
|
thumbs:
|
|
key:
|
|
tags: [key]
|
|
spread: 22
|
|
anchor:
|
|
ref: matrix_inner_bottom
|
|
shift: [-24, -ky]
|
|
columns:
|
|
left.key:
|
|
splay: 0
|
|
column_net: cmiddle
|
|
middle.key:
|
|
splay: -15
|
|
shift: [0, -3]
|
|
column_net: cindex
|
|
right.key:
|
|
splay: -15
|
|
shift: [0, -6]
|
|
column_net: cinner
|
|
rows:
|
|
cluster.row_net: rthumbs
|
|
# screw points
|
|
screws:
|
|
key.tags: [screw]
|
|
key.spread: 0
|
|
anchor:
|
|
ref: matrix_outer_top
|
|
columns:
|
|
left_top.key.shift: [khx+0.3, -3.5]
|
|
left_bottom.key.shift: [khx+0.3, -ky-3.5]
|
|
middle_top.key.shift: [2kx+khx+0.3, ky-3.5]
|
|
middle_bottom.key.shift: [3kx+6, -ky-7]
|
|
right_top.key.shift: [4kx+khx, +6.5]
|
|
right_bottom.key.shift: [5kx+khx+2, -2ky+2]
|
|
|
|
|
|
|
|
outlines:
|
|
keys:
|
|
- what: rectangle
|
|
where: [key]
|
|
size: [kx, ky]
|
|
board:
|
|
- what: polygon
|
|
operation: stack
|
|
points:
|
|
- ref: matrix_outer_top
|
|
shift: [-khx-2,khy+2]
|
|
- ref: matrix_outer_top
|
|
shift: [khx-2,khy+2]
|
|
- ref: matrix_pinky_top
|
|
shift: [-khx-2,khy+2]
|
|
- ref: matrix_pinky_top
|
|
shift: [khx-2,khy+2]
|
|
- ref: matrix_ring_top
|
|
shift: [-khx-2,khy+2]
|
|
- ref: matrix_ring_top
|
|
shift: [khx-2,khy+2]
|
|
- ref: matrix_middle_top
|
|
shift: [-khx-2,khy+2]
|
|
- ref: matrix_middle_top
|
|
shift: [khx+2,khy+2]
|
|
- ref: matrix_index_top
|
|
shift: [-khx+2,khy+2]
|
|
- ref: matrix_inner_top
|
|
shift: [30.6,khy+2]
|
|
- ref: thumbs_right_cluster
|
|
shift: [khx+2,khy+1] # not an error
|
|
- ref: thumbs_right_cluster
|
|
shift: [khx+2,-khy-2]
|
|
- ref: thumbs_right_cluster
|
|
shift: [-khx,-khy-2]
|
|
- ref: thumbs_middle_cluster
|
|
shift: [-khx-1,-khy-2] # not an error
|
|
- ref: thumbs_left_cluster
|
|
shift: [-khx-2,-khy-2]
|
|
- ref: matrix_pinky_bottom
|
|
shift: [khx,-khy-2]
|
|
- ref: matrix_pinky_bottom
|
|
shift: [-khx-2,-khy-2]
|
|
- ref: matrix_outer_home
|
|
shift: [khx-2,-khy-2]
|
|
- ref: matrix_outer_home
|
|
shift: [-khx-2,-khy-2]
|
|
fillet: 2
|
|
combined:
|
|
- name: board
|
|
- operation: stack
|
|
name: keys
|
|
|
|
|
|
pcbs:
|
|
pcb:
|
|
outlines.main.outline: board
|
|
footprints:
|
|
|
|
# hotswap choc
|
|
switches:
|
|
what: choc
|
|
where: [key]
|
|
params:
|
|
keycaps: false # outline on the pcb
|
|
reverse: true
|
|
hotswap: true
|
|
from: "{{column_net}}"
|
|
to: "{{colrow}}"
|
|
|
|
# smd diodes
|
|
diodes:
|
|
what: combo_diode
|
|
where: [key]
|
|
params:
|
|
include_smd: true
|
|
include_tht: false
|
|
reversible: true
|
|
from: "{{colrow}}"
|
|
to: "{{row_net}}"
|
|
adjust:
|
|
shift: [0, -5]
|
|
|
|
# mcu with reversible pins
|
|
xiao_ble:
|
|
what: xiao_ble_smd_reversible
|
|
params:
|
|
D0: "rtop"
|
|
D1: "rhome"
|
|
D2: "rbottom"
|
|
D3: "rthumbs"
|
|
D4: "sda"
|
|
D5: "scl"
|
|
D6: "cinner"
|
|
D10: "cpinky"
|
|
D9: "cring"
|
|
D8: "cmiddle"
|
|
D7: "cindex"
|
|
where:
|
|
ref: matrix_inner_top
|
|
shift: [kx+2, 0]
|
|
|
|
# raw battery pads, no connector
|
|
battery_pads:
|
|
what: pads
|
|
params:
|
|
reverse: true
|
|
net_1: "BAT+"
|
|
net_2: "GND"
|
|
label_1: "+"
|
|
label_2: ""
|
|
space: 1.25
|
|
where:
|
|
ref: matrix_inner_home
|
|
shift: [kx+2, 0]
|
|
|
|
# OLED screen
|
|
# added manually in kicad
|
|
# uses jumpers to make it reversible
|
|
|
|
screws:
|
|
what: mounting_hole
|
|
params:
|
|
drill: 3.6
|
|
where: [screw]
|
|
|
|
# silkscreen
|
|
# added manually in kicad
|
|
# different graphics for front and back
|
|
|
|
# small custom graphics
|
|
# different graphics for front and back
|
|
phi-caps:
|
|
what: phi-caps
|
|
params.scale: 0.013
|
|
where:
|
|
ref: thumbs_left_cluster
|
|
shift: [-2kx-2, 16]
|
|
phi-logo:
|
|
what: phi-logo
|
|
params.scale: 0.011
|
|
where:
|
|
ref: thumbs_left_cluster
|
|
shift: [-2kx+2, 14]
|
|
|