Add initial Ergogen config and footprints
This commit is contained in:
parent
07c3e0e727
commit
ec2c208ccc
6 changed files with 582 additions and 0 deletions
211
ergogen/config.yaml
Normal file
211
ergogen/config.yaml
Normal file
|
|
@ -0,0 +1,211 @@
|
|||
# Ergogen config for the protoEepyBoard
|
||||
#
|
||||
# Reference information:
|
||||
# - Keycap size (FK MBK keycaps): 17.5mm x 16.5mm
|
||||
|
||||
# Metadata
|
||||
meta:
|
||||
# Required version of Ergogen
|
||||
engine: "4.1.0"
|
||||
# Version of the board
|
||||
version: "1.0"
|
||||
author: binaryDiv
|
||||
|
||||
# Define units and default values used throughout this file
|
||||
units:
|
||||
# Redefine choc units (keycap size + 1mm clearance)
|
||||
cx: 18.5
|
||||
cy: 17.5
|
||||
|
||||
# Size of key rectangle in demo view (keycap size)
|
||||
$default_width: cx-1
|
||||
$default_height: cy-1
|
||||
|
||||
# Actual spacing of keys
|
||||
$default_spread: cx
|
||||
$default_padding: cy
|
||||
|
||||
# Define the points (i.e. keys)
|
||||
points:
|
||||
key:
|
||||
# Tag all points as "is_key" unless overwritten
|
||||
tags: [ is_key ]
|
||||
|
||||
zones:
|
||||
# Primary keyboard zone
|
||||
primary:
|
||||
# Set anchor to fix placement on KiCad sheet
|
||||
anchor:
|
||||
shift: [ 100, -150 ]
|
||||
|
||||
# Key rows (from bottom to top)
|
||||
rows:
|
||||
# Modifier row (Ctrl, ..., but excluding the thumb keys)
|
||||
mod:
|
||||
# Bottom letter row (Shift, Backspace, ZXCV...)
|
||||
bottom:
|
||||
# Middle letter row (Esc, ASDFG...)
|
||||
home:
|
||||
# Top letter row (Tab, QWERT...)
|
||||
top:
|
||||
# Number row (`, 12345...)
|
||||
num:
|
||||
|
||||
# Key columns (from left to right)
|
||||
columns:
|
||||
# Left-most column (`, Tab, Esc, Shift, Ctrl)
|
||||
outer:
|
||||
key.stagger: 0.25cy
|
||||
|
||||
# First letter column (1, QA, ...)
|
||||
one:
|
||||
key.stagger: 0.25cy
|
||||
|
||||
# Second letter column (2, WSZ)
|
||||
two:
|
||||
rows.mod.skip: true
|
||||
|
||||
# Third letter column (3, EDX)
|
||||
three:
|
||||
rows.mod.skip: true
|
||||
|
||||
# Fourth letter column (4, RFC)
|
||||
four:
|
||||
rows.mod.skip: true
|
||||
key.stagger: -0.25cy
|
||||
|
||||
# Fifth letter column (5, TGV)
|
||||
five:
|
||||
rows.mod.skip: true
|
||||
key.stagger: -0.25cy
|
||||
|
||||
# Thumb fan
|
||||
thumb:
|
||||
# Position thumb keys based on the (non-existant) third key in the modifier row
|
||||
anchor:
|
||||
ref: primary_three_mod
|
||||
shift: [ -0.5cx, -0.25cy ]
|
||||
|
||||
# Rotate the thumb keys around the bottom-left corner of the key
|
||||
key:
|
||||
origin: [ -0.5cx, -0.5cy ]
|
||||
splay: -8
|
||||
|
||||
# Define thumb keys
|
||||
columns:
|
||||
one:
|
||||
two:
|
||||
three:
|
||||
four:
|
||||
|
||||
# Generate outlines that can be used in the PCB and for 3D models
|
||||
outlines:
|
||||
# Outline of the key caps
|
||||
keys:
|
||||
- what: rectangle
|
||||
where: is_key
|
||||
size: [ cx-1, cy-1 ]
|
||||
|
||||
# Outline for the PCB
|
||||
board:
|
||||
- what: polygon
|
||||
points:
|
||||
- ref: primary_outer_num
|
||||
shift: [ -0.5cx, 0.75cy ]
|
||||
- ref: primary_five_num
|
||||
shift: [ 1.5cx + 0, 1.0cy ]
|
||||
- ref: primary_five_num
|
||||
shift: [ 1.5cx + 0, 1.0cy - 32 ]
|
||||
- ref: thumb_four
|
||||
shift: [ 0.5cx, 0.5cy ]
|
||||
- ref: thumb_four
|
||||
shift: [ 0.5cx, -0.5cy ]
|
||||
- ref: primary_outer_mod
|
||||
shift: [ -0.5cx, -0.5cy ]
|
||||
expand: 4
|
||||
|
||||
# Preview version of board with key caps and components for visualization
|
||||
board_preview:
|
||||
- board
|
||||
- ^keys
|
||||
# Pro Micro board - TODO: position?
|
||||
- what: rectangle
|
||||
operation: stack
|
||||
where: primary_five_num
|
||||
size: [ 18, 32 ]
|
||||
adjust.shift: [ cx + 2, 0.25cy ]
|
||||
|
||||
# Cutouts for the switches
|
||||
switch_cutouts:
|
||||
- what: rectangle
|
||||
where: is_key
|
||||
size: 14
|
||||
|
||||
# Board outline with switch cutouts
|
||||
switch_plate:
|
||||
- board
|
||||
- -switch_cutouts
|
||||
|
||||
# Generate the PCB
|
||||
pcbs:
|
||||
protoeepyboard:
|
||||
outlines:
|
||||
main:
|
||||
outline: board
|
||||
|
||||
footprints:
|
||||
choc_hotswap:
|
||||
what: choc_pretty
|
||||
where: is_key
|
||||
# Rotate footprint so that the hotswap socket is at the bottom and the LED can be at the top
|
||||
adjust.rotate: 180
|
||||
params:
|
||||
keycaps: true
|
||||
reverse: true
|
||||
hotswap: true
|
||||
from: "{{colrow}}"
|
||||
to: "{{row_net}}"
|
||||
|
||||
diode:
|
||||
what: diode_smd
|
||||
where: is_key
|
||||
adjust:
|
||||
shift: [ 0, 4.7 ]
|
||||
rotate: 180
|
||||
params:
|
||||
side: B
|
||||
from: "{{colrow}}"
|
||||
to: "{{column_net}}"
|
||||
|
||||
controller:
|
||||
what: promicro_modified
|
||||
where:
|
||||
ref: primary_five_num
|
||||
rotate: -90
|
||||
shift: [ cx + 2, cy - 14 ]
|
||||
params:
|
||||
orientation: up
|
||||
|
||||
# TODO: Place reset button
|
||||
# reset_button:
|
||||
# what: button_6x6
|
||||
# where:
|
||||
# # TODO: Where?
|
||||
# ref: pad_four_five
|
||||
# shift: [ 0, 15 ]
|
||||
# params:
|
||||
# side: B
|
||||
# from: GND
|
||||
# to: RST
|
||||
|
||||
# Mounting holes
|
||||
# TODO: Place these
|
||||
# mounting_hole_top_left:
|
||||
# what: mountinghole_m2
|
||||
# where:
|
||||
# ref: pad_one_five
|
||||
# shift: [ -8, 15 ]
|
||||
|
||||
# TODO: Route all unused pins (+ VCC and GND) to a pin header on the board for potential future use
|
||||
|
||||
# TODO: Buy fitting pin sockets and/or pin headers :/
|
||||
Loading…
Add table
Add a link
Reference in a new issue