Compare commits

...

2 Commits

Author SHA1 Message Date
Lexi / Zoe 05283eadb0
Add Ergogen config (points and outlines) 2024-02-18 17:55:38 +01:00
Lexi / Zoe 2976523c11
Add initial README and gitignore files 2024-02-18 16:59:07 +01:00
4 changed files with 154 additions and 2 deletions

24
.gitignore vendored Normal file
View File

@ -0,0 +1,24 @@
# IDEs / editors
.idea
.vscode
.*.swp
# General
/tmp
/_tmp
.DS_STORE
*_bak
*_bak[0-9]
# Node
.npm
node_modules
dist
# 3D modeling temporary files
*.FCStd1
*.3mf
*.gcode
# Ergogen
/ergogen/output

View File

@ -1,3 +1,20 @@
# eepyPad
# The eepyPad
Custom macro key pad with mechanical low-profile (Choc) switches.
Custom macro key pad with mechanical low-profile (Choc) switches.
## Repository structure
- `/layouts`: Keyboard layouts created with the [Keyboard Layout Editor](http://www.keyboard-layout-editor.com)
- `/ergogen`: [Ergogen](https://docs.ergogen.xyz/) files to generate outlines, cases and PCBs
## Used software
- [Keyboard Layout Editor](http://www.keyboard-layout-editor.com)
- [Ergogen](https://docs.ergogen.xyz/), [unofficial Ergogen web UI](https://ergogen.cache.works/)
- [KiCad](https://www.kicad.org/)
- [FreeCAD](https://www.freecad.org/)
- [UltiMaker Cura](https://ultimaker.com/software/ultimaker-cura/)
## Resources
- [FlatFootFox's Ergogen tutorial](https://flatfootfox.com/ergogen-introduction/)

99
ergogen/config.yaml Normal file
View File

@ -0,0 +1,99 @@
# Ergogen config for the eepyPad
# Metadata
meta:
# Required version of Ergogen
engine: "4.0.5"
# 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:
zones:
pad:
# Set anchor to fix placement on KiCad sheet
anchor:
shift: [ 100, -150 ]
# Key rows (from bottom to top)
rows:
one:
two:
three:
four:
five:
# Key columns (from left to right)
columns:
one:
two:
three:
four:
five:
rows.five.skip: true
# Generate outlines that can be used in the PCB and for 3D models
outlines:
# Outline of the key caps (like the demo preview; used for debugging)
_keys:
- what: rectangle
where: true
size: [ cx-1, cy-1 ]
# Maximum size of PCB (100x100mm to keep it cheap) for visualization
_max_outline:
- what: rectangle
where: pad_three_one
size: [ 100, 100 ]
adjust.shift: [ 0, 50 - 0.5cx ]
# Outline for the PCB
board:
- what: rectangle
where: pad_three_one
size: [ 100, 100 ]
adjust.shift: [ 0, 50 - 0.5cx ]
fillet: 4
# Debug version of board with key caps for visualization
board_debug:
- board
- ^_max_outline
- ^_keys
# Pro Micro board
- what: rectangle
operation: stack
where: pad_five_four
size: [ 18, 32 ]
adjust.shift: [ 0, cy + 5 ]
# Rotary encoder
- what: rectangle
operation: stack
where: pad_five_five
size: [ 14, 14 ]
# Cutouts for the switches
switch_cutouts:
- what: rectangle
where: true
size: 14
# Board outline with switch cutouts
switch_plate:
- board
- -switch_cutouts

12
package.json Normal file
View File

@ -0,0 +1,12 @@
{
"name": "eepyboard",
"author": "binaryDiv <eepyboard@binarydiv.dev>",
"description": "Dependencies to generate files for the eepyBoard (not an actual node project).",
"private": true,
"scripts": {
"ergogen": "ergogen -o ergogen/output ergogen"
},
"dependencies": {
"ergogen": "4.0.5"
}
}