From b80fee18dd9a3fd61b5c326710bfc62a3570aea0 Mon Sep 17 00:00:00 2001
From: Zach Fredin <zach.fredin@cba.mit.edu>
Date: Thu, 15 Oct 2020 13:08:09 -0400
Subject: [PATCH] kicad library refactor/update; old footprints to archive

---
 kicad/README.md                               |  20 ++++++
 kicad/{ => archive}/fab.lib                   |   0
 kicad/{ => archive}/fab.mod                   |   0
 .../fab.pretty/fab-1X06SMD.kicad_mod          |   0
 .../fab.pretty/fab-2-SMD-5X3MM.kicad_mod      |   0
 .../fab.pretty/fab-2X02SMD.kicad_mod          |   0
 .../fab.pretty/fab-2X03.kicad_mod             |   0
 .../archive/fab.pretty/fab-2X03SMD.kicad_mod  |  15 ++++
 .../fab.pretty/fab-2X04_THRU.kicad_mod        |   0
 .../archive/fab.pretty/fab-2X05SMD.kicad_mod  |  19 +++++
 .../fab.pretty/fab-3.5MMTERM.kicad_mod        |   0
 .../fab.pretty/fab-5MM.kicad_mod              |   0
 .../fab.pretty/fab-6MM_SWITCH.kicad_mod       |   0
 .../fab.pretty/fab-8-LCC.kicad_mod            |   0
 .../fab.pretty/fab-AYZ0102AGRLC.kicad_mod     |   0
 .../fab.pretty/fab-C1206.kicad_mod            |   0
 .../fab.pretty/fab-C1206FAB.kicad_mod         |   0
 .../fab.pretty/fab-C1206K.kicad_mod           |   0
 .../fab.pretty/fab-CSP-4PIN.kicad_mod         |   0
 .../fab.pretty/fab-DIL14.kicad_mod            |   0
 .../fab.pretty/fab-DO41Z10.kicad_mod          |   0
 .../fab.pretty/fab-DX4R005HJ5.kicad_mod       |   0
 .../fab.pretty/fab-DX4R005HJ5_100.kicad_mod   |   0
 .../fab.pretty/fab-DX4R005HJ5_64.kicad_mod    |   0
 .../fab.pretty/fab-ED555DS-2DS.kicad_mod      |   0
 .../fab.pretty/fab-ED555DS-3DS.kicad_mod      |   0
 .../fab.pretty/fab-EFOBM.kicad_mod            |   0
 .../fab-ELECTRET_2742PBJ-A.kicad_mod          |   0
 .../fab.pretty/fab-ELLCTV.kicad_mod           |   0
 .../fab.pretty/fab-JACK_.65MM.kicad_mod       |   0
 .../fab.pretty/fab-JACK_2.1MM.kicad_mod       |   0
 .../fab.pretty/fab-LCC16.kicad_mod            |   0
 .../fab.pretty/fab-LED1206.kicad_mod          |   0
 .../fab.pretty/fab-LED1206FAB.kicad_mod       |   0
 .../fab.pretty/fab-MIC_BOTTOM_PORT.kicad_mod  |   0
 .../fab-MIC_MEMS_ANALOG_SPU0414HR5H.kicad_mod |   0
 .../fab.pretty/fab-MINI-SMA.kicad_mod         |   0
 .../fab.pretty/fab-MSOP.kicad_mod             |   0
 .../fab.pretty/fab-OP1206.kicad_mod           |   0
 .../fab.pretty/fab-P-LCC-4-3.kicad_mod        |   0
 .../fab.pretty/fab-P-LCC-4.kicad_mod          |   0
 .../fab.pretty/fab-PJ-002AH-SMT.kicad_mod     |   0
 .../fab.pretty/fab-QFN_MLF20.kicad_mod        |   0
 .../fab.pretty/fab-R1206.kicad_mod            |   0
 .../fab.pretty/fab-R1206FAB.kicad_mod         |   0
 .../fab.pretty/fab-R1206W.kicad_mod           |   0
 .../fab.pretty/fab-S008.kicad_mod             |   0
 .../fab.pretty/fab-SJFAB.kicad_mod            |   0
 .../fab.pretty/fab-SMD_COIL.kicad_mod         |   0
 .../fab.pretty/fab-SO08.kicad_mod             |   0
 .../fab.pretty/fab-SOD123.kicad_mod           |   0
 .../fab.pretty/fab-SOIC14.kicad_mod           |   0
 .../fab.pretty/fab-SOIC16.kicad_mod           |   0
 .../fab.pretty/fab-SOIC8.kicad_mod            |   0
 .../fab.pretty/fab-SOT-23.kicad_mod           |   0
 .../fab.pretty/fab-SOT23-5.kicad_mod          |   0
 .../fab.pretty/fab-SOT23.kicad_mod            |   0
 .../fab.pretty/fab-SPDTSWITCH.kicad_mod       |   0
 .../fab.pretty/fab-TO252.kicad_mod            |   0
 .../fab.pretty/fab-TQFP32-08THIN.kicad_mod    |   0
 .../fab.pretty/fab-USB_MICRO.kicad_mod        |   0
 .../fab.pretty/fab-USB_MINIB.kicad_mod        |   0
 kicad/fab.pretty/fab-2X03SMD.kicad_mod        |  15 ----
 kicad/fab.pretty/fab-2X05SMD.kicad_mod        |  19 -----
 kicad/fab.pretty/fab_CONN_1x02_SMD.kicad_mod  |  11 +++
 kicad/fab.pretty/fab_CONN_1x06_SMD.kicad_mod  |  15 ++++
 kicad/fab.pretty/fab_CONN_2x02_SMD.kicad_mod  |  13 ++++
 kicad/fab.pretty/fab_CONN_2x03_SMD.kicad_mod  |  15 ++++
 kicad/fab.pretty/fab_CONN_2x05_SMD.kicad_mod  |  19 +++++
 kicad/fab.pretty/fab_C_1206.kicad_mod         |  15 ++++
 .../fab_IC_ESP32-WROOM-32.kicad_mod           |  68 ++++++++++++++++++
 kicad/fab.pretty/fab_IC_QFP32.kicad_mod       |  45 ++++++++++++
 kicad/fab.pretty/fab_IC_SOIC14.kicad_mod      |  28 ++++++++
 kicad/fab.pretty/fab_IC_SOIC20.kicad_mod      |  34 +++++++++
 kicad/fab.pretty/fab_IC_SOIC8.kicad_mod       |  22 ++++++
 kicad/fab.pretty/fab_LED_1206.kicad_mod       |  16 +++++
 kicad/fab.pretty/fab_LED_RGB.kicad_mod        |  18 +++++
 kicad/fab.pretty/fab_R_1206.kicad_mod         |  15 ++++
 kicad/fab.pretty/fab_SMD_SOT223.kicad_mod     |  16 +++++
 kicad/fab.pretty/fab_SMD_SOT23.kicad_mod      |  20 ++++++
 kicad/fab.pretty/fab_SW_pushbutton.kicad_mod  |  17 +++++
 kicad/footprints.png                          | Bin 0 -> 36386 bytes
 82 files changed, 441 insertions(+), 34 deletions(-)
 create mode 100644 kicad/README.md
 rename kicad/{ => archive}/fab.lib (100%)
 rename kicad/{ => archive}/fab.mod (100%)
 rename kicad/{ => archive}/fab.pretty/fab-1X06SMD.kicad_mod (100%)
 rename kicad/{ => archive}/fab.pretty/fab-2-SMD-5X3MM.kicad_mod (100%)
 rename kicad/{ => archive}/fab.pretty/fab-2X02SMD.kicad_mod (100%)
 rename kicad/{ => archive}/fab.pretty/fab-2X03.kicad_mod (100%)
 create mode 100644 kicad/archive/fab.pretty/fab-2X03SMD.kicad_mod
 rename kicad/{ => archive}/fab.pretty/fab-2X04_THRU.kicad_mod (100%)
 create mode 100644 kicad/archive/fab.pretty/fab-2X05SMD.kicad_mod
 rename kicad/{ => archive}/fab.pretty/fab-3.5MMTERM.kicad_mod (100%)
 rename kicad/{ => archive}/fab.pretty/fab-5MM.kicad_mod (100%)
 rename kicad/{ => archive}/fab.pretty/fab-6MM_SWITCH.kicad_mod (100%)
 rename kicad/{ => archive}/fab.pretty/fab-8-LCC.kicad_mod (100%)
 rename kicad/{ => archive}/fab.pretty/fab-AYZ0102AGRLC.kicad_mod (100%)
 rename kicad/{ => archive}/fab.pretty/fab-C1206.kicad_mod (100%)
 rename kicad/{ => archive}/fab.pretty/fab-C1206FAB.kicad_mod (100%)
 rename kicad/{ => archive}/fab.pretty/fab-C1206K.kicad_mod (100%)
 rename kicad/{ => archive}/fab.pretty/fab-CSP-4PIN.kicad_mod (100%)
 rename kicad/{ => archive}/fab.pretty/fab-DIL14.kicad_mod (100%)
 rename kicad/{ => archive}/fab.pretty/fab-DO41Z10.kicad_mod (100%)
 rename kicad/{ => archive}/fab.pretty/fab-DX4R005HJ5.kicad_mod (100%)
 rename kicad/{ => archive}/fab.pretty/fab-DX4R005HJ5_100.kicad_mod (100%)
 rename kicad/{ => archive}/fab.pretty/fab-DX4R005HJ5_64.kicad_mod (100%)
 rename kicad/{ => archive}/fab.pretty/fab-ED555DS-2DS.kicad_mod (100%)
 rename kicad/{ => archive}/fab.pretty/fab-ED555DS-3DS.kicad_mod (100%)
 rename kicad/{ => archive}/fab.pretty/fab-EFOBM.kicad_mod (100%)
 rename kicad/{ => archive}/fab.pretty/fab-ELECTRET_2742PBJ-A.kicad_mod (100%)
 rename kicad/{ => archive}/fab.pretty/fab-ELLCTV.kicad_mod (100%)
 rename kicad/{ => archive}/fab.pretty/fab-JACK_.65MM.kicad_mod (100%)
 rename kicad/{ => archive}/fab.pretty/fab-JACK_2.1MM.kicad_mod (100%)
 rename kicad/{ => archive}/fab.pretty/fab-LCC16.kicad_mod (100%)
 rename kicad/{ => archive}/fab.pretty/fab-LED1206.kicad_mod (100%)
 rename kicad/{ => archive}/fab.pretty/fab-LED1206FAB.kicad_mod (100%)
 rename kicad/{ => archive}/fab.pretty/fab-MIC_BOTTOM_PORT.kicad_mod (100%)
 rename kicad/{ => archive}/fab.pretty/fab-MIC_MEMS_ANALOG_SPU0414HR5H.kicad_mod (100%)
 rename kicad/{ => archive}/fab.pretty/fab-MINI-SMA.kicad_mod (100%)
 rename kicad/{ => archive}/fab.pretty/fab-MSOP.kicad_mod (100%)
 rename kicad/{ => archive}/fab.pretty/fab-OP1206.kicad_mod (100%)
 rename kicad/{ => archive}/fab.pretty/fab-P-LCC-4-3.kicad_mod (100%)
 rename kicad/{ => archive}/fab.pretty/fab-P-LCC-4.kicad_mod (100%)
 rename kicad/{ => archive}/fab.pretty/fab-PJ-002AH-SMT.kicad_mod (100%)
 rename kicad/{ => archive}/fab.pretty/fab-QFN_MLF20.kicad_mod (100%)
 rename kicad/{ => archive}/fab.pretty/fab-R1206.kicad_mod (100%)
 rename kicad/{ => archive}/fab.pretty/fab-R1206FAB.kicad_mod (100%)
 rename kicad/{ => archive}/fab.pretty/fab-R1206W.kicad_mod (100%)
 rename kicad/{ => archive}/fab.pretty/fab-S008.kicad_mod (100%)
 rename kicad/{ => archive}/fab.pretty/fab-SJFAB.kicad_mod (100%)
 rename kicad/{ => archive}/fab.pretty/fab-SMD_COIL.kicad_mod (100%)
 rename kicad/{ => archive}/fab.pretty/fab-SO08.kicad_mod (100%)
 rename kicad/{ => archive}/fab.pretty/fab-SOD123.kicad_mod (100%)
 rename kicad/{ => archive}/fab.pretty/fab-SOIC14.kicad_mod (100%)
 rename kicad/{ => archive}/fab.pretty/fab-SOIC16.kicad_mod (100%)
 rename kicad/{ => archive}/fab.pretty/fab-SOIC8.kicad_mod (100%)
 rename kicad/{ => archive}/fab.pretty/fab-SOT-23.kicad_mod (100%)
 rename kicad/{ => archive}/fab.pretty/fab-SOT23-5.kicad_mod (100%)
 rename kicad/{ => archive}/fab.pretty/fab-SOT23.kicad_mod (100%)
 rename kicad/{ => archive}/fab.pretty/fab-SPDTSWITCH.kicad_mod (100%)
 rename kicad/{ => archive}/fab.pretty/fab-TO252.kicad_mod (100%)
 rename kicad/{ => archive}/fab.pretty/fab-TQFP32-08THIN.kicad_mod (100%)
 rename kicad/{ => archive}/fab.pretty/fab-USB_MICRO.kicad_mod (100%)
 rename kicad/{ => archive}/fab.pretty/fab-USB_MINIB.kicad_mod (100%)
 delete mode 100644 kicad/fab.pretty/fab-2X03SMD.kicad_mod
 delete mode 100644 kicad/fab.pretty/fab-2X05SMD.kicad_mod
 create mode 100644 kicad/fab.pretty/fab_CONN_1x02_SMD.kicad_mod
 create mode 100644 kicad/fab.pretty/fab_CONN_1x06_SMD.kicad_mod
 create mode 100644 kicad/fab.pretty/fab_CONN_2x02_SMD.kicad_mod
 create mode 100644 kicad/fab.pretty/fab_CONN_2x03_SMD.kicad_mod
 create mode 100644 kicad/fab.pretty/fab_CONN_2x05_SMD.kicad_mod
 create mode 100644 kicad/fab.pretty/fab_C_1206.kicad_mod
 create mode 100644 kicad/fab.pretty/fab_IC_ESP32-WROOM-32.kicad_mod
 create mode 100644 kicad/fab.pretty/fab_IC_QFP32.kicad_mod
 create mode 100644 kicad/fab.pretty/fab_IC_SOIC14.kicad_mod
 create mode 100644 kicad/fab.pretty/fab_IC_SOIC20.kicad_mod
 create mode 100644 kicad/fab.pretty/fab_IC_SOIC8.kicad_mod
 create mode 100644 kicad/fab.pretty/fab_LED_1206.kicad_mod
 create mode 100644 kicad/fab.pretty/fab_LED_RGB.kicad_mod
 create mode 100644 kicad/fab.pretty/fab_R_1206.kicad_mod
 create mode 100644 kicad/fab.pretty/fab_SMD_SOT223.kicad_mod
 create mode 100644 kicad/fab.pretty/fab_SMD_SOT23.kicad_mod
 create mode 100644 kicad/fab.pretty/fab_SW_pushbutton.kicad_mod
 create mode 100644 kicad/footprints.png

