Compare commits
2 Commits
25b5abc378
...
05283eadb0
| Author | SHA1 | Date |
|---|---|---|
|
|
05283eadb0 | |
|
|
2976523c11 |
|
|
@ -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
|
||||
21
README.md
21
README.md
|
|
@ -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/)
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
|
@ -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"
|
||||
}
|
||||
}
|
||||
Loading…
Reference in New Issue