uploaded folder w/files

This commit is contained in:
Myzomi 2024-10-21 22:02:57 -04:00
parent 114036a06e
commit 44986534b9
34 changed files with 938094 additions and 0 deletions

Binary file not shown.

After

Width:  |  Height:  |  Size: 161 KiB

File diff suppressed because it is too large Load diff

Binary file not shown.

After

Width:  |  Height:  |  Size: 138 KiB

View file

@ -0,0 +1 @@
0

View file

@ -0,0 +1,26 @@
(fp_lib_table
(version 7)
(lib (name "random-keyboard-parts")(type "KiCad")(uri "/home/blahaj/src/keypad/random-keyboard-parts.pretty")(options "")(descr ""))
(lib (name "MX_Solderable")(type "KiCad")(uri "/home/blahaj/src/keypad/MX_V2/MX_Solderable.pretty")(options "")(descr ""))
(lib (name "Template")(type "KiCad")(uri "/home/blahaj/src/keypad/MX_V2/Template.pretty")(options "")(descr ""))
(lib (name "Seeed Studio XIAO Series Library")(type "KiCad")(uri "/home/blahaj/src/keypad/OPL_Kicad_Library/Seeed Studio XIAO Series Library")(options "")(descr ""))
(lib (name "XIAO_PCB")(type "KiCad")(uri "/home/blahaj/Downloads/Seeeduino-xiao-rp2040-KiCAD-Library/XIAO_PCB.pretty")(options "")(descr ""))
(lib (name "ScottoKeebs_Alps")(type "KiCad")(uri "/home/blahaj/src/keypad/joe/footprints/ScottoKeebs_Alps.pretty")(options "")(descr ""))
(lib (name "ScottoKeebs_CAD")(type "KiCad")(uri "/home/blahaj/src/keypad/joe/footprints/ScottoKeebs_CAD.pretty")(options "")(descr ""))
(lib (name "ScottoKeebs_Choc")(type "KiCad")(uri "/home/blahaj/src/keypad/joe/footprints/ScottoKeebs_Choc.pretty")(options "")(descr ""))
(lib (name "ScottoKeebs_Components")(type "KiCad")(uri "/home/blahaj/src/keypad/joe/footprints/ScottoKeebs_Components.pretty")(options "")(descr ""))
(lib (name "ScottoKeebs_Cutout")(type "KiCad")(uri "/home/blahaj/src/keypad/joe/footprints/ScottoKeebs_Cutout.pretty")(options "")(descr ""))
(lib (name "ScottoKeebs_Hotswap")(type "KiCad")(uri "/home/blahaj/src/keypad/joe/footprints/ScottoKeebs_Hotswap.pretty")(options "")(descr ""))
(lib (name "ScottoKeebs_Hybrid")(type "KiCad")(uri "/home/blahaj/src/keypad/joe/footprints/ScottoKeebs_Hybrid.pretty")(options "")(descr ""))
(lib (name "ScottoKeebs_KH")(type "KiCad")(uri "/home/blahaj/src/keypad/joe/footprints/ScottoKeebs_KH.pretty")(options "")(descr ""))
(lib (name "ScottoKeebs_MCU")(type "KiCad")(uri "/home/blahaj/src/keypad/joe/footprints/ScottoKeebs_MCU.pretty")(options "")(descr ""))
(lib (name "ScottoKeebs_Miscellaneous")(type "KiCad")(uri "/home/blahaj/src/keypad/joe/footprints/ScottoKeebs_Miscellaneous.pretty")(options "")(descr ""))
(lib (name "ScottoKeebs_MX")(type "KiCad")(uri "/home/blahaj/src/keypad/joe/footprints/ScottoKeebs_MX.pretty")(options "")(descr ""))
(lib (name "ScottoKeebs_NB")(type "KiCad")(uri "/home/blahaj/src/keypad/joe/footprints/ScottoKeebs_NB.pretty")(options "")(descr ""))
(lib (name "ScottoKeebs_Scotto")(type "KiCad")(uri "/home/blahaj/src/keypad/joe/footprints/ScottoKeebs_Scotto.pretty")(options "")(descr ""))
(lib (name "ScottoKeebs_Stabilizer")(type "KiCad")(uri "/home/blahaj/src/keypad/joe/footprints/ScottoKeebs_Stabilizer.pretty")(options "")(descr ""))
(lib (name "3D-Models")(type "KiCad")(uri "${KIPRJMOD}/3D-Models.pretty")(options "")(descr ""))
(lib (name "logo")(type "KiCad")(uri "/home/blahaj/src/keypad/logo.pretty")(options "")(descr ""))
(lib (name "pinheader_2.54mm")(type "KiCad")(uri "/home/blahaj/src/keypad/pinheader_2.54mm.pretty")(options "")(descr ""))
(lib (name "hole")(type "KiCad")(uri "/home/blahaj/src/keypad/hole.pretty")(options "")(descr ""))
)

View file

@ -0,0 +1,80 @@
(kicad_symbol_lib (version 20220914) (generator kicad_symbol_editor)
(symbol "MOUDLE-SEEEDUINO-XIAO" (in_bom yes) (on_board yes)
(property "Reference" "U" (at -16.51 11.43 0)
(effects (font (size 1.27 1.27)))
)
(property "Value" "MOUDLE-SEEEDUINO-XIAO" (at -3.81 -11.43 0)
(effects (font (size 1.27 1.27)))
)
(property "Footprint" "" (at -16.51 2.54 0)
(effects (font (size 1.27 1.27)) hide)
)
(property "Datasheet" "" (at -16.51 2.54 0)
(effects (font (size 1.27 1.27)) hide)
)
(symbol "MOUDLE-SEEEDUINO-XIAO_0_1"
(rectangle (start -16.51 10.16) (end 19.05 -10.16)
(stroke (width 0) (type default))
(fill (type none))
)
)
(symbol "MOUDLE-SEEEDUINO-XIAO_1_1"
(pin passive line (at -19.05 7.62 0) (length 2.54)
(name "PA02_A0_D0" (effects (font (size 1.27 1.27))))
(number "1" (effects (font (size 1.27 1.27))))
)
(pin passive line (at 21.59 -2.54 180) (length 2.54)
(name "PA5_A9_D9_MISO" (effects (font (size 1.27 1.27))))
(number "10" (effects (font (size 1.27 1.27))))
)
(pin passive line (at 21.59 0 180) (length 2.54)
(name "PA6_A10_D10_MOSI" (effects (font (size 1.27 1.27))))
(number "11" (effects (font (size 1.27 1.27))))
)
(pin passive line (at 21.59 2.54 180) (length 2.54)
(name "3V3" (effects (font (size 1.27 1.27))))
(number "12" (effects (font (size 1.27 1.27))))
)
(pin passive line (at 21.59 5.08 180) (length 2.54)
(name "GND" (effects (font (size 1.27 1.27))))
(number "13" (effects (font (size 1.27 1.27))))
)
(pin passive line (at 21.59 7.62 180) (length 2.54)
(name "5V" (effects (font (size 1.27 1.27))))
(number "14" (effects (font (size 1.27 1.27))))
)
(pin passive line (at -19.05 5.08 0) (length 2.54)
(name "PA4_A1_D1" (effects (font (size 1.27 1.27))))
(number "2" (effects (font (size 1.27 1.27))))
)
(pin passive line (at -19.05 2.54 0) (length 2.54)
(name "PA10_A2_D2" (effects (font (size 1.27 1.27))))
(number "3" (effects (font (size 1.27 1.27))))
)
(pin passive line (at -19.05 0 0) (length 2.54)
(name "PA11_A3_D3" (effects (font (size 1.27 1.27))))
(number "4" (effects (font (size 1.27 1.27))))
)
(pin passive line (at -19.05 -2.54 0) (length 2.54)
(name "PA8_A4_D4_SDA" (effects (font (size 1.27 1.27))))
(number "5" (effects (font (size 1.27 1.27))))
)
(pin passive line (at -19.05 -5.08 0) (length 2.54)
(name "PA9_A5_D5_SCL" (effects (font (size 1.27 1.27))))
(number "6" (effects (font (size 1.27 1.27))))
)
(pin passive line (at -19.05 -7.62 0) (length 2.54)
(name "PB08_A6_D6_TX" (effects (font (size 1.27 1.27))))
(number "7" (effects (font (size 1.27 1.27))))
)
(pin passive line (at 21.59 -7.62 180) (length 2.54)
(name "PB09_A7_D7_RX" (effects (font (size 1.27 1.27))))
(number "8" (effects (font (size 1.27 1.27))))
)
(pin passive line (at 21.59 -5.08 180) (length 2.54)
(name "PA7_A8_D8_SCK" (effects (font (size 1.27 1.27))))
(number "9" (effects (font (size 1.27 1.27))))
)
)
)
)

View file

