diff --git a/README.md b/README.md index 8951acc..127fbb2 100644 --- a/README.md +++ b/README.md @@ -1,10 +1,10 @@ # 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) +- `/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 diff --git a/ergogen/config.yaml b/ergogen/config.yaml index 40b018a..a2205a4 100644 --- a/ergogen/config.yaml +++ b/ergogen/config.yaml @@ -36,17 +36,17 @@ points: # Key rows (from bottom to top) rows: one: - row_net: P5 + row_net: P9 two: - row_net: P6 + row_net: P8 tags: [ is_key, flip_led ] three: row_net: P7 four: - row_net: P8 + row_net: P6 tags: [ is_key, flip_led ] five: - row_net: P9 + row_net: P5 # Key columns (from left to right) columns: @@ -168,39 +168,38 @@ pcbs: params: keycaps: true hotswap: true - from: "{{colrow}}" - to: "{{row_net}}" + from: "{{column_net}}" + to: "{{colrow}}" # TODO: Check if the position of the rotary encoder fits with the controller board rotary_encoder: - what: rotary_modified + what: rotary where: is_rotary_encoder adjust.rotate: 90 params: - from: "{{colrow}}" - to: "{{row_net}}" - # TODO: Check whether these pins are correct (should C really be GND?) - A: P3 - B: P4 - C: GND + from: "{{column_net}}" + to: "{{colrow}}" + # TODO: Set these to GPIO pins + A: "rotary_encoder_a" + B: "rotary_encoder_b" + C: "rotary_encoder_c" diode: what: diode_smd where: is_key + # TODO: Is this a good position? Might be a bit too close to the hotswap sockets... adjust: - shift: [ 5, -2.5 ] - rotate: 180 + shift: [ -8.28, -8.5 ] + rotate: 90 params: side: B from: "{{colrow}}" - to: "{{column_net}}" + to: "{{row_net}}" diode_rotary_encoder: $extends: pcbs.eepypad.footprints.diode where: is_rotary_encoder - adjust: - shift: [ 0, 0 ] - rotate: 90 + adjust.shift: [ 0, 0 ] led_pixel: what: sk6812_mini_e @@ -219,30 +218,14 @@ pcbs: where: [ [ is_key, flip_led ] ] adjust.rotate: 180 - led_capacitor: - what: cap_0805 - where: [ [ is_key, -flip_led ] ] - adjust: - shift: [ -6, 4.5 ] - rotate: 90 - params: - side: B - from: VCC - to: GND - - led_capacitor_flipped: - $extends: pcbs.eepypad.footprints.led_capacitor - where: [ [ is_key, flip_led ] ] - adjust: - shift: [ 6, 4.9 ] - rotate: 270 + # TODO: Decoupling capacitors for the LEDs? controller: what: promicro_modified where: ref: pad_five_five rotate: -90 - shift: [ 0, 3 ] + shift: [ 0, 2 ] params: orientation: down diff --git a/ergogen/footprints/cap_0805.js b/ergogen/footprints/cap_0805.js deleted file mode 100644 index 7dc467a..0000000 --- a/ergogen/footprints/cap_0805.js +++ /dev/null @@ -1,37 +0,0 @@ -module.exports = { - params: { - designator: 'C', - side: 'F', - from: undefined, - to: undefined - }, - body: p => ` - (module C_0805_2012Metric (layer ${p.side}.Cu) (tedit 5F68FEEE) - ${p.at /* parametric position */} - - ${'' /* footprint reference */} - (fp_text reference "${p.ref}" (at 0 0) (layer ${p.side}.SilkS) ${p.ref_hide} (effects (font (size 1.27 1.27) (thickness 0.15)))) - (fp_text value "" (at 0 0) (layer ${p.side}.SilkS) hide (effects (font (size 1.27 1.27) (thickness 0.15)))) - - ${''/* capacitor symbols */} - (fp_line (start -1 0.625) (end -1 -0.625) (layer ${p.side}.Fab) (width 0.1)) - (fp_line (start -1 -0.625) (end 1 -0.625) (layer ${p.side}.Fab) (width 0.1)) - (fp_line (start 1 -0.625) (end 1 0.625) (layer ${p.side}.Fab) (width 0.1)) - (fp_line (start 1 0.625) (end -1 0.625) (layer ${p.side}.Fab) (width 0.1)) - (fp_line (start -0.261252 -0.735) (end 0.261252 -0.735) (layer ${p.side}.SilkS) (width 0.12)) - (fp_line (start -0.261252 0.735) (end 0.261252 0.735) (layer ${p.side}.SilkS) (width 0.12)) - (fp_line (start -1.7 0.98) (end -1.7 -0.98) (layer ${p.side}.CrtYd) (width 0.05)) - (fp_line (start -1.7 -0.98) (end 1.7 -0.98) (layer ${p.side}.CrtYd) (width 0.05)) - (fp_line (start 1.7 -0.98) (end 1.7 0.98) (layer ${p.side}.CrtYd) (width 0.05)) - (fp_line (start 1.7 0.98) (end -1.7 0.98) (layer ${p.side}.CrtYd) (width 0.05)) - - ${''/* SMD pads */} - (pad 1 smd roundrect (at -0.95 0 ${p.r}) (size 1 1.45) (layers ${p.side}.Cu ${p.side}.Mask ${p.side}.Paste) - (roundrect_rratio 0.25) ${p.to} - ) - (pad 2 smd roundrect (at 0.95 0 ${p.r}) (size 1 1.45) (layers ${p.side}.Cu ${p.side}.Mask ${p.side}.Paste) - (roundrect_rratio 0.25) ${p.from} - ) - ) - ` -} diff --git a/ergogen/footprints/choc_pretty.js b/ergogen/footprints/choc_pretty.js index b1e69fa..0b94ba1 100644 --- a/ergogen/footprints/choc_pretty.js +++ b/ergogen/footprints/choc_pretty.js @@ -33,11 +33,15 @@ module.exports = { (fp_text reference "${p.ref}" (at 0 0) (layer F.SilkS) ${p.ref_hide} (effects (font (size 1.27 1.27) (thickness 0.15)))) (fp_text value "" (at 0 0) (layer F.SilkS) hide (effects (font (size 1.27 1.27) (thickness 0.15)))) - ${'' /* switch marks */} - (fp_line (start -7 -7) (end 7 -7) (layer F.SilkS) (width 0.15)) - (fp_line (start 7 -7) (end 7 7) (layer F.SilkS) (width 0.15)) - (fp_line (start 7 7) (end -7 7) (layer F.SilkS) (width 0.15)) - (fp_line (start -7 7) (end -7 -7) (layer F.SilkS) (width 0.15)) + ${'' /* corner marks */} + (fp_line (start -7 -6) (end -7 -7) (layer F.SilkS) (width 0.15)) + (fp_line (start -7 7) (end -6 7) (layer F.SilkS) (width 0.15)) + (fp_line (start -6 -7) (end -7 -7) (layer F.SilkS) (width 0.15)) + (fp_line (start -7 7) (end -7 6) (layer F.SilkS) (width 0.15)) + (fp_line (start 7 6) (end 7 7) (layer F.SilkS) (width 0.15)) + (fp_line (start 7 -7) (end 6 -7) (layer F.SilkS) (width 0.15)) + (fp_line (start 6 7) (end 7 7) (layer F.SilkS) (width 0.15)) + (fp_line (start 7 -7) (end 7 -6) (layer F.SilkS) (width 0.15)) ${'' /* LED hole marks */} (fp_line (start -2.6 3.1) (end 2.6 3.1) (layer Dwgs.User) (width 0.15)) diff --git a/ergogen/footprints/promicro_modified.js b/ergogen/footprints/promicro_modified.js index 9028823..d0e39af 100644 --- a/ergogen/footprints/promicro_modified.js +++ b/ergogen/footprints/promicro_modified.js @@ -66,7 +66,7 @@ module.exports = { (fp_line (start 15.24 8.89) (end 15.24 -8.89) (layer F.SilkS) (width 0.15)) (fp_line (start 15.24 -8.89) (end -17.78 -8.89) (layer F.SilkS) (width 0.15)) (fp_line (start -17.78 -8.89) (end -17.78 8.89) (layer F.SilkS) (width 0.15)) - + (fp_line (start -17.78 8.89) (end 15.24 8.89) (layer B.SilkS) (width 0.15)) (fp_line (start 15.24 8.89) (end 15.24 -8.89) (layer B.SilkS) (width 0.15)) (fp_line (start 15.24 -8.89) (end -17.78 -8.89) (layer B.SilkS) (width 0.15)) diff --git a/ergogen/footprints/rotary_modified.js b/ergogen/footprints/rotary_modified.js deleted file mode 100644 index 41c7a21..0000000 --- a/ergogen/footprints/rotary_modified.js +++ /dev/null @@ -1,68 +0,0 @@ -// Modified version of rotary.js, without the mounting legs -// -------------------------------------------------------- -// EC12 rotary encoder -// -// Nets -// from: corresponds to switch pin 1 (for button presses) -// to: corresponds to switch pin 2 (for button presses) -// A: corresponds to pin 1 (for rotary) -// B: corresponds to pin 3 (for rotary) -// C: corresponds to pin 2 (for rotary, should be GND) - -module.exports = { - params: { - designator: 'ROT', - from: undefined, - to: undefined, - A: undefined, - B: undefined, - C: undefined - }, - body: p => ` - (module rotary_encoder (layer F.Cu) (tedit 603326DE) - - ${p.at /* parametric position */} - - ${'' /* footprint reference */} - (fp_text reference "${p.ref}" (at 0 0.5) (layer F.SilkS) - ${p.ref_hide} (effects (font (size 1 1) (thickness 0.15)))) - (fp_text value "" (at 0 8.89) (layer F.Fab) - (effects (font (size 1 1) (thickness 0.15)))) - - ${''/* component outline */} - (fp_line (start -0.62 -0.04) (end 0.38 -0.04) (layer F.SilkS) (width 0.12)) - (fp_line (start -0.12 -0.54) (end -0.12 0.46) (layer F.SilkS) (width 0.12)) - (fp_line (start 5.98 3.26) (end 5.98 5.86) (layer F.SilkS) (width 0.12)) - (fp_line (start 5.98 -1.34) (end 5.98 1.26) (layer F.SilkS) (width 0.12)) - (fp_line (start 5.98 -5.94) (end 5.98 -3.34) (layer F.SilkS) (width 0.12)) - (fp_line (start -3.12 -0.04) (end 2.88 -0.04) (layer F.Fab) (width 0.12)) - (fp_line (start -0.12 -3.04) (end -0.12 2.96) (layer F.Fab) (width 0.12)) - (fp_line (start -7.32 -4.14) (end -7.62 -3.84) (layer F.SilkS) (width 0.12)) - (fp_line (start -7.92 -4.14) (end -7.32 -4.14) (layer F.SilkS) (width 0.12)) - (fp_line (start -7.62 -3.84) (end -7.92 -4.14) (layer F.SilkS) (width 0.12)) - (fp_line (start -6.22 -5.84) (end -6.22 5.86) (layer F.SilkS) (width 0.12)) - (fp_line (start -2.12 -5.84) (end -6.22 -5.84) (layer F.SilkS) (width 0.12)) - (fp_line (start -2.12 5.86) (end -6.22 5.86) (layer F.SilkS) (width 0.12)) - (fp_line (start 5.98 5.86) (end 1.88 5.86) (layer F.SilkS) (width 0.12)) - (fp_line (start 1.88 -5.94) (end 5.98 -5.94) (layer F.SilkS) (width 0.12)) - (fp_line (start -6.12 -4.74) (end -5.12 -5.84) (layer F.Fab) (width 0.12)) - (fp_line (start -6.12 5.76) (end -6.12 -4.74) (layer F.Fab) (width 0.12)) - (fp_line (start 5.88 5.76) (end -6.12 5.76) (layer F.Fab) (width 0.12)) - (fp_line (start 5.88 -5.84) (end 5.88 5.76) (layer F.Fab) (width 0.12)) - (fp_line (start -5.12 -5.84) (end 5.88 -5.84) (layer F.Fab) (width 0.12)) - (fp_line (start -8.87 -6.89) (end 7.88 -6.89) (layer F.CrtYd) (width 0.05)) - (fp_line (start -8.87 -6.89) (end -8.87 6.81) (layer F.CrtYd) (width 0.05)) - (fp_line (start 7.88 6.81) (end 7.88 -6.89) (layer F.CrtYd) (width 0.05)) - (fp_line (start 7.88 6.81) (end -8.87 6.81) (layer F.CrtYd) (width 0.05)) - (fp_circle (center -0.12 -0.04) (end 2.88 -0.04) (layer F.SilkS) (width 0.12)) - (fp_circle (center -0.12 -0.04) (end 2.88 -0.04) (layer F.Fab) (width 0.12)) - - ${''/* pin names */} - (pad A thru_hole rect (at -7.62 -2.54 ${p.r}) (size 2 2) (drill 1) (layers *.Cu *.Mask) ${p.A}) - (pad C thru_hole circle (at -7.62 -0.04) (size 2 2) (drill 1) (layers *.Cu *.Mask) ${p.C}) - (pad B thru_hole circle (at -7.62 2.46) (size 2 2) (drill 1) (layers *.Cu *.Mask) ${p.B}) - (pad 1 thru_hole circle (at 6.88 -2.54) (size 1.5 1.5) (drill 1) (layers *.Cu *.Mask) ${p.from}) - (pad 2 thru_hole circle (at 6.88 2.46) (size 1.5 1.5) (drill 1) (layers *.Cu *.Mask) ${p.to}) - ) - ` -}