Ergogen: Rework layout for eepyBoard rev3

This commit is contained in:
Lexi / Zoe 2025-01-11 18:48:28 +01:00
parent 053df48ad1
commit 6ad3791b0e
Signed by: binaryDiv
GPG Key ID: F8D4956E224DA232
1 changed files with 204 additions and 296 deletions

View File

@ -8,7 +8,7 @@ meta:
# Required version of Ergogen # Required version of Ergogen
engine: "4.1.0" engine: "4.1.0"
# Version of the board # Version of the board
version: "1.1" version: "1.2"
author: binaryDiv author: binaryDiv
# Define units and default values used throughout this file # Define units and default values used throughout this file
@ -30,13 +30,13 @@ units:
$default_padding: cy $default_padding: cy
# Vertical offset between function key row and main zone # Vertical offset between function key row and main zone
function_offset: 3 function_row_offset: 3
# Horizontal offset/gap between function key groups (Esc, F1-F4, F5-F8, F9-F12) # Outline border (border between keys and PCB edge)
function_gap: 6 border_left: -6
border_right: 6
# Distance between left and right half of the main zone border_top: 5
split_gap_width: 2cx + 3 border_bottom: -4
# Radius of rotary encoder knob (just for visualization) # Radius of rotary encoder knob (just for visualization)
rotary_encoder_radius: 10 rotary_encoder_radius: 10
@ -62,132 +62,118 @@ points:
# Modifier row (Ctrl etc., but excluding the thumb keys) # Modifier row (Ctrl etc., but excluding the thumb keys)
mods: mods:
row_net: ROW1 row_net: ROW1
led_next_key: "{{zone.name}}_{{neighbor_col_left}}_{{row}}" led_next_key: "{{zone.name}}_{{neighbor_col_right}}_{{row}}"
tags: [ is_key, flip_led ]
# Bottom letter row # Bottom letter row
bottom: bottom:
row_net: ROW2 row_net: ROW2
led_next_key: "{{zone.name}}_{{neighbor_col_right}}_{{row}}" led_next_key: "{{zone.name}}_{{neighbor_col_left}}_{{row}}"
tags: [ is_key, flip_led ]
# Home letter row # Home letter row
home: home:
row_net: ROW3 row_net: ROW3
led_next_key: "{{zone.name}}_{{neighbor_col_left}}_{{row}}" led_next_key: "{{zone.name}}_{{neighbor_col_right}}_{{row}}"
tags: [ is_key, flip_led ]
# Top letter row # Top letter row
top: top:
row_net: ROW4 row_net: ROW4
led_next_key: "{{zone.name}}_{{neighbor_col_right}}_{{row}}" led_next_key: "{{zone.name}}_{{neighbor_col_left}}_{{row}}"
tags: [ is_key, flip_led ]
# Number row # Number row
numbers: numbers:
row_net: ROW5 row_net: ROW5
led_next_key: "{{zone.name}}_{{neighbor_col_left}}_{{row}}" led_next_key: "{{zone.name}}_{{neighbor_col_right}}_{{row}}"
tags: [ is_key, flip_led ]
# Key columns (from left to right) # Key columns (from left to right)
columns: columns:
# Left-most column (extra keys) # Left-most column (`, Tab, Shift, etc.)
left: left:
key.column_net: COL1 key.column_net: COL1
key.neighbor_col_right: zero
rows.numbers.led_next_key: main_left_top
rows.home.led_next_key: main_left_bottom
# Use placeholder to mark end of the RGB LED chain (unused net name)
rows.mods.led_next_key: END_OF_CHAIN
# Modifier column (`, Tab, Shift, etc.)
zero:
key.stagger: 1/8cy
key.column_net: COL2
key.neighbor_col_left: left
key.neighbor_col_right: one key.neighbor_col_right: one
rows.top.led_next_key: main_left_home
rows.bottom.led_next_key: main_left_mods
# First letter column (1, Q) # First letter column (1, Q)
one: one:
key.stagger: 1/8cy key.column_net: COL2
key.column_net: COL3 key.neighbor_col_left: left
key.neighbor_col_left: zero
key.neighbor_col_right: two key.neighbor_col_right: two
rows.mods.led_next_key: thumb_one
# Second letter column (2, W) # Second letter column (2, W)
two: two:
key.stagger: 1/8cy key.column_net: COL3
key.column_net: COL4
key.neighbor_col_left: one key.neighbor_col_left: one
key.neighbor_col_right: three key.neighbor_col_right: three
rows.mods.skip: true rows.mods.skip: true
# Third letter column (3, E) # Third letter column (3, E)
three: three:
key.column_net: COL5 key.column_net: COL4
key.neighbor_col_left: two key.neighbor_col_left: two
key.neighbor_col_right: four key.neighbor_col_right: four
rows.mods.skip: true rows.mods.skip: true
# Fourth letter column (4, R) # Fourth letter column (4, R)
four: four:
key.stagger: -(1/4cy) key.column_net: COL5
key.column_net: COL6
key.neighbor_col_left: three key.neighbor_col_left: three
key.neighbor_col_right: five key.neighbor_col_right: five
rows.mods.skip: true rows.mods.skip: true
# Fifth letter column (5, T) # Fifth letter column (5, T)
five: five:
key.stagger: -(1/4cy) key.column_net: COL6
key.column_net: COL7
key.neighbor_col_left: four key.neighbor_col_left: four
key.neighbor_col_right: six key.neighbor_col_right: six
rows.top.led_next_key: arrow_keys_up
rows.bottom.led_next_key: arrow_keys_down
rows.mods.skip: true rows.mods.skip: true
# (Gap with arrow keys in the middle: Matrix column 8)
# Sixth letter column (6, Y) # Sixth letter column (6, Y)
six: six:
key.spread: cx + split_gap_width key.column_net: COL7
key.column_net: COL9
key.neighbor_col_left: five key.neighbor_col_left: five
key.neighbor_col_right: seven key.neighbor_col_right: seven
rows.home.led_next_key: arrow_keys_right
rows.mods.skip: true rows.mods.skip: true
# Seventh letter column (7, U) # Seventh letter column (7, U)
seven: seven:
key.stagger: 1/4cy key.column_net: COL8
key.column_net: COL10
key.neighbor_col_left: six key.neighbor_col_left: six
key.neighbor_col_right: eight key.neighbor_col_right: eight
rows.mods.skip: true rows.mods.skip: true
# Eighth letter column (8, I) # Eighth letter column (8, I)
eight: eight:
key.stagger: 1/4cy key.column_net: COL9
key.column_net: COL11
key.neighbor_col_left: seven key.neighbor_col_left: seven
key.neighbor_col_right: nine key.neighbor_col_right: nine
rows.mods.skip: true rows.mods.skip: true
# Nineth letter column (9, O) # Nineth letter column (9, O)
nine: nine:
key.column_net: COL12 key.column_net: COL10
key.neighbor_col_left: eight key.neighbor_col_left: eight
key.neighbor_col_right: ten key.neighbor_col_right: ten
rows.mods.skip: true rows.mods.skip: true
# Tenth letter column (0, P) # Tenth letter column (0, P)
ten: ten:
key.stagger: -(1/8cy) key.column_net: COL11
key.column_net: COL13
key.neighbor_col_left: nine key.neighbor_col_left: nine
key.neighbor_col_right: eleven key.neighbor_col_right: eleven
rows.mods.led_next_key: mirror_thumb_one
# Eleventh letter column (-, [) # Eleventh letter column (-, [)
eleven: eleven:
key.stagger: -(1/8cy) key.column_net: COL12
key.column_net: COL14
key.neighbor_col_left: ten key.neighbor_col_left: ten
key.neighbor_col_right: twelve key.neighbor_col_right: twelve
# Twelfth letter column (=, ]) # Twelfth letter column (=, ])
twelve: twelve:
key.stagger: -(1/8cy) key.column_net: COL13
key.column_net: COL15
key.neighbor_col_left: eleven key.neighbor_col_left: eleven
rows.top.led_next_key: main_twelve_home key.neighbor_col_right: right
rows.bottom.led_next_key: main_twelve_mods rows.numbers.led_next_key: main_right_top
# Right-most column (Enter, Shift etc.)
right:
key.column_net: COL14
key.neighbor_col_left: twelve
# Skip right-most key in numbers row because that wouldn't fit with the controller board
rows.numbers.skip: true
rows.home.led_next_key: main_right_bottom
# Use placeholder to mark end of the RGB LED chain (unused net name)
rows.mods.led_next_key: END_OF_CHAIN
# Thumb fan # Thumb fan
thumb: thumb:
@ -199,224 +185,137 @@ points:
# Zone-wide key settings # Zone-wide key settings
key: key:
row_net: ROW1 row_net: ROW1
tags: [ is_key, flip_led ]
# Rotate the thumb keys around the bottom-left corner of the key # Rotate the thumb keys around the bottom-left corner of the key
origin: [ -0.5cx, -0.5cy ] origin: [ -0.5cx, -0.5cy ]
splay: -6 splay: -4
# Define thumb keys # Define thumb keys
columns: columns:
one: one:
key.column_net: COL4 key.column_net: COL3
key.mirror.column_net: COL12
key.led_next_key: main_one_mods
key.mirror.led_next_key: mirror_thumb_two
two:
key.column_net: COL5
key.mirror.column_net: COL11
key.led_next_key: thumb_one
key.mirror.led_next_key: mirror_thumb_three
three:
key.column_net: COL6
key.mirror.column_net: COL10 key.mirror.column_net: COL10
key.led_next_key: thumb_two key.led_next_key: thumb_two
key.mirror.led_next_key: mirror_thumb_four key.mirror.led_next_key: main_ten_mods
four: two:
key.column_net: COL7 key.column_net: COL4
key.mirror.column_net: COL9 key.mirror.column_net: COL9
key.led_next_key: thumb_three key.led_next_key: thumb_three
key.mirror.led_next_key: thumb_center key.mirror.led_next_key: mirror_thumb_one
three:
key.column_net: COL5
key.mirror.column_net: COL8
key.led_next_key: thumb_center
key.mirror.led_next_key: mirror_thumb_two
# Mirror the thumb fan # Mirror the thumb fan
mirror: mirror:
ref: main_five_bottom ref: main_five_bottom
shift: [ 0.5cx, 0.5cy ] shift: [ 0.5cx, 0.5cy ]
distance: split_gap_width
# Single key centered between thumb keys # Single key centered between thumb keys (space key)
thumb_center: thumb_center:
anchor: anchor:
# Center between the two inner thumb keys # Center between the two inner thumb keys
aggregate.parts: aggregate.parts:
- thumb_four - thumb_three
- mirror_thumb_four - mirror_thumb_three
shift: [ 0, -0.25cy ] shift: [ 0, -0.125cy ]
# Key settings (instead of rows/columns) # Key settings (instead of rows/columns)
key: key:
width: 1.5kcx width: 1.5kcx
row_net: ROW1 row_net: ROW1
column_net: COL8 column_net: COL6
led_next_key: thumb_four led_next_key: mirror_thumb_three
tags: [ is_key, 1_5u ] tags: [ is_key, flip_led, 1_5u ]
# Arrow keys in the middle of the keyboard
# In the matrix, these keys act as 4 keys in a single column (column 8, row 2 to 5)
arrow_keys:
anchor:
# Center between the V and B keys, then shift down half a key
aggregate.parts:
- main_five_bottom
- main_six_bottom
shift: [ 0, -cy/2 ]
# Assign all keys to the same column
key:
column_net: COL8
rows:
# Bottom row: Only the down key
bottom:
row_net: ROW2
tags: [ is_key, flip_led ]
# Center row: Left and right keys (shifted to the left to center them)
center:
adjust.shift: [ -cx/2, 0 ]
# Use ROW3 for the left key and ROW5 for the right key (overridden in columns)
row_net: ROW3
# Top row: Only the up key
top:
row_net: ROW4
tags: [ is_key, flip_led ]
columns:
# Left column: Up, left, down keys
left:
rows.top:
name: arrow_keys_up
led_next_key: main_six_top
rows.center:
name: arrow_keys_left
led_next_key: main_five_home
rows.bottom:
name: arrow_keys_down
led_next_key: main_six_bottom
# Right column: Only right key (assigned to matrix row 5)
right:
rows.top.skip: true
rows.center:
name: arrow_keys_right
row_net: ROW5
led_next_key: arrow_keys_left
rows.bottom.skip: true
# Function key row above the main zone (Esc, F1-F12) # Function key row above the main zone (Esc, F1-F12)
function: function:
# Position function key row above main zone with 3mm of vertical offset # Position function key row above main zone with a vertical offset
anchor: anchor:
# To center the F keys on the top of the keyboard: ref: main_left_numbers
# - Get center point between keys 3 and 8 (they have the highest staggering) shift: [ 0, cy + function_row_offset ]
# - Shift upwards by one key + an offset to have a small gap
# - Shift to the left by 7 keys (Esc, F1-F6) + the gaps between the F key groups.
aggregate.parts:
- main_three_numbers
- main_eight_numbers
shift: [ -6.5cx - 2 * function_gap, cy + function_offset ]
# Single row zone: Assign row net # Single row zone: Assign row net
key: key:
row_net: ROW6 row_net: ROW6
tags: [ is_key, flip_led ]
# Define function keys # Define function keys
columns: columns:
# Escape key # Escape key
esc: esc:
key.shift: [ 0, -cy/8 ]
key.column_net: COL1 key.column_net: COL1
key.led_next_key: function_f1 key.led_next_key: main_left_numbers
# Esc is the first key in the RGB LED chain.
# The first LED needs to run on a lower voltage (see explanation below).
key.led_vcc_net: VCC_first_led
# Block of 4 keys with gap # F1 to F12 keys
f1: f1:
key.spread: cx + function_gap
key.column_net: COL2 key.column_net: COL2
key.led_next_key: function_f2 key.led_next_key: function_esc
f2: f2:
key.column_net: COL3 key.column_net: COL3
key.led_next_key: function_f3 key.led_next_key: function_f1
f3: f3:
key.column_net: COL4 key.column_net: COL4
key.led_next_key: function_f4 key.led_next_key: function_f2
f4: f4:
key.column_net: COL5 key.column_net: COL5
key.led_next_key: function_f5 key.led_next_key: function_f3
# Block of 4 keys with gap
f5: f5:
key.spread: cx + function_gap
key.column_net: COL6 key.column_net: COL6
key.led_next_key: function_f6 key.led_next_key: function_f4
f6: f6:
key.column_net: COL7 key.column_net: COL7
key.led_next_key: function_f7 key.led_next_key: function_f5
# Skip matrix column 8 (arrow keys)
f7: f7:
key.column_net: COL9 key.column_net: COL8
key.led_next_key: function_f8 key.led_next_key: function_f6
f8: f8:
key.column_net: COL10 key.column_net: COL9
key.led_next_key: function_f9 key.led_next_key: function_f7
# Block of 4 keys with gap
f9: f9:
key.spread: cx + function_gap key.column_net: COL10
key.column_net: COL11 key.led_next_key: function_f8
key.led_next_key: function_f10
f10: f10:
key.column_net: COL12 key.column_net: COL11
key.led_next_key: function_f11 key.led_next_key: function_f9
f11: f11:
key.column_net: COL13 key.column_net: COL12
key.led_next_key: function_f12 key.led_next_key: function_f10
f12: f12:
key.column_net: COL14 key.column_net: COL13
key.led_next_key: main_twelve_numbers key.led_next_key: function_f11
# F12 is the first key in the RGB LED chain.
# RP2040 Pico Mini controller board # The first LED needs to run on a lower voltage (see explanation below).
controller: key.led_vcc_net: VCC_first_led
anchor:
# Place in the center of the keyboard, above the arrow keys
aggregate.parts:
- main_five_numbers
- main_six_numbers
shift: [ 0, 1.5 ]
# This is an auxiliary point to place the controller, not an actual key
key:
tags: [ is_controller ]
width: 18
height: 36
# Rotary encoder in the center of the keyboard (on top of the controller board)
rotary_center:
anchor:
ref: controller
rotate: -90
key:
tags: [ is_rotary_encoder ]
width: 2 * rotary_encoder_radius
height: 2 * rotary_encoder_radius
# Matrix position of the switch: between F7 and F8
row_net: ROW6
column_net: COL8
# Rotary encoder in the top right corner of the keyboard # Rotary encoder in the top right corner of the keyboard
rotary_top_right: rotary_top_right:
anchor: anchor:
ref: function_f12 ref: function_f12
shift: [ cx + 2 + function_gap, -cy/8 ] shift: [ cx + 3, 0 ]
rotate: 90
key: key:
tags: [ is_rotary_encoder ] tags: [ is_rotary_encoder ]
width: 2 * rotary_encoder_radius width: 2 * rotary_encoder_radius
height: 2 * rotary_encoder_radius height: 2 * rotary_encoder_radius
# Matrix position of the switch: Function row, right of F12 # Matrix position of the switch: Function row, right of F12
row_net: ROW6 row_net: ROW6
column_net: COL15 column_net: COL14
# RP2040 Pico Mini controller board
controller:
anchor:
# Place in top-right corner (right to F12, with rotary encoder on top)
- ref: rotary_top_right
affect: xy
- shift: [ 0, -0.5cy + 2.5 ]
# This is an auxiliary point to place the controller, not an actual key
key:
tags: [ is_controller ]
width: 18
height: 36
# Generate outlines that can be used in the PCB and for 3D models # Generate outlines that can be used in the PCB and for 3D models
outlines: outlines:
@ -447,58 +346,45 @@ outlines:
- what: polygon - what: polygon
points: points:
# Top left corner # Top left corner
- ref: &corner_top_left_anchor - ref:
- ref: main_left_numbers - ref: function_esc
affect: x shift: [ -0.5kcx, 0.5kcy ]
- ref: function_f1 # Extend all corners to the sides to get a border
affect: y shift: [ border_left, border_top ]
- shift: [ -0.5kcx, 0.5kcy ]
# Extend all corners 4mm to the sides to get a 4mm border
shift: [ -4, 4 ]
# Top right corner # Top right corner
- ref: &corner_top_right_anchor - ref:
- ref: main_twelve_numbers - ref: main_right_top
affect: x affect: x
- ref: function_f12 - ref: function_f12
affect: y affect: y
- shift: [ 0.5kcx, 0.5kcy ] - shift: [ 0.5kcx, 0.5kcy ]
shift: [ 4, 4 ] shift: [ border_right, border_top ]
# Bottom right corner # Bottom right corner
- ref: - ref:
- ref: main_twelve_mods - ref: main_right_mods
shift: [ 0.5kcx, -0.5kcy ] shift: [ 0.5kcx, -0.5kcy ]
shift: [ 4, -4 ] shift: [ border_right, border_bottom ]
# Bottom center-right corner (below thumb keys) # Bottom center "corner" below space key (needs to be post-processed in KiCad to get a smooth arc, see below!)
- ref: - ref:
- ref: mirror_thumb_four - ref: thumb_center
shift: [ 0.5kcx, -0.5kcy ] shift: [ 0, -0.5kcy ]
# Discard the rotation, so the next shift moves the corner straight down shift: [ 0, border_bottom ]
affect: xy
shift: [ 0, -4 ]
# Bottom center-left corner (below thumb keys)
- ref:
- ref: thumb_four
shift: [ 0.5kcx, -0.5kcy ]
# Discard the rotation, so the next shift moves the corner straight down
affect: xy
shift: [ 0, -4 ]
# Bottom left corner # Bottom left corner
- ref: - ref:
- ref: main_left_mods - ref: main_left_mods
shift: [ -0.5kcx, -0.5kcy ] shift: [ -0.5kcx, -0.5kcy ]
shift: [ -4, -4 ] shift: [ border_left, border_bottom ]
# Round off the corners with an 8mm radius fillet. # Round off the corners with a fillet.
# NOTE: To get a smoother arc on the bottom of the board, do some post-processing in KiCad: # NOTE: To get a smoother arc on the bottom of the board, do some post-processing in KiCad:
# 1. Remove the bottom center line and the two small fillet arcs next to it. # 1. Remove the tiny fillet arc between the two diagonal bottom lines.
# 2. Select the two remaining bottom lines. Right click them and use "Shape Modification -> Extend Lines to Meet". # 2. Select the two remaining bottom lines. Right click them and use "Shape Modification -> Extend Lines to Meet".
# 3. Right click the two angled lines again. Use "Shape Modification -> Fillet Lines..." with a 200mm radius. # 3. Right click the two angled lines again. Use "Shape Modification -> Fillet Lines..." with a 300mm radius.
fillet: 8 fillet: 5
# Preview version of board with key caps and components for visualization # Preview version of board with key caps and components for visualization
board_preview: board_preview:
@ -546,8 +432,8 @@ pcbs:
orientation: down orientation: down
# Use 5V from USB as VCC net # Use 5V from USB as VCC net
5V: VCC 5V: VCC
# RGB LEDs: The chain starts with the Esc key # RGB LEDs: The chain starts with the F12 key
GP29: led_din_function_esc GP29: led_din_function_f12
# Matrix columns # Matrix columns
GP27: COL1 GP27: COL1
GP26: COL2 GP26: COL2
@ -555,27 +441,24 @@ pcbs:
GP23: COL4 GP23: COL4
GP22: COL5 GP22: COL5
GP21: COL6 GP21: COL6
GP20: COL7 GP18: COL7
GP17: COL8 # Center column (arrow keys) GP17: COL8
GP12: COL9 GP13: COL9
GP11: COL10 GP12: COL10
GP10: COL11 GP11: COL11
GP9: COL12 GP10: COL12
GP8: COL13 GP9: COL13
GP7: COL14 GP8: COL14
GP6: COL15
# Matrix rows # Matrix rows
GP13: ROW1 GP0: ROW1
GP14: ROW2 GP1: ROW2
GP19: ROW3 GP2: ROW3
GP18: ROW4 GP3: ROW4
GP15: ROW5 GP19: ROW5
GP28: ROW6 GP28: ROW6
# Rotary encoders # Rotary encoder
GP0: rotary_top_right_a GP6: rotary_top_right_a
GP1: rotary_top_right_b GP7: rotary_top_right_b
GP3: rotary_center_a
GP2: rotary_center_b
choc_hotswap: choc_hotswap:
what: choc_pretty what: choc_pretty
@ -663,75 +546,100 @@ pcbs:
# the signal of the RP2040 is strong enough. # the signal of the RP2040 is strong enough.
first_led_voltage_diode: first_led_voltage_diode:
what: diode_smd what: diode_smd
where: function_esc where: function_f12
adjust: adjust:
shift: [ 10, 1.5] shift: [ 0, 8 ]
rotate: -90 rotate: 0
params: params:
side: B side: B
from: VCC from: VCC
to: VCC_first_led to: VCC_first_led
# Mounting holes: Top left and right corners # Mounting holes: Top row (above and between Esc/F1, F4/F5, F8/F9, F12/rotary)
mounting_hole_top1:
what: mountinghole_m2
where:
ref: function_f1
shift: [ -0.5cx, 0.5cy + 1.5 ]
mounting_hole_top2:
what: mountinghole_m2
where:
ref: function_f5
shift: [ -0.5cx, 0.5cy + 1.5 ]
mounting_hole_top3:
what: mountinghole_m2
where:
ref: function_f8
shift: [ 0.5cx, 0.5cy + 1.5 ]
mounting_hole_top4:
what: mountinghole_m2
where:
ref: function_f12
shift: [ 0.5cx - 1, 0.5cy + 1.5 ]
# Mounting holes: Top left corner (left of Esc)
mounting_hole_top_left: mounting_hole_top_left:
what: mountinghole_m2 what: mountinghole_m2
where: where:
ref: *corner_top_left_anchor ref: function_esc
shift: [ 2, -2 ] shift: [ -12, 0 ]
# Mounting holes: "Top" right corner (right edge, below the controller board)
mounting_hole_top_right: mounting_hole_top_right:
what: mountinghole_m2 what: mountinghole_m2
where: where:
ref: *corner_top_right_anchor ref: main_right_top
shift: [ -2, -2 ] shift: [ 0.5cx - 0.5, 0.5cy + 1.25 ]
# Mounting holes: Top center, left and right of the controller # Mounting holes: Bottom center, below C and N keys (with copyright text in between)
mounting_hole_controller_left:
what: mountinghole_m2
where:
ref: main_five_numbers
shift: [ 0, 12 ]
mounting_hole_controller_right:
what: mountinghole_m2
where:
ref: main_six_numbers
shift: [ 0, 12 ]
# Mounting holes: Bottom center, under columns five/six (but above the thumb keys)
mounting_hole_bottom_center_left: mounting_hole_bottom_center_left:
what: mountinghole_m2 what: mountinghole_m2
where: where:
ref: main_five_bottom ref: main_four_bottom
shift: [ 0, -13 ] shift: [ 4, -12.25 ]
mounting_hole_bottom_center_right: mounting_hole_bottom_center_right:
what: mountinghole_m2 what: mountinghole_m2
where: where:
ref: main_six_bottom ref: main_seven_bottom
shift: [ 0, -13 ] shift: [ -4, -12.25 ]
# Mounting holes: Bottom left and right corners, under the second key columns # Mounting holes: Bottom left corner (left of Ctrl; below left thumb keys)
mounting_hole_bottom_left: mounting_hole_bottom_left1:
what: mountinghole_m2 what: mountinghole_m2
where: where:
ref: main_zero_mods ref: main_one_mods
shift: [ 0, -13.5 ] shift: [ 0.5cx, -11.75 ]
mounting_hole_bottom_right: mounting_hole_bottom_left2:
what: mountinghole_m2 what: mountinghole_m2
where: where:
ref: main_eleven_mods ref: main_left_mods
shift: [ 0, -13.5 ] shift: [ -12, 0 ]
# Mounting holes: Bottom right corner (right of bottom-right key; below right thumb keys)
mounting_hole_bottom_right1:
what: mountinghole_m2
where:
ref: main_twelve_mods
shift: [ -0.5cx, -11.75 ]
mounting_hole_bottom_right2:
what: mountinghole_m2
where:
ref: main_right_mods
shift: [ 12, 0 ]
# Render text with project name and copyright onto the PCB # Render text with project name and copyright onto the PCB
copyright_text: copyright_text:
what: text what: text
where: where:
ref: thumb_one ref: thumb_center
shift: [ 0, -16.5 ] shift: [ 0, 13.25 ]
rotate: -0.3 # total rotation: -6.3 (including key rotation)
params: params:
text: |- text: |-
eepyBoard v1.1 by binaryDiv eepyBoard v1.2 by binaryDiv
(c) 2024 (MIT License) (c) 2024 (MIT License)