@ -0,0 +1,508 @@
ISO-10303-21;
HEADER;
FILE_DESCRIPTION(('FreeCAD Model'),'2;1');
FILE_NAME(
'D:/KiCAD/packages3D-source/Diode_THT.3dshapes\\
D_DO-35_SOD27_P7.62mm_Horizontal.step','2017-11-23T22:03:10',(
'kicad StepUp'),('ksu MCAD'),'Open CASCADE STEP processor 7.1',
'FreeCAD','Unknown');
FILE_SCHEMA(('AUTOMOTIVE_DESIGN { 1 0 10303 214 1 1 1 1 }'));
ENDSEC;
DATA;
#1 = APPLICATION_PROTOCOL_DEFINITION('international standard',
'automotive_design',2000,#2);
#2 = APPLICATION_CONTEXT(
'core data for automotive mechanical design processes');
#3 = SHAPE_DEFINITION_REPRESENTATION(#4,#10);
#4 = PRODUCT_DEFINITION_SHAPE('','',#5);
#5 = PRODUCT_DEFINITION('design','',#6,#9);
#6 = PRODUCT_DEFINITION_FORMATION('','',#7);
#7 = PRODUCT('D_DO-35_SOD27_P7.62mm_Horizontal',
'D_DO-35_SOD27_P7.62mm_Horizontal','',(#8));
#8 = PRODUCT_CONTEXT('',#2,'mechanical');
#9 = PRODUCT_DEFINITION_CONTEXT('part definition',#2,'design');
#10 = SHAPE_REPRESENTATION('',(#11,#15,#170),#365);
#11 = AXIS2_PLACEMENT_3D('',#12,#13,#14);
#12 = CARTESIAN_POINT('',(0.E+000,0.E+000,0.E+000));
#13 = DIRECTION('',(0.E+000,0.E+000,1.));
#14 = DIRECTION('',(1.,0.E+000,-0.E+000));
#15 = MANIFOLD_SOLID_BREP('',#16);
#16 = CLOSED_SHELL('',(#17,#50,#76,#101,#127,#152,#161));
#17 = ADVANCED_FACE('',(#18),#45,.T.);
#18 = FACE_BOUND('',#19,.T.);
#19 = EDGE_LOOP('',(#20,#30,#37,#38));
#20 = ORIENTED_EDGE('',*,*,#21,.T.);
#21 = EDGE_CURVE('',#22,#24,#26,.T.);
#22 = VERTEX_POINT('',#23);
#23 = CARTESIAN_POINT('',(0.25,0.E+000,-2.5));
#24 = VERTEX_POINT('',#25);
#25 = CARTESIAN_POINT('',(0.25,1.E-015,1.));
#26 = LINE('',#27,#28);
#27 = CARTESIAN_POINT('',(0.25,6.7E-016,1.));
#28 = VECTOR('',#29,1.);
#29 = DIRECTION('',(0.E+000,2.2E-016,1.));
#30 = ORIENTED_EDGE('',*,*,#31,.F.);
#31 = EDGE_CURVE('',#24,#24,#32,.T.);
#32 = CIRCLE('',#33,0.25);
#33 = AXIS2_PLACEMENT_3D('',#34,#35,#36);
#34 = CARTESIAN_POINT('',(0.E+000,6.7E-016,1.));
#35 = DIRECTION('',(-0.E+000,2.2E-016,1.));
#36 = DIRECTION('',(1.,0.E+000,0.E+000));
#37 = ORIENTED_EDGE('',*,*,#21,.F.);
#38 = ORIENTED_EDGE('',*,*,#39,.T.);
#39 = EDGE_CURVE('',#22,#22,#40,.T.);
#40 = CIRCLE('',#41,0.25);
#41 = AXIS2_PLACEMENT_3D('',#42,#43,#44);
#42 = CARTESIAN_POINT('',(0.E+000,-1.1E-016,-2.5));
#43 = DIRECTION('',(-0.E+000,2.2E-016,1.));
#44 = DIRECTION('',(1.,0.E+000,0.E+000));
#45 = CYLINDRICAL_SURFACE('',#46,0.25);
#46 = AXIS2_PLACEMENT_3D('',#47,#48,#49);
#47 = CARTESIAN_POINT('',(0.E+000,6.7E-016,1.));
#48 = DIRECTION('',(0.E+000,2.2E-016,1.));
#49 = DIRECTION('',(1.,0.E+000,0.E+000));
#50 = ADVANCED_FACE('',(#51),#71,.T.);
#51 = FACE_BOUND('',#52,.T.);
#52 = EDGE_LOOP('',(#53,#62,#69,#70));
#53 = ORIENTED_EDGE('',*,*,#54,.T.);
#54 = EDGE_CURVE('',#24,#55,#57,.T.);
#55 = VERTEX_POINT('',#56);
#56 = CARTESIAN_POINT('',(0.5,1.E-015,1.25));
#57 = CIRCLE('',#58,0.25);
#58 = AXIS2_PLACEMENT_3D('',#59,#60,#61);
#59 = CARTESIAN_POINT('',(0.5,7.6E-016,1.));
#60 = DIRECTION('',(0.E+000,1.,-2.2E-016));
#61 = DIRECTION('',(1.,0.E+000,0.E+000));
#62 = ORIENTED_EDGE('',*,*,#63,.T.);
#63 = EDGE_CURVE('',#55,#55,#64,.T.);
#64 = CIRCLE('',#65,0.25);
#65 = AXIS2_PLACEMENT_3D('',#66,#67,#68);
#66 = CARTESIAN_POINT('',(0.5,7.8E-016,1.5));
#67 = DIRECTION('',(-1.,0.E+000,-1.8E-016));
#68 = DIRECTION('',(-1.8E-016,2.2E-016,1.));
#69 = ORIENTED_EDGE('',*,*,#54,.F.);
#70 = ORIENTED_EDGE('',*,*,#31,.T.);
#71 = TOROIDAL_SURFACE('',#72,0.5,0.25);
#72 = AXIS2_PLACEMENT_3D('',#73,#74,#75);
#73 = CARTESIAN_POINT('',(0.5,6.7E-016,1.));
#74 = DIRECTION('',(0.E+000,1.,-2.2E-016));
#75 = DIRECTION('',(1.,0.E+000,0.E+000));
#76 = ADVANCED_FACE('',(#77),#96,.T.);
#77 = FACE_BOUND('',#78,.T.);
#78 = EDGE_LOOP('',(#79,#87,#94,#95));
#79 = ORIENTED_EDGE('',*,*,#80,.T.);
#80 = EDGE_CURVE('',#55,#81,#83,.T.);
#81 = VERTEX_POINT('',#82);
#82 = CARTESIAN_POINT('',(7.12,1.E-015,1.25));
#83 = LINE('',#84,#85);
#84 = CARTESIAN_POINT('',(0.5,7.2E-016,1.25));
#85 = VECTOR('',#86,1.);
#86 = DIRECTION('',(1.,0.E+000,0.E+000));
#87 = ORIENTED_EDGE('',*,*,#88,.F.);
#88 = EDGE_CURVE('',#81,#81,#89,.T.);
#89 = CIRCLE('',#90,0.25);
#90 = AXIS2_PLACEMENT_3D('',#91,#92,#93);
#91 = CARTESIAN_POINT('',(7.12,7.8E-016,1.5));
#92 = DIRECTION('',(1.,0.E+000,0.E+000));
#93 = DIRECTION('',(0.E+000,-2.2E-016,-1.));
#94 = ORIENTED_EDGE('',*,*,#80,.F.);
#95 = ORIENTED_EDGE('',*,*,#63,.F.);
#96 = CYLINDRICAL_SURFACE('',#97,0.25);
#97 = AXIS2_PLACEMENT_3D('',#98,#99,#100);
#98 = CARTESIAN_POINT('',(0.5,7.8E-016,1.5));
#99 = DIRECTION('',(1.,0.E+000,0.E+000));
#100 = DIRECTION('',(0.E+000,-2.2E-016,-1.));
#101 = ADVANCED_FACE('',(#102),#122,.T.);
#102 = FACE_BOUND('',#103,.T.);
#103 = EDGE_LOOP('',(#104,#113,#120,#121));
#104 = ORIENTED_EDGE('',*,*,#105,.T.);
#105 = EDGE_CURVE('',#81,#106,#108,.T.);
#106 = VERTEX_POINT('',#107);
#107 = CARTESIAN_POINT('',(7.37,1.E-015,1.));
#108 = CIRCLE('',#109,0.25);
#109 = AXIS2_PLACEMENT_3D('',#110,#111,#112);
#110 = CARTESIAN_POINT('',(7.12,7.6E-016,1.));
#111 = DIRECTION('',(0.E+000,1.,-2.2E-016));
#112 = DIRECTION('',(1.,0.E+000,0.E+000));
#113 = ORIENTED_EDGE('',*,*,#114,.T.);
#114 = EDGE_CURVE('',#106,#106,#115,.T.);
#115 = CIRCLE('',#116,0.25);
#116 = AXIS2_PLACEMENT_3D('',#117,#118,#119);
#117 = CARTESIAN_POINT('',(7.62,6.7E-016,1.));
#118 = DIRECTION('',(-2.4E-016,2.2E-016,1.));
#119 = DIRECTION('',(1.,0.E+000,2.4E-016));
#120 = ORIENTED_EDGE('',*,*,#105,.F.);
#121 = ORIENTED_EDGE('',*,*,#88,.T.);
#122 = TOROIDAL_SURFACE('',#123,0.5,0.25);
#123 = AXIS2_PLACEMENT_3D('',#124,#125,#126);
#124 = CARTESIAN_POINT('',(7.12,6.7E-016,1.));
#125 = DIRECTION('',(0.E+000,1.,-2.2E-016));
#126 = DIRECTION('',(1.,0.E+000,0.E+000));
#127 = ADVANCED_FACE('',(#128),#147,.T.);
#128 = FACE_BOUND('',#129,.T.);
#129 = EDGE_LOOP('',(#130,#138,#145,#146));
#130 = ORIENTED_EDGE('',*,*,#131,.T.);
#131 = EDGE_CURVE('',#106,#132,#134,.T.);
#132 = VERTEX_POINT('',#133);
#133 = CARTESIAN_POINT('',(7.37,0.E+000,-2.5));
#134 = LINE('',#135,#136);
#135 = CARTESIAN_POINT('',(7.37,6.7E-016,1.));
#136 = VECTOR('',#137,1.);
#137 = DIRECTION('',(0.E+000,-2.2E-016,-1.));
#138 = ORIENTED_EDGE('',*,*,#139,.F.);
#139 = EDGE_CURVE('',#132,#132,#140,.T.);
#140 = CIRCLE('',#141,0.25);
#141 = AXIS2_PLACEMENT_3D('',#142,#143,#144);
#142 = CARTESIAN_POINT('',(7.62,-1.1E-016,-2.5));
#143 = DIRECTION('',(-0.E+000,-2.2E-016,-1.));
#144 = DIRECTION('',(-1.,0.E+000,0.E+000));
#145 = ORIENTED_EDGE('',*,*,#131,.F.);
#146 = ORIENTED_EDGE('',*,*,#114,.F.);
#147 = CYLINDRICAL_SURFACE('',#148,0.25);
#148 = AXIS2_PLACEMENT_3D('',#149,#150,#151);
#149 = CARTESIAN_POINT('',(7.62,6.7E-016,1.));
#150 = DIRECTION('',(0.E+000,-2.2E-016,-1.));
#151 = DIRECTION('',(-1.,0.E+000,0.E+000));
#152 = ADVANCED_FACE('',(#153),#156,.T.);
#153 = FACE_BOUND('',#154,.F.);
#154 = EDGE_LOOP('',(#155));
#155 = ORIENTED_EDGE('',*,*,#39,.T.);
#156 = PLANE('',#157);
#157 = AXIS2_PLACEMENT_3D('',#158,#159,#160);
#158 = CARTESIAN_POINT('',(0.25,-1.1E-016,-2.5));
#159 = DIRECTION('',(0.E+000,0.E+000,-1.));
#160 = DIRECTION('',(-1.,0.E+000,0.E+000));
#161 = ADVANCED_FACE('',(#162),#165,.F.);
#162 = FACE_BOUND('',#163,.T.);
#163 = EDGE_LOOP('',(#164));
#164 = ORIENTED_EDGE('',*,*,#139,.T.);
#165 = PLANE('',#166);
#166 = AXIS2_PLACEMENT_3D('',#167,#168,#169);
#167 = CARTESIAN_POINT('',(7.37,-1.1E-016,-2.5));
#168 = DIRECTION('',(0.E+000,0.E+000,1.));
#169 = DIRECTION('',(1.,0.E+000,0.E+000));
#170 = MANIFOLD_SOLID_BREP('',#171);
#171 = CLOSED_SHELL('',(#172,#205,#225,#245,#270,#295,#321,#347,#356));
#172 = ADVANCED_FACE('',(#173),#200,.T.);
#173 = FACE_BOUND('',#174,.T.);
#174 = EDGE_LOOP('',(#175,#184,#192,#199));
#175 = ORIENTED_EDGE('',*,*,#176,.T.);
#176 = EDGE_CURVE('',#177,#177,#179,.T.);
#177 = VERTEX_POINT('',#178);
#178 = CARTESIAN_POINT('',(2.41,3.557331958362E-015,2.51));
#179 = CIRCLE('',#180,1.01);
#180 = AXIS2_PLACEMENT_3D('',#181,#182,#183);
#181 = CARTESIAN_POINT('',(2.41,6.630669073875E-016,1.5));
#182 = DIRECTION('',(1.,0.E+000,-0.E+000));
#183 = DIRECTION('',(0.E+000,9.92044604925E-016,1.));
#184 = ORIENTED_EDGE('',*,*,#185,.T.);
#185 = EDGE_CURVE('',#177,#186,#188,.T.);
#186 = VERTEX_POINT('',#187);
#187 = CARTESIAN_POINT('',(3.41,3.557331958362E-015,2.51));
#188 = LINE('',#189,#190);
#189 = CARTESIAN_POINT('',(2.41,5.573319583618E-016,2.51));
#190 = VECTOR('',#191,1.);
#191 = DIRECTION('',(1.,0.E+000,0.E+000));
#192 = ORIENTED_EDGE('',*,*,#193,.F.);
#193 = EDGE_CURVE('',#186,#186,#194,.T.);
#194 = CIRCLE('',#195,1.01);
#195 = AXIS2_PLACEMENT_3D('',#196,#197,#198);
#196 = CARTESIAN_POINT('',(3.41,6.630669073875E-016,1.5));
#197 = DIRECTION('',(1.,0.E+000,-0.E+000));
#198 = DIRECTION('',(0.E+000,9.92044604925E-016,1.));
#199 = ORIENTED_EDGE('',*,*,#185,.F.);
#200 = CYLINDRICAL_SURFACE('',#201,1.01);
#201 = AXIS2_PLACEMENT_3D('',#202,#203,#204);
#202 = CARTESIAN_POINT('',(2.41,6.630669073875E-016,1.5));
#203 = DIRECTION('',(1.,0.E+000,0.E+000));
#204 = DIRECTION('',(0.E+000,9.92044604925E-016,1.));
#205 = ADVANCED_FACE('',(#206,#209),#220,.F.);
#206 = FACE_BOUND('',#207,.T.);
#207 = EDGE_LOOP('',(#208));
#208 = ORIENTED_EDGE('',*,*,#176,.F.);
#209 = FACE_BOUND('',#210,.T.);
#210 = EDGE_LOOP('',(#211));
#211 = ORIENTED_EDGE('',*,*,#212,.T.);
#212 = EDGE_CURVE('',#213,#213,#215,.T.);
#213 = VERTEX_POINT('',#214);
#214 = CARTESIAN_POINT('',(2.41,5.551115123126E-016,2.5));
#215 = CIRCLE('',#216,1.);
#216 = AXIS2_PLACEMENT_3D('',#217,#218,#219);
#217 = CARTESIAN_POINT('',(2.41,6.630669073875E-016,1.5));
#218 = DIRECTION('',(1.,0.E+000,-0.E+000));
#219 = DIRECTION('',(0.E+000,1.002044604925E-015,1.));
#220 = PLANE('',#221);
#221 = AXIS2_PLACEMENT_3D('',#222,#223,#224);
#222 = CARTESIAN_POINT('',(2.41,6.630669073875E-016,1.5));
#223 = DIRECTION('',(1.,0.E+000,0.E+000));
#224 = DIRECTION('',(0.E+000,1.002044604925E-015,1.));
#225 = ADVANCED_FACE('',(#226,#229),#240,.T.);
#226 = FACE_BOUND('',#227,.T.);
#227 = EDGE_LOOP('',(#228));
#228 = ORIENTED_EDGE('',*,*,#193,.T.);
#229 = FACE_BOUND('',#230,.T.);
#230 = EDGE_LOOP('',(#231));
#231 = ORIENTED_EDGE('',*,*,#232,.F.);
#232 = EDGE_CURVE('',#233,#233,#235,.T.);
#233 = VERTEX_POINT('',#234);
#234 = CARTESIAN_POINT('',(3.41,5.551115123126E-016,2.5));
#235 = CIRCLE('',#236,1.);
#236 = AXIS2_PLACEMENT_3D('',#237,#238,#239);
#237 = CARTESIAN_POINT('',(3.41,6.630669073875E-016,1.5));
#238 = DIRECTION('',(1.,0.E+000,-0.E+000));
#239 = DIRECTION('',(0.E+000,1.002044604925E-015,1.));
#240 = PLANE('',#241);
#241 = AXIS2_PLACEMENT_3D('',#242,#243,#244);
#242 = CARTESIAN_POINT('',(3.41,6.630669073875E-016,1.5));
#243 = DIRECTION('',(1.,0.E+000,0.E+000));
#244 = DIRECTION('',(0.E+000,9.92044604925E-016,1.));
#245 = ADVANCED_FACE('',(#246),#265,.T.);
#246 = FACE_BOUND('',#247,.T.);
#247 = EDGE_LOOP('',(#248,#257,#263,#264));
#248 = ORIENTED_EDGE('',*,*,#249,.T.);
#249 = EDGE_CURVE('',#250,#250,#252,.T.);
#250 = VERTEX_POINT('',#251);
#251 = CARTESIAN_POINT('',(2.21,3.555111512313E-015,2.5));
#252 = CIRCLE('',#253,1.);
#253 = AXIS2_PLACEMENT_3D('',#254,#255,#256);
#254 = CARTESIAN_POINT('',(2.21,6.630669073875E-016,1.5));
#255 = DIRECTION('',(1.,0.E+000,-0.E+000));
#256 = DIRECTION('',(0.E+000,1.002044604925E-015,1.));
#257 = ORIENTED_EDGE('',*,*,#258,.T.);
#258 = EDGE_CURVE('',#250,#213,#259,.T.);
#259 = LINE('',#260,#261);
#260 = CARTESIAN_POINT('',(1.81,5.551115123126E-016,2.5));
#261 = VECTOR('',#262,1.);
#262 = DIRECTION('',(1.,0.E+000,0.E+000));
#263 = ORIENTED_EDGE('',*,*,#212,.F.);
#264 = ORIENTED_EDGE('',*,*,#258,.F.);
#265 = CYLINDRICAL_SURFACE('',#266,1.);
#266 = AXIS2_PLACEMENT_3D('',#267,#268,#269);
#267 = CARTESIAN_POINT('',(1.81,6.630669073875E-016,1.5));
#268 = DIRECTION('',(1.,0.E+000,0.E+000));
#269 = DIRECTION('',(0.E+000,1.002044604925E-015,1.));
#270 = ADVANCED_FACE('',(#271),#290,.T.);
#271 = FACE_BOUND('',#272,.T.);
#272 = EDGE_LOOP('',(#273,#274,#282,#289));
#273 = ORIENTED_EDGE('',*,*,#232,.T.);
#274 = ORIENTED_EDGE('',*,*,#275,.T.);
#275 = EDGE_CURVE('',#233,#276,#278,.T.);
#276 = VERTEX_POINT('',#277);
#277 = CARTESIAN_POINT('',(5.41,3.555111512313E-015,2.5));
#278 = LINE('',#279,#280);
#279 = CARTESIAN_POINT('',(1.81,5.551115123126E-016,2.5));
#280 = VECTOR('',#281,1.);
#281 = DIRECTION('',(1.,0.E+000,0.E+000));
#282 = ORIENTED_EDGE('',*,*,#283,.F.);
#283 = EDGE_CURVE('',#276,#276,#284,.T.);
#284 = CIRCLE('',#285,1.);
#285 = AXIS2_PLACEMENT_3D('',#286,#287,#288);
#286 = CARTESIAN_POINT('',(5.41,6.630669073875E-016,1.5));
#287 = DIRECTION('',(1.,0.E+000,-0.E+000));
#288 = DIRECTION('',(0.E+000,1.002044604925E-015,1.));
#289 = ORIENTED_EDGE('',*,*,#275,.F.);
#290 = CYLINDRICAL_SURFACE('',#291,1.);
#291 = AXIS2_PLACEMENT_3D('',#292,#293,#294);
#292 = CARTESIAN_POINT('',(1.81,6.630669073875E-016,1.5));
#293 = DIRECTION('',(1.,0.E+000,0.E+000));
#294 = DIRECTION('',(0.E+000,1.002044604925E-015,1.));
#295 = ADVANCED_FACE('',(#296),#316,.T.);
#296 = FACE_BOUND('',#297,.F.);
#297 = EDGE_LOOP('',(#298,#307,#308,#309));
#298 = ORIENTED_EDGE('',*,*,#299,.F.);
#299 = EDGE_CURVE('',#250,#300,#302,.T.);
#300 = VERTEX_POINT('',#301);
#301 = CARTESIAN_POINT('',(1.81,1.466293670343E-015,2.1));
#302 = CIRCLE('',#303,0.4);
#303 = AXIS2_PLACEMENT_3D('',#304,#305,#306);
#304 = CARTESIAN_POINT('',(2.21,1.266293670343E-015,2.1));
#305 = DIRECTION('',(0.E+000,-1.,1.002044604925E-015));
#306 = DIRECTION('',(0.E+000,1.002044604925E-015,1.));
#307 = ORIENTED_EDGE('',*,*,#249,.T.);
#308 = ORIENTED_EDGE('',*,*,#299,.T.);
#309 = ORIENTED_EDGE('',*,*,#310,.F.);
#310 = EDGE_CURVE('',#300,#300,#311,.T.);
#311 = CIRCLE('',#312,0.6);
#312 = AXIS2_PLACEMENT_3D('',#313,#314,#315);
#313 = CARTESIAN_POINT('',(1.81,6.630669073875E-016,1.5));
#314 = DIRECTION('',(1.,0.E+000,-0.E+000));
#315 = DIRECTION('',(0.E+000,1.002044604925E-015,1.));
#316 = TOROIDAL_SURFACE('',#317,0.6,0.4);
#317 = AXIS2_PLACEMENT_3D('',#318,#319,#320);
#318 = CARTESIAN_POINT('',(2.21,6.630669073875E-016,1.5));
#319 = DIRECTION('',(-1.,0.E+000,0.E+000));
#320 = DIRECTION('',(0.E+000,1.002044604925E-015,1.));
#321 = ADVANCED_FACE('',(#322),#342,.T.);
#322 = FACE_BOUND('',#323,.F.);
#323 = EDGE_LOOP('',(#324,#333,#340,#341));
#324 = ORIENTED_EDGE('',*,*,#325,.F.);
#325 = EDGE_CURVE('',#326,#276,#328,.T.);
#326 = VERTEX_POINT('',#327);
#327 = CARTESIAN_POINT('',(5.81,1.466293670343E-015,2.1));
#328 = CIRCLE('',#329,0.4);
#329 = AXIS2_PLACEMENT_3D('',#330,#331,#332);
#330 = CARTESIAN_POINT('',(5.41,1.266293670343E-015,2.1));
#331 = DIRECTION('',(0.E+000,-1.,1.002044604925E-015));
#332 = DIRECTION('',(0.E+000,1.002044604925E-015,1.));
#333 = ORIENTED_EDGE('',*,*,#334,.T.);
#334 = EDGE_CURVE('',#326,#326,#335,.T.);
#335 = CIRCLE('',#336,0.6);
#336 = AXIS2_PLACEMENT_3D('',#337,#338,#339);
#337 = CARTESIAN_POINT('',(5.81,6.630669073875E-016,1.5));
#338 = DIRECTION('',(1.,0.E+000,-0.E+000));
#339 = DIRECTION('',(0.E+000,1.002044604925E-015,1.));
#340 = ORIENTED_EDGE('',*,*,#325,.T.);
#341 = ORIENTED_EDGE('',*,*,#283,.F.);
#342 = TOROIDAL_SURFACE('',#343,0.6,0.4);
#343 = AXIS2_PLACEMENT_3D('',#344,#345,#346);
#344 = CARTESIAN_POINT('',(5.41,6.630669073875E-016,1.5));
#345 = DIRECTION('',(-1.,0.E+000,0.E+000));
#346 = DIRECTION('',(0.E+000,1.002044604925E-015,1.));
#347 = ADVANCED_FACE('',(#348),#351,.F.);
#348 = FACE_BOUND('',#349,.T.);
#349 = EDGE_LOOP('',(#350));
#350 = ORIENTED_EDGE('',*,*,#310,.F.);
#351 = PLANE('',#352);
#352 = AXIS2_PLACEMENT_3D('',#353,#354,#355);
#353 = CARTESIAN_POINT('',(1.81,6.630669073875E-016,1.5));
#354 = DIRECTION('',(1.,0.E+000,0.E+000));
#355 = DIRECTION('',(0.E+000,1.002044604925E-015,1.));
#356 = ADVANCED_FACE('',(#357),#360,.T.);
#357 = FACE_BOUND('',#358,.F.);
#358 = EDGE_LOOP('',(#359));
#359 = ORIENTED_EDGE('',*,*,#334,.F.);
#360 = PLANE('',#361);
#361 = AXIS2_PLACEMENT_3D('',#362,#363,#364);
#362 = CARTESIAN_POINT('',(5.81,6.630669073875E-016,1.5));
#363 = DIRECTION('',(1.,0.E+000,0.E+000));
#364 = DIRECTION('',(0.E+000,1.002044604925E-015,1.));
#365 = ( GEOMETRIC_REPRESENTATION_CONTEXT(3)
GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#369)) GLOBAL_UNIT_ASSIGNED_CONTEXT
((#366,#367,#368)) REPRESENTATION_CONTEXT('Context #1',
'3D Context with UNIT and UNCERTAINTY') );
#366 = ( LENGTH_UNIT() NAMED_UNIT(*) SI_UNIT(.MILLI.,.METRE.) );
#367 = ( NAMED_UNIT(*) PLANE_ANGLE_UNIT() SI_UNIT($,.RADIAN.) );
#368 = ( NAMED_UNIT(*) SI_UNIT($,.STERADIAN.) SOLID_ANGLE_UNIT() );
#369 = UNCERTAINTY_MEASURE_WITH_UNIT(LENGTH_MEASURE(1.E-007),#366,
'distance_accuracy_value','confusion accuracy');
#370 = PRODUCT_RELATED_PRODUCT_CATEGORY('part',$,(#7));
#371 = MECHANICAL_DESIGN_GEOMETRIC_PRESENTATION_REPRESENTATION('',(#372,
#380,#387,#394,#401,#408,#415,#422,#430,#437,#444,#452,#459,#466,
#473,#480),#365);
#372 = STYLED_ITEM('color',(#373),#17);
#373 = PRESENTATION_STYLE_ASSIGNMENT((#374));
#374 = SURFACE_STYLE_USAGE(.BOTH.,#375);
#375 = SURFACE_SIDE_STYLE('',(#376));
#376 = SURFACE_STYLE_FILL_AREA(#377);
#377 = FILL_AREA_STYLE('',(#378));
#378 = FILL_AREA_STYLE_COLOUR('',#379);
#379 = COLOUR_RGB('',0.824000000954,0.819999992847,0.78100001812);
#380 = STYLED_ITEM('color',(#381),#50);
#381 = PRESENTATION_STYLE_ASSIGNMENT((#382));
#382 = SURFACE_STYLE_USAGE(.BOTH.,#383);
#383 = SURFACE_SIDE_STYLE('',(#384));
#384 = SURFACE_STYLE_FILL_AREA(#385);
#385 = FILL_AREA_STYLE('',(#386));
#386 = FILL_AREA_STYLE_COLOUR('',#379);
#387 = STYLED_ITEM('color',(#388),#76);
#388 = PRESENTATION_STYLE_ASSIGNMENT((#389));
#389 = SURFACE_STYLE_USAGE(.BOTH.,#390);
#390 = SURFACE_SIDE_STYLE('',(#391));
#391 = SURFACE_STYLE_FILL_AREA(#392);
#392 = FILL_AREA_STYLE('',(#393));
#393 = FILL_AREA_STYLE_COLOUR('',#379);
#394 = STYLED_ITEM('color',(#395),#101);
#395 = PRESENTATION_STYLE_ASSIGNMENT((#396));
#396 = SURFACE_STYLE_USAGE(.BOTH.,#397);
#397 = SURFACE_SIDE_STYLE('',(#398));
#398 = SURFACE_STYLE_FILL_AREA(#399);
#399 = FILL_AREA_STYLE('',(#400));
#400 = FILL_AREA_STYLE_COLOUR('',#379);
#401 = STYLED_ITEM('color',(#402),#127);
#402 = PRESENTATION_STYLE_ASSIGNMENT((#403));
#403 = SURFACE_STYLE_USAGE(.BOTH.,#404);
#404 = SURFACE_SIDE_STYLE('',(#405));
#405 = SURFACE_STYLE_FILL_AREA(#406);
#406 = FILL_AREA_STYLE('',(#407));
#407 = FILL_AREA_STYLE_COLOUR('',#379);
#408 = STYLED_ITEM('color',(#409),#152);
#409 = PRESENTATION_STYLE_ASSIGNMENT((#410));
#410 = SURFACE_STYLE_USAGE(.BOTH.,#411);
#411 = SURFACE_SIDE_STYLE('',(#412));
#412 = SURFACE_STYLE_FILL_AREA(#413);
#413 = FILL_AREA_STYLE('',(#414));
#414 = FILL_AREA_STYLE_COLOUR('',#379);
#415 = STYLED_ITEM('color',(#416),#161);
#416 = PRESENTATION_STYLE_ASSIGNMENT((#417));
#417 = SURFACE_STYLE_USAGE(.BOTH.,#418);
#418 = SURFACE_SIDE_STYLE('',(#419));
#419 = SURFACE_STYLE_FILL_AREA(#420);
#420 = FILL_AREA_STYLE('',(#421));
#421 = FILL_AREA_STYLE_COLOUR('',#379);
#422 = STYLED_ITEM('color',(#423),#172);
#423 = PRESENTATION_STYLE_ASSIGNMENT((#424));
#424 = SURFACE_STYLE_USAGE(.BOTH.,#425);
#425 = SURFACE_SIDE_STYLE('',(#426));
#426 = SURFACE_STYLE_FILL_AREA(#427);
#427 = FILL_AREA_STYLE('',(#428));
#428 = FILL_AREA_STYLE_COLOUR('',#429);
#429 = COLOUR_RGB('',0.699999988079,0.10000000149,5.000000074506E-002);
#430 = STYLED_ITEM('color',(#431),#205);
#431 = PRESENTATION_STYLE_ASSIGNMENT((#432));
#432 = SURFACE_STYLE_USAGE(.BOTH.,#433);
#433 = SURFACE_SIDE_STYLE('',(#434));
#434 = SURFACE_STYLE_FILL_AREA(#435);
#435 = FILL_AREA_STYLE('',(#436));
#436 = FILL_AREA_STYLE_COLOUR('',#429);
#437 = STYLED_ITEM('color',(#438),#225);
#438 = PRESENTATION_STYLE_ASSIGNMENT((#439));
#439 = SURFACE_STYLE_USAGE(.BOTH.,#440);
#440 = SURFACE_SIDE_STYLE('',(#441));
#441 = SURFACE_STYLE_FILL_AREA(#442);
#442 = FILL_AREA_STYLE('',(#443));
#443 = FILL_AREA_STYLE_COLOUR('',#429);
#444 = STYLED_ITEM('color',(#445),#245);
#445 = PRESENTATION_STYLE_ASSIGNMENT((#446));
#446 = SURFACE_STYLE_USAGE(.BOTH.,#447);
#447 = SURFACE_SIDE_STYLE('',(#448));
#448 = SURFACE_STYLE_FILL_AREA(#449);
#449 = FILL_AREA_STYLE('',(#450));
#450 = FILL_AREA_STYLE_COLOUR('',#451);
#451 = COLOUR_RGB('',0.E+000,0.631244003773,0.748015999794);
#452 = STYLED_ITEM('color',(#453),#270);
#453 = PRESENTATION_STYLE_ASSIGNMENT((#454));
#454 = SURFACE_STYLE_USAGE(.BOTH.,#455);
#455 = SURFACE_SIDE_STYLE('',(#456));
#456 = SURFACE_STYLE_FILL_AREA(#457);
#457 = FILL_AREA_STYLE('',(#458));
#458 = FILL_AREA_STYLE_COLOUR('',#451);
#459 = STYLED_ITEM('color',(#460),#295);
#460 = PRESENTATION_STYLE_ASSIGNMENT((#461));
#461 = SURFACE_STYLE_USAGE(.BOTH.,#462);
#462 = SURFACE_SIDE_STYLE('',(#463));
#463 = SURFACE_STYLE_FILL_AREA(#464);
#464 = FILL_AREA_STYLE('',(#465));
#465 = FILL_AREA_STYLE_COLOUR('',#451);
#466 = STYLED_ITEM('color',(#467),#321);
#467 = PRESENTATION_STYLE_ASSIGNMENT((#468));
#468 = SURFACE_STYLE_USAGE(.BOTH.,#469);
#469 = SURFACE_SIDE_STYLE('',(#470));
#470 = SURFACE_STYLE_FILL_AREA(#471);
#471 = FILL_AREA_STYLE('',(#472));
#472 = FILL_AREA_STYLE_COLOUR('',#451);
#473 = STYLED_ITEM('color',(#474),#347);
#474 = PRESENTATION_STYLE_ASSIGNMENT((#475));
#475 = SURFACE_STYLE_USAGE(.BOTH.,#476);
#476 = SURFACE_SIDE_STYLE('',(#477));
#477 = SURFACE_STYLE_FILL_AREA(#478);
#478 = FILL_AREA_STYLE('',(#479));
#479 = FILL_AREA_STYLE_COLOUR('',#451);
#480 = STYLED_ITEM('color',(#481),#356);
#481 = PRESENTATION_STYLE_ASSIGNMENT((#482));
#482 = SURFACE_STYLE_USAGE(.BOTH.,#483);
#483 = SURFACE_SIDE_STYLE('',(#484));
#484 = SURFACE_STYLE_FILL_AREA(#485);
#485 = FILL_AREA_STYLE('',(#486));
#486 = FILL_AREA_STYLE_COLOUR('',#451);
ENDSEC;
END-ISO-10303-21;

