Compare commits
1 Commits
| Author | SHA1 | Date |
|---|---|---|
|
|
cceb4689ef |
|
|
@ -36,17 +36,17 @@ points:
|
|||
# Key rows (from bottom to top)
|
||||
rows:
|
||||
one:
|
||||
row_net: P9
|
||||
row_net: P5
|
||||
two:
|
||||
row_net: P8
|
||||
row_net: P6
|
||||
tags: [ is_key, flip_led ]
|
||||
three:
|
||||
row_net: P7
|
||||
four:
|
||||
row_net: P6
|
||||
row_net: P8
|
||||
tags: [ is_key, flip_led ]
|
||||
five:
|
||||
row_net: P5
|
||||
row_net: P9
|
||||
|
||||
# Key columns (from left to right)
|
||||
columns:
|
||||
|
|
@ -101,6 +101,7 @@ outlines:
|
|||
|
||||
# Rotary encoder with knob (2cm)
|
||||
# TODO: Not sure about the size and position yet
|
||||
# TODO remove the holding pad thingies because they're too close to the MCU pins
|
||||
rotary_encoder:
|
||||
- what: rectangle
|
||||
operation: stack
|
||||
|
|
@ -121,6 +122,7 @@ outlines:
|
|||
- what: rectangle
|
||||
where: pad_three_one
|
||||
size: [ 100, 100 ]
|
||||
# TODO move switches a bit to the top (more margin at the bottom to fit the diodes)
|
||||
adjust.shift: [ 0, 50 - 0.5cx ]
|
||||
fillet: 4
|
||||
|
||||
|
|
@ -168,39 +170,44 @@ pcbs:
|
|||
params:
|
||||
keycaps: true
|
||||
hotswap: true
|
||||
from: "{{column_net}}"
|
||||
to: "{{colrow}}"
|
||||
from: "{{colrow}}"
|
||||
to: "{{row_net}}"
|
||||
|
||||
# TODO: Check if the position of the rotary encoder fits with the controller board
|
||||
# -> probably remove the mounting pads at the sides?
|
||||
rotary_encoder:
|
||||
what: rotary
|
||||
what: rotary_modified
|
||||
where: is_rotary_encoder
|
||||
adjust.rotate: 90
|
||||
params:
|
||||
from: "{{column_net}}"
|
||||
to: "{{colrow}}"
|
||||
# TODO: Set these to GPIO pins
|
||||
A: "rotary_encoder_a"
|
||||
B: "rotary_encoder_b"
|
||||
C: "rotary_encoder_c"
|
||||
from: "{{colrow}}"
|
||||
to: "{{row_net}}"
|
||||
# TODO: good GPIO pins? - check whether C or B should be GND
|
||||
A: P3
|
||||
B: P4
|
||||
C: GND
|
||||
|
||||
diode:
|
||||
what: diode_smd
|
||||
where: is_key
|
||||
# TODO: Is this a good position? Might be a bit too close to the hotswap sockets...
|
||||
# -> rotate and move a bit
|
||||
adjust:
|
||||
shift: [ -8.28, -8.5 ]
|
||||
rotate: 90
|
||||
shift: [ 5, -2.5 ]
|
||||
rotate: 180
|
||||
params:
|
||||
side: B
|
||||
from: "{{colrow}}"
|
||||
to: "{{row_net}}"
|
||||
to: "{{column_net}}"
|
||||
|
||||
diode_rotary_encoder:
|
||||
$extends: pcbs.eepypad.footprints.diode
|
||||
where: is_rotary_encoder
|
||||
adjust.shift: [ 0, 0 ]
|
||||
adjust:
|
||||
shift: [ 0, 0 ]
|
||||
rotate: 90
|
||||
|
||||
# TODO: the neopixels need 5V, VCC might be only 3.3V - check this
|
||||
led_pixel:
|
||||
what: sk6812_mini_e
|
||||
# Place unrotated LEDs in all rows without the flip_led tag
|
||||
|
|
@ -209,6 +216,7 @@ pcbs:
|
|||
adjust.shift: [ 0, 4.7 ]
|
||||
params:
|
||||
side: B
|
||||
VCC: 5V
|
||||
din: "{{led_din_net}}"
|
||||
dout: "led_dout_{{colrow}}"
|
||||
|
||||
|
|
@ -218,16 +226,35 @@ pcbs:
|
|||
where: [ [ is_key, flip_led ] ]
|
||||
adjust.rotate: 180
|
||||
|
||||
# TODO: Decoupling capacitors for the LEDs?
|
||||
led_capacitor:
|
||||
what: cap_0805
|
||||
where: [ [ is_key, -flip_led ] ]
|
||||
adjust:
|
||||
shift: [ -6, 4.5 ]
|
||||
rotate: 90
|
||||
params:
|
||||
side: B
|
||||
# TODO: the neopixels need 5V, VCC might be only 3.3V - check this
|
||||
from: 5V
|
||||
to: GND
|
||||
|
||||
led_capacitor_flipped:
|
||||
$extends: pcbs.eepypad.footprints.led_capacitor
|
||||
where: [ [ is_key, flip_led ] ]
|
||||
adjust:
|
||||
shift: [ 6, 4.9 ]
|
||||
rotate: 270
|
||||
|
||||
controller:
|
||||
what: promicro_modified
|
||||
where:
|
||||
ref: pad_five_five
|
||||
rotate: -90
|
||||
shift: [ 0, 2 ]
|
||||
shift: [ 0, 3 ]
|
||||
params:
|
||||
orientation: down
|
||||
# TODO check if this is correct!
|
||||
RAW: 5V
|
||||
|
||||
reset_button:
|
||||
# TODO: Check if the footprint fits to the buttons we ordered
|
||||
|
|
@ -240,4 +267,4 @@ pcbs:
|
|||
from: GND
|
||||
to: RST
|
||||
|
||||
# TODO: Mounting holes?
|
||||
# TODO: Mounting holes!
|
||||
|
|
|
|||
|
|
@ -0,0 +1,37 @@
|
|||
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}
|
||||
)
|
||||
)
|
||||
`
|
||||
}
|
||||
|
|
@ -33,15 +33,11 @@ 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))))
|
||||
|
||||
${'' /* 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))
|
||||
${'' /* 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))
|
||||
|
||||
${'' /* LED hole marks */}
|
||||
(fp_line (start -2.6 3.1) (end 2.6 3.1) (layer Dwgs.User) (width 0.15))
|
||||
|
|
|
|||
|
|
@ -0,0 +1,68 @@
|
|||
// 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 2 (for rotary, should be GND) -- TODO WAIT why does it say here that B should be GND and not C?
|
||||
// C: corresponds to pin 3 (for rotary)
|
||||
|
||||
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})
|
||||
)
|
||||
`
|
||||
}
|
||||
Loading…
Reference in New Issue