Compare commits

..

17 commits

14 changed files with 38229 additions and 7176 deletions

File diff suppressed because it is too large Load diff

View file

@ -1,6 +1,6 @@
{ {
"board": { "board": {
"active_layer": 0, "active_layer": 7,
"active_layer_preset": "", "active_layer_preset": "",
"auto_track_width": false, "auto_track_width": false,
"hidden_netclasses": [], "hidden_netclasses": [],

View file

@ -440,6 +440,7 @@
"single_global_label": "ignore", "single_global_label": "ignore",
"unannotated": "error", "unannotated": "error",
"unconnected_wire_endpoint": "warning", "unconnected_wire_endpoint": "warning",
"undefined_netclass": "error",
"unit_value_mismatch": "error", "unit_value_mismatch": "error",
"unresolved_variable": "error", "unresolved_variable": "error",
"wire_dangling": "error" "wire_dangling": "error"
@ -646,10 +647,6 @@
[ [
"e3c88f17-e431-4ad8-b491-c68f92a3599e", "e3c88f17-e431-4ad8-b491-c68f92a3599e",
"Root" "Root"
],
[
"98ee239b-163f-48b3-a8ff-c02836b195b0",
"LEDs"
] ]
], ],
"text_variables": {} "text_variables": {}

View file

@ -1542,7 +1542,7 @@
(uuid "0df900b7-f253-49e5-be16-069430e9c15f") (uuid "0df900b7-f253-49e5-be16-069430e9c15f")
) )
(junction (junction
(at 107.95 172.72) (at 119.38 172.72)
(diameter 0) (diameter 0)
(color 0 0 0 0) (color 0 0 0 0)
(uuid "0fa57eb5-eaa7-4e45-8fbc-a988e3305738") (uuid "0fa57eb5-eaa7-4e45-8fbc-a988e3305738")
@ -1620,7 +1620,7 @@
(uuid "38bd1f97-602b-4f5b-a40a-87875dc43770") (uuid "38bd1f97-602b-4f5b-a40a-87875dc43770")
) )
(junction (junction
(at 77.47 162.56) (at 88.9 162.56)
(diameter 0) (diameter 0)
(color 0 0 0 0) (color 0 0 0 0)
(uuid "3c09b5da-21df-42e6-9498-c7ad2ed6be36") (uuid "3c09b5da-21df-42e6-9498-c7ad2ed6be36")
@ -2010,15 +2010,19 @@
(uuid "f81cd84f-5a32-48ec-838b-3ea5ed6e0310") (uuid "f81cd84f-5a32-48ec-838b-3ea5ed6e0310")
) )
(no_connect (no_connect
(at 57.15 129.54) (at 68.58 129.54)
(uuid "4095a63d-c131-4c91-966c-43222aff5c94") (uuid "4095a63d-c131-4c91-966c-43222aff5c94")
) )
(no_connect
(at 68.58 127)
(uuid "4e80321e-d03a-4aa5-9448-f5a82991d97d")
)
(no_connect (no_connect
(at 228.6 121.92) (at 228.6 121.92)
(uuid "5321128d-8d6d-45bc-a235-b50132ebf69f") (uuid "5321128d-8d6d-45bc-a235-b50132ebf69f")
) )
(no_connect (no_connect
(at 97.79 121.92) (at 109.22 121.92)
(uuid "6ed74e1d-3701-4e27-b475-923ead78bddb") (uuid "6ed74e1d-3701-4e27-b475-923ead78bddb")
) )
(bus_entry (bus_entry
@ -2040,7 +2044,7 @@
(uuid "024cf0bc-2802-49aa-8bde-67656e1c8a12") (uuid "024cf0bc-2802-49aa-8bde-67656e1c8a12")
) )
(bus_entry (bus_entry
(at 50.8 144.78) (at 62.23 144.78)
(size -2.54 2.54) (size -2.54 2.54)
(stroke (stroke
(width 0) (width 0)
@ -2049,7 +2053,7 @@
(uuid "03b26fc9-15eb-461b-868d-b1600ca48be1") (uuid "03b26fc9-15eb-461b-868d-b1600ca48be1")
) )
(bus_entry (bus_entry
(at 50.8 147.32) (at 62.23 147.32)
(size -2.54 2.54) (size -2.54 2.54)
(stroke (stroke
(width 0) (width 0)
@ -2058,7 +2062,7 @@
(uuid "0db1af60-e609-40de-8843-4982b19f1c65") (uuid "0db1af60-e609-40de-8843-4982b19f1c65")
) )
(bus_entry (bus_entry
(at 48.26 137.16) (at 59.69 137.16)
(size -2.54 2.54) (size -2.54 2.54)
(stroke (stroke
(width 0) (width 0)
@ -2067,7 +2071,7 @@
(uuid "0f7ca82b-317f-41fa-9910-3755033761be") (uuid "0f7ca82b-317f-41fa-9910-3755033761be")
) )
(bus_entry (bus_entry
(at 105.41 149.86) (at 116.84 149.86)
(size 2.54 2.54) (size 2.54 2.54)
(stroke (stroke
(width 0) (width 0)
@ -2076,7 +2080,7 @@
(uuid "0fb38ceb-4dbf-4507-862b-b6269736108a") (uuid "0fb38ceb-4dbf-4507-862b-b6269736108a")
) )
(bus_entry (bus_entry
(at 48.26 132.08) (at 59.69 132.08)
(size -2.54 2.54) (size -2.54 2.54)
(stroke (stroke
(width 0) (width 0)
@ -2148,7 +2152,7 @@
(uuid "4dd0e044-8c64-4bde-a209-e47dec1f86d2") (uuid "4dd0e044-8c64-4bde-a209-e47dec1f86d2")
) )
(bus_entry (bus_entry
(at 50.8 149.86) (at 62.23 149.86)
(size -2.54 2.54) (size -2.54 2.54)
(stroke (stroke
(width 0) (width 0)
@ -2157,7 +2161,7 @@
(uuid "538a8068-5738-4036-9521-903be9e9c118") (uuid "538a8068-5738-4036-9521-903be9e9c118")
) )
(bus_entry (bus_entry
(at 105.41 134.62) (at 116.84 134.62)
(size 2.54 2.54) (size 2.54 2.54)
(stroke (stroke
(width 0) (width 0)
@ -2166,7 +2170,7 @@
(uuid "676789f5-fc97-49bb-a6d7-dbb9c049ee94") (uuid "676789f5-fc97-49bb-a6d7-dbb9c049ee94")
) )
(bus_entry (bus_entry
(at 50.8 142.24) (at 62.23 142.24)
(size -2.54 2.54) (size -2.54 2.54)
(stroke (stroke
(width 0) (width 0)
@ -2184,7 +2188,7 @@
(uuid "7b4dc7c4-5575-4bbf-a2d6-bb9b5dac9d70") (uuid "7b4dc7c4-5575-4bbf-a2d6-bb9b5dac9d70")
) )
(bus_entry (bus_entry
(at 105.41 144.78) (at 116.84 144.78)
(size 2.54 2.54) (size 2.54 2.54)
(stroke (stroke
(width 0) (width 0)
@ -2202,7 +2206,7 @@
(uuid "82af69a9-c389-46a3-8b78-370df5befe31") (uuid "82af69a9-c389-46a3-8b78-370df5befe31")
) )
(bus_entry (bus_entry
(at 105.41 147.32) (at 116.84 147.32)
(size 2.54 2.54) (size 2.54 2.54)
(stroke (stroke
(width 0) (width 0)
@ -2211,7 +2215,7 @@
(uuid "89bb9591-bea9-4ad6-b767-85e40b212f46") (uuid "89bb9591-bea9-4ad6-b767-85e40b212f46")
) )
(bus_entry (bus_entry
(at 105.41 137.16) (at 116.84 137.16)
(size 2.54 2.54) (size 2.54 2.54)
(stroke (stroke
(width 0) (width 0)
@ -2220,7 +2224,7 @@
(uuid "9408f5ba-d66f-4133-8279-707cf3d63880") (uuid "9408f5ba-d66f-4133-8279-707cf3d63880")
) )
(bus_entry (bus_entry
(at 48.26 134.62) (at 59.69 134.62)
(size -2.54 2.54) (size -2.54 2.54)
(stroke (stroke
(width 0) (width 0)
@ -2229,7 +2233,7 @@
(uuid "b5ab9156-2013-4fe0-9b1f-6fd9bf98af0d") (uuid "b5ab9156-2013-4fe0-9b1f-6fd9bf98af0d")
) )
(bus_entry (bus_entry
(at 48.26 139.7) (at 59.69 139.7)
(size -2.54 2.54) (size -2.54 2.54)
(stroke (stroke
(width 0) (width 0)
@ -2238,7 +2242,7 @@
(uuid "be803e9f-21d5-4a1f-9532-c1871de945d8") (uuid "be803e9f-21d5-4a1f-9532-c1871de945d8")
) )
(bus_entry (bus_entry
(at 105.41 142.24) (at 116.84 142.24)
(size 2.54 2.54) (size 2.54 2.54)
(stroke (stroke
(width 0) (width 0)
@ -2247,7 +2251,7 @@
(uuid "c2cf5ad8-fe1e-4efa-83d6-f83cb50cd21f") (uuid "c2cf5ad8-fe1e-4efa-83d6-f83cb50cd21f")
) )
(bus_entry (bus_entry
(at 105.41 139.7) (at 116.84 139.7)
(size 2.54 2.54) (size 2.54 2.54)
(stroke (stroke
(width 0) (width 0)
@ -2301,7 +2305,7 @@
(uuid "ee7bc58b-d793-45a6-a82e-c8e64ad02689") (uuid "ee7bc58b-d793-45a6-a82e-c8e64ad02689")
) )
(bus_entry (bus_entry
(at 105.41 132.08) (at 116.84 132.08)
(size 2.54 2.54) (size 2.54 2.54)
(stroke (stroke
(width 0) (width 0)
@ -2321,7 +2325,7 @@
) )
(wire (wire
(pts (pts
(xy 48.26 134.62) (xy 57.15 134.62) (xy 59.69 134.62) (xy 68.58 134.62)
) )
(stroke (stroke
(width 0) (width 0)
@ -2371,7 +2375,7 @@
) )
(bus (bus
(pts (pts
(xy 48.26 149.86) (xy 48.26 152.4) (xy 59.69 149.86) (xy 59.69 152.4)
) )
(stroke (stroke
(width 0) (width 0)
@ -2411,7 +2415,7 @@
) )
(wire (wire
(pts (pts
(xy 74.93 162.56) (xy 77.47 162.56) (xy 86.36 162.56) (xy 88.9 162.56)
) )
(stroke (stroke
(width 0) (width 0)
@ -2471,7 +2475,7 @@
) )
(wire (wire
(pts (pts
(xy 110.49 127) (xy 115.57 127) (xy 121.92 127) (xy 127 127)
) )
(stroke (stroke
(width 0) (width 0)
@ -2521,7 +2525,7 @@
) )
(wire (wire
(pts (pts
(xy 77.47 160.02) (xy 77.47 162.56) (xy 88.9 160.02) (xy 88.9 162.56)
) )
(stroke (stroke
(width 0) (width 0)
@ -2531,7 +2535,7 @@
) )
(wire (wire
(pts (pts
(xy 50.8 149.86) (xy 57.15 149.86) (xy 62.23 149.86) (xy 68.58 149.86)
) )
(stroke (stroke
(width 0) (width 0)
@ -2541,7 +2545,7 @@
) )
(wire (wire
(pts (pts
(xy 97.79 144.78) (xy 105.41 144.78) (xy 109.22 144.78) (xy 116.84 144.78)
) )
(stroke (stroke
(width 0) (width 0)
@ -2571,7 +2575,7 @@
) )
(bus (bus
(pts (pts
(xy 107.95 172.72) (xy 124.46 172.72) (xy 119.38 172.72) (xy 135.89 172.72)
) )
(stroke (stroke
(width 0) (width 0)
@ -2661,7 +2665,7 @@
) )
(wire (wire
(pts (pts
(xy 97.79 149.86) (xy 105.41 149.86) (xy 109.22 149.86) (xy 116.84 149.86)
) )
(stroke (stroke
(width 0) (width 0)
@ -2719,16 +2723,6 @@
) )
(uuid "3663c8d3-4477-4364-9b2a-cf3cc92cd3bf") (uuid "3663c8d3-4477-4364-9b2a-cf3cc92cd3bf")
) )
(wire
(pts
(xy 48.26 127) (xy 57.15 127)
)
(stroke
(width 0)
(type default)
)
(uuid "3681dd0f-9e2f-4695-93b6-c608492fb319")
)
(wire (wire
(pts (pts
(xy 196.85 50.8) (xy 196.85 63.5) (xy 196.85 50.8) (xy 196.85 63.5)
@ -2741,7 +2735,7 @@
) )
(bus (bus
(pts (pts
(xy 107.95 144.78) (xy 107.95 147.32) (xy 119.38 144.78) (xy 119.38 147.32)
) )
(stroke (stroke
(width 0) (width 0)
@ -2751,7 +2745,7 @@
) )
(wire (wire
(pts (pts
(xy 97.79 142.24) (xy 105.41 142.24) (xy 109.22 142.24) (xy 116.84 142.24)
) )
(stroke (stroke
(width 0) (width 0)
@ -2771,7 +2765,7 @@
) )
(bus (bus
(pts (pts
(xy 48.26 147.32) (xy 48.26 149.86) (xy 59.69 147.32) (xy 59.69 149.86)
) )
(stroke (stroke
(width 0) (width 0)
@ -2781,7 +2775,7 @@
) )
(wire (wire
(pts (pts
(xy 77.47 115.57) (xy 77.47 116.84) (xy 88.9 115.57) (xy 88.9 116.84)
) )
(stroke (stroke
(width 0) (width 0)
@ -2801,7 +2795,7 @@
) )
(wire (wire
(pts (pts
(xy 50.8 144.78) (xy 57.15 144.78) (xy 62.23 144.78) (xy 68.58 144.78)
) )
(stroke (stroke
(width 0) (width 0)
@ -2811,7 +2805,7 @@
) )
(bus (bus
(pts (pts
(xy 107.95 147.32) (xy 107.95 149.86) (xy 119.38 147.32) (xy 119.38 149.86)
) )
(stroke (stroke
(width 0) (width 0)
@ -2831,7 +2825,7 @@
) )
(wire (wire
(pts (pts
(xy 50.8 142.24) (xy 57.15 142.24) (xy 62.23 142.24) (xy 68.58 142.24)
) )
(stroke (stroke
(width 0) (width 0)
@ -2881,7 +2875,7 @@
) )
(wire (wire
(pts (pts
(xy 97.79 132.08) (xy 105.41 132.08) (xy 109.22 132.08) (xy 116.84 132.08)
) )
(stroke (stroke
(width 0) (width 0)
@ -2891,7 +2885,7 @@
) )
(bus (bus
(pts (pts
(xy 30.48 142.24) (xy 45.72 142.24) (xy 41.91 142.24) (xy 57.15 142.24)
) )
(stroke (stroke
(width 0) (width 0)
@ -2901,7 +2895,7 @@
) )
(wire (wire
(pts (pts
(xy 97.79 137.16) (xy 105.41 137.16) (xy 109.22 137.16) (xy 116.84 137.16)
) )
(stroke (stroke
(width 0) (width 0)
@ -2991,7 +2985,7 @@
) )
(wire (wire
(pts (pts
(xy 48.26 137.16) (xy 57.15 137.16) (xy 59.69 137.16) (xy 68.58 137.16)
) )
(stroke (stroke
(width 0) (width 0)
@ -3041,7 +3035,7 @@
) )
(bus (bus
(pts (pts
(xy 48.26 152.4) (xy 48.26 172.72) (xy 59.69 152.4) (xy 59.69 172.72)
) )
(stroke (stroke
(width 0) (width 0)
@ -3061,7 +3055,7 @@
) )
(bus (bus
(pts (pts
(xy 45.72 134.62) (xy 45.72 137.16) (xy 57.15 134.62) (xy 57.15 137.16)
) )
(stroke (stroke
(width 0) (width 0)
@ -3081,7 +3075,7 @@
) )
(wire (wire
(pts (pts
(xy 97.79 139.7) (xy 105.41 139.7) (xy 109.22 139.7) (xy 116.84 139.7)
) )
(stroke (stroke
(width 0) (width 0)
@ -3101,7 +3095,7 @@
) )
(bus (bus
(pts (pts
(xy 48.26 144.78) (xy 48.26 147.32) (xy 59.69 144.78) (xy 59.69 147.32)
) )
(stroke (stroke
(width 0) (width 0)
@ -3151,7 +3145,7 @@
) )
(wire (wire
(pts (pts
(xy 77.47 162.56) (xy 77.47 165.1) (xy 88.9 162.56) (xy 88.9 165.1)
) )
(stroke (stroke
(width 0) (width 0)
@ -3171,7 +3165,7 @@
) )
(wire (wire
(pts (pts
(xy 74.93 160.02) (xy 74.93 162.56) (xy 86.36 160.02) (xy 86.36 162.56)
) )
(stroke (stroke
(width 0) (width 0)
@ -3291,7 +3285,7 @@
) )
(bus (bus
(pts (pts
(xy 107.95 142.24) (xy 107.95 144.78) (xy 119.38 142.24) (xy 119.38 144.78)
) )
(stroke (stroke
(width 0) (width 0)
@ -3371,7 +3365,7 @@
) )
(bus (bus
(pts (pts
(xy 107.95 134.62) (xy 107.95 137.16) (xy 119.38 134.62) (xy 119.38 137.16)
) )
(stroke (stroke
(width 0) (width 0)
@ -3391,7 +3385,7 @@
) )
(bus (bus
(pts (pts
(xy 107.95 152.4) (xy 107.95 172.72) (xy 119.38 152.4) (xy 119.38 172.72)
) )
(stroke (stroke
(width 0) (width 0)
@ -3421,7 +3415,7 @@
) )
(wire (wire
(pts (pts
(xy 97.79 127) (xy 100.33 127) (xy 109.22 127) (xy 111.76 127)
) )
(stroke (stroke
(width 0) (width 0)
@ -3431,7 +3425,7 @@
) )
(bus (bus
(pts (pts
(xy 45.72 139.7) (xy 45.72 142.24) (xy 57.15 139.7) (xy 57.15 142.24)
) )
(stroke (stroke
(width 0) (width 0)
@ -3521,7 +3515,7 @@
) )
(wire (wire
(pts (pts
(xy 115.57 127) (xy 115.57 129.54) (xy 127 127) (xy 127 129.54)
) )
(stroke (stroke
(width 0) (width 0)
@ -3551,7 +3545,7 @@
) )
(wire (wire
(pts (pts
(xy 48.26 132.08) (xy 57.15 132.08) (xy 59.69 132.08) (xy 68.58 132.08)
) )
(stroke (stroke
(width 0) (width 0)
@ -3641,7 +3635,7 @@
) )
(wire (wire
(pts (pts
(xy 80.01 162.56) (xy 80.01 160.02) (xy 91.44 162.56) (xy 91.44 160.02)
) )
(stroke (stroke
(width 0) (width 0)
@ -3651,7 +3645,7 @@
) )
(wire (wire
(pts (pts
(xy 77.47 162.56) (xy 80.01 162.56) (xy 88.9 162.56) (xy 91.44 162.56)
) )
(stroke (stroke
(width 0) (width 0)
@ -3671,7 +3665,7 @@
) )
(bus (bus
(pts (pts
(xy 107.95 172.72) (xy 48.26 172.72) (xy 119.38 172.72) (xy 59.69 172.72)
) )
(stroke (stroke
(width 0) (width 0)
@ -3681,7 +3675,7 @@
) )
(wire (wire
(pts (pts
(xy 50.8 147.32) (xy 57.15 147.32) (xy 62.23 147.32) (xy 68.58 147.32)
) )
(stroke (stroke
(width 0) (width 0)
@ -3701,7 +3695,7 @@
) )
(bus (bus
(pts (pts
(xy 107.95 137.16) (xy 107.95 139.7) (xy 119.38 137.16) (xy 119.38 139.7)
) )
(stroke (stroke
(width 0) (width 0)
@ -3751,7 +3745,7 @@
) )
(bus (bus
(pts (pts
(xy 107.95 139.7) (xy 107.95 142.24) (xy 119.38 139.7) (xy 119.38 142.24)
) )
(stroke (stroke
(width 0) (width 0)
@ -3771,7 +3765,7 @@
) )
(bus (bus
(pts (pts
(xy 45.72 137.16) (xy 45.72 139.7) (xy 57.15 137.16) (xy 57.15 139.7)
) )
(stroke (stroke
(width 0) (width 0)
@ -3821,7 +3815,7 @@
) )
(wire (wire
(pts (pts
(xy 48.26 139.7) (xy 57.15 139.7) (xy 59.69 139.7) (xy 68.58 139.7)
) )
(stroke (stroke
(width 0) (width 0)
@ -3831,7 +3825,7 @@
) )
(bus (bus
(pts (pts
(xy 107.95 149.86) (xy 107.95 152.4) (xy 119.38 149.86) (xy 119.38 152.4)
) )
(stroke (stroke
(width 0) (width 0)
@ -3841,7 +3835,7 @@
) )
(wire (wire
(pts (pts
(xy 97.79 134.62) (xy 105.41 134.62) (xy 109.22 134.62) (xy 116.84 134.62)
) )
(stroke (stroke
(width 0) (width 0)
@ -3931,7 +3925,7 @@
) )
(wire (wire
(pts (pts
(xy 97.79 147.32) (xy 105.41 147.32) (xy 109.22 147.32) (xy 116.84 147.32)
) )
(stroke (stroke
(width 0) (width 0)
@ -4000,7 +3994,7 @@
(uuid "ff49b99d-8f5c-40f7-a132-60bd57ad04a0") (uuid "ff49b99d-8f5c-40f7-a132-60bd57ad04a0")
) )
(label "col4" (label "col4"
(at 105.41 149.86 180) (at 116.84 149.86 180)
(effects (effects
(font (font
(size 1.27 1.27) (size 1.27 1.27)
@ -4020,7 +4014,7 @@
(uuid "1fd62e40-49dd-4cad-94ae-f3255fcb1ff2") (uuid "1fd62e40-49dd-4cad-94ae-f3255fcb1ff2")
) )
(label "col1" (label "col1"
(at 50.8 149.86 0) (at 62.23 149.86 0)
(effects (effects
(font (font
(size 1.27 1.27) (size 1.27 1.27)
@ -4030,7 +4024,7 @@
(uuid "2c16c44b-0543-4642-9f11-a84a6f9b3c7f") (uuid "2c16c44b-0543-4642-9f11-a84a6f9b3c7f")
) )
(label "col0" (label "col0"
(at 50.8 142.24 0) (at 62.23 142.24 0)
(effects (effects
(font (font
(size 1.27 1.27) (size 1.27 1.27)
@ -4040,7 +4034,7 @@
(uuid "2ff22b71-4083-482a-be64-af63cbd304bf") (uuid "2ff22b71-4083-482a-be64-af63cbd304bf")
) )
(label "col10" (label "col10"
(at 105.41 134.62 180) (at 116.84 134.62 180)
(effects (effects
(font (font
(size 1.27 1.27) (size 1.27 1.27)
@ -4050,7 +4044,7 @@
(uuid "3532774b-2562-4752-aaaf-52ce01751306") (uuid "3532774b-2562-4752-aaaf-52ce01751306")
) )
(label "col8" (label "col8"
(at 105.41 139.7 180) (at 116.84 139.7 180)
(effects (effects
(font (font
(size 1.27 1.27) (size 1.27 1.27)
@ -4070,7 +4064,7 @@
(uuid "3f1a6a62-5f88-40f0-8a0e-8f91baf2024e") (uuid "3f1a6a62-5f88-40f0-8a0e-8f91baf2024e")
) )
(label "col6" (label "col6"
(at 105.41 144.78 180) (at 116.84 144.78 180)
(effects (effects
(font (font
(size 1.27 1.27) (size 1.27 1.27)
@ -4080,7 +4074,7 @@
(uuid "434411dd-76ad-4916-89fd-c40b11904d2d") (uuid "434411dd-76ad-4916-89fd-c40b11904d2d")
) )
(label "col2" (label "col2"
(at 50.8 147.32 0) (at 62.23 147.32 0)
(effects (effects
(font (font
(size 1.27 1.27) (size 1.27 1.27)
@ -4100,7 +4094,7 @@
(uuid "4b187a6c-5b4b-4960-b4fa-95477024eb0e") (uuid "4b187a6c-5b4b-4960-b4fa-95477024eb0e")
) )
(label "row3" (label "row3"
(at 50.8 137.16 0) (at 62.23 137.16 0)
(effects (effects
(font (font
(size 1.27 1.27) (size 1.27 1.27)
@ -4120,7 +4114,7 @@
(uuid "55ecd10b-8dca-4ab1-be98-dc12ad96e72a") (uuid "55ecd10b-8dca-4ab1-be98-dc12ad96e72a")
) )
(label "{row[3..0]}" (label "{row[3..0]}"
(at 43.18 142.24 180) (at 54.61 142.24 180)
(effects (effects
(font (font
(size 1.27 1.27) (size 1.27 1.27)
@ -4160,7 +4154,7 @@
(uuid "674e138e-c248-4c2d-8eac-73afa1130e04") (uuid "674e138e-c248-4c2d-8eac-73afa1130e04")
) )
(label "col11" (label "col11"
(at 105.41 132.08 180) (at 116.84 132.08 180)
(effects (effects
(font (font
(size 1.27 1.27) (size 1.27 1.27)
@ -4200,7 +4194,7 @@
(uuid "777d63db-42cb-4fb8-86b5-0c66914383d3") (uuid "777d63db-42cb-4fb8-86b5-0c66914383d3")
) )
(label "col9" (label "col9"
(at 105.41 137.16 180) (at 116.84 137.16 180)
(effects (effects
(font (font
(size 1.27 1.27) (size 1.27 1.27)
@ -4210,7 +4204,7 @@
(uuid "7c2073ca-79ca-47cb-a051-01b4dd901212") (uuid "7c2073ca-79ca-47cb-a051-01b4dd901212")
) )
(label "col3" (label "col3"
(at 50.8 144.78 0) (at 62.23 144.78 0)
(effects (effects
(font (font
(size 1.27 1.27) (size 1.27 1.27)
@ -4220,7 +4214,7 @@
(uuid "82874ff8-f3a7-4ea4-8797-eb5cb9478e5e") (uuid "82874ff8-f3a7-4ea4-8797-eb5cb9478e5e")
) )
(label "col5" (label "col5"
(at 105.41 147.32 180) (at 116.84 147.32 180)
(effects (effects
(font (font
(size 1.27 1.27) (size 1.27 1.27)
@ -4230,7 +4224,7 @@
(uuid "828c0b8f-8c7a-4948-9d09-e9a91362282b") (uuid "828c0b8f-8c7a-4948-9d09-e9a91362282b")
) )
(label "{col[11..0]}" (label "{col[11..0]}"
(at 110.49 172.72 0) (at 121.92 172.72 0)
(effects (effects
(font (font
(size 1.27 1.27) (size 1.27 1.27)
@ -4260,7 +4254,7 @@
(uuid "9c62d78e-61c3-4bbc-a8d9-f1bb4757844f") (uuid "9c62d78e-61c3-4bbc-a8d9-f1bb4757844f")
) )
(label "row0" (label "row0"
(at 50.8 132.08 0) (at 62.23 132.08 0)
(effects (effects
(font (font
(size 1.27 1.27) (size 1.27 1.27)
@ -4280,7 +4274,7 @@
(uuid "b8200f4b-3072-458e-bd4a-c09b2f6a4727") (uuid "b8200f4b-3072-458e-bd4a-c09b2f6a4727")
) )
(label "row2" (label "row2"
(at 50.8 139.7 0) (at 62.23 139.7 0)
(effects (effects
(font (font
(size 1.27 1.27) (size 1.27 1.27)
@ -4310,7 +4304,7 @@
(uuid "c2fbc288-6400-4196-9491-ec556a65a6b1") (uuid "c2fbc288-6400-4196-9491-ec556a65a6b1")
) )
(label "col7" (label "col7"
(at 105.41 142.24 180) (at 116.84 142.24 180)
(effects (effects
(font (font
(size 1.27 1.27) (size 1.27 1.27)
@ -4320,7 +4314,7 @@
(uuid "c74adf17-9ffa-4ae4-9c4a-e1fa4773a2a7") (uuid "c74adf17-9ffa-4ae4-9c4a-e1fa4773a2a7")
) )
(label "row1" (label "row1"
(at 50.8 134.62 0) (at 62.23 134.62 0)
(effects (effects
(font (font
(size 1.27 1.27) (size 1.27 1.27)
@ -4361,7 +4355,7 @@
) )
(global_label "VBAT" (global_label "VBAT"
(shape input) (shape input)
(at 77.47 115.57 90) (at 88.9 115.57 90)
(fields_autoplaced yes) (fields_autoplaced yes)
(effects (effects
(font (font
@ -4371,7 +4365,7 @@
) )
(uuid "00f42f17-ff40-4dbc-bc05-9c7726202ac1") (uuid "00f42f17-ff40-4dbc-bc05-9c7726202ac1")
(property "Intersheetrefs" "${INTERSHEET_REFS}" (property "Intersheetrefs" "${INTERSHEET_REFS}"
(at 77.47 108.17 90) (at 88.9 108.17 90)
(effects (effects
(font (font
(size 1.27 1.27) (size 1.27 1.27)
@ -4405,7 +4399,7 @@
) )
(global_label "COLS" (global_label "COLS"
(shape input) (shape input)
(at 124.46 172.72 0) (at 135.89 172.72 0)
(fields_autoplaced yes) (fields_autoplaced yes)
(effects (effects
(font (font
@ -4415,7 +4409,7 @@
) )
(uuid "49b6c3a0-0c86-43d2-a8ef-4563bd33ea09") (uuid "49b6c3a0-0c86-43d2-a8ef-4563bd33ea09")
(property "Intersheetrefs" "${INTERSHEET_REFS}" (property "Intersheetrefs" "${INTERSHEET_REFS}"
(at 132.2833 172.72 0) (at 143.7133 172.72 0)
(effects (effects
(font (font
(size 1.27 1.27) (size 1.27 1.27)
@ -4427,7 +4421,7 @@
) )
(global_label "ROWS" (global_label "ROWS"
(shape input) (shape input)
(at 30.48 142.24 180) (at 41.91 142.24 180)
(fields_autoplaced yes) (fields_autoplaced yes)
(effects (effects
(font (font
@ -4437,7 +4431,7 @@
) )
(uuid "6dec2d9c-2bbf-4f7e-8150-b77e50813294") (uuid "6dec2d9c-2bbf-4f7e-8150-b77e50813294")
(property "Intersheetrefs" "${INTERSHEET_REFS}" (property "Intersheetrefs" "${INTERSHEET_REFS}"
(at 22.2334 142.24 0) (at 33.6634 142.24 0)
(effects (effects
(font (font
(size 1.27 1.27) (size 1.27 1.27)
@ -5711,7 +5705,7 @@
) )
(symbol (symbol
(lib_id "Switch:SW_SPST") (lib_id "Switch:SW_SPST")
(at 105.41 127 0) (at 116.84 127 0)
(unit 1) (unit 1)
(exclude_from_sim no) (exclude_from_sim no)
(in_bom yes) (in_bom yes)
@ -5720,7 +5714,7 @@
(fields_autoplaced yes) (fields_autoplaced yes)
(uuid "3cb06689-8777-4b23-af23-29c61c89b6c1") (uuid "3cb06689-8777-4b23-af23-29c61c89b6c1")
(property "Reference" "SW50" (property "Reference" "SW50"
(at 105.41 123.19 0) (at 116.84 123.19 0)
(effects (effects
(font (font
(size 1.27 1.27) (size 1.27 1.27)
@ -5728,7 +5722,7 @@
) )
) )
(property "Value" "SW_SPST" (property "Value" "SW_SPST"
(at 106.6799 124.46 90) (at 118.1099 124.46 90)
(effects (effects
(font (font
(size 1.27 1.27) (size 1.27 1.27)
@ -5738,7 +5732,7 @@
) )
) )
(property "Footprint" "Button_Switch_SMD:SW_Push_1P1T_XKB_TS-1187A" (property "Footprint" "Button_Switch_SMD:SW_Push_1P1T_XKB_TS-1187A"
(at 105.41 127 0) (at 116.84 127 0)
(effects (effects
(font (font
(size 1.27 1.27) (size 1.27 1.27)
@ -5747,7 +5741,7 @@
) )
) )
(property "Datasheet" "~" (property "Datasheet" "~"
(at 105.41 127 0) (at 116.84 127 0)
(effects (effects
(font (font
(size 1.27 1.27) (size 1.27 1.27)
@ -5756,7 +5750,7 @@
) )
) )
(property "Description" "Single Pole Single Throw (SPST) switch" (property "Description" "Single Pole Single Throw (SPST) switch"
(at 105.41 127 0) (at 116.84 127 0)
(effects (effects
(font (font
(size 1.27 1.27) (size 1.27 1.27)
@ -5765,7 +5759,7 @@
) )
) )
(property "JLCPCB Part Number" "C318884" (property "JLCPCB Part Number" "C318884"
(at 105.41 127 0) (at 116.84 127 0)
(effects (effects
(font (font
(size 1.27 1.27) (size 1.27 1.27)
@ -6296,7 +6290,7 @@
) )
(symbol (symbol
(lib_id "power:GND") (lib_id "power:GND")
(at 77.47 165.1 0) (at 88.9 165.1 0)
(unit 1) (unit 1)
(exclude_from_sim no) (exclude_from_sim no)
(in_bom yes) (in_bom yes)
@ -6305,7 +6299,7 @@
(fields_autoplaced yes) (fields_autoplaced yes)
(uuid "4ab72dc6-f62c-4da9-b66e-13502d83383e") (uuid "4ab72dc6-f62c-4da9-b66e-13502d83383e")
(property "Reference" "#PWR02" (property "Reference" "#PWR02"
(at 77.47 171.45 0) (at 88.9 171.45 0)
(effects (effects
(font (font
(size 1.27 1.27) (size 1.27 1.27)
@ -6314,7 +6308,7 @@
) )
) )
(property "Value" "GND" (property "Value" "GND"
(at 77.47 170.18 0) (at 88.9 170.18 0)
(effects (effects
(font (font
(size 1.27 1.27) (size 1.27 1.27)
@ -6322,7 +6316,7 @@
) )
) )
(property "Footprint" "" (property "Footprint" ""
(at 77.47 165.1 0) (at 88.9 165.1 0)
(effects (effects
(font (font
(size 1.27 1.27) (size 1.27 1.27)
@ -6331,7 +6325,7 @@
) )
) )
(property "Datasheet" "" (property "Datasheet" ""
(at 77.47 165.1 0) (at 88.9 165.1 0)
(effects (effects
(font (font
(size 1.27 1.27) (size 1.27 1.27)
@ -6340,7 +6334,7 @@
) )
) )
(property "Description" "Power symbol creates a global label with name \"GND\" , ground" (property "Description" "Power symbol creates a global label with name \"GND\" , ground"
(at 77.47 165.1 0) (at 88.9 165.1 0)
(effects (effects
(font (font
(size 1.27 1.27) (size 1.27 1.27)
@ -9975,7 +9969,7 @@
) )
(symbol (symbol
(lib_id "power:GND") (lib_id "power:GND")
(at 115.57 129.54 0) (at 127 129.54 0)
(unit 1) (unit 1)
(exclude_from_sim no) (exclude_from_sim no)
(in_bom yes) (in_bom yes)
@ -9984,7 +9978,7 @@
(fields_autoplaced yes) (fields_autoplaced yes)
(uuid "ab9d274a-ffe0-4346-b5a8-29511366531b") (uuid "ab9d274a-ffe0-4346-b5a8-29511366531b")
(property "Reference" "#PWR03" (property "Reference" "#PWR03"
(at 115.57 135.89 0) (at 127 135.89 0)
(effects (effects
(font (font
(size 1.27 1.27) (size 1.27 1.27)
@ -9993,7 +9987,7 @@
) )
) )
(property "Value" "GND" (property "Value" "GND"
(at 115.57 134.62 0) (at 127 134.62 0)
(effects (effects
(font (font
(size 1.27 1.27) (size 1.27 1.27)
@ -10001,7 +9995,7 @@
) )
) )
(property "Footprint" "" (property "Footprint" ""
(at 115.57 129.54 0) (at 127 129.54 0)
(effects (effects
(font (font
(size 1.27 1.27) (size 1.27 1.27)
@ -10010,7 +10004,7 @@
) )
) )
(property "Datasheet" "" (property "Datasheet" ""
(at 115.57 129.54 0) (at 127 129.54 0)
(effects (effects
(font (font
(size 1.27 1.27) (size 1.27 1.27)
@ -10019,7 +10013,7 @@
) )
) )
(property "Description" "Power symbol creates a global label with name \"GND\" , ground" (property "Description" "Power symbol creates a global label with name \"GND\" , ground"
(at 115.57 129.54 0) (at 127 129.54 0)
(effects (effects
(font (font
(size 1.27 1.27) (size 1.27 1.27)
@ -10215,7 +10209,7 @@
) )
(symbol (symbol
(lib_id "stuff:ProMicro") (lib_id "stuff:ProMicro")
(at 77.47 138.43 0) (at 88.9 138.43 0)
(unit 1) (unit 1)
(exclude_from_sim no) (exclude_from_sim no)
(in_bom no) (in_bom no)
@ -10224,7 +10218,7 @@
(fields_autoplaced yes) (fields_autoplaced yes)
(uuid "b08847ce-cdb3-4e9b-8940-c3aa74818efd") (uuid "b08847ce-cdb3-4e9b-8940-c3aa74818efd")
(property "Reference" "U1" (property "Reference" "U1"
(at 79.6133 114.3 0) (at 91.0433 114.3 0)
(effects (effects
(font (font
(size 1.27 1.27) (size 1.27 1.27)
@ -10233,7 +10227,7 @@
) )
) )
(property "Value" "ProMicro Compatible" (property "Value" "ProMicro Compatible"
(at 79.6133 116.84 0) (at 91.0433 116.84 0)
(effects (effects
(font (font
(size 1.27 1.27) (size 1.27 1.27)
@ -10242,7 +10236,7 @@
) )
) )
(property "Footprint" "stuff:nice_nano_reverse_mount" (property "Footprint" "stuff:nice_nano_reverse_mount"
(at 77.47 128.27 0) (at 88.9 128.27 0)
(effects (effects
(font (font
(size 1.27 1.27) (size 1.27 1.27)
@ -10251,7 +10245,7 @@
) )
) )
(property "Datasheet" "" (property "Datasheet" ""
(at 77.47 128.27 0) (at 88.9 128.27 0)
(effects (effects
(font (font
(size 1.27 1.27) (size 1.27 1.27)
@ -10260,7 +10254,7 @@
) )
) )
(property "Description" "ProMicro-compatible socketed MCU" (property "Description" "ProMicro-compatible socketed MCU"
(at 77.47 128.27 0) (at 88.9 128.27 0)
(effects (effects
(font (font
(size 1.27 1.27) (size 1.27 1.27)
@ -10269,7 +10263,7 @@
) )
) )
(property "JLCPCB Part Number" "" (property "JLCPCB Part Number" ""
(at 77.47 138.43 0) (at 88.9 138.43 0)
(effects (effects
(font (font
(size 1.27 1.27) (size 1.27 1.27)
@ -13552,58 +13546,6 @@
) )
) )
) )
(sheet
(at 22.86 124.46)
(size 25.4 5.08)
(exclude_from_sim no)
(in_bom yes)
(on_board yes)
(dnp no)
(fields_autoplaced yes)
(stroke
(width 0.1524)
(type solid)
)
(fill
(color 0 0 0 0.0000)
)
(uuid "98ee239b-163f-48b3-a8ff-c02836b195b0")
(property "Sheetname" "LEDs"
(at 22.86 123.7484 0)
(effects
(font
(size 1.27 1.27)
)
(justify left bottom)
)
)
(property "Sheetfile" "leds.kicad_sch"
(at 22.86 130.1246 0)
(effects
(font
(size 1.27 1.27)
)
(justify left top)
)
)
(pin "LED_D" input
(at 48.26 127 0)
(uuid "b5b1b091-32aa-4774-b7b2-b939ce87ed0d")
(effects
(font
(size 1.27 1.27)
)
(justify right)
)
)
(instances
(project "48ish_soldered"
(path "/e3c88f17-e431-4ad8-b491-c68f92a3599e"
(page "2")
)
)
)
)
(sheet_instances (sheet_instances
(path "/" (path "/"
(page "1") (page "1")

35707
48ish_soldered_cfx.kicad_pcb Normal file

File diff suppressed because it is too large Load diff

View file

@ -0,0 +1,131 @@
{
"board": {
"active_layer": 7,
"active_layer_preset": "",
"auto_track_width": true,
"hidden_netclasses": [],
"hidden_nets": [],
"high_contrast_mode": 0,
"net_color_mode": 1,
"opacity": {
"images": 0.6,
"pads": 1.0,
"shapes": 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": [
"vias",
"footprint_text",
"footprint_anchors",
"ratsnest",
"grid",
"footprints_front",
"footprints_back",
"footprint_values",
"footprint_references",
"tracks",
"drc_errors",
"drawing_sheet",
"bitmaps",
"pads",
"zones",
"drc_warnings",
"drc_exclusions",
"locked_item_shadows",
"conflict_shadows",
"shapes"
],
"visible_layers": "ffffffff_ffffffff_ffffffff_ffffffff",
"zone_display_mode": 0
},
"git": {
"repo_type": "",
"repo_username": "",
"ssh_key": ""
},
"meta": {
"filename": "48ish_soldered_cfx.kicad_prl",
"version": 5
},
"net_inspector_panel": {
"col_hidden": [
false,
false,
false,
false,
false,
false,
false,
false,
false,
false
],
"col_order": [
0,
1,
2,
3,
4,
5,
6,
7,
8,
9
],
"col_widths": [
0,
0,
0,
0,
0,
0,
0,
0,
0,
0
],
"custom_group_rules": [],
"expanded_rows": [],
"filter_by_net_name": true,
"filter_by_netclass": true,
"filter_text": "",
"group_by_constraint": false,
"group_by_netclass": false,
"show_unconnected_nets": false,
"show_zero_pad_nets": false,
"sort_ascending": true,
"sorting_column": 0
},
"open_jobsets": [],
"project": {
"files": []
},
"schematic": {
"selection_filter": {
"graphics": true,
"images": true,
"labels": true,
"lockedItems": false,
"otherItems": true,
"pins": true,
"symbols": true,
"text": true,
"wires": true
}
}
}

View file

@ -0,0 +1,658 @@
{
"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": true,
"text_position": 0,
"units_format": 0
},
"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": 2.2,
"height": 3.8,
"width": 3.8
},
"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.5
}
},
"diff_pair_dimensions": [],
"drc_exclusions": [
[
"npth_inside_courtyard|151500000|111000000|7e3f9814-e570-4046-a4f4-bc5194edfca8|40cefe3d-76ed-4a8a-b837-001290e24f03",
"Pad near hole is fine actually"
]
],
"meta": {
"version": 2
},
"rule_severities": {
"annular_width": "error",
"clearance": "error",
"connection_width": "warning",
"copper_edge_clearance": "error",
"copper_sliver": "warning",
"courtyards_overlap": "error",
"creepage": "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_filters_mismatch": "warning",
"footprint_symbol_mismatch": "warning",
"footprint_type_mismatch": "warning",
"hole_clearance": "error",
"hole_to_hole": "warning",
"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",
"mirrored_text_on_front_layer": "warning",
"missing_courtyard": "ignore",
"missing_footprint": "warning",
"net_conflict": "warning",
"nonmirrored_text_on_back_layer": "warning",
"npth_inside_courtyard": "warning",
"padstack": "warning",
"pth_inside_courtyard": "warning",
"shorting_items": "error",
"silk_edge_clearance": "ignore",
"silk_over_copper": "ignore",
"silk_overlap": "ignore",
"skew_out_of_range": "error",
"solder_mask_bridge": "error",
"starved_thermal": "error",
"text_height": "warning",
"text_on_edge_cuts": "error",
"text_thickness": "warning",
"through_hole_pad_without_hole": "error",
"too_many_vias": "error",
"track_angle": "error",
"track_dangling": "warning",
"track_segment_length": "error",
"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_groove_width": 0.0,
"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_onpthpad": true,
"td_onroundshapesonly": false,
"td_onsmdpad": true,
"td_ontrackend": false,
"td_onvia": 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": [],
"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": [],
"zones_allow_external_fillets": false
},
"ipc2581": {
"dist": "",
"distpn": "",
"internal_id": "",
"mfg": "",
"mpn": ""
},
"layer_pairs": [],
"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",
"different_unit_footprint": "error",
"different_unit_net": "error",
"duplicate_reference": "error",
"duplicate_sheet_names": "error",
"endpoint_off_grid": "warning",
"extra_units": "error",
"footprint_filter": "ignore",
"footprint_link_issues": "warning",
"four_way_junction": "ignore",
"global_label_dangling": "warning",
"hier_label_mismatch": "error",
"label_dangling": "error",
"label_multiple_wires": "warning",
"lib_symbol_issues": "warning",
"lib_symbol_mismatch": "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",
"same_local_global_label": "warning",
"similar_label_and_power": "warning",
"similar_labels": "warning",
"similar_power": "warning",
"simulation_model_issue": "ignore",
"single_global_label": "ignore",
"unannotated": "error",
"unconnected_wire_endpoint": "warning",
"undefined_netclass": "error",
"unit_value_mismatch": "error",
"unresolved_variable": "error",
"wire_dangling": "error"
}
},
"libraries": {
"pinned_footprint_libs": [
"stuff"
],
"pinned_symbol_libs": [
"stuff"
]
},
"meta": {
"filename": "48ish_soldered_cfx.kicad_pro",
"version": 3
},
"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)",
"priority": 2147483647,
"schematic_color": "rgba(0, 0, 0, 0.000)",
"track_width": 0.2,
"via_diameter": 0.6,
"via_drill": 0.3,
"wire_width": 6
}
],
"meta": {
"version": 4
},
"net_colors": null,
"netclass_assignments": null,
"netclass_patterns": []
},
"pcbnew": {
"last_paths": {
"gencad": "",
"idf": "",
"netlist": "",
"plot": "/home/erin/Downloads/48ish-out",
"pos_files": "",
"specctra_dsn": "",
"step": "",
"svg": "",
"vrml": ""
},
"page_layout_descr_file": ""
},
"schematic": {
"annotate_start_num": 0,
"bom_export_filename": "${PROJECTNAME}.csv",
"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": "Qty",
"name": "${QUANTITY}",
"show": true
},
{
"group_by": false,
"label": "Description",
"name": "Description",
"show": true
},
{
"group_by": false,
"label": "JLCPCB Part Number",
"name": "JLCPCB Part Number",
"show": true
},
{
"group_by": true,
"label": "DNP",
"name": "${DNP}",
"show": true
},
{
"group_by": true,
"label": "Exclude from BOM",
"name": "${EXCLUDE_FROM_BOM}",
"show": true
},
{
"group_by": true,
"label": "Exclude from Board",
"name": "${EXCLUDE_FROM_BOARD}",
"show": true
},
{
"group_by": true,
"label": "Footprint",
"name": "Footprint",
"show": true
},
{
"group_by": false,
"label": "Datasheet",
"name": "Datasheet",
"show": true
},
{
"group_by": false,
"label": "Sim.Pins",
"name": "Sim.Pins",
"show": false
},
{
"group_by": false,
"label": "Sim.Device",
"name": "Sim.Device",
"show": false
},
{
"group_by": false,
"label": "#",
"name": "${ITEM_NUMBER}",
"show": false
}
],
"filter_string": "",
"group_symbols": true,
"include_excluded_from_bom": true,
"name": "",
"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": "",
"page_layout_descr_file": "",
"plot_directory": "",
"space_save_all_events": true,
"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": [
[
"e3c88f17-e431-4ad8-b491-c68f92a3599e",
"Root"
]
],
"text_variables": {}
}

View file

@ -1,17 +1,22 @@
all: plot-zip positions all: plot-zip positions
gerbers: gerbers:
kicad-cli pcb export gerbers 48ish_soldered.kicad_pcb --board-plot-params -o 48ish_soldered_out kicad-cli pcb export gerbers 48ish_soldered.kicad_pcb --board-plot-params -o 48ish_soldered_out/mbk
kicad-cli pcb export gerbers 48ish_soldered_cfx.kicad_pcb --board-plot-params -o 48ish_soldered_out/cfx
drills: drills:
kicad-cli pcb export drill 48ish_soldered.kicad_pcb --excellon-separate-th -o 48ish_soldered_out kicad-cli pcb export drill 48ish_soldered.kicad_pcb --excellon-separate-th -o 48ish_soldered_out/mbk
kicad-cli pcb export drill 48ish_soldered_cfx.kicad_pcb --excellon-separate-th -o 48ish_soldered_out/cfx
positions: positions:
kicad-cli pcb export pos 48ish_soldered.kicad_pcb --format csv --units mm --side back --smd-only -o 48ish_soldered-bottom-pos.csv kicad-cli pcb export pos 48ish_soldered.kicad_pcb --format csv --units mm --side back --smd-only -o 48ish_soldered_mbk-bottom-pos.csv
kicad-cli pcb export pos 48ish_soldered_cfx.kicad_pcb --format csv --units mm --side back --smd-only -o 48ish_soldered_cfx-bottom-pos.csv
# replace headers with what jlcpcb wants - see https://jlcpcb.com/help/article/How-to-generate-the-BOM-and-Centroid-file-from-KiCAD # replace headers with what jlcpcb wants - see https://jlcpcb.com/help/article/How-to-generate-the-BOM-and-Centroid-file-from-KiCAD
sed -e 's/Ref/Designator/' -e 's/PosX/Mid X/' -e 's/PosY/Mid Y/' -e 's/Rot/Rotation/' -e 's/Side/Layer/' -i 48ish_soldered-bottom-pos.csv sed -e 's/Ref/Designator/' -e 's/PosX/Mid X/' -e 's/PosY/Mid Y/' -e 's/Rot/Rotation/' -e 's/Side/Layer/' -i 48ish_soldered_mbk-bottom-pos.csv
sed -e 's/Ref/Designator/' -e 's/PosX/Mid X/' -e 's/PosY/Mid Y/' -e 's/Rot/Rotation/' -e 's/Side/Layer/' -i 48ish_soldered_cfx-bottom-pos.csv
plot: gerbers drills plot: gerbers drills
plot-zip: gerbers drills plot-zip: gerbers drills
zip -FSr 48ish_soldered_out.zip 48ish_soldered_out zip -FSr 48ish_soldered_mbk_out.zip 48ish_soldered_out/mbk
zip -FSr 48ish_soldered_cfx_out.zip 48ish_soldered_out/cfx

View file

@ -1,10 +1,12 @@
# 48ish # 48ish
A wireless, low-profile 47/48-key keyboard PCB. A wireless, low-profile, 47/48-key keyboard PCB for Kalih Choc v1 switches, with variants for 18x17mm (MBK) or 17x17mm (CFX) keycap spacing.
![a thin rectangular keyboard with keys organized in a 12 by 4 grid, the bottom middle two keys joined in a single small spacebar. the board is held up in one hand, and has blank keycaps in white, green, and blue.](images/47.png)
## production files ## production files
works with JLCPCB, haven't tried any other production houses, ymmv production files are uploaded [with each release](https://git.ewin.moe/erin/48ish). works with JLCPCB, haven't tried any other production houses, ymmv
production outputs automated with `just` (`apt install just` etc) and `kicad-cli` (it came free with your fucking kicad) production outputs automated with `just` (`apt install just` etc) and `kicad-cli` (it came free with your fucking kicad)
@ -14,9 +16,17 @@ production outputs automated with `just` (`apt install just` etc) and `kicad-cli
- BOM: `48ish_soldered_bom.csv` (not generated by kicad Yet:tm:; includes specific JLCPCB part numbers, you may want to shop around for alternatives) - BOM: `48ish_soldered_bom.csv` (not generated by kicad Yet:tm:; includes specific JLCPCB part numbers, you may want to shop around for alternatives)
- Placements: `48ish_soldered-bottom-pos.csv` (generated by kicad, with column names manually edited to reflect [JLCPCB's requirements](https://jlcpcb.com/help/article/pick-place-file-for-pcb-assembly)) - Placements: `48ish_soldered-bottom-pos.csv` (generated by kicad, with column names manually edited to reflect [JLCPCB's requirements](https://jlcpcb.com/help/article/pick-place-file-for-pcb-assembly))
## that sounds complicated but i still want one
hit me up on fedi [@erin@tired.umbreon.online](https://tired.umbreon.online/@erin) and i'll maybe do a custom build for you, if shipping you things from the united states isn't too complicated
## case???
[here's a basic one](case). the rendered stl file is attached to the latest release
## firmware??? ## firmware???
i wrote a zmk shield for this but dude i am not figuring out the zmk local build steps. go look at [the github repo for the shield firmware](https://github.com/ewwwin/zmk-shield-48ish) and grab the firmware from the latest github actions run, i do not care i wrote a zmk shield for this but dude i am not figuring out the zmk local build steps. go look at [the github repo for the shield firmware](https://github.com/ewwwin/zmk-keyboard-48ish) and grab the firmware from the latest github actions run, i do not care
## acknowledgements ## acknowledgements

76
case/48ish_case.scad Normal file
View file

@ -0,0 +1,76 @@
$fn = 20;
baseplate_thickness = 2;
inner_clearance = 6.5; // space inside the case for the battery/mcu to occupy
pcb_thickness = 1.6; // thickness of the pcb
module roundsquare (size, r) {
translate([r, r]) minkowski() {
square([size.x-2*r, size.y-2*r]);
circle(r=r);
}
}
module shell () {
difference() {
// block
linear_extrude(baseplate_thickness + inner_clearance + pcb_thickness) {
translate([-1, -1]) roundsquare([214+1*2, 67+1*2], r=2+1);
}
// cut for shelf
translate([0, 0, baseplate_thickness + inner_clearance]) linear_extrude(pcb_thickness + 2) {
roundsquare([214, 67], r=2-0.25); // pcb r=2 but it's not exact
}
// cut for inner clearance
translate([0, 0, baseplate_thickness]) linear_extrude(inner_clearance + 10) {
translate([1, 1]) roundsquare([214 - 1 * 2, 67 - 1 * 2], r=1);
}
}
}
module standoffs () {
// for M2 3x3 standoffs
hole_diameter = 3;
hole_depth = 3 * 1.5;
wall_thickness = 1;
// offsets the top of the standoffs down from where the pcb will actually rest; this allows the screws to actually hold the pcb down against the outer lip of the case and prevent rattling if the pcb is not perfectly flat
standoff_top_face_offset = -0.25;
for (point = [
[17 + 18 * 0, 16.5 + 17 * 0],
[17 + 18 * 2, 16.5 + 17 * 2],
[17 + 18 * 4, 16.5 + 17 * 0],
[17 + 18 * 5, 16.5 + 17 * 2],
[17 + 18 * 6, 16.5 + 17 * 0],
[17 + 18 * 8, 16.5 + 17 * 2],
[17 + 18 * 10, 16.5 + 17 * 0],
]) {
translate([point.x, point.y, baseplate_thickness - 0.01]) difference() {
cylinder(h = inner_clearance + standoff_top_face_offset + .01, d = hole_diameter + 2*wall_thickness);
translate([0, 0, inner_clearance + standoff_top_face_offset + .1 - hole_depth]) cylinder(h = hole_depth + .02, d = hole_diameter); // hole inner - adjust for insert size
}
}
}
difference() {
shell();
translate([2, 65-.01, baseplate_thickness])
// cube([34, 2, 30]);
// cube([34, 5, 6]);
cube([18+17-2, 2, 30]);
// usb-c cutout
translate([17 + 18/2 - 9/2, 71, baseplate_thickness + inner_clearance - 6.5]) {
rotate([90, 0, 0]) linear_extrude(8) {
roundsquare([9, 3.75], r = 1.5);
}
}
// power switch cutout
translate([4, 71, baseplate_thickness + inner_clearance - 2]) {
rotate([90, 0, 0]) linear_extrude(8) {
roundsquare([6.5, 2], r = 0.5);
}
}
}
standoffs();

BIN
images/47.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.6 MiB

File diff suppressed because it is too large Load diff

View file

@ -0,0 +1,226 @@
(footprint "Choc_v1_17x17mm_spacing"
(version 20241229)
(generator "pcbnew")
(generator_version "9.0")
(layer "F.Cu")
(property "Reference" "SW13"
(at 0 0 0)
(layer "F.SilkS")
(hide yes)
(uuid "5b8b2509-cc48-47a4-8fce-ab86fcffde68")
(effects
(font
(size 1.27 1.27)
(thickness 0.15)
)
)
)
(property "Value" "SW_SPST"
(at 0 0 0)
(layer "F.SilkS")
(hide yes)
(uuid "aacfd6f5-65b7-4133-8281-45c322585029")
(effects
(font
(size 1.27 1.27)
(thickness 0.15)
)
)
)
(property "Datasheet" "~"
(at 0 0 0)
(layer "F.Fab")
(hide yes)
(uuid "2a52bd72-0c3f-48f2-a724-e8d669cfe14f")
(effects
(font
(size 1.27 1.27)
(thickness 0.15)
)
)
)
(property "Description" "Choc v1 keyswitch"
(at 0 0 0)
(layer "F.Fab")
(hide yes)
(uuid "60fcfa86-dd34-4fec-98c7-ae7cfcb9d8ee")
(effects
(font
(size 1.27 1.27)
(thickness 0.15)
)
)
)
(property "JLCPCB Part Number" ""
(at 0 0 0)
(unlocked yes)
(layer "F.Fab")
(hide yes)
(uuid "7c202ef6-551b-4cdd-9ae7-26d21269315b")
(effects
(font
(size 1 1)
(thickness 0.15)
)
)
)
(attr through_hole exclude_from_bom)
(fp_line
(start -8.5 -8.5)
(end 8.5 -8.5)
(stroke
(width 0.15)
(type solid)
)
(layer "Dwgs.User")
(uuid "7699333a-f4db-4625-a04f-ceb94bcace22")
)
(fp_line
(start -8.5 8.5)
(end -8.5 -8.5)
(stroke
(width 0.15)
(type solid)
)
(layer "Dwgs.User")
(uuid "84e98009-a36c-4a17-a569-fde4fbea482e")
)
(fp_line
(start -7 -6)
(end -7 -7)
(stroke
(width 0.15)
(type solid)
)
(layer "Dwgs.User")
(uuid "c3e13b08-e233-4954-86c1-a796d408a520")
)
(fp_line
(start -7 7)
(end -7 6)
(stroke
(width 0.15)
(type solid)
)
(layer "Dwgs.User")
(uuid "d1e7dd04-eabb-4c9c-9bd8-3860764a3590")
)
(fp_line
(start -7 7)
(end -6 7)
(stroke
(width 0.15)
(type solid)
)
(layer "Dwgs.User")
(uuid "49c30273-bb99-474a-8452-3e95b3920c2c")
)
(fp_line
(start -6 -7)
(end -7 -7)
(stroke
(width 0.15)
(type solid)
)
(layer "Dwgs.User")
(uuid "54c7fd19-7ce7-4c39-9f25-859237f52ffc")
)
(fp_line
(start 6 7)
(end 7 7)
(stroke
(width 0.15)
(type solid)
)
(layer "Dwgs.User")
(uuid "ede29a3f-a9a6-47df-836d-c4772ed880b1")
)
(fp_line
(start 7 -7)
(end 6 -7)
(stroke
(width 0.15)
(type solid)
)
(layer "Dwgs.User")
(uuid "65ba7540-2b09-40be-8697-21853845d68e")
)
(fp_line
(start 7 -7)
(end 7 -6)
(stroke
(width 0.15)
(type solid)
)
(layer "Dwgs.User")
(uuid "f1d0021a-165e-4889-aa81-e278d0d78cc6")
)
(fp_line
(start 7 6)
(end 7 7)
(stroke
(width 0.15)
(type solid)
)
(layer "Dwgs.User")
(uuid "c89ad502-74fd-4515-831a-e77ed3111cbc")
)
(fp_line
(start 8.5 -8.5)
(end 8.5 8.5)
(stroke
(width 0.15)
(type solid)
)
(layer "Dwgs.User")
(uuid "8210335c-d6a0-4308-8c53-57e96bf7ef0e")
)
(fp_line
(start 8.5 8.5)
(end -8.5 8.5)
(stroke
(width 0.15)
(type solid)
)
(layer "Dwgs.User")
(uuid "36a01b58-12db-413b-bdf4-8e7e60f5b51e")
)
(pad "" np_thru_hole circle
(at -5.5 0 180)
(size 1.7018 1.7018)
(drill 1.7018)
(layers "*.Cu" "*.Mask")
(uuid "5add7edf-3b4d-49b6-9b81-fda7ac714069")
)
(pad "" np_thru_hole circle
(at 0 0 180)
(size 3.429 3.429)
(drill 3.429)
(layers "*.Cu" "*.Mask")
(uuid "42fb6c34-34c0-481b-8207-70ca722ad0fb")
)
(pad "" np_thru_hole circle
(at 5.5 0 180)
(size 1.7018 1.7018)
(drill 1.7018)
(layers "*.Cu" "*.Mask")
(uuid "cb8a715d-8e12-4712-82bb-413e7d72aaf4")
)
(pad "1" thru_hole circle
(at -5 3.8 180)
(size 2.032 2.032)
(drill 1.27)
(layers "*.Cu" "*.Mask")
(remove_unused_layers no)
(uuid "6ef19e7b-3b30-4e26-bfe0-826067df6d4a")
)
(pad "2" thru_hole circle
(at 0 5.9 180)
(size 2.032 2.032)
(drill 1.27)
(layers "*.Cu" "*.Mask")
(remove_unused_layers no)
(uuid "5b307a43-4634-436d-b54b-63eed3a5e24c")
)
(embedded_fonts no)
)

View file

@ -1,4 +1,4 @@
(footprint "Choc_v1" (footprint "Choc_v1_18x17mm_spacing"
(version 20241229) (version 20241229)
(generator "pcbnew") (generator "pcbnew")
(generator_version "9.0") (generator_version "9.0")