View file

@ -0,0 +1,56 @@
# ScottoKicad
A collection of footprints, symbols, and 3D models for building mechanical keyboards with Kicad.
# Installation
1. Add a `SCOTTOKEEBS_KICAD` path to match where the `ScottoKicad` folder is located.
![Preferences -> Configure Paths](https://github.com/joe-scotto/scottokeebs/assets/8194147/5163f9db-0dfa-4ae7-ba4a-295114c5c051)
![Configure Paths](https://github.com/joe-scotto/scottokeebs/assets/8194147/28e6b534-e96d-4a14-9fd1-886b87db1c7b)
2. Add the symbol library.
![Preferences -> Manage Symbol Libraries](https://github.com/joe-scotto/scottokeebs/assets/8194147/d76cbe33-e155-46d1-98df-d8cd789688e6)
![Symbol Libraries](https://github.com/joe-scotto/scottokeebs/assets/8194147/e165293a-2aba-4269-a040-300297fd4089)
3. Add the footprint libraries.
![Preferences -> Manage Footprint Libraries](https://github.com/joe-scotto/scottokeebs/assets/8194147/f4105958-389d-4a0a-96d6-8b4eb98136e7)
![Footprint Libraries](https://github.com/joe-scotto/scottokeebs/assets/8194147/68367a4b-eca6-4440-8bf4-b6bf8ef522fa)
4. That's it, you should now have everything you need!
# Common grid sizes
- 18x17mm (Choc)
- 1.00u - X: 18, Y:17
- 0.50u - X: 9, Y: 8.5
- 0.25u - X: 4.5, Y: 4.25
- 19.05x19.05 (MX/Alps)
- 1.00u - X: 19.05, Y: 19.05
- 0.50u - X: 9.525, Y: 9.525
- 0.25u X: 4.7625, Y: 4.7625
# Common Shortcuts
- **Add (A)** - Add a footprint or symbol.
- **Set Origin Point (S)** - Set where everything else will move in relation to.
- **Move with Reference (])** - Move a footprint with a reference point.
- **Track Tool (X)** - Place traces
- **Add Via (V)** - Place a via to run a trace between PCB layers.
- **Flip (F)** - Switch footprint between back and front of the PCB.
# Resources
Please refer to each library in order to understand the license it uses, most are Creative Commons CC-BY-SA 4.0.
- [Keyswitch Library](https://github.com/kiswitch/kiswitch/tree/main) - 3D models and footprints for switches, stabilizers, and sockets.
- [Raspberry Pi Pico](https://github.com/ncarandini/KiCad-RP-Pico) - 3D model, footprint, and symbol.
- [Arduino Pro Micro](https://github.com/g200kg/kicad-lib-arduino) - Footprint and symbol.
- [Marbastlib](https://github.com/ebastler/marbastlib) - Symbols.
- [Kleeb](https://github.com/crides/kleeb) - 3D models, symbols, and footprints.
- [Keebio](https://github.com/keebio/Keebio-Parts.pretty) - 3D models, footprints, and symbols.
# Credits
Feel free to reach out to me on Discord if you want to help get a component into the library.
- nice!nano - Base dimensions and placement by @Knotherface, can be found on GitHub as [Leopere](https://github.com/Leopere).

View file

@ -0,0 +1,196 @@
(footprint "Diode_DO-35"
(version 20240108)
(generator "pcbnew")
(generator_version "8.0")
(layer "F.Cu")
(descr "Diode, DO-35_SOD27 series, Axial, Horizontal, pin pitch=7.62mm, , length*diameter=4*2mm^2, , http://www.diodes.com/_files/packages/DO-35.pdf")
(tags "Diode DO-35_SOD27 series Axial Horizontal pin pitch 7.62mm length 4mm diameter 2mm")
(property "Reference" "REF**"
(at 3.81 -2.12 0)
(layer "F.SilkS")
(hide yes)
(uuid "ee86d068-d2ef-4fda-b9c0-9b4714a6aaed")
(effects
(font
(size 1 1)
(thickness 0.15)
)
)
)
(property "Value" "1N4148"
(at 3.81 2.12 0)
(layer "F.Fab")
(hide yes)
(uuid "c81612ae-d00a-4574-aa22-3262466ab838")
(effects
(font
(size 1 1)
(thickness 0.15)
)
)
)
(property "Footprint" ""
(at 0 0 0)
(unlocked yes)
(layer "F.Fab")
(hide yes)
(uuid "8e1a0d8b-4e36-48ef-945a-fee19cede957")
(effects
(font
(size 1.27 1.27)
)
)
)
(property "Datasheet" ""
(at 0 0 0)
(unlocked yes)
(layer "F.Fab")
(hide yes)
(uuid "0122b2cc-1c0d-4141-9856-de4e92b7317e")
(effects
(font
(size 1.27 1.27)
)
)
)
(property "Description" ""
(at 0 0 0)
(unlocked yes)
(layer "F.Fab")
(hide yes)
(uuid "b7829e9f-82b1-417a-b6f3-9e1efb9b28e5")
(effects
(font
(size 1.27 1.27)
)
)
)
(attr through_hole)
(fp_line
(start 3.06 0)
(end 3.46 0)
(stroke
(width 0.1)
(type solid)
)
(layer "F.SilkS")
(uuid "376fb381-e6b5-4345-911f-ba18eb3ae98a")
)
(fp_line
(start 3.46 -0.55)
(end 3.46 0.55)
(stroke
(width 0.1)
(type solid)
)
(layer "F.SilkS")
(uuid "8bdc3737-869a-40b7-bb7c-2f6b401ddecb")
)
(fp_line
(start 3.46 0)
(end 4.06 -0.4)
(stroke
(width 0.1)
(type solid)
)
(layer "F.SilkS")
(uuid "b2e76b2d-1620-4172-8e22-b088bb27601a")
)
(fp_line
(start 4.06 -0.4)
(end 4.06 0.4)
(stroke
(width 0.1)
(type solid)
)
(layer "F.SilkS")
(uuid "843155ee-f50f-4dce-9559-bea280560c32")
)
(fp_line
(start 4.06 0)
(end 4.56 0)
(stroke
(width 0.1)
(type solid)
)
(layer "F.SilkS")
(uuid "1d8a10cf-e539-4b82-bbd6-495ca54a180b")
)
(fp_line
(start 4.06 0.4)
(end 3.46 0)
(stroke
(width 0.1)
(type solid)
)
(layer "F.SilkS")
(uuid "cb2a47f8-3864-4a86-a3c7-dea773549425")
)
(fp_line
(start -1.05 -1.25)
(end -1.05 1.25)
(stroke
(width 0.05)
(type solid)
)
(layer "F.CrtYd")
(uuid "c1eaeca5-d4e8-4eb0-99f5-ce8364e8fdf6")
)
(fp_line
(start -1.05 1.25)
(end 8.67 1.25)
(stroke
(width 0.05)
(type solid)
)
(layer "F.CrtYd")
(uuid "943a9873-3a72-4090-99fa-618e270a7931")
)
(fp_line
(start 8.67 -1.25)
(end -1.05 -1.25)
(stroke
(width 0.05)
(type solid)
)
(layer "F.CrtYd")
(uuid "6bf88856-447a-4ae1-a85c-3788e20921ac")
)
(fp_line
(start 8.67 1.25)
(end 8.67 -1.25)
(stroke
(width 0.05)
(type solid)
)
(layer "F.CrtYd")
(uuid "b141b0ff-4caf-401d-9d36-fcbaf9307490")
)
(pad "1" thru_hole rect
(at 0 0)
(size 1.6 1.6)
(drill 0.8)
(layers "*.Cu" "*.Mask")
(remove_unused_layers no)
(uuid "2e8bc9f9-3f92-49fd-a09f-519ed79542e8")
)
(pad "2" thru_hole oval
(at 7.62 0)
(size 1.6 1.6)
(drill 0.8)
(layers "*.Cu" "*.Mask")
(remove_unused_layers no)
(uuid "ab137455-787e-40dc-8ccf-232f332bbbcb")
)
(model "${SCOTTOKEEBS_KICAD}/3dmodels/ScottoKeebs_Components.3dshapes/Diode_DO-35.step"
(offset
(xyz 0 0 0)
)
(scale
(xyz 1 1 1)
)
(rotate
(xyz 0 0 0)
)
)
)

View file

@ -0,0 +1,311 @@
(footprint "Seeed_XIAO_RP2040"
(version 20240108)
(generator "pcbnew")
(generator_version "8.0")
(layer "F.Cu")
(property "Reference" "REF**"
(at 0 0 0)
(unlocked yes)
(layer "F.SilkS")
(hide yes)
(uuid "095a372f-9f31-4250-a321-c0000b6622a5")
(effects
(font
(size 1 1)
(thickness 0.15)
)
)
)
(property "Value" "Seeed_XIAO_RP2040"
(at 10.16 0 90)
(unlocked yes)
(layer "F.Fab")
(uuid "f196aca9-6148-4d59-893a-dc3f267dc99e")
(effects
(font
(size 1 1)
(thickness 0.15)
)
)
)
(property "Footprint" ""
(at 0 0 90)
(unlocked yes)
(layer "F.Fab")
(hide yes)
(uuid "49dca5f1-172e-4b31-9fa1-f11b85cfdcdb")
(effects
(font
(size 1.27 1.27)
)
)
)
(property "Datasheet" ""
(at 0 0 90)
(unlocked yes)
(layer "F.Fab")
(hide yes)
(uuid "e6861538-2b42-4102-ad26-f3e668e623ed")
(effects
(font
(size 1.27 1.27)
)
)
)
(property "Description" ""
(at 0 0 90)
(unlocked yes)
(layer "F.Fab")
(hide yes)
(uuid "b013a302-de5a-4f4a-9a96-e067ca92ab89")
(effects
(font
(size 1.27 1.27)
)
)
)
(attr through_hole)
(fp_rect
(start -8.89 -10.5)
(end 8.89 10.5)
(stroke
(width 0.12)
(type solid)
)
(fill none)
(layer "Dwgs.User")
(uuid "2848380e-1aa8-4183-a0a3-cfc0c941bc60")
)
(fp_rect
(start -4.5 -11.9)
(end 4.5 -4.57)
(stroke
(width 0.12)
(type solid)
)
(fill none)
(layer "Dwgs.User")
(uuid "da27c870-b593-4b10-b9df-3aee53ab4459")
)
(pad "1" smd roundrect
(at -8.065 -7.62)
(size 2.75 2)
(layers "F.Cu" "F.Paste" "F.Mask")
(roundrect_rratio 0.25)
(uuid "99e30fa7-728c-4750-9d34-b5f6cd9e3354")
)
(pad "1" thru_hole rect
(at -7.62 -7.62 90)
(size 1.6 1.6)
(drill 1)
(layers "*.Cu" "*.Mask")
(remove_unused_layers no)
(uuid "0c8eb2bc-ecde-4d91-b5b1-7e80c298a0e4")
)
(pad "2" smd roundrect
(at -8.065 -5.08)
(size 2.75 2)
(layers "F.Cu" "F.Paste" "F.Mask")
(roundrect_rratio 0.25)
(uuid "dbf7f623-182a-41fa-b527-f73aa4a6236b")
)
(pad "2" thru_hole circle
(at -7.62 -5.08 90)
(size 1.6 1.6)
(drill 1)
(layers "*.Cu" "*.Mask")
(remove_unused_layers no)
(uuid "dc1dcec1-476b-47d2-a2f3-83ae28e4e62a")
)
(pad "3" smd roundrect
(at -8.065 -2.54)
(size 2.75 2)
(layers "F.Cu" "F.Paste" "F.Mask")
(roundrect_rratio 0.25)
(uuid "3846a1ec-404e-4542-a0e9-30bfe7cc356b")
)
(pad "3" thru_hole circle
(at -7.62 -2.54 90)
(size 1.6 1.6)
(drill 1)
(layers "*.Cu" "*.Mask")
(remove_unused_layers no)
(uuid "23901e3c-df1d-479c-aba7-7fda808e4902")
)
(pad "4" smd roundrect
(at -8.065 0)
(size 2.75 2)
(layers "F.Cu" "F.Paste" "F.Mask")
(roundrect_rratio 0.25)
(uuid "2d5a91b0-782d-4e93-b892-0ef0319195d0")
)
(pad "4" thru_hole circle
(at -7.62 0 90)
(size 1.6 1.6)
(drill 1)
(layers "*.Cu" "*.Mask")
(remove_unused_layers no)
(uuid "4681b869-0c10-4df7-a79a-581d0e53c827")
)
(pad "5" smd roundrect
(at -8.065 2.54)
(size 2.75 2)
(layers "F.Cu" "F.Paste" "F.Mask")
(roundrect_rratio 0.25)
(uuid "42d7fa12-5592-4f0f-ac84-c3599fa2fc99")
)
(pad "5" thru_hole circle
(at -7.62 2.54 90)
(size 1.6 1.6)
(drill 1)
(layers "*.Cu" "*.Mask")
(remove_unused_layers no)
(uuid "43e5ac53-e741-439f-807d-3919fa9cdb34")
)
(pad "6" smd roundrect
(at -8.065 5.08)
(size 2.75 2)
(layers "F.Cu" "F.Paste" "F.Mask")
(roundrect_rratio 0.25)
(uuid "9df217d6-f8ff-4dd3-8212-b8c2f4f45d7f")
)
(pad "6" thru_hole circle
(at -7.62 5.08 90)
(size 1.6 1.6)
(drill 1)
(layers "*.Cu" "*.Mask")
(remove_unused_layers no)
(uuid "ec5dce95-f507-4229-96b1-c2c841b239a3")
)
(pad "7" smd roundrect
(at -8.065 7.62)
(size 2.75 2)
(layers "F.Cu" "F.Paste" "F.Mask")
(roundrect_rratio 0.25)
(uuid "78a95a3c-3f69-49b2-b93f-42d2cb37d55a")
)
(pad "7" thru_hole circle
(at -7.62 7.62 90)
(size 1.6 1.6)
(drill 1)
(layers "*.Cu" "*.Mask")
(remove_unused_layers no)
(uuid "f2dfd457-779e-4651-8f97-79abc01c8725")
)
(pad "8" thru_hole circle
(at 7.62 7.62 90)
(size 1.6 1.6)
(drill 1)
(layers "*.Cu" "*.Mask")
(remove_unused_layers no)
(uuid "6feca75d-a16a-4acf-8534-57bb924b0929")
)
(pad "8" smd roundrect
(at 8.1 7.62)
(size 2.75 2)
(layers "F.Cu" "F.Paste" "F.Mask")
(roundrect_rratio 0.25)
(uuid "26879183-f19c-4bea-ae3d-eae1f21bc8f7")
)
(pad "9" thru_hole circle
(at 7.62 5.08 90)
(size 1.6 1.6)
(drill 1)
(layers "*.Cu" "*.Mask")
(remove_unused_layers no)
(uuid "572ac95f-90fa-4d22-a045-8259b2b84a34")
)
(pad "9" smd roundrect
(at 8.1 5.08)
(size 2.75 2)
(layers "F.Cu" "F.Paste" "F.Mask")
(roundrect_rratio 0.25)
(uuid "0e7e5d34-52fd-4180-8ade-dfcc9477a32f")
)
(pad "10" thru_hole circle
(at 7.62 2.54 90)
(size 1.6 1.6)
(drill 1)
(layers "*.Cu" "*.Mask")
(remove_unused_layers no)
(uuid "09f99e1c-c6ae-44ec-968b-c80e895f427d")
)
(pad "10" smd roundrect
(at 8.1 2.54)
(size 2.75 2)
(layers "F.Cu" "F.Paste" "F.Mask")
(roundrect_rratio 0.25)
(uuid "edb4aa61-bcb7-4acb-93ca-aaa40d7e6e44")
)
(pad "11" thru_hole circle
(at 7.62 0 90)
(size 1.6 1.6)
(drill 1)
(layers "*.Cu" "*.Mask")
(remove_unused_layers no)
(uuid "f2305822-9eac-47dd-a98e-ff3fc63c904c")
)
(pad "11" smd roundrect
(at 8.1 0)
(size 2.75 2)
(layers "F.Cu" "F.Paste" "F.Mask")
(roundrect_rratio 0.25)
(uuid "24359498-0b72-4cf1-b4d8-be36727c4b96")
)
(pad "12" thru_hole circle
(at 7.62 -2.54 90)
(size 1.6 1.6)
(drill 1)
(layers "*.Cu" "*.Mask")
(remove_unused_layers no)
(uuid "55b767dc-c4ff-4640-858e-d1aa6fd5073e")
)
(pad "12" smd roundrect
(at 8.1 -2.54)
(size 2.75 2)
(layers "F.Cu" "F.Paste" "F.Mask")
(roundrect_rratio 0.25)
(uuid "989ce17a-7822-4ade-bfbe-7c16ea459b07")
)
(pad "13" thru_hole circle
(at 7.62 -5.08 90)
(size 1.6 1.6)
(drill 1)
(layers "*.Cu" "*.Mask")
(remove_unused_layers no)
(uuid "81ba8c43-1bea-4636-b168-b29f894e8f48")
)
(pad "13" smd roundrect
(at 8.1 -5.08)
(size 2.75 2)
(layers "F.Cu" "F.Paste" "F.Mask")
(roundrect_rratio 0.25)
(uuid "62eff137-25b1-4b3e-93b3-d876551998eb")
)
(pad "14" thru_hole circle
(at 7.62 -7.62 90)
(size 1.6 1.6)
(drill 1)
(layers "*.Cu" "*.Mask")
(remove_unused_layers no)
(uuid "048b9374-cfe3-48fa-afc5-71793b8c3942")
)
(pad "14" smd roundrect
(at 8.1 -7.62)
(size 2.75 2)
(layers "F.Cu" "F.Paste" "F.Mask")
(roundrect_rratio 0.25)
(uuid "6e81fa0a-b162-41f5-bcbb-ca9ce6f8984d")
)
(model "${SCOTTOKEEBS_KICAD}/3dmodels/ScottoKeebs_MCU.3dshapes/Seeed_XIAO_RP2040.step"
(offset
(xyz 0 0 0)
)
(scale
(xyz 1 1 1)
)
(rotate
(xyz 0 0 0)
)
)
)

View file

@ -0,0 +1,43 @@
(module MX_PCB_1.00u (layer F.Cu) (tedit 0)
(descr "MX keyswitch PCB Mount Keycap 1.00u")
(tags "MX Keyboard Keyswitch Switch PCB Cutout Keycap 1.00u")
(fp_text reference REF** (at 0 -8) (layer F.SilkS)
(effects (font (size 1 1) (thickness 0.15)))
)
(fp_text value MX_PCB_1.00u (at 0 8) (layer F.Fab)
(effects (font (size 1 1) (thickness 0.15)))
)
(fp_line (start -7 -7) (end -7 7) (layer F.Fab) (width 0.1))
(fp_line (start -7 7) (end 7 7) (layer F.Fab) (width 0.1))
(fp_line (start 7 7) (end 7 -7) (layer F.Fab) (width 0.1))
(fp_line (start 7 -7) (end -7 -7) (layer F.Fab) (width 0.1))
(fp_line (start -7.1 -7.1) (end -7.1 7.1) (layer F.SilkS) (width 0.12))
(fp_line (start -7.1 7.1) (end 7.1 7.1) (layer F.SilkS) (width 0.12))
(fp_line (start 7.1 7.1) (end 7.1 -7.1) (layer F.SilkS) (width 0.12))
(fp_line (start 7.1 -7.1) (end -7.1 -7.1) (layer F.SilkS) (width 0.12))
(fp_line (start -7.25 -7.25) (end -7.25 7.25) (layer F.CrtYd) (width 0.05))
(fp_line (start -7.25 7.25) (end 7.25 7.25) (layer F.CrtYd) (width 0.05))
(fp_line (start 7.25 7.25) (end 7.25 -7.25) (layer F.CrtYd) (width 0.05))
(fp_line (start 7.25 -7.25) (end -7.25 -7.25) (layer F.CrtYd) (width 0.05))
(fp_line (start -7 -7) (end -7 7) (layer Eco1.User) (width 0.1))
(fp_line (start -7 7) (end 7 7) (layer Eco1.User) (width 0.1))
(fp_line (start 7 7) (end 7 -7) (layer Eco1.User) (width 0.1))
(fp_line (start 7 -7) (end -7 -7) (layer Eco1.User) (width 0.1))
(fp_line (start -9.525 -9.525) (end -9.525 9.525) (layer Dwgs.User) (width 0.1))
(fp_line (start -9.525 9.525) (end 9.525 9.525) (layer Dwgs.User) (width 0.1))
(fp_line (start 9.525 9.525) (end 9.525 -9.525) (layer Dwgs.User) (width 0.1))
(fp_line (start 9.525 -9.525) (end -9.525 -9.525) (layer Dwgs.User) (width 0.1))
(pad 1 thru_hole circle (at -3.81 -2.54) (size 2.5 2.5) (drill 1.5) (layers *.Cu *.Mask))
(pad 2 thru_hole circle (at 2.54 -5.08) (size 2.5 2.5) (drill 1.5) (layers *.Cu *.Mask))
(pad "" np_thru_hole circle (at 0 0) (size 4 4) (drill 4) (layers *.Cu *.Mask))
(pad "" np_thru_hole circle (at -5.08 0) (size 1.75 1.75) (drill 1.75) (layers *.Cu *.Mask))
(pad "" np_thru_hole circle (at 5.08 0) (size 1.75 1.75) (drill 1.75) (layers *.Cu *.Mask))
(fp_text user %R (at 0 0) (layer F.Fab)
(effects (font (size 1 1) (thickness 0.15)))
)
(model ${SCOTTOKEEBS_KICAD}/3dmodels/ScottoKeebs_MX.3dshapes/MX_PCB.step
(at (xyz 0 0 0))
(scale (xyz 1 1 1))
(rotate (xyz 0 0 0))
)
)

View file

@ -0,0 +1,268 @@
(footprint "Encoder_EC11_MX"
(version 20240108)
(generator "pcbnew")
(generator_version "8.0")
(layer "F.Cu")
(descr "MX keyswitch PCB Mount Keycap 1.00u")
(tags "MX Keyboard Keyswitch Switch PCB Cutout Keycap 1.00u")
(property "Reference" "REF**"
(at 0 -8 0)
(layer "F.SilkS")
(hide yes)
(uuid "bd56af1f-76e7-45fb-a291-67a305594c2e")
(effects
(font
(size 1 1)
(thickness 0.15)
)
)
)
(property "Value" "Encoder_EC11_MX"
(at 0 8 0)
(layer "F.Fab")
(hide yes)
(uuid "f39398a3-f6a8-4e9c-90bb-de98512f66cf")
(effects
(font
(size 1 1)
(thickness 0.15)
)
)
)
(property "Footprint" ""
(at 0 0 0)
(unlocked yes)
(layer "F.Fab")
(hide yes)
(uuid "f88bebb0-3c5a-47bd-adc4-20eae7ecfa01")
(effects
(font
(size 1.27 1.27)
)
)
)
(property "Datasheet" ""
(at 0 0 0)
(unlocked yes)
(layer "F.Fab")
(hide yes)
(uuid "f69b51de-e4ab-4872-955e-3e6c02e636be")
(effects
(font
(size 1.27 1.27)
)
)
)
(property "Description" ""
(at 0 0 0)
(unlocked yes)
(layer "F.Fab")
(hide yes)
(uuid "69cadfe2-b264-4355-9f83-15cfd80dd0d9")
(effects
(font
(size 1.27 1.27)
)
)
)
(attr through_hole)
(fp_line
(start -9.525 -9.525)
(end -9.525 9.525)
(stroke
(width 0.1)
(type solid)
)
(layer "Dwgs.User")
(uuid "1b046217-d185-495f-8cda-0ab6e7077e42")
)
(fp_line
(start -9.525 9.525)
(end 9.525 9.525)
(stroke
(width 0.1)
(type solid)
)
(layer "Dwgs.User")
(uuid "8ad94749-6ea0-4b92-8de3-77ea66fbb212")
)
(fp_line
(start 9.525 -9.525)
(end -9.525 -9.525)
(stroke
(width 0.1)
(type solid)
)
(layer "Dwgs.User")
(uuid "ee41f7e5-1024-4f1c-a251-296c68cdd619")
)
(fp_line
(start 9.525 9.525)
(end 9.525 -9.525)
(stroke
(width 0.1)
(type solid)
)
(layer "Dwgs.User")
(uuid "3ac1eadf-8bf4-40ad-b0ac-bcad56745d0f")
)
(fp_line
(start -6 -4.7)
(end -5 -5.8)
(stroke
(width 0.12)
(type solid)
)
(layer "F.Fab")
(uuid "9d438a02-6006-4b10-a028-cedd12829d17")
)
(fp_line
(start -6 5.8)
(end -6 -4.7)
(stroke
(width 0.12)
(type solid)
)
(layer "F.Fab")
(uuid "23d5a65c-bd42-46bc-9894-f243f3983d1f")
)
(fp_line
(start -5 -5.8)
(end 6 -5.8)
(stroke
(width 0.12)
(type solid)
)
(layer "F.Fab")
(uuid "f4539f81-c1d1-4faf-ac8c-96eaa17251b3")
)
(fp_line
(start -3 0)
(end 3 0)
(stroke
(width 0.12)
(type solid)
)
(layer "F.Fab")
(uuid "0e5073c2-e904-417c-9db8-ee754a74d385")
)
(fp_line
(start 0 -3)
(end 0 3)
(stroke
(width 0.12)
(type solid)
)
(layer "F.Fab")
(uuid "07b15e1f-9ca1-46f0-b16c-13ad6640d431")
)
(fp_line
(start 6 -5.8)
(end 6 5.8)
(stroke
(width 0.12)
(type solid)
)
(layer "F.Fab")
(uuid "0df630d7-cbed-4ac5-a0f3-2059bdb5f1a0")
)
(fp_line
(start 6 5.8)
(end -6 5.8)
(stroke
(width 0.12)
(type solid)
)
(layer "F.Fab")
(uuid "620517ae-c2b4-446b-80d2-6e028e929c17")
)
(fp_circle
(center 0 0)
(end 3 0)
(stroke
(width 0.12)
(type solid)
)
(fill none)
(layer "F.Fab")
(uuid "353daee2-af02-4237-b4d5-ba17732acaf6")
)
(fp_text user "${REFERENCE}"
(at 3.6 3.8 0)
(layer "F.Fab")
(uuid "7752c1e3-2b9a-4a90-839a-de816ae779d3")
(effects
(font
(size 1 1)
(thickness 0.15)
)
)
)
(pad "A" thru_hole rect
(at -7.5 -2.5)
(size 2 2)
(drill 1)
(layers "*.Cu" "*.Mask")
(remove_unused_layers no)
(uuid "07d65e22-460a-44f5-98c7-cc8463d063ab")
)
(pad "B" thru_hole circle
(at -7.5 2.5)
(size 2 2)
(drill 1)
(layers "*.Cu" "*.Mask")
(remove_unused_layers no)
(uuid "224f3a5b-a862-4974-8a28-c99715614ca8")
)
(pad "C" thru_hole circle
(at -7.5 0)
(size 2 2)
(drill 1)
(layers "*.Cu" "*.Mask")
(remove_unused_layers no)
(uuid "e9821264-6d76-43c9-a77d-af49f310ff32")
)
(pad "MP" thru_hole rect
(at 0 -5.6)
(size 3.2 2)
(drill oval 2.8 1.5)
(layers "*.Cu" "*.Mask")
(remove_unused_layers no)
(uuid "b1709acc-1a2e-4634-ad90-4fda7c7f0ac1")
)
(pad "MP" thru_hole rect
(at 0 5.6)
(size 3.2 2)
(drill oval 2.8 1.5)
(layers "*.Cu" "*.Mask")
(remove_unused_layers no)
(uuid "65861cf1-2a48-49ac-a8e7-23777f125820")
)
(pad "S1" thru_hole circle
(at 7 2.5)
(size 2 2)
(drill 1)
(layers "*.Cu" "*.Mask")
(remove_unused_layers no)
(uuid "0e56dfdb-c8ba-48f6-9ead-5a426b55187b")
)
(pad "S2" thru_hole circle
(at 7 -2.5)
(size 2 2)
(drill 1)
(layers "*.Cu" "*.Mask")
(remove_unused_layers no)
(uuid "ebe5a691-5dd3-42b8-9083-da0500bc7bb0")
)
(model "${SCOTTOKEEBS_KICAD}/3dmodels/ScottoKeebs_Scotto.3dshapes/EC11.step"
(offset
(xyz 0 0 0)
)
(scale
(xyz 1 1 1)
)
(rotate
(xyz -90 0 90)
)
)
)

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

View file

@ -0,0 +1,83 @@
{
"board": {
"active_layer": 36,
"active_layer_preset": "All Layers",
"auto_track_width": true,
"hidden_netclasses": [],
"hidden_nets": [],
"high_contrast_mode": 0,
"net_color_mode": 1,
"opacity": {
"images": 0.6,
"pads": 1.0,
"tracks": 1.0,
"vias": 1.0,
"zones": 0.6
},
"selection_filter": {
"dimensions": true,
"footprints": true,
"graphics": true,
"keepouts": true,
"lockedItems": false,
"otherItems": true,
"pads": true,
"text": true,
"tracks": true,
"vias": true,
"zones": true
},
"visible_items": [
0,
1,
2,
3,
4,
5,
8,
9,
10,
11,
12,
13,
15,
16,
17,
18,
19,
20,
21,
22,
23,
24,
25,
26,
27,
28,
29,
30,
32,
33,
34,
35,
36,
39,
40
],
"visible_layers": "fffffff_ffffffff",
"zone_display_mode": 0
},
"git": {
"repo_password": "",
"repo_type": "",
"repo_username": "",
"ssh_key": ""
},
"meta": {
"filename": "pcb.kicad_prl",
"version": 3
},
"project": {
"files": []
}
}

View file

@ -0,0 +1,635 @@
{
"board": {
"3dviewports": [],
"design_settings": {
"defaults": {
"apply_defaults_to_fp_fields": false,
"apply_defaults_to_fp_shapes": false,
"apply_defaults_to_fp_text": false,
"board_outline_line_width": 0.05,
"copper_line_width": 0.2,
"copper_text_italic": false,
"copper_text_size_h": 1.5,
"copper_text_size_v": 1.5,
"copper_text_thickness": 0.3,
"copper_text_upright": false,
"courtyard_line_width": 0.05,
"dimension_precision": 4,
"dimension_units": 3,
"dimensions": {
"arrow_length": 1270000,
"extension_offset": 500000,
"keep_text_aligned": true,
"suppress_zeroes": false,
"text_position": 0,
"units_format": 1
},
"fab_line_width": 0.1,
"fab_text_italic": false,
"fab_text_size_h": 1.0,
"fab_text_size_v": 1.0,
"fab_text_thickness": 0.15,
"fab_text_upright": false,
"other_line_width": 0.1,
"other_text_italic": false,
"other_text_size_h": 1.0,
"other_text_size_v": 1.0,
"other_text_thickness": 0.15,
"other_text_upright": false,
"pads": {
"drill": 0.0,
"height": 1.2,
"width": 0.9
},
"silk_line_width": 0.1,
"silk_text_italic": false,
"silk_text_size_h": 1.0,
"silk_text_size_v": 1.0,
"silk_text_thickness": 0.1,
"silk_text_upright": false,
"zones": {
"min_clearance": 0.0
}
},
"diff_pair_dimensions": [
{
"gap": 0.0,
"via_gap": 0.0,
"width": 0.0
}
],
"drc_exclusions": [],
"meta": {
"version": 2
},
"rule_severities": {
"annular_width": "error",
"clearance": "error",
"connection_width": "warning",
"copper_edge_clearance": "error",
"copper_sliver": "warning",
"courtyards_overlap": "error",
"diff_pair_gap_out_of_range": "error",
"diff_pair_uncoupled_length_too_long": "error",
"drill_out_of_range": "error",
"duplicate_footprints": "warning",
"extra_footprint": "warning",
"footprint": "error",
"footprint_symbol_mismatch": "warning",
"footprint_type_mismatch": "ignore",
"hole_clearance": "error",
"hole_near_hole": "error",
"holes_co_located": "warning",
"invalid_outline": "error",
"isolated_copper": "warning",
"item_on_disabled_layer": "error",
"items_not_allowed": "error",
"length_out_of_range": "error",
"lib_footprint_issues": "warning",
"lib_footprint_mismatch": "warning",
"malformed_courtyard": "error",
"microvia_drill_out_of_range": "error",
"missing_courtyard": "ignore",
"missing_footprint": "warning",
"net_conflict": "warning",
"npth_inside_courtyard": "ignore",
"padstack": "warning",
"pth_inside_courtyard": "ignore",
"shorting_items": "error",
"silk_edge_clearance": "warning",
"silk_over_copper": "warning",
"silk_overlap": "warning",
"skew_out_of_range": "error",
"solder_mask_bridge": "error",
"starved_thermal": "error",
"text_height": "warning",
"text_thickness": "warning",
"through_hole_pad_without_hole": "error",
"too_many_vias": "error",
"track_dangling": "warning",
"track_width": "error",
"tracks_crossing": "error",
"unconnected_items": "error",
"unresolved_variable": "error",
"via_dangling": "warning",
"zones_intersect": "error"
},
"rules": {
"max_error": 0.005,
"min_clearance": 0.0,
"min_connection": 0.0,
"min_copper_edge_clearance": 0.5,
"min_hole_clearance": 0.25,
"min_hole_to_hole": 0.25,
"min_microvia_diameter": 0.2,
"min_microvia_drill": 0.1,
"min_resolved_spokes": 2,
"min_silk_clearance": 0.0,
"min_text_height": 0.8,
"min_text_thickness": 0.08,
"min_through_hole_diameter": 0.3,
"min_track_width": 0.0,
"min_via_annular_width": 0.1,
"min_via_diameter": 0.5,
"solder_mask_to_copper_clearance": 0.0,
"use_height_for_length_calcs": true
},
"teardrop_options": [
{
"td_onpadsmd": true,
"td_onroundshapesonly": false,
"td_ontrackend": false,
"td_onviapad": true
}
],
"teardrop_parameters": [
{
"td_allow_use_two_tracks": true,
"td_curve_segcount": 0,
"td_height_ratio": 1.0,
"td_length_ratio": 0.5,
"td_maxheight": 2.0,
"td_maxlen": 1.0,
"td_on_pad_in_zone": false,
"td_target_name": "td_round_shape",
"td_width_to_size_filter_ratio": 0.9
},
{
"td_allow_use_two_tracks": true,
"td_curve_segcount": 0,
"td_height_ratio": 1.0,
"td_length_ratio": 0.5,
"td_maxheight": 2.0,
"td_maxlen": 1.0,
"td_on_pad_in_zone": false,
"td_target_name": "td_rect_shape",
"td_width_to_size_filter_ratio": 0.9
},
{
"td_allow_use_two_tracks": true,
"td_curve_segcount": 0,
"td_height_ratio": 1.0,
"td_length_ratio": 0.5,
"td_maxheight": 2.0,
"td_maxlen": 1.0,
"td_on_pad_in_zone": false,
"td_target_name": "td_track_end",
"td_width_to_size_filter_ratio": 0.9
}
],
"track_widths": [
0.0
],
"tuning_pattern_settings": {
"diff_pair_defaults": {
"corner_radius_percentage": 80,
"corner_style": 1,
"max_amplitude": 1.0,
"min_amplitude": 0.2,
"single_sided": false,
"spacing": 1.0
},
"diff_pair_skew_defaults": {
"corner_radius_percentage": 80,
"corner_style": 1,
"max_amplitude": 1.0,
"min_amplitude": 0.2,
"single_sided": false,
"spacing": 0.6
},
"single_track_defaults": {
"corner_radius_percentage": 80,
"corner_style": 1,
"max_amplitude": 1.0,
"min_amplitude": 0.2,
"single_sided": false,
"spacing": 0.6
}
},
"via_dimensions": [
{
"diameter": 0.0,
"drill": 0.0
}
],
"zones_allow_external_fillets": false
},
"ipc2581": {
"dist": "",
"distpn": "",
"internal_id": "",
"mfg": "",
"mpn": ""
},
"layer_presets": [],
"viewports": []
},
"boards": [],
"cvpcb": {
"equivalence_files": []
},
"erc": {
"erc_exclusions": [],
"meta": {
"version": 0
},
"pin_map": [
[
0,
0,
0,
0,
0,
0,
1,
0,
0,
0,
0,
2
],
[
0,
2,
0,
1,
0,
0,
1,
0,
2,
2,
2,
2
],
[
0,
0,
0,
0,
0,
0,
1,
0,
1,
0,
1,
2
],
[
0,
1,
0,
0,
0,
0,
1,
1,
2,
1,
1,
2
],
[
0,
0,
0,
0,
0,
0,
1,
0,
0,
0,
0,
2
],
[
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
2
],
[
1,
1,
1,
1,
1,
0,
1,
1,
1,
1,
1,
2
],
[
0,
0,
0,
1,
0,
0,
1,
0,
0,
0,
0,
2
],
[
0,
2,
1,
2,
0,
0,
1,
0,
2,
2,
2,
2
],
[
0,
2,
0,
1,
0,
0,
1,
0,
2,
0,
0,
2
],
[
0,
2,
1,
1,
0,
0,
1,
0,
2,
0,
0,
2
],
[
2,
2,
2,
2,
2,
2,
2,
2,
2,
2,
2,
2
]
],
"rule_severities": {
"bus_definition_conflict": "error",
"bus_entry_needed": "error",
"bus_to_bus_conflict": "error",
"bus_to_net_conflict": "error",
"conflicting_netclasses": "error",
"different_unit_footprint": "error",
"different_unit_net": "error",
"duplicate_reference": "error",
"duplicate_sheet_names": "error",
"endpoint_off_grid": "warning",
"extra_units": "error",
"global_label_dangling": "warning",
"hier_label_mismatch": "error",
"label_dangling": "error",
"lib_symbol_issues": "warning",
"missing_bidi_pin": "warning",
"missing_input_pin": "warning",
"missing_power_pin": "error",
"missing_unit": "warning",
"multiple_net_names": "warning",
"net_not_bus_member": "warning",
"no_connect_connected": "warning",
"no_connect_dangling": "warning",
"pin_not_connected": "error",
"pin_not_driven": "error",
"pin_to_pin": "warning",
"power_pin_not_driven": "error",
"similar_labels": "warning",
"simulation_model_issue": "ignore",
"unannotated": "error",
"unit_value_mismatch": "error",
"unresolved_variable": "error",
"wire_dangling": "error"
}
},
"libraries": {
"pinned_footprint_libs": [],
"pinned_symbol_libs": []
},
"meta": {
"filename": "pcb.kicad_pro",
"version": 1
},
"net_settings": {
"classes": [
{
"bus_width": 12,
"clearance": 0.2,
"diff_pair_gap": 0.25,
"diff_pair_via_gap": 0.25,
"diff_pair_width": 0.2,
"line_style": 0,
"microvia_diameter": 0.3,
"microvia_drill": 0.1,
"name": "Default",
"pcb_color": "rgba(0, 0, 0, 0.000)",
"schematic_color": "rgba(0, 0, 0, 0.000)",
"track_width": 0.254,
"via_diameter": 0.6,
"via_drill": 0.3,
"wire_width": 6
},
{
"bus_width": 12,
"clearance": 0.2,
"diff_pair_gap": 0.25,
"diff_pair_via_gap": 0.25,
"diff_pair_width": 0.2,
"line_style": 0,
"microvia_diameter": 0.3,
"microvia_drill": 0.1,
"name": "power",
"pcb_color": "rgba(0, 0, 0, 0.000)",
"schematic_color": "rgba(0, 0, 0, 0.000)",
"track_width": 0.381,
"via_diameter": 0.6,
"via_drill": 0.3,
"wire_width": 6
}
],
"meta": {
"version": 3
},
"net_colors": null,
"netclass_assignments": null,
"netclass_patterns": [
{
"netclass": "power",
"pattern": "VCC"
},
{
"netclass": "power",
"pattern": "GND"
},
{
"netclass": "power",
"pattern": "+5v"
}
]
},
"pcbnew": {
"last_paths": {
"gencad": "",
"idf": "",
"netlist": "../../../../",
"plot": "",
"pos_files": "",
"specctra_dsn": "",
"step": "",
"svg": "",
"vrml": ""
},
"page_layout_descr_file": ""
},
"schematic": {
"annotate_start_num": 0,
"bom_export_filename": "",
"bom_fmt_presets": [],
"bom_fmt_settings": {
"field_delimiter": ",",
"keep_line_breaks": false,
"keep_tabs": false,
"name": "CSV",
"ref_delimiter": ",",
"ref_range_delimiter": "",
"string_delimiter": "\""
},
"bom_presets": [],
"bom_settings": {
"exclude_dnp": false,
"fields_ordered": [
{
"group_by": false,
"label": "Reference",
"name": "Reference",
"show": true
},
{
"group_by": true,
"label": "Value",
"name": "Value",
"show": true
},
{
"group_by": false,
"label": "Datasheet",
"name": "Datasheet",
"show": true
},
{
"group_by": false,
"label": "Footprint",
"name": "Footprint",
"show": true
},
{
"group_by": false,
"label": "Qty",
"name": "${QUANTITY}",
"show": true
},
{
"group_by": true,
"label": "DNP",
"name": "${DNP}",
"show": true
}
],
"filter_string": "",
"group_symbols": true,
"name": "Grouped By Value",
"sort_asc": true,
"sort_field": "Reference"
},
"connection_grid_size": 50.0,
"drawing": {
"dashed_lines_dash_length_ratio": 12.0,
"dashed_lines_gap_length_ratio": 3.0,
"default_line_thickness": 6.0,
"default_text_size": 50.0,
"field_names": [],
"intersheets_ref_own_page": false,
"intersheets_ref_prefix": "",
"intersheets_ref_short": false,
"intersheets_ref_show": false,
"intersheets_ref_suffix": "",
"junction_size_choice": 3,
"label_size_ratio": 0.375,
"operating_point_overlay_i_precision": 3,
"operating_point_overlay_i_range": "~A",
"operating_point_overlay_v_precision": 3,
"operating_point_overlay_v_range": "~V",
"overbar_offset_ratio": 1.23,
"pin_symbol_size": 25.0,
"text_offset_ratio": 0.15
},
"legacy_lib_dir": "",
"legacy_lib_list": [],
"meta": {
"version": 1
},
"net_format_name": "",
"ngspice": {
"fix_include_paths": true,
"meta": {
"version": 0
},
"model_mode": 4,
"workbook_filename": ""
},
"page_layout_descr_file": "",
"plot_directory": "",
"spice_current_sheet_as_root": false,
"spice_external_command": "spice \"%I\"",
"spice_model_current_sheet_as_root": true,
"spice_save_all_currents": false,
"spice_save_all_dissipations": false,
"spice_save_all_voltages": false,
"subpart_first_id": 65,
"subpart_id_separator": 0
},
"sheets": [
[
"84d3c422-86ca-40bb-b182-23c51a045904",
"Root"
]
],
"text_variables": {}
}

File diff suppressed because it is too large Load diff

View file

@ -0,0 +1 @@
{"hostname":"Shark","username":"blahaj"}

View file

@ -0,0 +1,22 @@
# Military Industrial Complex Pad
First time making anything w/pcbs, so this was a learning experience. I'm not sure if I'll ever make another one, but I'm glad I did it. The biggest struggle was working with CAD software in general ( Using Shapr3D ) and I spent wayyy too much time creating the 8 screw holes needed for the case.
# About
This is a 5x4 numpad with a 128x32 OLED display.
![image](semiFinalCase.png)
![image](FrontPCB.png)
![image](BackPCB.png)
# Notes
This is a 150mm long PCB which is outside the 100mm limit for the pcb. But I'm grandfathered in because I made the PCB before the 100mm limit was put in place. (Check the slack! @blahajfromikea)
# BOM:
- 17x Cherry MX switches
- 17x Through-hole 1N4148 Diodes
- 17x DSA Keycaps ( if possible send 3 2-unit long Keycaps )
- 8x M3 Heat-Set Inserts
- 4x 12mm M3 Bolts
- 4x 18mm M3 Bolts
- 1x Seeed XIAO RP2040 (through-hole)
- 1x 4 Pinheader 2.54mm Vertical
- 1x SSD1306 0.91 inch 128x32 I2C OLED (4 pin)
- 1x PCB
- 1x All-White (If possible) PLA Case. (3 .stl files)

View file

@ -0,0 +1,3 @@
#define I2C_DRIVER I2CD1
#define I2C1_SDA_PIN GP6
#define I2C1_SCL_PIN GP7

View file

@ -0,0 +1,49 @@
{
"manufacturer": "Military Industrial Complex",
"keyboard_name": "3xtmic",
"maintainer": "Myzomi",
"bootloader": "rp2040",
"diode_direction": "COL2ROW",
"features": {
"bootmagic": true,
"command": false,
"console": false,
"extrakey": true,
"mousekey": true,
"nkro": true
},
"matrix_pins": {
"cols": ["GP1", "GP2", "GP4", "GP3"],
"rows": ["GP0", "GP29", "GP28", "GP27", "GP26"]
},
"processor": "RP2040",
"url": "",
"usb": {
"device_version": "1.0.0",
"pid": "0x0000",
"vid": "0xFEED"
},
"layouts": {
"LAYOUT_numpad_5x4": {
"layout": [
{"matrix": [0, 0], "x": 0, "y": 0},
{"matrix": [0, 1], "x": 1, "y": 0},
{"matrix": [0, 2], "x": 2, "y": 0},
{"matrix": [0, 3], "x": 3, "y": 0},
{"matrix": [1, 0], "x": 0, "y": 1},
{"matrix": [1, 1], "x": 1, "y": 1},
{"matrix": [1, 2], "x": 2, "y": 1},
{"matrix": [2, 0], "x": 0, "y": 2},
{"matrix": [2, 1], "x": 1, "y": 2},
{"matrix": [2, 2], "x": 2, "y": 2},
{"matrix": [1, 3], "x": 3, "y": 1, "h": 2},
{"matrix": [3, 0], "x": 0, "y": 3},
{"matrix": [3, 1], "x": 1, "y": 3},
{"matrix": [3, 2], "x": 2, "y": 3},
{"matrix": [4, 0], "x": 0, "y": 4, "w": 2},
{"matrix": [4, 2], "x": 2, "y": 4},
{"matrix": [3, 3], "x": 3, "y": 3, "h": 2}
]
}
}
}

View file

@ -0,0 +1,48 @@
// Copyright 2023 QMK
// SPDX-License-Identifier: GPL-2.0-or-later
#include QMK_KEYBOARD_H
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
/*
*
* TG1 / * -
*
* 7 8 9
* +
* 4 5 6
*
* 1 2 3
* Ent
* 0 .
*
*/
[0] = LAYOUT_numpad_5x4(
TG(1), KC_PSLS, KC_PAST, KC_PMNS,
KC_P7, KC_P8, KC_P9,
KC_P4, KC_P5, KC_P6, KC_PPLS,
KC_P1, KC_P2, KC_P3,
KC_P0, KC_PDOT, KC_PENT
),
/*
*
* TG1 / * -
*
* Hom PgU
* +
*
*
* End PgD
* Ent
* Insert Del
*
*/
[1] = LAYOUT_numpad_5x4(
_______, _______, _______, _______,
KC_HOME, KC_UP, KC_PGUP,
KC_LEFT, XXXXXXX, KC_RGHT, _______,
KC_END, KC_DOWN, KC_PGDN,
KC_INS, KC_DEL, _______
)
};

View file

@ -0,0 +1,27 @@
# 3xtmic
![3xtmic](imgur.com image replace me!)
*A short description of the keyboard/project*
* Keyboard Maintainer: [Myzomi](https://github.com/Myzomi)
* Hardware Supported: *The PCBs, controllers supported*
* Hardware Availability: *Links to where you can find this hardware*
Make example for this keyboard (after setting up your build environment):
make 3xtmic:default
Flashing example for this keyboard:
make 3xtmic:default:flash
See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) and the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. Brand new to QMK? Start with our [Complete Newbs Guide](https://docs.qmk.fm/#/newbs).
## Bootloader
Enter the bootloader in 3 ways:
* **Bootmagic reset**: Hold down the key at (0,0) in the matrix (usually the top left key or Escape) and plug in the keyboard
* **Physical reset button**: Briefly press the button on the back of the PCB - some may have pads you must short instead
* **Keycode in layout**: Press the key mapped to `QK_BOOT` if it is available

View file

@ -0,0 +1,5 @@
OLED_ENABLE = yes
OLED_TRANSPORT = i2c
OLED_DRIVER = ssd1306
LTO_ENABLE = yes

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

After

Width:  |  Height:  |  Size: 421 KiB