diff --git a/kicad/README.md b/kicad/README.md
new file mode 100644
index 0000000..826720e
--- /dev/null
+++ b/kicad/README.md
@@ -0,0 +1,20 @@
+## Fab KiCad Footprint Library
+Updated and cleaned up 10/15/2020 by zfredin to fix errors and reflect the [homelab inventory](https://gitlab.cba.mit.edu/zfredin/homelab/-/blob/master/components.md); prior footprints to /archive.
+
+![footprints](footprints.png)
+
+### naming convention
+fab_x_y_z.kicad_mod
+
+_x_ is category: C, CONN, IC, LED, R, SMD (for generic footprints), etc
+
+_y_ is size/config: 1x06 (single-row 6-pin header connector), SOIC8 (small outline integrated circuit, 8-pin), etc
+
+_z_ is an optional descriptor, such as "SMD" for connectors to differentiate from thru-hole versions
+
+### general design strategy
+- hand-solderable (i.e., pads should be a bit longer than those intended for automated assembly and reflow soldering)
+- route-able using a 1/64" (~0.4 mm) end mill
+- maximize bridge span (i.e., space to run two tracks under a 1206 component)
+- centered at 0,0
+- component outline, reference, and value on F.Silk layer
diff --git a/kicad/fab.lib b/kicad/archive/fab.lib
similarity index 100%
rename from kicad/fab.lib
rename to kicad/archive/fab.lib
diff --git a/kicad/fab.mod b/kicad/archive/fab.mod
similarity index 100%
rename from kicad/fab.mod
rename to kicad/archive/fab.mod
diff --git a/kicad/fab.pretty/fab-1X06SMD.kicad_mod b/kicad/archive/fab.pretty/fab-1X06SMD.kicad_mod
similarity index 100%
rename from kicad/fab.pretty/fab-1X06SMD.kicad_mod
rename to kicad/archive/fab.pretty/fab-1X06SMD.kicad_mod
diff --git a/kicad/fab.pretty/fab-2-SMD-5X3MM.kicad_mod b/kicad/archive/fab.pretty/fab-2-SMD-5X3MM.kicad_mod
similarity index 100%
rename from kicad/fab.pretty/fab-2-SMD-5X3MM.kicad_mod
rename to kicad/archive/fab.pretty/fab-2-SMD-5X3MM.kicad_mod
diff --git a/kicad/fab.pretty/fab-2X02SMD.kicad_mod b/kicad/archive/fab.pretty/fab-2X02SMD.kicad_mod
similarity index 100%
rename from kicad/fab.pretty/fab-2X02SMD.kicad_mod
rename to kicad/archive/fab.pretty/fab-2X02SMD.kicad_mod
diff --git a/kicad/fab.pretty/fab-2X03.kicad_mod b/kicad/archive/fab.pretty/fab-2X03.kicad_mod
similarity index 100%
rename from kicad/fab.pretty/fab-2X03.kicad_mod
rename to kicad/archive/fab.pretty/fab-2X03.kicad_mod
diff --git a/kicad/archive/fab.pretty/fab-2X03SMD.kicad_mod b/kicad/archive/fab.pretty/fab-2X03SMD.kicad_mod
new file mode 100644
index 0000000..e7635e6
--- /dev/null
+++ b/kicad/archive/fab.pretty/fab-2X03SMD.kicad_mod
@@ -0,0 +1,15 @@
+(module fab-2X03SMD (layer F.Cu) (tedit 5DC0ADA4)
+  (attr smd)
+  (fp_text reference >NAME (at -0.635 -4.445) (layer F.SilkS)
+    (effects (font (size 1.27 1.27) (thickness 0.1016)))
+  )
+  (fp_text value >VALUE (at 0 4.445) (layer F.SilkS)
+    (effects (font (size 1.27 1.27) (thickness 0.1016)))
+  )
+  (pad 1 smd rect (at -2.54 -2.54) (size 2.54 1) (layers F.Cu F.Paste F.Mask))
+  (pad 2 smd rect (at 2.91846 -2.54) (size 2.54 1) (layers F.Cu F.Paste F.Mask))
+  (pad 3 smd rect (at -2.54 0) (size 2.54 1) (layers F.Cu F.Paste F.Mask))
+  (pad 4 smd rect (at 2.91846 0) (size 2.54 1) (layers F.Cu F.Paste F.Mask))
+  (pad 5 smd rect (at -2.54 2.54) (size 2.54 1) (layers F.Cu F.Paste F.Mask))
+  (pad 6 smd rect (at 2.91846 2.54) (size 2.54 1) (layers F.Cu F.Paste F.Mask))
+)
diff --git a/kicad/fab.pretty/fab-2X04_THRU.kicad_mod b/kicad/archive/fab.pretty/fab-2X04_THRU.kicad_mod
similarity index 100%
rename from kicad/fab.pretty/fab-2X04_THRU.kicad_mod
rename to kicad/archive/fab.pretty/fab-2X04_THRU.kicad_mod
diff --git a/kicad/archive/fab.pretty/fab-2X05SMD.kicad_mod b/kicad/archive/fab.pretty/fab-2X05SMD.kicad_mod
new file mode 100644
index 0000000..d3a0eef
--- /dev/null
+++ b/kicad/archive/fab.pretty/fab-2X05SMD.kicad_mod
@@ -0,0 +1,19 @@
+(module fab-2X05SMD (layer F.Cu) (tedit 5F70CDB2)
+  (attr smd)
+  (fp_text reference >NAME (at -0.889 -6.985) (layer F.SilkS)
+    (effects (font (size 1.27 1.27) (thickness 0.1016)))
+  )
+  (fp_text value >VALUE (at -0.254 6.985) (layer F.SilkS)
+    (effects (font (size 1.27 1.27) (thickness 0.1016)))
+  )
+  (pad 1 smd rect (at -2.794 -5.08) (size 2.54 1.27) (layers F.Cu F.Paste F.Mask))
+  (pad 2 smd rect (at 2.66446 -5.08) (size 2.54 1.27) (layers F.Cu F.Paste F.Mask))
+  (pad 3 smd rect (at -2.794 -2.54) (size 2.54 1.27) (layers F.Cu F.Paste F.Mask))
+  (pad 4 smd rect (at 2.66446 -2.54) (size 2.54 1.27) (layers F.Cu F.Paste F.Mask))
+  (pad 5 smd rect (at -2.794 0) (size 2.54 1.27) (layers F.Cu F.Paste F.Mask))
+  (pad 6 smd rect (at 2.66446 0) (size 2.54 1.27) (layers F.Cu F.Paste F.Mask))
+  (pad 7 smd rect (at -2.794 2.54) (size 2.54 1.27) (layers F.Cu F.Paste F.Mask))
+  (pad 8 smd rect (at 2.66446 2.54) (size 2.54 1.27) (layers F.Cu F.Paste F.Mask))
+  (pad 9 smd rect (at -2.794 5.08) (size 2.54 1.27) (layers F.Cu F.Paste F.Mask))
+  (pad 10 smd rect (at 2.66446 5.08) (size 2.54 1.27) (layers F.Cu F.Paste F.Mask))
+)
diff --git a/kicad/fab.pretty/fab-3.5MMTERM.kicad_mod b/kicad/archive/fab.pretty/fab-3.5MMTERM.kicad_mod
similarity index 100%
rename from kicad/fab.pretty/fab-3.5MMTERM.kicad_mod
rename to kicad/archive/fab.pretty/fab-3.5MMTERM.kicad_mod
diff --git a/kicad/fab.pretty/fab-5MM.kicad_mod b/kicad/archive/fab.pretty/fab-5MM.kicad_mod
similarity index 100%
rename from kicad/fab.pretty/fab-5MM.kicad_mod
rename to kicad/archive/fab.pretty/fab-5MM.kicad_mod
diff --git a/kicad/fab.pretty/fab-6MM_SWITCH.kicad_mod b/kicad/archive/fab.pretty/fab-6MM_SWITCH.kicad_mod
similarity index 100%
rename from kicad/fab.pretty/fab-6MM_SWITCH.kicad_mod
rename to kicad/archive/fab.pretty/fab-6MM_SWITCH.kicad_mod
diff --git a/kicad/fab.pretty/fab-8-LCC.kicad_mod b/kicad/archive/fab.pretty/fab-8-LCC.kicad_mod
similarity index 100%
rename from kicad/fab.pretty/fab-8-LCC.kicad_mod
rename to kicad/archive/fab.pretty/fab-8-LCC.kicad_mod
diff --git a/kicad/fab.pretty/fab-AYZ0102AGRLC.kicad_mod b/kicad/archive/fab.pretty/fab-AYZ0102AGRLC.kicad_mod
similarity index 100%
rename from kicad/fab.pretty/fab-AYZ0102AGRLC.kicad_mod
rename to kicad/archive/fab.pretty/fab-AYZ0102AGRLC.kicad_mod
diff --git a/kicad/fab.pretty/fab-C1206.kicad_mod b/kicad/archive/fab.pretty/fab-C1206.kicad_mod
similarity index 100%
rename from kicad/fab.pretty/fab-C1206.kicad_mod
rename to kicad/archive/fab.pretty/fab-C1206.kicad_mod
diff --git a/kicad/fab.pretty/fab-C1206FAB.kicad_mod b/kicad/archive/fab.pretty/fab-C1206FAB.kicad_mod
similarity index 100%
rename from kicad/fab.pretty/fab-C1206FAB.kicad_mod
rename to kicad/archive/fab.pretty/fab-C1206FAB.kicad_mod
diff --git a/kicad/fab.pretty/fab-C1206K.kicad_mod b/kicad/archive/fab.pretty/fab-C1206K.kicad_mod
similarity index 100%
rename from kicad/fab.pretty/fab-C1206K.kicad_mod
rename to kicad/archive/fab.pretty/fab-C1206K.kicad_mod
diff --git a/kicad/fab.pretty/fab-CSP-4PIN.kicad_mod b/kicad/archive/fab.pretty/fab-CSP-4PIN.kicad_mod
similarity index 100%
rename from kicad/fab.pretty/fab-CSP-4PIN.kicad_mod
rename to kicad/archive/fab.pretty/fab-CSP-4PIN.kicad_mod
diff --git a/kicad/fab.pretty/fab-DIL14.kicad_mod b/kicad/archive/fab.pretty/fab-DIL14.kicad_mod
similarity index 100%
rename from kicad/fab.pretty/fab-DIL14.kicad_mod
rename to kicad/archive/fab.pretty/fab-DIL14.kicad_mod
diff --git a/kicad/fab.pretty/fab-DO41Z10.kicad_mod b/kicad/archive/fab.pretty/fab-DO41Z10.kicad_mod
similarity index 100%
rename from kicad/fab.pretty/fab-DO41Z10.kicad_mod
rename to kicad/archive/fab.pretty/fab-DO41Z10.kicad_mod
diff --git a/kicad/fab.pretty/fab-DX4R005HJ5.kicad_mod b/kicad/archive/fab.pretty/fab-DX4R005HJ5.kicad_mod
similarity index 100%
rename from kicad/fab.pretty/fab-DX4R005HJ5.kicad_mod
rename to kicad/archive/fab.pretty/fab-DX4R005HJ5.kicad_mod
diff --git a/kicad/fab.pretty/fab-DX4R005HJ5_100.kicad_mod b/kicad/archive/fab.pretty/fab-DX4R005HJ5_100.kicad_mod
similarity index 100%
rename from kicad/fab.pretty/fab-DX4R005HJ5_100.kicad_mod
rename to kicad/archive/fab.pretty/fab-DX4R005HJ5_100.kicad_mod
diff --git a/kicad/fab.pretty/fab-DX4R005HJ5_64.kicad_mod b/kicad/archive/fab.pretty/fab-DX4R005HJ5_64.kicad_mod
similarity index 100%
rename from kicad/fab.pretty/fab-DX4R005HJ5_64.kicad_mod
rename to kicad/archive/fab.pretty/fab-DX4R005HJ5_64.kicad_mod
diff --git a/kicad/fab.pretty/fab-ED555DS-2DS.kicad_mod b/kicad/archive/fab.pretty/fab-ED555DS-2DS.kicad_mod
similarity index 100%
rename from kicad/fab.pretty/fab-ED555DS-2DS.kicad_mod
rename to kicad/archive/fab.pretty/fab-ED555DS-2DS.kicad_mod
diff --git a/kicad/fab.pretty/fab-ED555DS-3DS.kicad_mod b/kicad/archive/fab.pretty/fab-ED555DS-3DS.kicad_mod
similarity index 100%
rename from kicad/fab.pretty/fab-ED555DS-3DS.kicad_mod
rename to kicad/archive/fab.pretty/fab-ED555DS-3DS.kicad_mod
diff --git a/kicad/fab.pretty/fab-EFOBM.kicad_mod b/kicad/archive/fab.pretty/fab-EFOBM.kicad_mod
similarity index 100%
rename from kicad/fab.pretty/fab-EFOBM.kicad_mod
rename to kicad/archive/fab.pretty/fab-EFOBM.kicad_mod
diff --git a/kicad/fab.pretty/fab-ELECTRET_2742PBJ-A.kicad_mod b/kicad/archive/fab.pretty/fab-ELECTRET_2742PBJ-A.kicad_mod
similarity index 100%
rename from kicad/fab.pretty/fab-ELECTRET_2742PBJ-A.kicad_mod
rename to kicad/archive/fab.pretty/fab-ELECTRET_2742PBJ-A.kicad_mod
diff --git a/kicad/fab.pretty/fab-ELLCTV.kicad_mod b/kicad/archive/fab.pretty/fab-ELLCTV.kicad_mod
similarity index 100%
rename from kicad/fab.pretty/fab-ELLCTV.kicad_mod
rename to kicad/archive/fab.pretty/fab-ELLCTV.kicad_mod
diff --git a/kicad/fab.pretty/fab-JACK_.65MM.kicad_mod b/kicad/archive/fab.pretty/fab-JACK_.65MM.kicad_mod
similarity index 100%
rename from kicad/fab.pretty/fab-JACK_.65MM.kicad_mod
rename to kicad/archive/fab.pretty/fab-JACK_.65MM.kicad_mod
diff --git a/kicad/fab.pretty/fab-JACK_2.1MM.kicad_mod b/kicad/archive/fab.pretty/fab-JACK_2.1MM.kicad_mod
similarity index 100%
rename from kicad/fab.pretty/fab-JACK_2.1MM.kicad_mod
rename to kicad/archive/fab.pretty/fab-JACK_2.1MM.kicad_mod
diff --git a/kicad/fab.pretty/fab-LCC16.kicad_mod b/kicad/archive/fab.pretty/fab-LCC16.kicad_mod
similarity index 100%
rename from kicad/fab.pretty/fab-LCC16.kicad_mod
rename to kicad/archive/fab.pretty/fab-LCC16.kicad_mod
diff --git a/kicad/fab.pretty/fab-LED1206.kicad_mod b/kicad/archive/fab.pretty/fab-LED1206.kicad_mod
similarity index 100%
rename from kicad/fab.pretty/fab-LED1206.kicad_mod
rename to kicad/archive/fab.pretty/fab-LED1206.kicad_mod
diff --git a/kicad/fab.pretty/fab-LED1206FAB.kicad_mod b/kicad/archive/fab.pretty/fab-LED1206FAB.kicad_mod
similarity index 100%
rename from kicad/fab.pretty/fab-LED1206FAB.kicad_mod
rename to kicad/archive/fab.pretty/fab-LED1206FAB.kicad_mod
diff --git a/kicad/fab.pretty/fab-MIC_BOTTOM_PORT.kicad_mod b/kicad/archive/fab.pretty/fab-MIC_BOTTOM_PORT.kicad_mod
similarity index 100%
rename from kicad/fab.pretty/fab-MIC_BOTTOM_PORT.kicad_mod
rename to kicad/archive/fab.pretty/fab-MIC_BOTTOM_PORT.kicad_mod
diff --git a/kicad/fab.pretty/fab-MIC_MEMS_ANALOG_SPU0414HR5H.kicad_mod b/kicad/archive/fab.pretty/fab-MIC_MEMS_ANALOG_SPU0414HR5H.kicad_mod
similarity index 100%
rename from kicad/fab.pretty/fab-MIC_MEMS_ANALOG_SPU0414HR5H.kicad_mod
rename to kicad/archive/fab.pretty/fab-MIC_MEMS_ANALOG_SPU0414HR5H.kicad_mod
diff --git a/kicad/fab.pretty/fab-MINI-SMA.kicad_mod b/kicad/archive/fab.pretty/fab-MINI-SMA.kicad_mod
similarity index 100%
rename from kicad/fab.pretty/fab-MINI-SMA.kicad_mod
rename to kicad/archive/fab.pretty/fab-MINI-SMA.kicad_mod
diff --git a/kicad/fab.pretty/fab-MSOP.kicad_mod b/kicad/archive/fab.pretty/fab-MSOP.kicad_mod
similarity index 100%
rename from kicad/fab.pretty/fab-MSOP.kicad_mod
rename to kicad/archive/fab.pretty/fab-MSOP.kicad_mod
diff --git a/kicad/fab.pretty/fab-OP1206.kicad_mod b/kicad/archive/fab.pretty/fab-OP1206.kicad_mod
similarity index 100%
rename from kicad/fab.pretty/fab-OP1206.kicad_mod
rename to kicad/archive/fab.pretty/fab-OP1206.kicad_mod
diff --git a/kicad/fab.pretty/fab-P-LCC-4-3.kicad_mod b/kicad/archive/fab.pretty/fab-P-LCC-4-3.kicad_mod
similarity index 100%
rename from kicad/fab.pretty/fab-P-LCC-4-3.kicad_mod
rename to kicad/archive/fab.pretty/fab-P-LCC-4-3.kicad_mod
diff --git a/kicad/fab.pretty/fab-P-LCC-4.kicad_mod b/kicad/archive/fab.pretty/fab-P-LCC-4.kicad_mod
similarity index 100%
rename from kicad/fab.pretty/fab-P-LCC-4.kicad_mod
rename to kicad/archive/fab.pretty/fab-P-LCC-4.kicad_mod
diff --git a/kicad/fab.pretty/fab-PJ-002AH-SMT.kicad_mod b/kicad/archive/fab.pretty/fab-PJ-002AH-SMT.kicad_mod
similarity index 100%
rename from kicad/fab.pretty/fab-PJ-002AH-SMT.kicad_mod
rename to kicad/archive/fab.pretty/fab-PJ-002AH-SMT.kicad_mod
diff --git a/kicad/fab.pretty/fab-QFN_MLF20.kicad_mod b/kicad/archive/fab.pretty/fab-QFN_MLF20.kicad_mod
similarity index 100%
rename from kicad/fab.pretty/fab-QFN_MLF20.kicad_mod
rename to kicad/archive/fab.pretty/fab-QFN_MLF20.kicad_mod
diff --git a/kicad/fab.pretty/fab-R1206.kicad_mod b/kicad/archive/fab.pretty/fab-R1206.kicad_mod
similarity index 100%
rename from kicad/fab.pretty/fab-R1206.kicad_mod
rename to kicad/archive/fab.pretty/fab-R1206.kicad_mod
diff --git a/kicad/fab.pretty/fab-R1206FAB.kicad_mod b/kicad/archive/fab.pretty/fab-R1206FAB.kicad_mod
similarity index 100%
rename from kicad/fab.pretty/fab-R1206FAB.kicad_mod
rename to kicad/archive/fab.pretty/fab-R1206FAB.kicad_mod
diff --git a/kicad/fab.pretty/fab-R1206W.kicad_mod b/kicad/archive/fab.pretty/fab-R1206W.kicad_mod
similarity index 100%
rename from kicad/fab.pretty/fab-R1206W.kicad_mod
rename to kicad/archive/fab.pretty/fab-R1206W.kicad_mod
diff --git a/kicad/fab.pretty/fab-S008.kicad_mod b/kicad/archive/fab.pretty/fab-S008.kicad_mod
similarity index 100%
rename from kicad/fab.pretty/fab-S008.kicad_mod
rename to kicad/archive/fab.pretty/fab-S008.kicad_mod
diff --git a/kicad/fab.pretty/fab-SJFAB.kicad_mod b/kicad/archive/fab.pretty/fab-SJFAB.kicad_mod
similarity index 100%
rename from kicad/fab.pretty/fab-SJFAB.kicad_mod
rename to kicad/archive/fab.pretty/fab-SJFAB.kicad_mod
diff --git a/kicad/fab.pretty/fab-SMD_COIL.kicad_mod b/kicad/archive/fab.pretty/fab-SMD_COIL.kicad_mod
similarity index 100%
rename from kicad/fab.pretty/fab-SMD_COIL.kicad_mod
rename to kicad/archive/fab.pretty/fab-SMD_COIL.kicad_mod
diff --git a/kicad/fab.pretty/fab-SO08.kicad_mod b/kicad/archive/fab.pretty/fab-SO08.kicad_mod
similarity index 100%
rename from kicad/fab.pretty/fab-SO08.kicad_mod
rename to kicad/archive/fab.pretty/fab-SO08.kicad_mod
diff --git a/kicad/fab.pretty/fab-SOD123.kicad_mod b/kicad/archive/fab.pretty/fab-SOD123.kicad_mod
similarity index 100%
rename from kicad/fab.pretty/fab-SOD123.kicad_mod
rename to kicad/archive/fab.pretty/fab-SOD123.kicad_mod
diff --git a/kicad/fab.pretty/fab-SOIC14.kicad_mod b/kicad/archive/fab.pretty/fab-SOIC14.kicad_mod
similarity index 100%
rename from kicad/fab.pretty/fab-SOIC14.kicad_mod
rename to kicad/archive/fab.pretty/fab-SOIC14.kicad_mod
diff --git a/kicad/fab.pretty/fab-SOIC16.kicad_mod b/kicad/archive/fab.pretty/fab-SOIC16.kicad_mod
similarity index 100%
rename from kicad/fab.pretty/fab-SOIC16.kicad_mod
rename to kicad/archive/fab.pretty/fab-SOIC16.kicad_mod
diff --git a/kicad/fab.pretty/fab-SOIC8.kicad_mod b/kicad/archive/fab.pretty/fab-SOIC8.kicad_mod
similarity index 100%
rename from kicad/fab.pretty/fab-SOIC8.kicad_mod
rename to kicad/archive/fab.pretty/fab-SOIC8.kicad_mod
diff --git a/kicad/fab.pretty/fab-SOT-23.kicad_mod b/kicad/archive/fab.pretty/fab-SOT-23.kicad_mod
similarity index 100%
rename from kicad/fab.pretty/fab-SOT-23.kicad_mod
rename to kicad/archive/fab.pretty/fab-SOT-23.kicad_mod
diff --git a/kicad/fab.pretty/fab-SOT23-5.kicad_mod b/kicad/archive/fab.pretty/fab-SOT23-5.kicad_mod
similarity index 100%
rename from kicad/fab.pretty/fab-SOT23-5.kicad_mod
rename to kicad/archive/fab.pretty/fab-SOT23-5.kicad_mod
diff --git a/kicad/fab.pretty/fab-SOT23.kicad_mod b/kicad/archive/fab.pretty/fab-SOT23.kicad_mod
similarity index 100%
rename from kicad/fab.pretty/fab-SOT23.kicad_mod
rename to kicad/archive/fab.pretty/fab-SOT23.kicad_mod
diff --git a/kicad/fab.pretty/fab-SPDTSWITCH.kicad_mod b/kicad/archive/fab.pretty/fab-SPDTSWITCH.kicad_mod
similarity index 100%
rename from kicad/fab.pretty/fab-SPDTSWITCH.kicad_mod
rename to kicad/archive/fab.pretty/fab-SPDTSWITCH.kicad_mod
diff --git a/kicad/fab.pretty/fab-TO252.kicad_mod b/kicad/archive/fab.pretty/fab-TO252.kicad_mod
similarity index 100%
rename from kicad/fab.pretty/fab-TO252.kicad_mod
rename to kicad/archive/fab.pretty/fab-TO252.kicad_mod
diff --git a/kicad/fab.pretty/fab-TQFP32-08THIN.kicad_mod b/kicad/archive/fab.pretty/fab-TQFP32-08THIN.kicad_mod
similarity index 100%
rename from kicad/fab.pretty/fab-TQFP32-08THIN.kicad_mod
rename to kicad/archive/fab.pretty/fab-TQFP32-08THIN.kicad_mod
diff --git a/kicad/fab.pretty/fab-USB_MICRO.kicad_mod b/kicad/archive/fab.pretty/fab-USB_MICRO.kicad_mod
similarity index 100%
rename from kicad/fab.pretty/fab-USB_MICRO.kicad_mod
rename to kicad/archive/fab.pretty/fab-USB_MICRO.kicad_mod
diff --git a/kicad/fab.pretty/fab-USB_MINIB.kicad_mod b/kicad/archive/fab.pretty/fab-USB_MINIB.kicad_mod
similarity index 100%
rename from kicad/fab.pretty/fab-USB_MINIB.kicad_mod
rename to kicad/archive/fab.pretty/fab-USB_MINIB.kicad_mod
diff --git a/kicad/fab.pretty/fab-2X03SMD.kicad_mod b/kicad/fab.pretty/fab-2X03SMD.kicad_mod
deleted file mode 100644
index 4d46bd1..0000000
--- a/kicad/fab.pretty/fab-2X03SMD.kicad_mod
+++ /dev/null
@@ -1,15 +0,0 @@
-(module fab-2X03SMD (layer F.Cu) (tedit 200000)
-  (attr smd)
-  (fp_text reference >NAME (at -0.635 -4.445) (layer F.SilkS)
-    (effects (font (size 1.27 1.27) (thickness 0.1016)))
-  )
-  (fp_text value >VALUE (at 0 4.445) (layer F.SilkS)
-    (effects (font (size 1.27 1.27) (thickness 0.1016)))
-  )
-  (pad 1 smd rect (at -2.54 -2.54) (size 2.54 1.27) (layers F.Cu F.Paste F.Mask))
-  (pad 2 smd rect (at 2.91846 -2.54) (size 2.54 1.27) (layers F.Cu F.Paste F.Mask))
-  (pad 3 smd rect (at -2.54 0) (size 2.54 1.27) (layers F.Cu F.Paste F.Mask))
-  (pad 4 smd rect (at 2.91846 0) (size 2.54 1.27) (layers F.Cu F.Paste F.Mask))
-  (pad 5 smd rect (at -2.54 2.54) (size 2.54 1.27) (layers F.Cu F.Paste F.Mask))
-  (pad 6 smd rect (at 2.91846 2.54) (size 2.54 1.27) (layers F.Cu F.Paste F.Mask))
-)
diff --git a/kicad/fab.pretty/fab-2X05SMD.kicad_mod b/kicad/fab.pretty/fab-2X05SMD.kicad_mod
deleted file mode 100644
index cdb315c..0000000
--- a/kicad/fab.pretty/fab-2X05SMD.kicad_mod
+++ /dev/null
@@ -1,19 +0,0 @@
-(module fab-2X05SMD (layer F.Cu) (tedit 200000)
-  (attr smd)
-  (fp_text reference >NAME (at -0.635 -4.445) (layer F.SilkS)
-    (effects (font (size 1.27 1.27) (thickness 0.1016)))
-  )
-  (fp_text value >VALUE (at 0 9.525) (layer F.SilkS)
-    (effects (font (size 1.27 1.27) (thickness 0.1016)))
-  )
-  (pad 1 smd rect (at -2.54 -2.54) (size 2.54 1.27) (layers F.Cu F.Paste F.Mask))
-  (pad 2 smd rect (at 2.91846 -2.54) (size 2.54 1.27) (layers F.Cu F.Paste F.Mask))
-  (pad 3 smd rect (at -2.54 0) (size 2.54 1.27) (layers F.Cu F.Paste F.Mask))
-  (pad 4 smd rect (at 2.91846 0) (size 2.54 1.27) (layers F.Cu F.Paste F.Mask))
-  (pad 5 smd rect (at -2.54 2.54) (size 2.54 1.27) (layers F.Cu F.Paste F.Mask))
-  (pad 6 smd rect (at 2.91846 2.54) (size 2.54 1.27) (layers F.Cu F.Paste F.Mask))
-  (pad 7 smd rect (at -2.54 5.08) (size 2.54 1.27) (layers F.Cu F.Paste F.Mask))
-  (pad 8 smd rect (at 2.91846 5.08) (size 2.54 1.27) (layers F.Cu F.Paste F.Mask))
-  (pad 9 smd rect (at -2.54 7.62) (size 2.54 1.27) (layers F.Cu F.Paste F.Mask))
-  (pad 10 smd rect (at 2.91846 7.62) (size 2.54 1.27) (layers F.Cu F.Paste F.Mask))
-)
diff --git a/kicad/fab.pretty/fab_CONN_1x02_SMD.kicad_mod b/kicad/fab.pretty/fab_CONN_1x02_SMD.kicad_mod
new file mode 100644
index 0000000..52a0cd8
--- /dev/null
+++ b/kicad/fab.pretty/fab_CONN_1x02_SMD.kicad_mod
@@ -0,0 +1,11 @@
+(module fab_CONN_1x02_SMD (layer F.Cu) (tedit 5F886C52)
+  (attr smd)
+  (fp_text reference CONN_1x02_SMD (at 0 -2.54 180) (layer F.SilkS)
+    (effects (font (size 1 1) (thickness 0.15)))
+  )
+  (fp_text value REF** (at 0 2.54) (layer F.SilkS)
+    (effects (font (size 1 1) (thickness 0.15)))
+  )
+  (pad 1 smd roundrect (at -1.27 0 90) (size 3 1.25) (layers F.Cu F.Paste F.Mask) (roundrect_rratio 0.25))
+  (pad 2 smd rect (at 1.27 0 90) (size 3 1.25) (layers F.Cu F.Paste F.Mask))
+)
diff --git a/kicad/fab.pretty/fab_CONN_1x06_SMD.kicad_mod b/kicad/fab.pretty/fab_CONN_1x06_SMD.kicad_mod
new file mode 100644
index 0000000..baf1d46
--- /dev/null
+++ b/kicad/fab.pretty/fab_CONN_1x06_SMD.kicad_mod
@@ -0,0 +1,15 @@
+(module fab_CONN_1x06_SMD (layer F.Cu) (tedit 5F886C52)
+  (attr smd)
+  (fp_text reference CONN_1x06_SMD (at 0 -2.54 180) (layer F.SilkS)
+    (effects (font (size 1 1) (thickness 0.15)))
+  )
+  (fp_text value REF** (at 0 2.54) (layer F.SilkS)
+    (effects (font (size 1 1) (thickness 0.15)))
+  )
+  (pad 1 smd roundrect (at -6.35 0 90) (size 3 1.25) (layers F.Cu F.Paste F.Mask) (roundrect_rratio 0.25))
+  (pad 2 smd rect (at -3.81 0 90) (size 3 1.25) (layers F.Cu F.Paste F.Mask))
+  (pad 3 smd rect (at -1.27 0 90) (size 3 1.25) (layers F.Cu F.Paste F.Mask))
+  (pad 4 smd rect (at 1.27 0 90) (size 3 1.25) (layers F.Cu F.Paste F.Mask))
+  (pad 5 smd rect (at 3.81 0 90) (size 3 1.25) (layers F.Cu F.Paste F.Mask))
+  (pad 6 smd rect (at 6.35 0 90) (size 3 1.25) (layers F.Cu F.Paste F.Mask))
+)
diff --git a/kicad/fab.pretty/fab_CONN_2x02_SMD.kicad_mod b/kicad/fab.pretty/fab_CONN_2x02_SMD.kicad_mod
new file mode 100644
index 0000000..257ce67
--- /dev/null
+++ b/kicad/fab.pretty/fab_CONN_2x02_SMD.kicad_mod
@@ -0,0 +1,13 @@
+(module fab_CONN_2x02_SMD (layer F.Cu) (tedit 5F886D5C)
+  (attr smd)
+  (fp_text reference CONN_2x02_SMD (at -0.635 -3.175) (layer F.SilkS)
+    (effects (font (size 1 1) (thickness 0.15)))
+  )
+  (fp_text value REF** (at 0 3.175) (layer F.SilkS)
+    (effects (font (size 1 1) (thickness 0.15)))
+  )
+  (pad 1 smd roundrect (at -3.175 -1.27) (size 3 1.25) (layers F.Cu F.Paste F.Mask) (roundrect_rratio 0.25))
+  (pad 2 smd rect (at 3.175 -1.27) (size 3 1.25) (layers F.Cu F.Paste F.Mask))
+  (pad 3 smd rect (at -3.175 1.27) (size 3 1.25) (layers F.Cu F.Paste F.Mask))
+  (pad 4 smd rect (at 3.175 1.27) (size 3 1.25) (layers F.Cu F.Paste F.Mask))
+)
diff --git a/kicad/fab.pretty/fab_CONN_2x03_SMD.kicad_mod b/kicad/fab.pretty/fab_CONN_2x03_SMD.kicad_mod
new file mode 100644
index 0000000..21c81ce
--- /dev/null
+++ b/kicad/fab.pretty/fab_CONN_2x03_SMD.kicad_mod
@@ -0,0 +1,15 @@
+(module fab_CONN_2x03_SMD (layer F.Cu) (tedit 5F886D0F)
+  (attr smd)
+  (fp_text reference CONN_2x03_SMD (at -0.635 -4.445) (layer F.SilkS)
+    (effects (font (size 1 1) (thickness 0.15)))
+  )
+  (fp_text value REF** (at 0 4.445) (layer F.SilkS)
+    (effects (font (size 1 1) (thickness 0.15)))
+  )
+  (pad 1 smd roundrect (at -3.175 -2.54) (size 3 1.25) (layers F.Cu F.Paste F.Mask) (roundrect_rratio 0.25))
+  (pad 2 smd rect (at 3.175 -2.54) (size 3 1.25) (layers F.Cu F.Paste F.Mask))
+  (pad 3 smd rect (at -3.175 0) (size 3 1.25) (layers F.Cu F.Paste F.Mask))
+  (pad 4 smd rect (at 3.175 0) (size 3 1.25) (layers F.Cu F.Paste F.Mask))
+  (pad 5 smd rect (at -3.175 2.54) (size 3 1.25) (layers F.Cu F.Paste F.Mask))
+  (pad 6 smd rect (at 3.175 2.54) (size 3 1.25) (layers F.Cu F.Paste F.Mask))
+)
diff --git a/kicad/fab.pretty/fab_CONN_2x05_SMD.kicad_mod b/kicad/fab.pretty/fab_CONN_2x05_SMD.kicad_mod
new file mode 100644
index 0000000..96347ac
--- /dev/null
+++ b/kicad/fab.pretty/fab_CONN_2x05_SMD.kicad_mod
@@ -0,0 +1,19 @@
+(module fab_CONN_2x05_SMD (layer F.Cu) (tedit 5F886DD4)
+  (attr smd)
+  (fp_text reference CONN_2x05_SMD (at 0 -6.985) (layer F.SilkS)
+    (effects (font (size 1 1) (thickness 0.15)))
+  )
+  (fp_text value REF** (at 0 6.985) (layer F.SilkS)
+    (effects (font (size 1 1) (thickness 0.15)))
+  )
+  (pad 1 smd roundrect (at -3.175 -5.08) (size 3 1.25) (layers F.Cu F.Paste F.Mask) (roundrect_rratio 0.25))
+  (pad 2 smd rect (at 3.175 -5.08) (size 3 1.25) (layers F.Cu F.Paste F.Mask))
+  (pad 3 smd rect (at -3.175 -2.54) (size 3 1.25) (layers F.Cu F.Paste F.Mask))
+  (pad 4 smd rect (at 3.175 -2.54) (size 3 1.25) (layers F.Cu F.Paste F.Mask))
+  (pad 5 smd rect (at -3.175 0) (size 3 1.25) (layers F.Cu F.Paste F.Mask))
+  (pad 6 smd rect (at 3.175 0) (size 3 1.25) (layers F.Cu F.Paste F.Mask))
+  (pad 7 smd rect (at -3.175 2.54) (size 3 1.25) (layers F.Cu F.Paste F.Mask))
+  (pad 8 smd rect (at 3.175 2.54) (size 3 1.25) (layers F.Cu F.Paste F.Mask))
+  (pad 9 smd rect (at -3.175 5.08) (size 3 1.25) (layers F.Cu F.Paste F.Mask))
+  (pad 10 smd rect (at 3.175 5.08) (size 3 1.25) (layers F.Cu F.Paste F.Mask))
+)
diff --git a/kicad/fab.pretty/fab_C_1206.kicad_mod b/kicad/fab.pretty/fab_C_1206.kicad_mod
new file mode 100644
index 0000000..51feb09
--- /dev/null
+++ b/kicad/fab.pretty/fab_C_1206.kicad_mod
@@ -0,0 +1,15 @@
+(module fab_C_1206 (layer F.Cu) (tedit 5F886E48)
+  (attr smd)
+  (fp_text reference C_1206 (at 0 -1.905) (layer F.SilkS)
+    (effects (font (size 1 1) (thickness 0.15)))
+  )
+  (fp_text value REF** (at 0 1.905) (layer F.SilkS)
+    (effects (font (size 1 1) (thickness 0.15)))
+  )
+  (fp_line (start -2.032 1.016) (end -2.032 -1.016) (layer B.SilkS) (width 0.127))
+  (fp_line (start 2.032 1.016) (end -2.032 1.016) (layer F.SilkS) (width 0.127))
+  (fp_line (start 2.032 -1.016) (end 2.032 1.016) (layer B.SilkS) (width 0.127))
+  (fp_line (start -2.032 -1.016) (end 2.032 -1.016) (layer F.SilkS) (width 0.127))
+  (pad 1 smd rect (at -1.778 0) (size 1.5 2) (layers F.Cu F.Paste F.Mask))
+  (pad 2 smd rect (at 1.778 0) (size 1.5 2) (layers F.Cu F.Paste F.Mask))
+)
diff --git a/kicad/fab.pretty/fab_IC_ESP32-WROOM-32.kicad_mod b/kicad/fab.pretty/fab_IC_ESP32-WROOM-32.kicad_mod
new file mode 100644
index 0000000..e75faa2
--- /dev/null
+++ b/kicad/fab.pretty/fab_IC_ESP32-WROOM-32.kicad_mod
@@ -0,0 +1,68 @@
+(module fab_IC_ESP32-WROOM-32 (layer F.Cu) (tedit 5F887E6A)
+  (fp_text reference REF** (at 0 0) (layer F.SilkS)
+    (effects (font (size 1 1) (thickness 0.15)))
+  )
+  (fp_text value IC_ESP32-WROOM-32 (at 0 -14) (layer F.SilkS)
+    (effects (font (size 1 1) (thickness 0.15)))
+  )
+  (fp_line (start -6 -12) (end -8 -12) (layer F.SilkS) (width 0.3))
+  (fp_line (start -6 -9) (end -6 -12) (layer F.SilkS) (width 0.3))
+  (fp_line (start -4 -9) (end -6 -9) (layer F.SilkS) (width 0.3))
+  (fp_line (start -4 -12) (end -4 -9) (layer F.SilkS) (width 0.3))
+  (fp_line (start -1 -12) (end -4 -12) (layer F.SilkS) (width 0.3))
+  (fp_line (start -1 -9) (end -1 -12) (layer F.SilkS) (width 0.3))
+  (fp_line (start 2 -9) (end -1 -9) (layer F.SilkS) (width 0.3))
+  (fp_line (start 2 -12) (end 2 -9) (layer F.SilkS) (width 0.3))
+  (fp_line (start 5 -12) (end 2 -12) (layer F.SilkS) (width 0.3))
+  (fp_line (start -8 -12) (end -8 -7) (layer F.SilkS) (width 0.3))
+  (fp_line (start 5 -12) (end 5 -6) (layer F.SilkS) (width 0.3))
+  (fp_line (start 7 -12) (end 5 -12) (layer F.SilkS) (width 0.3))
+  (fp_line (start 7 -6) (end 7 -12) (layer F.SilkS) (width 0.3))
+  (fp_circle (center -6 10) (end -6 11) (layer F.SilkS) (width 0.12))
+  (fp_line (start -8 -6) (end -8 12) (layer F.SilkS) (width 0.12))
+  (fp_line (start 8 -6) (end -8 -6) (layer F.SilkS) (width 0.12))
+  (fp_line (start 8 12) (end 8 -6) (layer F.SilkS) (width 0.12))
+  (fp_line (start -8 12) (end 8 12) (layer F.SilkS) (width 0.12))
+  (fp_line (start -9 12.8) (end -9 -12.8) (layer F.SilkS) (width 0.12))
+  (fp_line (start 9 12.8) (end -9 12.8) (layer F.SilkS) (width 0.12))
+  (fp_line (start 9 -12.8) (end 9 12.8) (layer F.SilkS) (width 0.12))
+  (fp_line (start -9 -12.8) (end 9 -12.8) (layer F.SilkS) (width 0.12))
+  (pad 1 smd rect (at -9.525 -5.08 90) (size 0.7 3) (layers F.Cu F.Paste F.Mask))
+  (pad 2 smd rect (at -9.525 -3.81 90) (size 0.7 3) (layers F.Cu F.Paste F.Mask))
+  (pad 3 smd rect (at -9.525 -2.54 90) (size 0.7 3) (layers F.Cu F.Paste F.Mask))
+  (pad 4 smd rect (at -9.525 -1.27 90) (size 0.7 3) (layers F.Cu F.Paste F.Mask))
+  (pad 5 smd rect (at -9.525 0 90) (size 0.7 3) (layers F.Cu F.Paste F.Mask))
+  (pad 6 smd rect (at -9.525 1.27 90) (size 0.7 3) (layers F.Cu F.Paste F.Mask))
+  (pad 7 smd rect (at -9.525 2.54 90) (size 0.7 3) (layers F.Cu F.Paste F.Mask))
+  (pad 8 smd rect (at -9.525 3.81 90) (size 0.7 3) (layers F.Cu F.Paste F.Mask))
+  (pad 9 smd rect (at -9.525 5.08 90) (size 0.7 3) (layers F.Cu F.Paste F.Mask))
+  (pad 10 smd rect (at -9.525 6.35 90) (size 0.7 3) (layers F.Cu F.Paste F.Mask))
+  (pad 11 smd rect (at -9.525 7.62 90) (size 0.7 3) (layers F.Cu F.Paste F.Mask))
+  (pad 12 smd rect (at -9.525 8.89 90) (size 0.7 3) (layers F.Cu F.Paste F.Mask))
+  (pad 13 smd rect (at -9.525 10.16 90) (size 0.7 3) (layers F.Cu F.Paste F.Mask))
+  (pad 14 smd rect (at -9.525 11.43 90) (size 0.7 3) (layers F.Cu F.Paste F.Mask))
+  (pad 15 smd rect (at -5.715 13.335 180) (size 0.7 3) (layers F.Cu F.Paste F.Mask))
+  (pad 16 smd rect (at -4.445 13.335 180) (size 0.7 3) (layers F.Cu F.Paste F.Mask))
+  (pad 17 smd rect (at -3.175 13.335 180) (size 0.7 3) (layers F.Cu F.Paste F.Mask))
+  (pad 18 smd rect (at -1.905 13.335 180) (size 0.7 3) (layers F.Cu F.Paste F.Mask))
+  (pad 19 smd rect (at -0.635 13.335 180) (size 0.7 3) (layers F.Cu F.Paste F.Mask))
+  (pad 20 smd rect (at 0.635 13.335 180) (size 0.7 3) (layers F.Cu F.Paste F.Mask))
+  (pad 21 smd rect (at 1.905 13.335 180) (size 0.7 3) (layers F.Cu F.Paste F.Mask))
+  (pad 22 smd rect (at 3.175 13.335 180) (size 0.7 3) (layers F.Cu F.Paste F.Mask))
+  (pad 23 smd rect (at 4.445 13.335 180) (size 0.7 3) (layers F.Cu F.Paste F.Mask))
+  (pad 24 smd rect (at 5.715 13.335 180) (size 0.7 3) (layers F.Cu F.Paste F.Mask))
+  (pad 25 smd rect (at 9.525 11.43 270) (size 0.7 3) (layers F.Cu F.Paste F.Mask))
+  (pad 26 smd rect (at 9.525 10.16 270) (size 0.7 3) (layers F.Cu F.Paste F.Mask))
+  (pad 27 smd rect (at 9.525 8.89 270) (size 0.7 3) (layers F.Cu F.Paste F.Mask))
+  (pad 28 smd rect (at 9.525 7.62 270) (size 0.7 3) (layers F.Cu F.Paste F.Mask))
+  (pad 29 smd rect (at 9.525 6.35 270) (size 0.7 3) (layers F.Cu F.Paste F.Mask))
+  (pad 30 smd rect (at 9.525 5.08 270) (size 0.7 3) (layers F.Cu F.Paste F.Mask))
+  (pad 31 smd rect (at 9.525 3.81 270) (size 0.7 3) (layers F.Cu F.Paste F.Mask))
+  (pad 32 smd rect (at 9.525 2.54 270) (size 0.7 3) (layers F.Cu F.Paste F.Mask))
+  (pad 33 smd rect (at 9.525 1.27 270) (size 0.7 3) (layers F.Cu F.Paste F.Mask))
+  (pad 34 smd rect (at 9.525 0 270) (size 0.7 3) (layers F.Cu F.Paste F.Mask))
+  (pad 35 smd rect (at 9.525 -1.27 270) (size 0.7 3) (layers F.Cu F.Paste F.Mask))
+  (pad 36 smd rect (at 9.525 -2.54 270) (size 0.7 3) (layers F.Cu F.Paste F.Mask))
+  (pad 37 smd rect (at 9.525 -3.81 270) (size 0.7 3) (layers F.Cu F.Paste F.Mask))
+  (pad 38 smd rect (at 9.525 -5.08 270) (size 0.7 3) (layers F.Cu F.Paste F.Mask))
+)
diff --git a/kicad/fab.pretty/fab_IC_QFP32.kicad_mod b/kicad/fab.pretty/fab_IC_QFP32.kicad_mod
new file mode 100644
index 0000000..3f3db12
--- /dev/null
+++ b/kicad/fab.pretty/fab_IC_QFP32.kicad_mod
@@ -0,0 +1,45 @@
+(module fab_IC_QFP32 (layer F.Cu) (tedit 5F88771E)
+  (fp_text reference REF** (at 0 0) (layer F.SilkS)
+    (effects (font (size 1 1) (thickness 0.15)))
+  )
+  (fp_text value IC_QFP32 (at 0 -6.4) (layer F.SilkS)
+    (effects (font (size 1 1) (thickness 0.15)))
+  )
+  (fp_line (start -3.5 -3.5) (end 3.5 -3.5) (layer F.SilkS) (width 0.12))
+  (fp_line (start 3.5 -3.5) (end 3.5 3.5) (layer F.SilkS) (width 0.12))
+  (fp_line (start 3.5 3.5) (end -3.5 3.5) (layer F.SilkS) (width 0.12))
+  (fp_line (start -3.5 3.5) (end -3.5 -3.5) (layer F.SilkS) (width 0.12))
+  (fp_line (start -2 -3.5) (end -3.5 -2) (layer F.SilkS) (width 0.12))
+  (pad 1 smd roundrect (at -4.6 -2.8) (size 2.2 0.35) (layers F.Cu F.Paste F.Mask) (roundrect_rratio 0.25))
+  (pad 2 smd rect (at -4.6 -2) (size 2.2 0.35) (layers F.Cu F.Paste F.Mask))
+  (pad 3 smd rect (at -4.6 -1.2) (size 2.2 0.35) (layers F.Cu F.Paste F.Mask))
+  (pad 4 smd rect (at -4.6 -0.4) (size 2.2 0.35) (layers F.Cu F.Paste F.Mask))
+  (pad 5 smd rect (at -4.6 0.4) (size 2.2 0.35) (layers F.Cu F.Paste F.Mask))
+  (pad 6 smd rect (at -4.6 1.2) (size 2.2 0.35) (layers F.Cu F.Paste F.Mask))
+  (pad 7 smd rect (at -4.6 2) (size 2.2 0.35) (layers F.Cu F.Paste F.Mask))
+  (pad 8 smd rect (at -4.6 2.8) (size 2.2 0.35) (layers F.Cu F.Paste F.Mask))
+  (pad 9 smd rect (at -2.8 4.6 90) (size 2.2 0.35) (layers F.Cu F.Paste F.Mask))
+  (pad 10 smd rect (at -2 4.6 90) (size 2.2 0.35) (layers F.Cu F.Paste F.Mask))
+  (pad 11 smd rect (at -1.2 4.6 90) (size 2.2 0.35) (layers F.Cu F.Paste F.Mask))
+  (pad 12 smd rect (at -0.4 4.6 90) (size 2.2 0.35) (layers F.Cu F.Paste F.Mask))
+  (pad 13 smd rect (at 0.4 4.6 90) (size 2.2 0.35) (layers F.Cu F.Paste F.Mask))
+  (pad 14 smd rect (at 1.2 4.6 90) (size 2.2 0.35) (layers F.Cu F.Paste F.Mask))
+  (pad 15 smd rect (at 2 4.6 90) (size 2.2 0.35) (layers F.Cu F.Paste F.Mask))
+  (pad 16 smd rect (at 2.8 4.6 90) (size 2.2 0.35) (layers F.Cu F.Paste F.Mask))
+  (pad 17 smd rect (at 4.6 2.8 180) (size 2.2 0.35) (layers F.Cu F.Paste F.Mask))
+  (pad 18 smd rect (at 4.6 2 180) (size 2.2 0.35) (layers F.Cu F.Paste F.Mask))
+  (pad 19 smd rect (at 4.6 1.2 180) (size 2.2 0.35) (layers F.Cu F.Paste F.Mask))
+  (pad 20 smd rect (at 4.6 0.4 180) (size 2.2 0.35) (layers F.Cu F.Paste F.Mask))
+  (pad 21 smd rect (at 4.6 -0.4 180) (size 2.2 0.35) (layers F.Cu F.Paste F.Mask))
+  (pad 22 smd rect (at 4.6 -1.2 180) (size 2.2 0.35) (layers F.Cu F.Paste F.Mask))
+  (pad 23 smd rect (at 4.6 -2 180) (size 2.2 0.35) (layers F.Cu F.Paste F.Mask))
+  (pad 24 smd rect (at 4.6 -2.8 180) (size 2.2 0.35) (layers F.Cu F.Paste F.Mask))
+  (pad 25 smd rect (at 2.8 -4.6 270) (size 2.2 0.35) (layers F.Cu F.Paste F.Mask))
+  (pad 26 smd rect (at 2 -4.6 270) (size 2.2 0.35) (layers F.Cu F.Paste F.Mask))
+  (pad 27 smd rect (at 1.2 -4.6 270) (size 2.2 0.35) (layers F.Cu F.Paste F.Mask))
+  (pad 28 smd rect (at 0.4 -4.6 270) (size 2.2 0.35) (layers F.Cu F.Paste F.Mask))
+  (pad 29 smd rect (at -0.4 -4.6 270) (size 2.2 0.35) (layers F.Cu F.Paste F.Mask))
+  (pad 30 smd rect (at -1.2 -4.6 270) (size 2.2 0.35) (layers F.Cu F.Paste F.Mask))
+  (pad 31 smd rect (at -2 -4.6 270) (size 2.2 0.35) (layers F.Cu F.Paste F.Mask))
+  (pad 32 smd rect (at -2.8 -4.6 270) (size 2.2 0.35) (layers F.Cu F.Paste F.Mask))
+)
diff --git a/kicad/fab.pretty/fab_IC_SOIC14.kicad_mod b/kicad/fab.pretty/fab_IC_SOIC14.kicad_mod
new file mode 100644
index 0000000..df34f45
--- /dev/null
+++ b/kicad/fab.pretty/fab_IC_SOIC14.kicad_mod
@@ -0,0 +1,28 @@
+(module fab_IC_SOIC14 (layer F.Cu) (tedit 5F8872F2)
+  (attr smd)
+  (fp_text reference IC_SOIC14 (at 0 -5.5) (layer F.SilkS)
+    (effects (font (size 1 1) (thickness 0.15)))
+  )
+  (fp_text value REF** (at 0 5.5) (layer F.SilkS)
+    (effects (font (size 1 1) (thickness 0.15)))
+  )
+  (fp_line (start -1 -4.5) (end -2 -3.5) (layer F.SilkS) (width 0.12))
+  (fp_line (start -2 4.5) (end -2 -4.5) (layer F.SilkS) (width 0.12))
+  (fp_line (start 2 4.5) (end -2 4.5) (layer F.SilkS) (width 0.12))
+  (fp_line (start 2 -4.5) (end 2 4.5) (layer F.SilkS) (width 0.12))
+  (fp_line (start -2 -4.5) (end 2 -4.5) (layer F.SilkS) (width 0.12))
+  (pad 1 smd roundrect (at -3.15214 -3.81 270) (size 0.5 2.2) (layers F.Cu F.Paste F.Mask) (roundrect_rratio 0.25))
+  (pad 2 smd rect (at -3.15214 -2.54 270) (size 0.5 2.2) (layers F.Cu F.Paste F.Mask))
+  (pad 3 smd rect (at -3.15214 -1.27 270) (size 0.5 2.2) (layers F.Cu F.Paste F.Mask))
+  (pad 4 smd rect (at -3.15214 0 270) (size 0.5 2.2) (layers F.Cu F.Paste F.Mask))
+  (pad 5 smd rect (at -3.15214 1.27 270) (size 0.5 2.2) (layers F.Cu F.Paste F.Mask))
+  (pad 6 smd rect (at -3.15214 2.54 270) (size 0.5 2.2) (layers F.Cu F.Paste F.Mask))
+  (pad 7 smd rect (at -3.15214 3.81 270) (size 0.5 2.2) (layers F.Cu F.Paste F.Mask))
+  (pad 8 smd rect (at 3.15214 3.81 270) (size 0.5 2.2) (layers F.Cu F.Paste F.Mask))
+  (pad 9 smd rect (at 3.15214 2.54 270) (size 0.5 2.2) (layers F.Cu F.Paste F.Mask))
+  (pad 10 smd rect (at 3.15214 1.27 270) (size 0.5 2.2) (layers F.Cu F.Paste F.Mask))
+  (pad 11 smd rect (at 3.15214 0 270) (size 0.5 2.2) (layers F.Cu F.Paste F.Mask))
+  (pad 12 smd rect (at 3.15214 -1.27 270) (size 0.5 2.2) (layers F.Cu F.Paste F.Mask))
+  (pad 13 smd rect (at 3.15214 -2.54 270) (size 0.5 2.2) (layers F.Cu F.Paste F.Mask))
+  (pad 14 smd rect (at 3.15214 -3.81 270) (size 0.5 2.2) (layers F.Cu F.Paste F.Mask))
+)
diff --git a/kicad/fab.pretty/fab_IC_SOIC20.kicad_mod b/kicad/fab.pretty/fab_IC_SOIC20.kicad_mod
new file mode 100644
index 0000000..25cea5a
--- /dev/null
+++ b/kicad/fab.pretty/fab_IC_SOIC20.kicad_mod
@@ -0,0 +1,34 @@
+(module fab_IC_SOIC20 (layer F.Cu) (tedit 5F8875D0)
+  (attr smd)
+  (fp_text reference IC_SOIC20 (at 0 -7.5) (layer F.SilkS)
+    (effects (font (size 1 1) (thickness 0.15)))
+  )
+  (fp_text value REF** (at 0 0) (layer F.SilkS)
+    (effects (font (size 1 1) (thickness 0.15)))
+  )
+  (fp_line (start -3.75 -6.5) (end 3.75 -6.5) (layer F.SilkS) (width 0.12))
+  (fp_line (start 3.75 6.5) (end -3.75 6.5) (layer F.SilkS) (width 0.12))
+  (fp_line (start -3.75 6.5) (end -3.75 -6.5) (layer F.SilkS) (width 0.12))
+  (fp_line (start -2.5 -6.5) (end -3.75 -5.25) (layer F.SilkS) (width 0.12))
+  (fp_line (start 3.75 -6.5) (end 3.75 6.5) (layer F.SilkS) (width 0.12))
+  (pad 1 smd roundrect (at -4.953 -5.715) (size 2.2 0.5) (layers F.Cu F.Paste F.Mask) (roundrect_rratio 0.25))
+  (pad 2 smd rect (at -4.953 -4.445) (size 2.2 0.5) (layers F.Cu F.Paste F.Mask))
+  (pad 3 smd rect (at -4.953 -3.175) (size 2.2 0.5) (layers F.Cu F.Paste F.Mask))
+  (pad 4 smd rect (at -4.953 -1.905) (size 2.2 0.5) (layers F.Cu F.Paste F.Mask))
+  (pad 5 smd rect (at -4.953 -0.635) (size 2.2 0.5) (layers F.Cu F.Paste F.Mask))
+  (pad 6 smd rect (at -4.953 0.635) (size 2.2 0.5) (layers F.Cu F.Paste F.Mask))
+  (pad 7 smd rect (at -4.953 1.905) (size 2.2 0.5) (layers F.Cu F.Paste F.Mask))
+  (pad 8 smd rect (at -4.953 3.175) (size 2.2 0.5) (layers F.Cu F.Paste F.Mask))
+  (pad 9 smd rect (at -4.953 4.445) (size 2.2 0.5) (layers F.Cu F.Paste F.Mask))
+  (pad 10 smd rect (at -4.953 5.715) (size 2.2 0.5) (layers F.Cu F.Paste F.Mask))
+  (pad 11 smd rect (at 4.953 5.715) (size 2.2 0.5) (layers F.Cu F.Paste F.Mask))
+  (pad 12 smd rect (at 4.953 4.445) (size 2.2 0.5) (layers F.Cu F.Paste F.Mask))
+  (pad 13 smd rect (at 4.953 3.175) (size 2.2 0.5) (layers F.Cu F.Paste F.Mask))
+  (pad 14 smd rect (at 4.953 1.905) (size 2.2 0.5) (layers F.Cu F.Paste F.Mask))
+  (pad 15 smd rect (at 4.953 0.635) (size 2.2 0.5) (layers F.Cu F.Paste F.Mask))
+  (pad 16 smd rect (at 4.953 -0.635) (size 2.2 0.5) (layers F.Cu F.Paste F.Mask))
+  (pad 17 smd rect (at 4.953 -1.905) (size 2.2 0.5) (layers F.Cu F.Paste F.Mask))
+  (pad 18 smd rect (at 4.953 -3.175) (size 2.2 0.5) (layers F.Cu F.Paste F.Mask))
+  (pad 19 smd rect (at 4.953 -4.445) (size 2.2 0.5) (layers F.Cu F.Paste F.Mask))
+  (pad 20 smd rect (at 4.953 -5.715) (size 2.2 0.5) (layers F.Cu F.Paste F.Mask))
+)
diff --git a/kicad/fab.pretty/fab_IC_SOIC8.kicad_mod b/kicad/fab.pretty/fab_IC_SOIC8.kicad_mod
new file mode 100644
index 0000000..252e99c
--- /dev/null
+++ b/kicad/fab.pretty/fab_IC_SOIC8.kicad_mod
@@ -0,0 +1,22 @@
+(module fab_IC_SOIC8 (layer F.Cu) (tedit 5F8871ED)
+  (attr smd)
+  (fp_text reference IC_SOIC8 (at 0 -3.4925) (layer F.SilkS)
+    (effects (font (size 1 1) (thickness 0.15)))
+  )
+  (fp_text value REF** (at 0 3.429) (layer F.SilkS)
+    (effects (font (size 1 1) (thickness 0.15)))
+  )
+  (fp_line (start -2 -2.5) (end 2 -2.5) (layer F.SilkS) (width 0.12))
+  (fp_line (start 2 -2.5) (end 2 2.5) (layer F.SilkS) (width 0.12))
+  (fp_line (start 2 2.5) (end -2 2.5) (layer F.SilkS) (width 0.12))
+  (fp_line (start -2 2.5) (end -2 -2.5) (layer F.SilkS) (width 0.12))
+  (fp_line (start -1 -2.5) (end -2 -1.5) (layer F.SilkS) (width 0.12))
+  (pad 1 smd roundrect (at -3.15214 -1.905 270) (size 0.5 2.2) (layers F.Cu F.Paste F.Mask) (roundrect_rratio 0.25))
+  (pad 2 smd rect (at -3.15214 -0.64262 270) (size 0.5 2.2) (layers F.Cu F.Paste F.Mask))
+  (pad 3 smd rect (at -3.15214 0.62484 270) (size 0.5 2.2) (layers F.Cu F.Paste F.Mask))
+  (pad 4 smd rect (at -3.15214 1.89484 270) (size 0.5 2.2) (layers F.Cu F.Paste F.Mask))
+  (pad 5 smd rect (at 3.15214 1.905 270) (size 0.5 2.2) (layers F.Cu F.Paste F.Mask))
+  (pad 6 smd rect (at 3.15214 0.635 270) (size 0.5 2.2) (layers F.Cu F.Paste F.Mask))
+  (pad 7 smd rect (at 3.15214 -0.635 270) (size 0.5 2.2) (layers F.Cu F.Paste F.Mask))
+  (pad 8 smd rect (at 3.15214 -1.905 270) (size 0.5 2.2) (layers F.Cu F.Paste F.Mask))
+)
diff --git a/kicad/fab.pretty/fab_LED_1206.kicad_mod b/kicad/fab.pretty/fab_LED_1206.kicad_mod
new file mode 100644
index 0000000..18a58a8
--- /dev/null
+++ b/kicad/fab.pretty/fab_LED_1206.kicad_mod
@@ -0,0 +1,16 @@
+(module fab_LED_1206 (layer F.Cu) (tedit 5F887772)
+  (attr smd)
+  (fp_text reference LED_1206 (at 0 -1.905) (layer F.SilkS)
+    (effects (font (size 1 1) (thickness 0.15)))
+  )
+  (fp_text value REF** (at 0 1.905) (layer F.SilkS)
+    (effects (font (size 1 1) (thickness 0.15)))
+  )
+  (fp_line (start -2.032 -1.016) (end 2.032 -1.016) (layer F.SilkS) (width 0.127))
+  (fp_line (start 2.032 -1.016) (end 2.032 1.016) (layer B.SilkS) (width 0.127))
+  (fp_line (start 2.032 1.016) (end -2.032 1.016) (layer F.SilkS) (width 0.127))
+  (fp_line (start -2.032 1.016) (end -2.032 -1.016) (layer B.SilkS) (width 0.127))
+  (fp_line (start -2.6 -1) (end -2.6 1) (layer F.SilkS) (width 0.12))
+  (pad 1 smd rect (at -1.778 0) (size 1.5 2) (layers F.Cu F.Paste F.Mask))
+  (pad 2 smd rect (at 1.778 0) (size 1.5 2) (layers F.Cu F.Paste F.Mask))
+)
diff --git a/kicad/fab.pretty/fab_LED_RGB.kicad_mod b/kicad/fab.pretty/fab_LED_RGB.kicad_mod
new file mode 100644
index 0000000..b30bed3
--- /dev/null
+++ b/kicad/fab.pretty/fab_LED_RGB.kicad_mod
@@ -0,0 +1,18 @@
+(module fab_LED_RGB (layer F.Cu) (tedit 5F887A11)
+  (fp_text reference REF** (at 0 2.2) (layer F.SilkS)
+    (effects (font (size 1 1) (thickness 0.15)))
+  )
+  (fp_text value LED_RGB (at 0 -2.2) (layer F.SilkS)
+    (effects (font (size 1 1) (thickness 0.15)))
+  )
+  (fp_line (start -1.7 -1.4) (end 1.7 -1.4) (layer F.SilkS) (width 0.12))
+  (fp_line (start 1.7 -1.4) (end 1.7 1.4) (layer F.SilkS) (width 0.12))
+  (fp_line (start 1.7 1.4) (end -1.7 1.4) (layer F.SilkS) (width 0.12))
+  (fp_line (start -1.7 1.4) (end -1.7 -1.4) (layer F.SilkS) (width 0.12))
+  (fp_circle (center 0 0) (end 0 1.2) (layer F.SilkS) (width 0.12))
+  (fp_line (start -1 -1.4) (end -1.7 -0.7) (layer F.SilkS) (width 0.12))
+  (pad 1 smd rect (at -2.2 -0.8) (size 2 0.7) (layers F.Cu F.Paste F.Mask))
+  (pad 2 smd rect (at -2.2 0.8) (size 2 0.7) (layers F.Cu F.Paste F.Mask))
+  (pad 3 smd rect (at 2.2 0.8) (size 2 0.7) (layers F.Cu F.Paste F.Mask))
+  (pad 4 smd rect (at 2.2 -0.8) (size 2 0.7) (layers F.Cu F.Paste F.Mask))
+)
diff --git a/kicad/fab.pretty/fab_R_1206.kicad_mod b/kicad/fab.pretty/fab_R_1206.kicad_mod
new file mode 100644
index 0000000..33c3192
--- /dev/null
+++ b/kicad/fab.pretty/fab_R_1206.kicad_mod
@@ -0,0 +1,15 @@
+(module fab_R_1206 (layer F.Cu) (tedit 5F886E48)
+  (attr smd)
+  (fp_text reference R_1206 (at 0 -1.905) (layer F.SilkS)
+    (effects (font (size 1 1) (thickness 0.15)))
+  )
+  (fp_text value REF** (at 0 1.905) (layer F.SilkS)
+    (effects (font (size 1 1) (thickness 0.15)))
+  )
+  (fp_line (start -2.032 1.016) (end -2.032 -1.016) (layer B.SilkS) (width 0.127))
+  (fp_line (start 2.032 1.016) (end -2.032 1.016) (layer F.SilkS) (width 0.127))
+  (fp_line (start 2.032 -1.016) (end 2.032 1.016) (layer B.SilkS) (width 0.127))
+  (fp_line (start -2.032 -1.016) (end 2.032 -1.016) (layer F.SilkS) (width 0.127))
+  (pad 1 smd rect (at -1.778 0) (size 1.5 2) (layers F.Cu F.Paste F.Mask))
+  (pad 2 smd rect (at 1.778 0) (size 1.5 2) (layers F.Cu F.Paste F.Mask))
+)
diff --git a/kicad/fab.pretty/fab_SMD_SOT223.kicad_mod b/kicad/fab.pretty/fab_SMD_SOT223.kicad_mod
new file mode 100644
index 0000000..eeb9bb8
--- /dev/null
+++ b/kicad/fab.pretty/fab_SMD_SOT223.kicad_mod
@@ -0,0 +1,16 @@
+(module fab_SMD_SOT223 (layer F.Cu) (tedit 5F88793B)
+  (fp_text reference REF** (at 0 0) (layer F.SilkS)
+    (effects (font (size 1 1) (thickness 0.15)))
+  )
+  (fp_text value SMD_SOT223 (at 0 -6) (layer F.SilkS)
+    (effects (font (size 1 1) (thickness 0.15)))
+  )
+  (fp_line (start -3.2 1.8) (end -3.2 -1.8) (layer F.SilkS) (width 0.12))
+  (fp_line (start 3.2 1.8) (end -3.2 1.8) (layer F.SilkS) (width 0.12))
+  (fp_line (start 3.2 -1.8) (end 3.2 1.8) (layer F.SilkS) (width 0.12))
+  (fp_line (start -3.2 -1.8) (end 3.2 -1.8) (layer F.SilkS) (width 0.12))
+  (pad 1 smd rect (at -2.25 3.75) (size 1 3) (layers F.Cu F.Paste F.Mask))
+  (pad 2 smd rect (at 0 3.75) (size 1 3) (layers F.Cu F.Paste F.Mask))
+  (pad 3 smd rect (at 2.25 3.75) (size 1 3) (layers F.Cu F.Paste F.Mask))
+  (pad 2 smd rect (at 0 -3.75) (size 3.5 3) (layers F.Cu F.Paste F.Mask))
+)
diff --git a/kicad/fab.pretty/fab_SMD_SOT23.kicad_mod b/kicad/fab.pretty/fab_SMD_SOT23.kicad_mod
new file mode 100644
index 0000000..c68f569
--- /dev/null
+++ b/kicad/fab.pretty/fab_SMD_SOT23.kicad_mod
@@ -0,0 +1,20 @@
+(module fab_SMD_SOT23 (layer F.Cu) (tedit 5F88736F)
+  (attr smd)
+  (fp_text reference SMD_SOT23 (at 0 -3) (layer F.SilkS)
+    (effects (font (size 1 1) (thickness 0.15)))
+  )
+  (fp_text value REF** (at 0 3) (layer F.SilkS)
+    (effects (font (size 1 1) (thickness 0.15)))
+  )
+  (fp_line (start 0.8636 -0.6604) (end 1.4224 -0.6604) (layer B.SilkS) (width 0.1524))
+  (fp_line (start 1.4224 -0.6604) (end 1.4224 0.1524) (layer B.SilkS) (width 0.1524))
+  (fp_line (start -1.4224 -0.6604) (end -0.8636 -0.6604) (layer B.SilkS) (width 0.1524))
+  (fp_line (start -1.4224 0.1524) (end -1.4224 -0.6604) (layer B.SilkS) (width 0.1524))
+  (fp_line (start -1.4224 -0.6604) (end 1.4224 -0.6604) (layer F.SilkS) (width 0.1524))
+  (fp_line (start -1.4224 0.6604) (end -1.4224 -0.6604) (layer F.SilkS) (width 0.1524))
+  (fp_line (start 1.4224 0.6604) (end -1.4224 0.6604) (layer F.SilkS) (width 0.1524))
+  (fp_line (start 1.4224 -0.6604) (end 1.4224 0.6604) (layer F.SilkS) (width 0.1524))
+  (pad 1 smd rect (at -0.94996 1.5) (size 0.5 1.6) (layers F.Cu F.Paste F.Mask))
+  (pad 2 smd rect (at 0.94996 1.5) (size 0.5 1.6) (layers F.Cu F.Paste F.Mask))
+  (pad 3 smd rect (at 0 -1.5) (size 0.5 1.6) (layers F.Cu F.Paste F.Mask))
+)
diff --git a/kicad/fab.pretty/fab_SW_pushbutton.kicad_mod b/kicad/fab.pretty/fab_SW_pushbutton.kicad_mod
new file mode 100644
index 0000000..a669ab9
--- /dev/null
+++ b/kicad/fab.pretty/fab_SW_pushbutton.kicad_mod
@@ -0,0 +1,17 @@
+(module fab_SW_pushbutton (layer F.Cu) (tedit 5F88811F)
+  (fp_text reference REF** (at 0 2.2) (layer F.SilkS)
+    (effects (font (size 1 1) (thickness 0.15)))
+  )
+  (fp_text value SW_pushbutton (at 0 -4.2) (layer F.SilkS)
+    (effects (font (size 1 1) (thickness 0.15)))
+  )
+  (fp_circle (center 0 0) (end 0 1.2) (layer F.SilkS) (width 0.12))
+  (fp_line (start -3.2 3) (end -3.2 -3) (layer F.SilkS) (width 0.12))
+  (fp_line (start 3.2 3) (end -3.2 3) (layer F.SilkS) (width 0.12))
+  (fp_line (start 3.2 -3) (end 3.2 3) (layer F.SilkS) (width 0.12))
+  (fp_line (start -3.2 -3) (end 3.2 -3) (layer F.SilkS) (width 0.12))
+  (pad 1 smd rect (at -3.6 -2) (size 4 0.8) (layers F.Cu F.Paste F.Mask))
+  (pad 2 smd rect (at -3.6 2) (size 4 0.8) (layers F.Cu F.Paste F.Mask))
+  (pad 2 smd rect (at 3.6 2) (size 4 0.8) (layers F.Cu F.Paste F.Mask))
+  (pad 1 smd rect (at 3.6 -2) (size 4 0.8) (layers F.Cu F.Paste F.Mask))
+)
diff --git a/kicad/footprints.png b/kicad/footprints.png
new file mode 100644
index 0000000000000000000000000000000000000000..c75cd99589d494f7809949ef8c16f6c6068e81b3
GIT binary patch
literal 36386
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

literal 0
HcmV?d00001

-- 
GitLab