diff --git a/LICENSE.md b/LICENSE.md new file mode 100644 index 0000000..e18bbf8 --- /dev/null +++ b/LICENSE.md @@ -0,0 +1,3 @@ +Creative Commons License + +This work is licensed under a [Creative Commons Attribution-ShareAlike 4.0 International License](http://creativecommons.org/licenses/by-sa/4.0/). \ No newline at end of file diff --git a/PG1350_reversible.kicad_mod b/PG1350_reversible.kicad_mod new file mode 100644 index 0000000..a23246b --- /dev/null +++ b/PG1350_reversible.kicad_mod @@ -0,0 +1,46 @@ +(module PG1350_reversible (layer F.Cu) (tedit 5A97CA0F) + (descr "Kailh \"Choc\" PG1350 keyswitch, able to be mounted on front or back of PCB") + (tags kailh,choc) + (fp_text reference REF** (at 0 8.3) (layer B.SilkS) + (effects (font (size 1 1) (thickness 0.15)) (justify mirror)) + ) + (fp_text value PG1350 (at 0 -8.7) (layer F.Fab) + (effects (font (size 1 1) (thickness 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)) + (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 -2.6 -3.1) (end 2.6 -3.1) (layer Eco2.User) (width 0.15)) + (fp_line (start 2.6 -3.1) (end 2.6 -6.3) (layer Eco2.User) (width 0.15)) + (fp_line (start 2.6 -6.3) (end -2.6 -6.3) (layer Eco2.User) (width 0.15)) + (fp_line (start -2.6 -3.1) (end -2.6 -6.3) (layer Eco2.User) (width 0.15)) + (fp_line (start -7 -6) (end -7 -7) (layer B.SilkS) (width 0.15)) + (fp_line (start -7 -7) (end -6 -7) (layer B.SilkS) (width 0.15)) + (fp_line (start -6 7) (end -7 7) (layer B.SilkS) (width 0.15)) + (fp_line (start -7 7) (end -7 6) (layer B.SilkS) (width 0.15)) + (fp_line (start 7 6) (end 7 7) (layer B.SilkS) (width 0.15)) + (fp_line (start 7 7) (end 6 7) (layer B.SilkS) (width 0.15)) + (fp_line (start 6 -7) (end 7 -7) (layer B.SilkS) (width 0.15)) + (fp_line (start 7 -7) (end 7 -6) (layer B.SilkS) (width 0.15)) + (fp_line (start -6.9 6.9) (end 6.9 6.9) (layer Eco2.User) (width 0.15)) + (fp_line (start 6.9 -6.9) (end -6.9 -6.9) (layer Eco2.User) (width 0.15)) + (fp_line (start 6.9 -6.9) (end 6.9 6.9) (layer Eco2.User) (width 0.15)) + (fp_line (start -6.9 6.9) (end -6.9 -6.9) (layer Eco2.User) (width 0.15)) + (fp_line (start -7.5 -7.5) (end 7.5 -7.5) (layer Eco2.User) (width 0.15)) + (fp_line (start 7.5 -7.5) (end 7.5 7.5) (layer Eco2.User) (width 0.15)) + (fp_line (start 7.5 7.5) (end -7.5 7.5) (layer Eco2.User) (width 0.15)) + (fp_line (start -7.5 7.5) (end -7.5 -7.5) (layer Eco2.User) (width 0.15)) + (pad "" np_thru_hole circle (at -5.22 -4.2) (size 0.9906 0.9906) (drill 0.9906) (layers *.Cu *.Mask)) + (pad 2 thru_hole circle (at 5 3.8) (size 2.032 2.032) (drill 1.27) (layers *.Cu *.Mask)) + (pad "" np_thru_hole circle (at 0 0) (size 3.429 3.429) (drill 3.429) (layers *.Cu *.Mask)) + (pad 2 thru_hole circle (at -5 3.8) (size 2.032 2.032) (drill 1.27) (layers *.Cu *.Mask)) + (pad 1 thru_hole circle (at 0 5.9) (size 2.032 2.032) (drill 1.27) (layers *.Cu *.Mask)) + (pad "" np_thru_hole circle (at 5.22 -4.2) (size 0.9906 0.9906) (drill 0.9906) (layers *.Cu *.Mask)) + (pad "" np_thru_hole circle (at 5.5 0) (size 1.7018 1.7018) (drill 1.7018) (layers *.Cu *.Mask)) + (pad "" np_thru_hole circle (at -5.5 0) (size 1.7018 1.7018) (drill 1.7018) (layers *.Cu *.Mask)) +) diff --git a/PG1350_rotatable.kicad_mod b/PG1350_rotatable.kicad_mod new file mode 100644 index 0000000..878b635 --- /dev/null +++ b/PG1350_rotatable.kicad_mod @@ -0,0 +1,51 @@ +(module PG1350_rotatable (layer F.Cu) (tedit 5A97C8FC) + (descr "Kailh \"Choc\" PG1350 keyswitch, able to be mounted on front or back of PCB and/or rotated 90 degrees (see README)") + (tags kailh,choc) + (fp_text reference REF** (at 0 8.3) (layer B.SilkS) + (effects (font (size 1 1) (thickness 0.15)) (justify mirror)) + ) + (fp_text value PG1350 (at 0 -8.7) (layer F.Fab) + (effects (font (size 1 1) (thickness 0.15))) + ) + (fp_line (start 7 6) (end 7 7) (layer B.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 B.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 -2.6 -3.1) (end 2.6 -3.1) (layer Eco2.User) (width 0.15)) + (fp_line (start 2.6 -3.1) (end 2.6 -6.3) (layer Eco2.User) (width 0.15)) + (fp_line (start 2.6 -6.3) (end -2.6 -6.3) (layer Eco2.User) (width 0.15)) + (fp_line (start -2.6 -3.1) (end -2.6 -6.3) (layer Eco2.User) (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 B.SilkS) (width 0.15)) + (fp_line (start -6 7) (end -7 7) (layer B.SilkS) (width 0.15)) + (fp_line (start -7 7) (end -7 6) (layer B.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 B.SilkS) (width 0.15)) + (fp_line (start 6 -7) (end 7 -7) (layer B.SilkS) (width 0.15)) + (fp_line (start 7 -7) (end 7 -6) (layer B.SilkS) (width 0.15)) + (fp_line (start -6.9 6.9) (end 6.9 6.9) (layer Eco2.User) (width 0.15)) + (fp_line (start 6.9 -6.9) (end -6.9 -6.9) (layer Eco2.User) (width 0.15)) + (fp_line (start 6.9 -6.9) (end 6.9 6.9) (layer Eco2.User) (width 0.15)) + (fp_line (start -6.9 6.9) (end -6.9 -6.9) (layer Eco2.User) (width 0.15)) + (fp_line (start -7.5 -7.5) (end 7.5 -7.5) (layer Eco2.User) (width 0.15)) + (fp_line (start 7.5 -7.5) (end 7.5 7.5) (layer Eco2.User) (width 0.15)) + (fp_line (start 7.5 7.5) (end -7.5 7.5) (layer Eco2.User) (width 0.15)) + (fp_line (start -7.5 7.5) (end -7.5 -7.5) (layer Eco2.User) (width 0.15)) + (pad 1 thru_hole circle (at -5.9 0) (size 2.032 2.032) (drill 1.27) (layers *.Cu *.Mask)) + (pad "" np_thru_hole circle (at 4.2 -5.22) (size 0.9906 0.9906) (drill 0.9906) (layers *.Cu *.Mask)) + (pad "" np_thru_hole circle (at -5.22 -4.2) (size 0.9906 0.9906) (drill 0.9906) (layers *.Cu *.Mask)) + (pad "" np_thru_hole circle (at 4.2 5.22) (size 0.9906 0.9906) (drill 0.9906) (layers *.Cu *.Mask)) + (pad 2 thru_hole circle (at 5 3.8) (size 2.032 2.032) (drill 1.27) (layers *.Cu *.Mask)) + (pad 2 thru_hole circle (at -3.8 -5) (size 2.032 2.032) (drill 1.27) (layers *.Cu *.Mask)) + (pad 2 thru_hole circle (at -3.8 5) (size 2.032 2.032) (drill 1.27) (layers *.Cu *.Mask)) + (pad "" np_thru_hole circle (at 0 0) (size 3.429 3.429) (drill 3.429) (layers *.Cu *.Mask)) + (pad 2 thru_hole circle (at -5 3.8) (size 2.032 2.032) (drill 1.27) (layers *.Cu *.Mask)) + (pad 1 thru_hole circle (at 0 5.9) (size 2.032 2.032) (drill 1.27) (layers *.Cu *.Mask)) + (pad "" np_thru_hole circle (at 5.22 -4.2) (size 0.9906 0.9906) (drill 0.9906) (layers *.Cu *.Mask)) + (pad "" np_thru_hole circle (at 5.5 0) (size 1.7018 1.7018) (drill 1.7018) (layers *.Cu *.Mask)) + (pad "" np_thru_hole circle (at 0 -5.5) (size 1.7018 1.7018) (drill 1.7018) (layers *.Cu *.Mask)) +) diff --git a/README.md b/README.md new file mode 100644 index 0000000..11d3803 --- /dev/null +++ b/README.md @@ -0,0 +1,19 @@ +an open source [KiCad](http://kicad-pcb.org) library of mechanical keyboard switch footprints for your [open source hardware](https://www.oshwa.org/definition/) keyboard designs + +## Switches +### Kailh Low Profile "Choc" + +Footprint | Description/notes | Preview +--------- | ----------------- | ------- +PG1350 | Just a plain one-sided mount for [Kailh PG1350](http://kailh.com/en/Products/Ks/CS/) switches | ![PG1350](images/PG1350.png) +PG1350_reversible | Enables the switch to be mounted on either side of the PCB, similar to the switch mounts on the original Ergodox PCBs | ![PG1350 reversible](images/PG1350_reversible.png) +PG1350_rotatable | Enables the switch to be mounted on either side of the PCB *and* optionally rotated 90° by the person assembling the board. Note that one of the PCB mounting tabs will need to be broken off of the switch to fit in this mount (which one depends on the orientation). This option is intended to allow the board assembler to accomodate keycaps that only fit in a particular orientation. | ![PG1350 rotatable](images/PG1350_rotatable.png) + +The plate footprint and outer edge of the switches themselves, as well as the LED mount area, are marked on the layer Eco2.User + + +------------------------ + +Creative Commons License + +This work is licensed under a [Creative Commons Attribution-ShareAlike 4.0 International License](http://creativecommons.org/licenses/by-sa/4.0/). \ No newline at end of file diff --git a/images/PG1350.png b/images/PG1350.png new file mode 100644 index 0000000..7bf2328 Binary files /dev/null and b/images/PG1350.png differ diff --git a/images/PG1350_reversible.png b/images/PG1350_reversible.png new file mode 100644 index 0000000..3654e05 Binary files /dev/null and b/images/PG1350_reversible.png differ diff --git a/images/PG1350_rotatable.png b/images/PG1350_rotatable.png new file mode 100644 index 0000000..ce46576 Binary files /dev/null and b/images/PG1350_rotatable.png differ