From bd21c2ba7a8513c5a5c9f429bf02b5e2f0b1756a Mon Sep 17 00:00:00 2001 From: Fredrick Amnehagen Date: Fri, 1 Mar 2024 21:03:27 +0100 Subject: [PATCH] First draft of the 14-pin TPM SPI module --- README.md | 8 + ...FN32_SLB9670VQ20FW785XTMA1_INF-L.kicad_mod | 266 + ...FN32_SLB9670VQ20FW785XTMA1_INF-M.kicad_mod | 266 + .../QFN32_SLB9670VQ20FW785XTMA1_INF.kicad_mod | 266 + ...9670-tpm-2.0-2024-02-27_11-26-10.kicad_sym | 191 + .../12pin-spi-pinout.png | Bin 0 -> 27383 bytes .../README.md | 11 + .../Revision A1/fp-info-cache | 87550 ++++++++++++++++ .../Revision A1/fp-lib-table | 3 + .../Revision A1/sym-lib-table | 4 + .../tpm-module-12pin-spi-RevA1.kicad_pcb | 723 + .../tpm-module-12pin-spi-RevA1.kicad_prl | 75 + .../tpm-module-12pin-spi-RevA1.kicad_pro | 436 + .../tpm-module-12pin-spi-RevA1.kicad_sch | 3871 + .../tpm-module-12pin-spi-RevA2.kicad_pcb | 723 + .../tpm-module-12pin-spi-RevA2.kicad_prl | 75 + .../tpm-module-12pin-spi-RevA2.kicad_pro | 441 + .../tpm-module-14pin-spi-RevA2/fp-info-cache | 87550 ++++++++++++++++ .../tpm-module-14pin-spi-RevA2/fp-lib-table | 3 + .../tpm-module-14pin-spi-RevA2/sym-lib-table | 4 + .../tpm-module-14pin-spi-RevA2.kicad_pcb | 866 + .../tpm-module-14pin-spi-RevA2.kicad_prl | 77 + .../tpm-module-14pin-spi-RevA2.kicad_pro | 510 + .../tpm-module-14pin-spi-RevA2.kicad_sch | 3968 + 24 files changed, 187887 insertions(+) create mode 100644 kicad-libraries/footprints.pretty/QFN32_SLB9670VQ20FW785XTMA1_INF-L.kicad_mod create mode 100644 kicad-libraries/footprints.pretty/QFN32_SLB9670VQ20FW785XTMA1_INF-M.kicad_mod create mode 100644 kicad-libraries/footprints.pretty/QFN32_SLB9670VQ20FW785XTMA1_INF.kicad_mod create mode 100644 kicad-libraries/infineon-optiga-tpm-slb-9670-tpm-2.0-2024-02-27_11-26-10.kicad_sym create mode 100644 tpm-module-14pin-spi-MZ32-AR0-rev-10-CTM010/12pin-spi-pinout.png create mode 100644 tpm-module-14pin-spi-MZ32-AR0-rev-10-CTM010/README.md create mode 100644 tpm-module-14pin-spi-MZ32-AR0-rev-10-CTM010/Revision A1/fp-info-cache create mode 100644 tpm-module-14pin-spi-MZ32-AR0-rev-10-CTM010/Revision A1/fp-lib-table create mode 100644 tpm-module-14pin-spi-MZ32-AR0-rev-10-CTM010/Revision A1/sym-lib-table create mode 100644 tpm-module-14pin-spi-MZ32-AR0-rev-10-CTM010/Revision A1/tpm-module-12pin-spi-RevA1.kicad_pcb create mode 100644 tpm-module-14pin-spi-MZ32-AR0-rev-10-CTM010/Revision A1/tpm-module-12pin-spi-RevA1.kicad_prl create mode 100644 tpm-module-14pin-spi-MZ32-AR0-rev-10-CTM010/Revision A1/tpm-module-12pin-spi-RevA1.kicad_pro create mode 100644 tpm-module-14pin-spi-MZ32-AR0-rev-10-CTM010/Revision A1/tpm-module-12pin-spi-RevA1.kicad_sch create mode 100644 tpm-module-14pin-spi-MZ32-AR0-rev-10-CTM010/Revision A1/tpm-module-12pin-spi-RevA2.kicad_pcb create mode 100644 tpm-module-14pin-spi-MZ32-AR0-rev-10-CTM010/Revision A1/tpm-module-12pin-spi-RevA2.kicad_prl create mode 100644 tpm-module-14pin-spi-MZ32-AR0-rev-10-CTM010/Revision A1/tpm-module-12pin-spi-RevA2.kicad_pro create mode 100644 tpm-module-14pin-spi-MZ32-AR0-rev-10-CTM010/Revision A2/tpm-module-14pin-spi-RevA2/fp-info-cache create mode 100644 tpm-module-14pin-spi-MZ32-AR0-rev-10-CTM010/Revision A2/tpm-module-14pin-spi-RevA2/fp-lib-table create mode 100644 tpm-module-14pin-spi-MZ32-AR0-rev-10-CTM010/Revision A2/tpm-module-14pin-spi-RevA2/sym-lib-table create mode 100644 tpm-module-14pin-spi-MZ32-AR0-rev-10-CTM010/Revision A2/tpm-module-14pin-spi-RevA2/tpm-module-14pin-spi-RevA2.kicad_pcb create mode 100644 tpm-module-14pin-spi-MZ32-AR0-rev-10-CTM010/Revision A2/tpm-module-14pin-spi-RevA2/tpm-module-14pin-spi-RevA2.kicad_prl create mode 100644 tpm-module-14pin-spi-MZ32-AR0-rev-10-CTM010/Revision A2/tpm-module-14pin-spi-RevA2/tpm-module-14pin-spi-RevA2.kicad_pro create mode 100644 tpm-module-14pin-spi-MZ32-AR0-rev-10-CTM010/Revision A2/tpm-module-14pin-spi-RevA2/tpm-module-14pin-spi-RevA2.kicad_sch diff --git a/README.md b/README.md index ea4cb0a..53e0b91 100644 --- a/README.md +++ b/README.md @@ -1,5 +1,13 @@ # tpm-modules +The MZ32-AR0 (rev. 1.0) needs a TPM 2.0 module, which is not easily found. So I made my own replacement using similar parts. This module replaces the CTM010, using a Infineon SLB9670VQ2. The starting point was forked from here: https://github.com/loopaware/tpm-modules + +- The chip of the MZ32A0 Rev.1.0 is Infineon SLB9670VQ2. +- The pinout is a 7x2 (14) pin header, specific to the MZ32-AR0 of course. + + + +### From the forked repo KiCAD (v5.99) designs for Infineon SLB9665 and SLB9670 based TPM modules. There are two interfaces: SPI (SLB9670) and LPC (SLB9665). Pinouts for the modules vary a lot ([manufacturer specific?](https://superuser.com/a/1537838)) but given how simple the boards are adding new ones should be fairly straightforward. diff --git a/kicad-libraries/footprints.pretty/QFN32_SLB9670VQ20FW785XTMA1_INF-L.kicad_mod b/kicad-libraries/footprints.pretty/QFN32_SLB9670VQ20FW785XTMA1_INF-L.kicad_mod new file mode 100644 index 0000000..90107a0 --- /dev/null +++ b/kicad-libraries/footprints.pretty/QFN32_SLB9670VQ20FW785XTMA1_INF-L.kicad_mod @@ -0,0 +1,266 @@ +(footprint "QFN32_SLB9670VQ20FW785XTMA1_INF" (version 20211014) (generator pcbnew) + (layer "F.Cu") + (tags "SLB9670VQ20FW785XTMA1 ") + (attr smd) + (fp_text reference "REF**" (at 0 0 unlocked) (layer F.SilkS) + (effects (font (size 1 1) (thickness 0.15))) + ) + (fp_text value QFN32_SLB9670VQ20FW785XTMA1_INF (at 0 0 unlocked) (layer F.Fab) + (effects (font (size 1 1) (thickness 0.15))) + ) + (fp_text user "${REFERENCE}" (at 0 0 unlocked) (layer F.Fab) + (effects (font (size 1 1) (thickness 0.15))) + ) + (fp_text user "*" (at -3.3401 -2) (layer F.SilkS) + (effects (font (size 1 1) (thickness 0.15))) + ) + (fp_text user "*" (at -2.0447 -2) (layer F.Fab) + (effects (font (size 1 1) (thickness 0.15))) + ) + (fp_poly (pts + (xy -1.4405 2.9591) + (xy -1.4405 3.2131) + (xy -1.0595 3.2131) + (xy -1.0595 2.9591) + ) (layer "F.SilkS") (width 0) (fill solid)) + (fp_poly (pts + (xy 3.2131 0.059499) + (xy 3.2131 0.4405) + (xy 2.9591 0.4405) + (xy 2.9591 0.059499) + ) (layer "F.SilkS") (width 0) (fill solid)) + (fp_poly (pts + (xy -0.940501 -2.9591) + (xy -0.940501 -3.2131) + (xy -0.559501 -3.2131) + (xy -0.559501 -2.9591) + ) (layer "F.SilkS") (width 0) (fill solid)) + (fp_poly (pts + (xy -1.7542 -1.7542) + (xy -1.7542 -0.1) + (xy -0.1 -0.1) + (xy -0.1 -1.7542) + ) (layer "F.Paste") (width 0) (fill solid)) + (fp_poly (pts + (xy -1.7542 0.1) + (xy -1.7542 1.7542) + (xy -0.1 1.7542) + (xy -0.1 0.1) + ) (layer "F.Paste") (width 0) (fill solid)) + (fp_poly (pts + (xy 0.1 -1.7542) + (xy 0.1 -0.1) + (xy 1.7542 -0.1) + (xy 1.7542 -1.7542) + ) (layer "F.Paste") (width 0) (fill solid)) + (fp_poly (pts + (xy 0.1 0.1) + (xy 0.1 1.7542) + (xy 1.7542 1.7542) + (xy 1.7542 0.1) + ) (layer "F.Paste") (width 0) (fill solid)) + (fp_line (start -2.6035 2.6035) (end -2.6035 1.9786) (layer "F.CrtYd") (width 0.1524)) + (fp_line (start -2.6035 1.9786) (end -2.8067 1.9786) (layer "F.CrtYd") (width 0.1524)) + (fp_line (start -2.8067 1.9786) (end -2.8067 -1.9786) (layer "F.CrtYd") (width 0.1524)) + (fp_line (start -2.8067 -1.9786) (end -2.6035 -1.9786) (layer "F.CrtYd") (width 0.1524)) + (fp_line (start -2.6035 -1.9786) (end -2.6035 -2.6035) (layer "F.CrtYd") (width 0.1524)) + (fp_line (start -2.6035 -2.6035) (end -1.9786 -2.6035) (layer "F.CrtYd") (width 0.1524)) + (fp_line (start -1.9786 -2.6035) (end -1.9786 -2.8067) (layer "F.CrtYd") (width 0.1524)) + (fp_line (start -1.9786 -2.8067) (end 1.9786 -2.8067) (layer "F.CrtYd") (width 0.1524)) + (fp_line (start 1.9786 -2.8067) (end 1.9786 -2.6035) (layer "F.CrtYd") (width 0.1524)) + (fp_line (start 1.9786 -2.6035) (end 2.6035 -2.6035) (layer "F.CrtYd") (width 0.1524)) + (fp_line (start 2.6035 -2.6035) (end 2.6035 -1.9786) (layer "F.CrtYd") (width 0.1524)) + (fp_line (start 2.6035 -1.9786) (end 2.8067 -1.9786) (layer "F.CrtYd") (width 0.1524)) + (fp_line (start 2.8067 -1.9786) (end 2.8067 1.9786) (layer "F.CrtYd") (width 0.1524)) + (fp_line (start 2.8067 1.9786) (end 2.6035 1.9786) (layer "F.CrtYd") (width 0.1524)) + (fp_line (start 2.6035 1.9786) (end 2.6035 2.6035) (layer "F.CrtYd") (width 0.1524)) + (fp_line (start 2.6035 2.6035) (end 1.9786 2.6035) (layer "F.CrtYd") (width 0.1524)) + (fp_line (start 1.9786 2.6035) (end 1.9786 2.8067) (layer "F.CrtYd") (width 0.1524)) + (fp_line (start 1.9786 2.8067) (end -1.9786 2.8067) (layer "F.CrtYd") (width 0.1524)) + (fp_line (start -1.9786 2.8067) (end -1.9786 2.6035) (layer "F.CrtYd") (width 0.1524)) + (fp_line (start -1.9786 2.6035) (end -2.6035 2.6035) (layer "F.CrtYd") (width 0.1524)) + (fp_text user "*" (at -3.3401 -2 unlocked) (layer "F.SilkS") + (effects (font (size 1 1) (thickness 0.15))) + ) + (fp_text user "*" (at -2.0447 -2 unlocked) (layer "F.Fab") + (effects (font (size 1 1) (thickness 0.15))) + ) + (fp_line (start -2.5019 -1.2319) (end -1.2319 -2.5019) (layer "F.Fab") (width 0.0254)) + (fp_line (start 1.5976 -2.5019) (end 1.9024 -2.5019) (layer "F.Fab") (width 0.0254)) + (fp_line (start 1.9024 -2.5019) (end 1.9024 -2.5019) (layer "F.Fab") (width 0.0254)) + (fp_line (start 1.9024 -2.5019) (end 1.5976 -2.5019) (layer "F.Fab") (width 0.0254)) + (fp_line (start 1.5976 -2.5019) (end 1.5976 -2.5019) (layer "F.Fab") (width 0.0254)) + (fp_line (start 1.0976 -2.5019) (end 1.4024 -2.5019) (layer "F.Fab") (width 0.0254)) + (fp_line (start 1.4024 -2.5019) (end 1.4024 -2.5019) (layer "F.Fab") (width 0.0254)) + (fp_line (start 1.4024 -2.5019) (end 1.0976 -2.5019) (layer "F.Fab") (width 0.0254)) + (fp_line (start 1.0976 -2.5019) (end 1.0976 -2.5019) (layer "F.Fab") (width 0.0254)) + (fp_line (start 0.5976 -2.5019) (end 0.9024 -2.5019) (layer "F.Fab") (width 0.0254)) + (fp_line (start 0.9024 -2.5019) (end 0.9024 -2.5019) (layer "F.Fab") (width 0.0254)) + (fp_line (start 0.9024 -2.5019) (end 0.5976 -2.5019) (layer "F.Fab") (width 0.0254)) + (fp_line (start 0.5976 -2.5019) (end 0.5976 -2.5019) (layer "F.Fab") (width 0.0254)) + (fp_line (start 0.0976 -2.5019) (end 0.4024 -2.5019) (layer "F.Fab") (width 0.0254)) + (fp_line (start 0.4024 -2.5019) (end 0.4024 -2.5019) (layer "F.Fab") (width 0.0254)) + (fp_line (start 0.4024 -2.5019) (end 0.0976 -2.5019) (layer "F.Fab") (width 0.0254)) + (fp_line (start 0.0976 -2.5019) (end 0.0976 -2.5019) (layer "F.Fab") (width 0.0254)) + (fp_line (start -0.4024 -2.5019) (end -0.0976 -2.5019) (layer "F.Fab") (width 0.0254)) + (fp_line (start -0.0976 -2.5019) (end -0.0976 -2.5019) (layer "F.Fab") (width 0.0254)) + (fp_line (start -0.0976 -2.5019) (end -0.4024 -2.5019) (layer "F.Fab") (width 0.0254)) + (fp_line (start -0.4024 -2.5019) (end -0.4024 -2.5019) (layer "F.Fab") (width 0.0254)) + (fp_line (start -0.9024 -2.5019) (end -0.5976 -2.5019) (layer "F.Fab") (width 0.0254)) + (fp_line (start -0.5976 -2.5019) (end -0.5976 -2.5019) (layer "F.Fab") (width 0.0254)) + (fp_line (start -0.5976 -2.5019) (end -0.9024 -2.5019) (layer "F.Fab") (width 0.0254)) + (fp_line (start -0.9024 -2.5019) (end -0.9024 -2.5019) (layer "F.Fab") (width 0.0254)) + (fp_line (start -1.4024 -2.5019) (end -1.0976 -2.5019) (layer "F.Fab") (width 0.0254)) + (fp_line (start -1.0976 -2.5019) (end -1.0976 -2.5019) (layer "F.Fab") (width 0.0254)) + (fp_line (start -1.0976 -2.5019) (end -1.4024 -2.5019) (layer "F.Fab") (width 0.0254)) + (fp_line (start -1.4024 -2.5019) (end -1.4024 -2.5019) (layer "F.Fab") (width 0.0254)) + (fp_line (start -1.9024 -2.5019) (end -1.5976 -2.5019) (layer "F.Fab") (width 0.0254)) + (fp_line (start -1.5976 -2.5019) (end -1.5976 -2.5019) (layer "F.Fab") (width 0.0254)) + (fp_line (start -1.5976 -2.5019) (end -1.9024 -2.5019) (layer "F.Fab") (width 0.0254)) + (fp_line (start -1.9024 -2.5019) (end -1.9024 -2.5019) (layer "F.Fab") (width 0.0254)) + (fp_line (start -2.5019 -1.5976) (end -2.5019 -1.9024) (layer "F.Fab") (width 0.0254)) + (fp_line (start -2.5019 -1.9024) (end -2.5019 -1.9024) (layer "F.Fab") (width 0.0254)) + (fp_line (start -2.5019 -1.9024) (end -2.5019 -1.5976) (layer "F.Fab") (width 0.0254)) + (fp_line (start -2.5019 -1.5976) (end -2.5019 -1.5976) (layer "F.Fab") (width 0.0254)) + (fp_line (start -2.5019 -1.0976) (end -2.5019 -1.4024) (layer "F.Fab") (width 0.0254)) + (fp_line (start -2.5019 -1.4024) (end -2.5019 -1.4024) (layer "F.Fab") (width 0.0254)) + (fp_line (start -2.5019 -1.4024) (end -2.5019 -1.0976) (layer "F.Fab") (width 0.0254)) + (fp_line (start -2.5019 -1.0976) (end -2.5019 -1.0976) (layer "F.Fab") (width 0.0254)) + (fp_line (start -2.5019 -0.5976) (end -2.5019 -0.9024) (layer "F.Fab") (width 0.0254)) + (fp_line (start -2.5019 -0.9024) (end -2.5019 -0.9024) (layer "F.Fab") (width 0.0254)) + (fp_line (start -2.5019 -0.9024) (end -2.5019 -0.5976) (layer "F.Fab") (width 0.0254)) + (fp_line (start -2.5019 -0.5976) (end -2.5019 -0.5976) (layer "F.Fab") (width 0.0254)) + (fp_line (start -2.5019 -0.0976) (end -2.5019 -0.4024) (layer "F.Fab") (width 0.0254)) + (fp_line (start -2.5019 -0.4024) (end -2.5019 -0.4024) (layer "F.Fab") (width 0.0254)) + (fp_line (start -2.5019 -0.4024) (end -2.5019 -0.0976) (layer "F.Fab") (width 0.0254)) + (fp_line (start -2.5019 -0.0976) (end -2.5019 -0.0976) (layer "F.Fab") (width 0.0254)) + (fp_line (start -2.5019 0.4024) (end -2.5019 0.0976) (layer "F.Fab") (width 0.0254)) + (fp_line (start -2.5019 0.0976) (end -2.5019 0.0976) (layer "F.Fab") (width 0.0254)) + (fp_line (start -2.5019 0.0976) (end -2.5019 0.4024) (layer "F.Fab") (width 0.0254)) + (fp_line (start -2.5019 0.4024) (end -2.5019 0.4024) (layer "F.Fab") (width 0.0254)) + (fp_line (start -2.5019 0.9024) (end -2.5019 0.5976) (layer "F.Fab") (width 0.0254)) + (fp_line (start -2.5019 0.5976) (end -2.5019 0.5976) (layer "F.Fab") (width 0.0254)) + (fp_line (start -2.5019 0.5976) (end -2.5019 0.9024) (layer "F.Fab") (width 0.0254)) + (fp_line (start -2.5019 0.9024) (end -2.5019 0.9024) (layer "F.Fab") (width 0.0254)) + (fp_line (start -2.5019 1.4024) (end -2.5019 1.0976) (layer "F.Fab") (width 0.0254)) + (fp_line (start -2.5019 1.0976) (end -2.5019 1.0976) (layer "F.Fab") (width 0.0254)) + (fp_line (start -2.5019 1.0976) (end -2.5019 1.4024) (layer "F.Fab") (width 0.0254)) + (fp_line (start -2.5019 1.4024) (end -2.5019 1.4024) (layer "F.Fab") (width 0.0254)) + (fp_line (start -2.5019 1.9024) (end -2.5019 1.5976) (layer "F.Fab") (width 0.0254)) + (fp_line (start -2.5019 1.5976) (end -2.5019 1.5976) (layer "F.Fab") (width 0.0254)) + (fp_line (start -2.5019 1.5976) (end -2.5019 1.9024) (layer "F.Fab") (width 0.0254)) + (fp_line (start -2.5019 1.9024) (end -2.5019 1.9024) (layer "F.Fab") (width 0.0254)) + (fp_line (start -1.5976 2.5019) (end -1.9024 2.5019) (layer "F.Fab") (width 0.0254)) + (fp_line (start -1.9024 2.5019) (end -1.9024 2.5019) (layer "F.Fab") (width 0.0254)) + (fp_line (start -1.9024 2.5019) (end -1.5976 2.5019) (layer "F.Fab") (width 0.0254)) + (fp_line (start -1.5976 2.5019) (end -1.5976 2.5019) (layer "F.Fab") (width 0.0254)) + (fp_line (start -1.0976 2.5019) (end -1.4024 2.5019) (layer "F.Fab") (width 0.0254)) + (fp_line (start -1.4024 2.5019) (end -1.4024 2.5019) (layer "F.Fab") (width 0.0254)) + (fp_line (start -1.4024 2.5019) (end -1.0976 2.5019) (layer "F.Fab") (width 0.0254)) + (fp_line (start -1.0976 2.5019) (end -1.0976 2.5019) (layer "F.Fab") (width 0.0254)) + (fp_line (start -0.5976 2.5019) (end -0.9024 2.5019) (layer "F.Fab") (width 0.0254)) + (fp_line (start -0.9024 2.5019) (end -0.9024 2.5019) (layer "F.Fab") (width 0.0254)) + (fp_line (start -0.9024 2.5019) (end -0.5976 2.5019) (layer "F.Fab") (width 0.0254)) + (fp_line (start -0.5976 2.5019) (end -0.5976 2.5019) (layer "F.Fab") (width 0.0254)) + (fp_line (start -0.0976 2.5019) (end -0.4024 2.5019) (layer "F.Fab") (width 0.0254)) + (fp_line (start -0.4024 2.5019) (end -0.4024 2.5019) (layer "F.Fab") (width 0.0254)) + (fp_line (start -0.4024 2.5019) (end -0.0976 2.5019) (layer "F.Fab") (width 0.0254)) + (fp_line (start -0.0976 2.5019) (end -0.0976 2.5019) (layer "F.Fab") (width 0.0254)) + (fp_line (start 0.4024 2.5019) (end 0.0976 2.5019) (layer "F.Fab") (width 0.0254)) + (fp_line (start 0.0976 2.5019) (end 0.0976 2.5019) (layer "F.Fab") (width 0.0254)) + (fp_line (start 0.0976 2.5019) (end 0.4024 2.5019) (layer "F.Fab") (width 0.0254)) + (fp_line (start 0.4024 2.5019) (end 0.4024 2.5019) (layer "F.Fab") (width 0.0254)) + (fp_line (start 0.9024 2.5019) (end 0.5976 2.5019) (layer "F.Fab") (width 0.0254)) + (fp_line (start 0.5976 2.5019) (end 0.5976 2.5019) (layer "F.Fab") (width 0.0254)) + (fp_line (start 0.5976 2.5019) (end 0.9024 2.5019) (layer "F.Fab") (width 0.0254)) + (fp_line (start 0.9024 2.5019) (end 0.9024 2.5019) (layer "F.Fab") (width 0.0254)) + (fp_line (start 1.4024 2.5019) (end 1.0976 2.5019) (layer "F.Fab") (width 0.0254)) + (fp_line (start 1.0976 2.5019) (end 1.0976 2.5019) (layer "F.Fab") (width 0.0254)) + (fp_line (start 1.0976 2.5019) (end 1.4024 2.5019) (layer "F.Fab") (width 0.0254)) + (fp_line (start 1.4024 2.5019) (end 1.4024 2.5019) (layer "F.Fab") (width 0.0254)) + (fp_line (start 1.9024 2.5019) (end 1.5976 2.5019) (layer "F.Fab") (width 0.0254)) + (fp_line (start 1.5976 2.5019) (end 1.5976 2.5019) (layer "F.Fab") (width 0.0254)) + (fp_line (start 1.5976 2.5019) (end 1.9024 2.5019) (layer "F.Fab") (width 0.0254)) + (fp_line (start 1.9024 2.5019) (end 1.9024 2.5019) (layer "F.Fab") (width 0.0254)) + (fp_line (start 2.5019 1.5976) (end 2.5019 1.9024) (layer "F.Fab") (width 0.0254)) + (fp_line (start 2.5019 1.9024) (end 2.5019 1.9024) (layer "F.Fab") (width 0.0254)) + (fp_line (start 2.5019 1.9024) (end 2.5019 1.5976) (layer "F.Fab") (width 0.0254)) + (fp_line (start 2.5019 1.5976) (end 2.5019 1.5976) (layer "F.Fab") (width 0.0254)) + (fp_line (start 2.5019 1.0976) (end 2.5019 1.4024) (layer "F.Fab") (width 0.0254)) + (fp_line (start 2.5019 1.4024) (end 2.5019 1.4024) (layer "F.Fab") (width 0.0254)) + (fp_line (start 2.5019 1.4024) (end 2.5019 1.0976) (layer "F.Fab") (width 0.0254)) + (fp_line (start 2.5019 1.0976) (end 2.5019 1.0976) (layer "F.Fab") (width 0.0254)) + (fp_line (start 2.5019 0.5976) (end 2.5019 0.9024) (layer "F.Fab") (width 0.0254)) + (fp_line (start 2.5019 0.9024) (end 2.5019 0.9024) (layer "F.Fab") (width 0.0254)) + (fp_line (start 2.5019 0.9024) (end 2.5019 0.5976) (layer "F.Fab") (width 0.0254)) + (fp_line (start 2.5019 0.5976) (end 2.5019 0.5976) (layer "F.Fab") (width 0.0254)) + (fp_line (start 2.5019 0.0976) (end 2.5019 0.4024) (layer "F.Fab") (width 0.0254)) + (fp_line (start 2.5019 0.4024) (end 2.5019 0.4024) (layer "F.Fab") (width 0.0254)) + (fp_line (start 2.5019 0.4024) (end 2.5019 0.0976) (layer "F.Fab") (width 0.0254)) + (fp_line (start 2.5019 0.0976) (end 2.5019 0.0976) (layer "F.Fab") (width 0.0254)) + (fp_line (start 2.5019 -0.4024) (end 2.5019 -0.0976) (layer "F.Fab") (width 0.0254)) + (fp_line (start 2.5019 -0.0976) (end 2.5019 -0.0976) (layer "F.Fab") (width 0.0254)) + (fp_line (start 2.5019 -0.0976) (end 2.5019 -0.4024) (layer "F.Fab") (width 0.0254)) + (fp_line (start 2.5019 -0.4024) (end 2.5019 -0.4024) (layer "F.Fab") (width 0.0254)) + (fp_line (start 2.5019 -0.9024) (end 2.5019 -0.5976) (layer "F.Fab") (width 0.0254)) + (fp_line (start 2.5019 -0.5976) (end 2.5019 -0.5976) (layer "F.Fab") (width 0.0254)) + (fp_line (start 2.5019 -0.5976) (end 2.5019 -0.9024) (layer "F.Fab") (width 0.0254)) + (fp_line (start 2.5019 -0.9024) (end 2.5019 -0.9024) (layer "F.Fab") (width 0.0254)) + (fp_line (start 2.5019 -1.4024) (end 2.5019 -1.0976) (layer "F.Fab") (width 0.0254)) + (fp_line (start 2.5019 -1.0976) (end 2.5019 -1.0976) (layer "F.Fab") (width 0.0254)) + (fp_line (start 2.5019 -1.0976) (end 2.5019 -1.4024) (layer "F.Fab") (width 0.0254)) + (fp_line (start 2.5019 -1.4024) (end 2.5019 -1.4024) (layer "F.Fab") (width 0.0254)) + (fp_line (start 2.5019 -1.9024) (end 2.5019 -1.5976) (layer "F.Fab") (width 0.0254)) + (fp_line (start 2.5019 -1.5976) (end 2.5019 -1.5976) (layer "F.Fab") (width 0.0254)) + (fp_line (start 2.5019 -1.5976) (end 2.5019 -1.9024) (layer "F.Fab") (width 0.0254)) + (fp_line (start 2.5019 -1.9024) (end 2.5019 -1.9024) (layer "F.Fab") (width 0.0254)) + (fp_line (start -2.6289 2.6289) (end -2.209739 2.6289) (layer "F.SilkS") (width 0.1524)) + (fp_line (start 2.6289 2.6289) (end 2.6289 2.209739) (layer "F.SilkS") (width 0.1524)) + (fp_line (start 2.6289 -2.6289) (end 2.209739 -2.6289) (layer "F.SilkS") (width 0.1524)) + (fp_line (start -2.6289 -2.6289) (end -2.6289 -2.209739) (layer "F.SilkS") (width 0.1524)) + (fp_line (start -2.6289 2.209739) (end -2.6289 2.6289) (layer "F.SilkS") (width 0.1524)) + (fp_line (start -2.5019 2.5019) (end 2.5019 2.5019) (layer "F.Fab") (width 0.0254)) + (fp_line (start 2.5019 2.5019) (end 2.5019 2.5019) (layer "F.Fab") (width 0.0254)) + (fp_line (start 2.5019 2.5019) (end 2.5019 -2.5019) (layer "F.Fab") (width 0.0254)) + (fp_line (start 2.5019 -2.5019) (end 2.5019 -2.5019) (layer "F.Fab") (width 0.0254)) + (fp_line (start 2.5019 -2.5019) (end -2.5019 -2.5019) (layer "F.Fab") (width 0.0254)) + (fp_line (start -2.5019 -2.5019) (end -2.5019 -2.5019) (layer "F.Fab") (width 0.0254)) + (fp_line (start -2.5019 -2.5019) (end -2.5019 2.5019) (layer "F.Fab") (width 0.0254)) + (fp_line (start -2.5019 2.5019) (end -2.5019 2.5019) (layer "F.Fab") (width 0.0254)) + (fp_line (start 2.209739 2.6289) (end 2.6289 2.6289) (layer "F.SilkS") (width 0.1524)) + (fp_line (start 2.6289 -2.209739) (end 2.6289 -2.6289) (layer "F.SilkS") (width 0.1524)) + (fp_line (start -2.209739 -2.6289) (end -2.6289 -2.6289) (layer "F.SilkS") (width 0.1524)) + (pad "1" smd rect (at -2.3749 -1.749999 90) (size 0.254 0.6604) (layers "F.Cu" "F.Paste" "F.Mask")) + (pad "2" smd rect (at -2.3749 -1.25 90) (size 0.254 0.6604) (layers "F.Cu" "F.Paste" "F.Mask")) + (pad "3" smd rect (at -2.3749 -0.750001 90) (size 0.254 0.6604) (layers "F.Cu" "F.Paste" "F.Mask")) + (pad "4" smd rect (at -2.3749 -0.25 90) (size 0.254 0.6604) (layers "F.Cu" "F.Paste" "F.Mask")) + (pad "5" smd rect (at -2.3749 0.25 90) (size 0.254 0.6604) (layers "F.Cu" "F.Paste" "F.Mask")) + (pad "6" smd rect (at -2.3749 0.750001 90) (size 0.254 0.6604) (layers "F.Cu" "F.Paste" "F.Mask")) + (pad "7" smd rect (at -2.3749 1.25 90) (size 0.254 0.6604) (layers "F.Cu" "F.Paste" "F.Mask")) + (pad "8" smd rect (at -2.3749 1.749999 90) (size 0.254 0.6604) (layers "F.Cu" "F.Paste" "F.Mask")) + (pad "9" smd rect (at -1.749999 2.3749) (size 0.254 0.6604) (layers "F.Cu" "F.Paste" "F.Mask")) + (pad "10" smd rect (at -1.25 2.3749) (size 0.254 0.6604) (layers "F.Cu" "F.Paste" "F.Mask")) + (pad "11" smd rect (at -0.750001 2.3749) (size 0.254 0.6604) (layers "F.Cu" "F.Paste" "F.Mask")) + (pad "12" smd rect (at -0.25 2.3749) (size 0.254 0.6604) (layers "F.Cu" "F.Paste" "F.Mask")) + (pad "13" smd rect (at 0.25 2.3749) (size 0.254 0.6604) (layers "F.Cu" "F.Paste" "F.Mask")) + (pad "14" smd rect (at 0.750001 2.3749) (size 0.254 0.6604) (layers "F.Cu" "F.Paste" "F.Mask")) + (pad "15" smd rect (at 1.25 2.3749) (size 0.254 0.6604) (layers "F.Cu" "F.Paste" "F.Mask")) + (pad "16" smd rect (at 1.749999 2.3749) (size 0.254 0.6604) (layers "F.Cu" "F.Paste" "F.Mask")) + (pad "17" smd rect (at 2.3749 1.749999 90) (size 0.254 0.6604) (layers "F.Cu" "F.Paste" "F.Mask")) + (pad "18" smd rect (at 2.3749 1.25 90) (size 0.254 0.6604) (layers "F.Cu" "F.Paste" "F.Mask")) + (pad "19" smd rect (at 2.3749 0.750001 90) (size 0.254 0.6604) (layers "F.Cu" "F.Paste" "F.Mask")) + (pad "20" smd rect (at 2.3749 0.25 90) (size 0.254 0.6604) (layers "F.Cu" "F.Paste" "F.Mask")) + (pad "21" smd rect (at 2.3749 -0.25 90) (size 0.254 0.6604) (layers "F.Cu" "F.Paste" "F.Mask")) + (pad "22" smd rect (at 2.3749 -0.750001 90) (size 0.254 0.6604) (layers "F.Cu" "F.Paste" "F.Mask")) + (pad "23" smd rect (at 2.3749 -1.25 90) (size 0.254 0.6604) (layers "F.Cu" "F.Paste" "F.Mask")) + (pad "24" smd rect (at 2.3749 -1.749999 90) (size 0.254 0.6604) (layers "F.Cu" "F.Paste" "F.Mask")) + (pad "25" smd rect (at 1.749999 -2.3749) (size 0.254 0.6604) (layers "F.Cu" "F.Paste" "F.Mask")) + (pad "26" smd rect (at 1.25 -2.3749) (size 0.254 0.6604) (layers "F.Cu" "F.Paste" "F.Mask")) + (pad "27" smd rect (at 0.750001 -2.3749) (size 0.254 0.6604) (layers "F.Cu" "F.Paste" "F.Mask")) + (pad "28" smd rect (at 0.25 -2.3749) (size 0.254 0.6604) (layers "F.Cu" "F.Paste" "F.Mask")) + (pad "29" smd rect (at -0.25 -2.3749) (size 0.254 0.6604) (layers "F.Cu" "F.Paste" "F.Mask")) + (pad "30" smd rect (at -0.750001 -2.3749) (size 0.254 0.6604) (layers "F.Cu" "F.Paste" "F.Mask")) + (pad "31" smd rect (at -1.25 -2.3749) (size 0.254 0.6604) (layers "F.Cu" "F.Paste" "F.Mask")) + (pad "32" smd rect (at -1.749999 -2.3749) (size 0.254 0.6604) (layers "F.Cu" "F.Paste" "F.Mask")) + (pad "33" smd rect (at 0 0) (size 3.7084 3.7084) (layers "F.Cu" "F.Paste" "F.Mask")) +) diff --git a/kicad-libraries/footprints.pretty/QFN32_SLB9670VQ20FW785XTMA1_INF-M.kicad_mod b/kicad-libraries/footprints.pretty/QFN32_SLB9670VQ20FW785XTMA1_INF-M.kicad_mod new file mode 100644 index 0000000..f30303c --- /dev/null +++ b/kicad-libraries/footprints.pretty/QFN32_SLB9670VQ20FW785XTMA1_INF-M.kicad_mod @@ -0,0 +1,266 @@ +(footprint "QFN32_SLB9670VQ20FW785XTMA1_INF" (version 20211014) (generator pcbnew) + (layer "F.Cu") + (tags "SLB9670VQ20FW785XTMA1 ") + (attr smd) + (fp_text reference "REF**" (at 0 0 unlocked) (layer F.SilkS) + (effects (font (size 1 1) (thickness 0.15))) + ) + (fp_text value QFN32_SLB9670VQ20FW785XTMA1_INF (at 0 0 unlocked) (layer F.Fab) + (effects (font (size 1 1) (thickness 0.15))) + ) + (fp_text user "${REFERENCE}" (at 0 0 unlocked) (layer F.Fab) + (effects (font (size 1 1) (thickness 0.15))) + ) + (fp_text user "*" (at -3.5433 -2) (layer F.SilkS) + (effects (font (size 1 1) (thickness 0.15))) + ) + (fp_text user "*" (at -2.0447 -2) (layer F.Fab) + (effects (font (size 1 1) (thickness 0.15))) + ) + (fp_poly (pts + (xy -1.4405 3.1623) + (xy -1.4405 3.4163) + (xy -1.0595 3.4163) + (xy -1.0595 3.1623) + ) (layer "F.SilkS") (width 0) (fill solid)) + (fp_poly (pts + (xy 3.4163 0.059499) + (xy 3.4163 0.4405) + (xy 3.1623 0.4405) + (xy 3.1623 0.059499) + ) (layer "F.SilkS") (width 0) (fill solid)) + (fp_poly (pts + (xy -0.940501 -3.1623) + (xy -0.940501 -3.4163) + (xy -0.559501 -3.4163) + (xy -0.559501 -3.1623) + ) (layer "F.SilkS") (width 0) (fill solid)) + (fp_poly (pts + (xy -1.7542 -1.7542) + (xy -1.7542 -0.1) + (xy -0.1 -0.1) + (xy -0.1 -1.7542) + ) (layer "F.Paste") (width 0) (fill solid)) + (fp_poly (pts + (xy -1.7542 0.1) + (xy -1.7542 1.7542) + (xy -0.1 1.7542) + (xy -0.1 0.1) + ) (layer "F.Paste") (width 0) (fill solid)) + (fp_poly (pts + (xy 0.1 -1.7542) + (xy 0.1 -0.1) + (xy 1.7542 -0.1) + (xy 1.7542 -1.7542) + ) (layer "F.Paste") (width 0) (fill solid)) + (fp_poly (pts + (xy 0.1 0.1) + (xy 0.1 1.7542) + (xy 1.7542 1.7542) + (xy 1.7542 0.1) + ) (layer "F.Paste") (width 0) (fill solid)) + (fp_line (start -3.0099 3.0099) (end -3.0099 2.385) (layer "F.CrtYd") (width 0.1524)) + (fp_line (start -3.0099 2.385) (end -3.4163 2.385) (layer "F.CrtYd") (width 0.1524)) + (fp_line (start -3.4163 2.385) (end -3.4163 -2.385) (layer "F.CrtYd") (width 0.1524)) + (fp_line (start -3.4163 -2.385) (end -3.0099 -2.385) (layer "F.CrtYd") (width 0.1524)) + (fp_line (start -3.0099 -2.385) (end -3.0099 -3.0099) (layer "F.CrtYd") (width 0.1524)) + (fp_line (start -3.0099 -3.0099) (end -2.385 -3.0099) (layer "F.CrtYd") (width 0.1524)) + (fp_line (start -2.385 -3.0099) (end -2.385 -3.4163) (layer "F.CrtYd") (width 0.1524)) + (fp_line (start -2.385 -3.4163) (end 2.385 -3.4163) (layer "F.CrtYd") (width 0.1524)) + (fp_line (start 2.385 -3.4163) (end 2.385 -3.0099) (layer "F.CrtYd") (width 0.1524)) + (fp_line (start 2.385 -3.0099) (end 3.0099 -3.0099) (layer "F.CrtYd") (width 0.1524)) + (fp_line (start 3.0099 -3.0099) (end 3.0099 -2.385) (layer "F.CrtYd") (width 0.1524)) + (fp_line (start 3.0099 -2.385) (end 3.4163 -2.385) (layer "F.CrtYd") (width 0.1524)) + (fp_line (start 3.4163 -2.385) (end 3.4163 2.385) (layer "F.CrtYd") (width 0.1524)) + (fp_line (start 3.4163 2.385) (end 3.0099 2.385) (layer "F.CrtYd") (width 0.1524)) + (fp_line (start 3.0099 2.385) (end 3.0099 3.0099) (layer "F.CrtYd") (width 0.1524)) + (fp_line (start 3.0099 3.0099) (end 2.385 3.0099) (layer "F.CrtYd") (width 0.1524)) + (fp_line (start 2.385 3.0099) (end 2.385 3.4163) (layer "F.CrtYd") (width 0.1524)) + (fp_line (start 2.385 3.4163) (end -2.385 3.4163) (layer "F.CrtYd") (width 0.1524)) + (fp_line (start -2.385 3.4163) (end -2.385 3.0099) (layer "F.CrtYd") (width 0.1524)) + (fp_line (start -2.385 3.0099) (end -3.0099 3.0099) (layer "F.CrtYd") (width 0.1524)) + (fp_text user "*" (at -3.5433 -2 unlocked) (layer "F.SilkS") + (effects (font (size 1 1) (thickness 0.15))) + ) + (fp_text user "*" (at -2.0447 -2 unlocked) (layer "F.Fab") + (effects (font (size 1 1) (thickness 0.15))) + ) + (fp_line (start -2.5019 -1.2319) (end -1.2319 -2.5019) (layer "F.Fab") (width 0.0254)) + (fp_line (start 1.5976 -2.5019) (end 1.9024 -2.5019) (layer "F.Fab") (width 0.0254)) + (fp_line (start 1.9024 -2.5019) (end 1.9024 -2.5019) (layer "F.Fab") (width 0.0254)) + (fp_line (start 1.9024 -2.5019) (end 1.5976 -2.5019) (layer "F.Fab") (width 0.0254)) + (fp_line (start 1.5976 -2.5019) (end 1.5976 -2.5019) (layer "F.Fab") (width 0.0254)) + (fp_line (start 1.0976 -2.5019) (end 1.4024 -2.5019) (layer "F.Fab") (width 0.0254)) + (fp_line (start 1.4024 -2.5019) (end 1.4024 -2.5019) (layer "F.Fab") (width 0.0254)) + (fp_line (start 1.4024 -2.5019) (end 1.0976 -2.5019) (layer "F.Fab") (width 0.0254)) + (fp_line (start 1.0976 -2.5019) (end 1.0976 -2.5019) (layer "F.Fab") (width 0.0254)) + (fp_line (start 0.5976 -2.5019) (end 0.9024 -2.5019) (layer "F.Fab") (width 0.0254)) + (fp_line (start 0.9024 -2.5019) (end 0.9024 -2.5019) (layer "F.Fab") (width 0.0254)) + (fp_line (start 0.9024 -2.5019) (end 0.5976 -2.5019) (layer "F.Fab") (width 0.0254)) + (fp_line (start 0.5976 -2.5019) (end 0.5976 -2.5019) (layer "F.Fab") (width 0.0254)) + (fp_line (start 0.0976 -2.5019) (end 0.4024 -2.5019) (layer "F.Fab") (width 0.0254)) + (fp_line (start 0.4024 -2.5019) (end 0.4024 -2.5019) (layer "F.Fab") (width 0.0254)) + (fp_line (start 0.4024 -2.5019) (end 0.0976 -2.5019) (layer "F.Fab") (width 0.0254)) + (fp_line (start 0.0976 -2.5019) (end 0.0976 -2.5019) (layer "F.Fab") (width 0.0254)) + (fp_line (start -0.4024 -2.5019) (end -0.0976 -2.5019) (layer "F.Fab") (width 0.0254)) + (fp_line (start -0.0976 -2.5019) (end -0.0976 -2.5019) (layer "F.Fab") (width 0.0254)) + (fp_line (start -0.0976 -2.5019) (end -0.4024 -2.5019) (layer "F.Fab") (width 0.0254)) + (fp_line (start -0.4024 -2.5019) (end -0.4024 -2.5019) (layer "F.Fab") (width 0.0254)) + (fp_line (start -0.9024 -2.5019) (end -0.5976 -2.5019) (layer "F.Fab") (width 0.0254)) + (fp_line (start -0.5976 -2.5019) (end -0.5976 -2.5019) (layer "F.Fab") (width 0.0254)) + (fp_line (start -0.5976 -2.5019) (end -0.9024 -2.5019) (layer "F.Fab") (width 0.0254)) + (fp_line (start -0.9024 -2.5019) (end -0.9024 -2.5019) (layer "F.Fab") (width 0.0254)) + (fp_line (start -1.4024 -2.5019) (end -1.0976 -2.5019) (layer "F.Fab") (width 0.0254)) + (fp_line (start -1.0976 -2.5019) (end -1.0976 -2.5019) (layer "F.Fab") (width 0.0254)) + (fp_line (start -1.0976 -2.5019) (end -1.4024 -2.5019) (layer "F.Fab") (width 0.0254)) + (fp_line (start -1.4024 -2.5019) (end -1.4024 -2.5019) (layer "F.Fab") (width 0.0254)) + (fp_line (start -1.9024 -2.5019) (end -1.5976 -2.5019) (layer "F.Fab") (width 0.0254)) + (fp_line (start -1.5976 -2.5019) (end -1.5976 -2.5019) (layer "F.Fab") (width 0.0254)) + (fp_line (start -1.5976 -2.5019) (end -1.9024 -2.5019) (layer "F.Fab") (width 0.0254)) + (fp_line (start -1.9024 -2.5019) (end -1.9024 -2.5019) (layer "F.Fab") (width 0.0254)) + (fp_line (start -2.5019 -1.5976) (end -2.5019 -1.9024) (layer "F.Fab") (width 0.0254)) + (fp_line (start -2.5019 -1.9024) (end -2.5019 -1.9024) (layer "F.Fab") (width 0.0254)) + (fp_line (start -2.5019 -1.9024) (end -2.5019 -1.5976) (layer "F.Fab") (width 0.0254)) + (fp_line (start -2.5019 -1.5976) (end -2.5019 -1.5976) (layer "F.Fab") (width 0.0254)) + (fp_line (start -2.5019 -1.0976) (end -2.5019 -1.4024) (layer "F.Fab") (width 0.0254)) + (fp_line (start -2.5019 -1.4024) (end -2.5019 -1.4024) (layer "F.Fab") (width 0.0254)) + (fp_line (start -2.5019 -1.4024) (end -2.5019 -1.0976) (layer "F.Fab") (width 0.0254)) + (fp_line (start -2.5019 -1.0976) (end -2.5019 -1.0976) (layer "F.Fab") (width 0.0254)) + (fp_line (start -2.5019 -0.5976) (end -2.5019 -0.9024) (layer "F.Fab") (width 0.0254)) + (fp_line (start -2.5019 -0.9024) (end -2.5019 -0.9024) (layer "F.Fab") (width 0.0254)) + (fp_line (start -2.5019 -0.9024) (end -2.5019 -0.5976) (layer "F.Fab") (width 0.0254)) + (fp_line (start -2.5019 -0.5976) (end -2.5019 -0.5976) (layer "F.Fab") (width 0.0254)) + (fp_line (start -2.5019 -0.0976) (end -2.5019 -0.4024) (layer "F.Fab") (width 0.0254)) + (fp_line (start -2.5019 -0.4024) (end -2.5019 -0.4024) (layer "F.Fab") (width 0.0254)) + (fp_line (start -2.5019 -0.4024) (end -2.5019 -0.0976) (layer "F.Fab") (width 0.0254)) + (fp_line (start -2.5019 -0.0976) (end -2.5019 -0.0976) (layer "F.Fab") (width 0.0254)) + (fp_line (start -2.5019 0.4024) (end -2.5019 0.0976) (layer "F.Fab") (width 0.0254)) + (fp_line (start -2.5019 0.0976) (end -2.5019 0.0976) (layer "F.Fab") (width 0.0254)) + (fp_line (start -2.5019 0.0976) (end -2.5019 0.4024) (layer "F.Fab") (width 0.0254)) + (fp_line (start -2.5019 0.4024) (end -2.5019 0.4024) (layer "F.Fab") (width 0.0254)) + (fp_line (start -2.5019 0.9024) (end -2.5019 0.5976) (layer "F.Fab") (width 0.0254)) + (fp_line (start -2.5019 0.5976) (end -2.5019 0.5976) (layer "F.Fab") (width 0.0254)) + (fp_line (start -2.5019 0.5976) (end -2.5019 0.9024) (layer "F.Fab") (width 0.0254)) + (fp_line (start -2.5019 0.9024) (end -2.5019 0.9024) (layer "F.Fab") (width 0.0254)) + (fp_line (start -2.5019 1.4024) (end -2.5019 1.0976) (layer "F.Fab") (width 0.0254)) + (fp_line (start -2.5019 1.0976) (end -2.5019 1.0976) (layer "F.Fab") (width 0.0254)) + (fp_line (start -2.5019 1.0976) (end -2.5019 1.4024) (layer "F.Fab") (width 0.0254)) + (fp_line (start -2.5019 1.4024) (end -2.5019 1.4024) (layer "F.Fab") (width 0.0254)) + (fp_line (start -2.5019 1.9024) (end -2.5019 1.5976) (layer "F.Fab") (width 0.0254)) + (fp_line (start -2.5019 1.5976) (end -2.5019 1.5976) (layer "F.Fab") (width 0.0254)) + (fp_line (start -2.5019 1.5976) (end -2.5019 1.9024) (layer "F.Fab") (width 0.0254)) + (fp_line (start -2.5019 1.9024) (end -2.5019 1.9024) (layer "F.Fab") (width 0.0254)) + (fp_line (start -1.5976 2.5019) (end -1.9024 2.5019) (layer "F.Fab") (width 0.0254)) + (fp_line (start -1.9024 2.5019) (end -1.9024 2.5019) (layer "F.Fab") (width 0.0254)) + (fp_line (start -1.9024 2.5019) (end -1.5976 2.5019) (layer "F.Fab") (width 0.0254)) + (fp_line (start -1.5976 2.5019) (end -1.5976 2.5019) (layer "F.Fab") (width 0.0254)) + (fp_line (start -1.0976 2.5019) (end -1.4024 2.5019) (layer "F.Fab") (width 0.0254)) + (fp_line (start -1.4024 2.5019) (end -1.4024 2.5019) (layer "F.Fab") (width 0.0254)) + (fp_line (start -1.4024 2.5019) (end -1.0976 2.5019) (layer "F.Fab") (width 0.0254)) + (fp_line (start -1.0976 2.5019) (end -1.0976 2.5019) (layer "F.Fab") (width 0.0254)) + (fp_line (start -0.5976 2.5019) (end -0.9024 2.5019) (layer "F.Fab") (width 0.0254)) + (fp_line (start -0.9024 2.5019) (end -0.9024 2.5019) (layer "F.Fab") (width 0.0254)) + (fp_line (start -0.9024 2.5019) (end -0.5976 2.5019) (layer "F.Fab") (width 0.0254)) + (fp_line (start -0.5976 2.5019) (end -0.5976 2.5019) (layer "F.Fab") (width 0.0254)) + (fp_line (start -0.0976 2.5019) (end -0.4024 2.5019) (layer "F.Fab") (width 0.0254)) + (fp_line (start -0.4024 2.5019) (end -0.4024 2.5019) (layer "F.Fab") (width 0.0254)) + (fp_line (start -0.4024 2.5019) (end -0.0976 2.5019) (layer "F.Fab") (width 0.0254)) + (fp_line (start -0.0976 2.5019) (end -0.0976 2.5019) (layer "F.Fab") (width 0.0254)) + (fp_line (start 0.4024 2.5019) (end 0.0976 2.5019) (layer "F.Fab") (width 0.0254)) + (fp_line (start 0.0976 2.5019) (end 0.0976 2.5019) (layer "F.Fab") (width 0.0254)) + (fp_line (start 0.0976 2.5019) (end 0.4024 2.5019) (layer "F.Fab") (width 0.0254)) + (fp_line (start 0.4024 2.5019) (end 0.4024 2.5019) (layer "F.Fab") (width 0.0254)) + (fp_line (start 0.9024 2.5019) (end 0.5976 2.5019) (layer "F.Fab") (width 0.0254)) + (fp_line (start 0.5976 2.5019) (end 0.5976 2.5019) (layer "F.Fab") (width 0.0254)) + (fp_line (start 0.5976 2.5019) (end 0.9024 2.5019) (layer "F.Fab") (width 0.0254)) + (fp_line (start 0.9024 2.5019) (end 0.9024 2.5019) (layer "F.Fab") (width 0.0254)) + (fp_line (start 1.4024 2.5019) (end 1.0976 2.5019) (layer "F.Fab") (width 0.0254)) + (fp_line (start 1.0976 2.5019) (end 1.0976 2.5019) (layer "F.Fab") (width 0.0254)) + (fp_line (start 1.0976 2.5019) (end 1.4024 2.5019) (layer "F.Fab") (width 0.0254)) + (fp_line (start 1.4024 2.5019) (end 1.4024 2.5019) (layer "F.Fab") (width 0.0254)) + (fp_line (start 1.9024 2.5019) (end 1.5976 2.5019) (layer "F.Fab") (width 0.0254)) + (fp_line (start 1.5976 2.5019) (end 1.5976 2.5019) (layer "F.Fab") (width 0.0254)) + (fp_line (start 1.5976 2.5019) (end 1.9024 2.5019) (layer "F.Fab") (width 0.0254)) + (fp_line (start 1.9024 2.5019) (end 1.9024 2.5019) (layer "F.Fab") (width 0.0254)) + (fp_line (start 2.5019 1.5976) (end 2.5019 1.9024) (layer "F.Fab") (width 0.0254)) + (fp_line (start 2.5019 1.9024) (end 2.5019 1.9024) (layer "F.Fab") (width 0.0254)) + (fp_line (start 2.5019 1.9024) (end 2.5019 1.5976) (layer "F.Fab") (width 0.0254)) + (fp_line (start 2.5019 1.5976) (end 2.5019 1.5976) (layer "F.Fab") (width 0.0254)) + (fp_line (start 2.5019 1.0976) (end 2.5019 1.4024) (layer "F.Fab") (width 0.0254)) + (fp_line (start 2.5019 1.4024) (end 2.5019 1.4024) (layer "F.Fab") (width 0.0254)) + (fp_line (start 2.5019 1.4024) (end 2.5019 1.0976) (layer "F.Fab") (width 0.0254)) + (fp_line (start 2.5019 1.0976) (end 2.5019 1.0976) (layer "F.Fab") (width 0.0254)) + (fp_line (start 2.5019 0.5976) (end 2.5019 0.9024) (layer "F.Fab") (width 0.0254)) + (fp_line (start 2.5019 0.9024) (end 2.5019 0.9024) (layer "F.Fab") (width 0.0254)) + (fp_line (start 2.5019 0.9024) (end 2.5019 0.5976) (layer "F.Fab") (width 0.0254)) + (fp_line (start 2.5019 0.5976) (end 2.5019 0.5976) (layer "F.Fab") (width 0.0254)) + (fp_line (start 2.5019 0.0976) (end 2.5019 0.4024) (layer "F.Fab") (width 0.0254)) + (fp_line (start 2.5019 0.4024) (end 2.5019 0.4024) (layer "F.Fab") (width 0.0254)) + (fp_line (start 2.5019 0.4024) (end 2.5019 0.0976) (layer "F.Fab") (width 0.0254)) + (fp_line (start 2.5019 0.0976) (end 2.5019 0.0976) (layer "F.Fab") (width 0.0254)) + (fp_line (start 2.5019 -0.4024) (end 2.5019 -0.0976) (layer "F.Fab") (width 0.0254)) + (fp_line (start 2.5019 -0.0976) (end 2.5019 -0.0976) (layer "F.Fab") (width 0.0254)) + (fp_line (start 2.5019 -0.0976) (end 2.5019 -0.4024) (layer "F.Fab") (width 0.0254)) + (fp_line (start 2.5019 -0.4024) (end 2.5019 -0.4024) (layer "F.Fab") (width 0.0254)) + (fp_line (start 2.5019 -0.9024) (end 2.5019 -0.5976) (layer "F.Fab") (width 0.0254)) + (fp_line (start 2.5019 -0.5976) (end 2.5019 -0.5976) (layer "F.Fab") (width 0.0254)) + (fp_line (start 2.5019 -0.5976) (end 2.5019 -0.9024) (layer "F.Fab") (width 0.0254)) + (fp_line (start 2.5019 -0.9024) (end 2.5019 -0.9024) (layer "F.Fab") (width 0.0254)) + (fp_line (start 2.5019 -1.4024) (end 2.5019 -1.0976) (layer "F.Fab") (width 0.0254)) + (fp_line (start 2.5019 -1.0976) (end 2.5019 -1.0976) (layer "F.Fab") (width 0.0254)) + (fp_line (start 2.5019 -1.0976) (end 2.5019 -1.4024) (layer "F.Fab") (width 0.0254)) + (fp_line (start 2.5019 -1.4024) (end 2.5019 -1.4024) (layer "F.Fab") (width 0.0254)) + (fp_line (start 2.5019 -1.9024) (end 2.5019 -1.5976) (layer "F.Fab") (width 0.0254)) + (fp_line (start 2.5019 -1.5976) (end 2.5019 -1.5976) (layer "F.Fab") (width 0.0254)) + (fp_line (start 2.5019 -1.5976) (end 2.5019 -1.9024) (layer "F.Fab") (width 0.0254)) + (fp_line (start 2.5019 -1.9024) (end 2.5019 -1.9024) (layer "F.Fab") (width 0.0254)) + (fp_line (start -2.6289 2.6289) (end -2.209739 2.6289) (layer "F.SilkS") (width 0.1524)) + (fp_line (start 2.6289 2.6289) (end 2.6289 2.209739) (layer "F.SilkS") (width 0.1524)) + (fp_line (start 2.6289 -2.6289) (end 2.209739 -2.6289) (layer "F.SilkS") (width 0.1524)) + (fp_line (start -2.6289 -2.6289) (end -2.6289 -2.209739) (layer "F.SilkS") (width 0.1524)) + (fp_line (start -2.6289 2.209739) (end -2.6289 2.6289) (layer "F.SilkS") (width 0.1524)) + (fp_line (start -2.5019 2.5019) (end 2.5019 2.5019) (layer "F.Fab") (width 0.0254)) + (fp_line (start 2.5019 2.5019) (end 2.5019 2.5019) (layer "F.Fab") (width 0.0254)) + (fp_line (start 2.5019 2.5019) (end 2.5019 -2.5019) (layer "F.Fab") (width 0.0254)) + (fp_line (start 2.5019 -2.5019) (end 2.5019 -2.5019) (layer "F.Fab") (width 0.0254)) + (fp_line (start 2.5019 -2.5019) (end -2.5019 -2.5019) (layer "F.Fab") (width 0.0254)) + (fp_line (start -2.5019 -2.5019) (end -2.5019 -2.5019) (layer "F.Fab") (width 0.0254)) + (fp_line (start -2.5019 -2.5019) (end -2.5019 2.5019) (layer "F.Fab") (width 0.0254)) + (fp_line (start -2.5019 2.5019) (end -2.5019 2.5019) (layer "F.Fab") (width 0.0254)) + (fp_line (start 2.209739 2.6289) (end 2.6289 2.6289) (layer "F.SilkS") (width 0.1524)) + (fp_line (start 2.6289 -2.209739) (end 2.6289 -2.6289) (layer "F.SilkS") (width 0.1524)) + (fp_line (start -2.209739 -2.6289) (end -2.6289 -2.6289) (layer "F.SilkS") (width 0.1524)) + (pad "1" smd rect (at -2.4765 -1.749999 90) (size 0.254 0.8636) (layers "F.Cu" "F.Paste" "F.Mask")) + (pad "2" smd rect (at -2.4765 -1.25 90) (size 0.254 0.8636) (layers "F.Cu" "F.Paste" "F.Mask")) + (pad "3" smd rect (at -2.4765 -0.750001 90) (size 0.254 0.8636) (layers "F.Cu" "F.Paste" "F.Mask")) + (pad "4" smd rect (at -2.4765 -0.25 90) (size 0.254 0.8636) (layers "F.Cu" "F.Paste" "F.Mask")) + (pad "5" smd rect (at -2.4765 0.25 90) (size 0.254 0.8636) (layers "F.Cu" "F.Paste" "F.Mask")) + (pad "6" smd rect (at -2.4765 0.750001 90) (size 0.254 0.8636) (layers "F.Cu" "F.Paste" "F.Mask")) + (pad "7" smd rect (at -2.4765 1.25 90) (size 0.254 0.8636) (layers "F.Cu" "F.Paste" "F.Mask")) + (pad "8" smd rect (at -2.4765 1.749999 90) (size 0.254 0.8636) (layers "F.Cu" "F.Paste" "F.Mask")) + (pad "9" smd rect (at -1.749999 2.4765) (size 0.254 0.8636) (layers "F.Cu" "F.Paste" "F.Mask")) + (pad "10" smd rect (at -1.25 2.4765) (size 0.254 0.8636) (layers "F.Cu" "F.Paste" "F.Mask")) + (pad "11" smd rect (at -0.750001 2.4765) (size 0.254 0.8636) (layers "F.Cu" "F.Paste" "F.Mask")) + (pad "12" smd rect (at -0.25 2.4765) (size 0.254 0.8636) (layers "F.Cu" "F.Paste" "F.Mask")) + (pad "13" smd rect (at 0.25 2.4765) (size 0.254 0.8636) (layers "F.Cu" "F.Paste" "F.Mask")) + (pad "14" smd rect (at 0.750001 2.4765) (size 0.254 0.8636) (layers "F.Cu" "F.Paste" "F.Mask")) + (pad "15" smd rect (at 1.25 2.4765) (size 0.254 0.8636) (layers "F.Cu" "F.Paste" "F.Mask")) + (pad "16" smd rect (at 1.749999 2.4765) (size 0.254 0.8636) (layers "F.Cu" "F.Paste" "F.Mask")) + (pad "17" smd rect (at 2.4765 1.749999 90) (size 0.254 0.8636) (layers "F.Cu" "F.Paste" "F.Mask")) + (pad "18" smd rect (at 2.4765 1.25 90) (size 0.254 0.8636) (layers "F.Cu" "F.Paste" "F.Mask")) + (pad "19" smd rect (at 2.4765 0.750001 90) (size 0.254 0.8636) (layers "F.Cu" "F.Paste" "F.Mask")) + (pad "20" smd rect (at 2.4765 0.25 90) (size 0.254 0.8636) (layers "F.Cu" "F.Paste" "F.Mask")) + (pad "21" smd rect (at 2.4765 -0.25 90) (size 0.254 0.8636) (layers "F.Cu" "F.Paste" "F.Mask")) + (pad "22" smd rect (at 2.4765 -0.750001 90) (size 0.254 0.8636) (layers "F.Cu" "F.Paste" "F.Mask")) + (pad "23" smd rect (at 2.4765 -1.25 90) (size 0.254 0.8636) (layers "F.Cu" "F.Paste" "F.Mask")) + (pad "24" smd rect (at 2.4765 -1.749999 90) (size 0.254 0.8636) (layers "F.Cu" "F.Paste" "F.Mask")) + (pad "25" smd rect (at 1.749999 -2.4765) (size 0.254 0.8636) (layers "F.Cu" "F.Paste" "F.Mask")) + (pad "26" smd rect (at 1.25 -2.4765) (size 0.254 0.8636) (layers "F.Cu" "F.Paste" "F.Mask")) + (pad "27" smd rect (at 0.750001 -2.4765) (size 0.254 0.8636) (layers "F.Cu" "F.Paste" "F.Mask")) + (pad "28" smd rect (at 0.25 -2.4765) (size 0.254 0.8636) (layers "F.Cu" "F.Paste" "F.Mask")) + (pad "29" smd rect (at -0.25 -2.4765) (size 0.254 0.8636) (layers "F.Cu" "F.Paste" "F.Mask")) + (pad "30" smd rect (at -0.750001 -2.4765) (size 0.254 0.8636) (layers "F.Cu" "F.Paste" "F.Mask")) + (pad "31" smd rect (at -1.25 -2.4765) (size 0.254 0.8636) (layers "F.Cu" "F.Paste" "F.Mask")) + (pad "32" smd rect (at -1.749999 -2.4765) (size 0.254 0.8636) (layers "F.Cu" "F.Paste" "F.Mask")) + (pad "33" smd rect (at 0 0) (size 3.7084 3.7084) (layers "F.Cu" "F.Paste" "F.Mask")) +) diff --git a/kicad-libraries/footprints.pretty/QFN32_SLB9670VQ20FW785XTMA1_INF.kicad_mod b/kicad-libraries/footprints.pretty/QFN32_SLB9670VQ20FW785XTMA1_INF.kicad_mod new file mode 100644 index 0000000..f83044a --- /dev/null +++ b/kicad-libraries/footprints.pretty/QFN32_SLB9670VQ20FW785XTMA1_INF.kicad_mod @@ -0,0 +1,266 @@ +(footprint "QFN32_SLB9670VQ20FW785XTMA1_INF" (version 20211014) (generator pcbnew) + (layer "F.Cu") + (tags "SLB9670VQ20FW785XTMA1 ") + (attr smd) + (fp_text reference "REF**" (at 0 0 unlocked) (layer F.SilkS) + (effects (font (size 1 1) (thickness 0.15))) + ) + (fp_text value QFN32_SLB9670VQ20FW785XTMA1_INF (at 0 0 unlocked) (layer F.Fab) + (effects (font (size 1 1) (thickness 0.15))) + ) + (fp_text user "${REFERENCE}" (at 0 0 unlocked) (layer F.Fab) + (effects (font (size 1 1) (thickness 0.15))) + ) + (fp_text user "*" (at -3.4417 -2) (layer F.SilkS) + (effects (font (size 1 1) (thickness 0.15))) + ) + (fp_text user "*" (at -2.0447 -2) (layer F.Fab) + (effects (font (size 1 1) (thickness 0.15))) + ) + (fp_poly (pts + (xy -1.4405 3.0607) + (xy -1.4405 3.3147) + (xy -1.0595 3.3147) + (xy -1.0595 3.0607) + ) (layer "F.SilkS") (width 0) (fill solid)) + (fp_poly (pts + (xy 3.3147 0.059499) + (xy 3.3147 0.4405) + (xy 3.0607 0.4405) + (xy 3.0607 0.059499) + ) (layer "F.SilkS") (width 0) (fill solid)) + (fp_poly (pts + (xy -0.940501 -3.0607) + (xy -0.940501 -3.3147) + (xy -0.559501 -3.3147) + (xy -0.559501 -3.0607) + ) (layer "F.SilkS") (width 0) (fill solid)) + (fp_poly (pts + (xy -1.7542 -1.7542) + (xy -1.7542 -0.1) + (xy -0.1 -0.1) + (xy -0.1 -1.7542) + ) (layer "F.Paste") (width 0) (fill solid)) + (fp_poly (pts + (xy -1.7542 0.1) + (xy -1.7542 1.7542) + (xy -0.1 1.7542) + (xy -0.1 0.1) + ) (layer "F.Paste") (width 0) (fill solid)) + (fp_poly (pts + (xy 0.1 -1.7542) + (xy 0.1 -0.1) + (xy 1.7542 -0.1) + (xy 1.7542 -1.7542) + ) (layer "F.Paste") (width 0) (fill solid)) + (fp_poly (pts + (xy 0.1 0.1) + (xy 0.1 1.7542) + (xy 1.7542 1.7542) + (xy 1.7542 0.1) + ) (layer "F.Paste") (width 0) (fill solid)) + (fp_line (start -2.7559 2.7559) (end -2.7559 2.131) (layer "F.CrtYd") (width 0.1524)) + (fp_line (start -2.7559 2.131) (end -3.0607 2.131) (layer "F.CrtYd") (width 0.1524)) + (fp_line (start -3.0607 2.131) (end -3.0607 -2.131) (layer "F.CrtYd") (width 0.1524)) + (fp_line (start -3.0607 -2.131) (end -2.7559 -2.131) (layer "F.CrtYd") (width 0.1524)) + (fp_line (start -2.7559 -2.131) (end -2.7559 -2.7559) (layer "F.CrtYd") (width 0.1524)) + (fp_line (start -2.7559 -2.7559) (end -2.131 -2.7559) (layer "F.CrtYd") (width 0.1524)) + (fp_line (start -2.131 -2.7559) (end -2.131 -3.0607) (layer "F.CrtYd") (width 0.1524)) + (fp_line (start -2.131 -3.0607) (end 2.131 -3.0607) (layer "F.CrtYd") (width 0.1524)) + (fp_line (start 2.131 -3.0607) (end 2.131 -2.7559) (layer "F.CrtYd") (width 0.1524)) + (fp_line (start 2.131 -2.7559) (end 2.7559 -2.7559) (layer "F.CrtYd") (width 0.1524)) + (fp_line (start 2.7559 -2.7559) (end 2.7559 -2.131) (layer "F.CrtYd") (width 0.1524)) + (fp_line (start 2.7559 -2.131) (end 3.0607 -2.131) (layer "F.CrtYd") (width 0.1524)) + (fp_line (start 3.0607 -2.131) (end 3.0607 2.131) (layer "F.CrtYd") (width 0.1524)) + (fp_line (start 3.0607 2.131) (end 2.7559 2.131) (layer "F.CrtYd") (width 0.1524)) + (fp_line (start 2.7559 2.131) (end 2.7559 2.7559) (layer "F.CrtYd") (width 0.1524)) + (fp_line (start 2.7559 2.7559) (end 2.131 2.7559) (layer "F.CrtYd") (width 0.1524)) + (fp_line (start 2.131 2.7559) (end 2.131 3.0607) (layer "F.CrtYd") (width 0.1524)) + (fp_line (start 2.131 3.0607) (end -2.131 3.0607) (layer "F.CrtYd") (width 0.1524)) + (fp_line (start -2.131 3.0607) (end -2.131 2.7559) (layer "F.CrtYd") (width 0.1524)) + (fp_line (start -2.131 2.7559) (end -2.7559 2.7559) (layer "F.CrtYd") (width 0.1524)) + (fp_text user "*" (at -3.4417 -2 unlocked) (layer "F.SilkS") + (effects (font (size 1 1) (thickness 0.15))) + ) + (fp_text user "*" (at -2.0447 -2 unlocked) (layer "F.Fab") + (effects (font (size 1 1) (thickness 0.15))) + ) + (fp_line (start -2.5019 -1.2319) (end -1.2319 -2.5019) (layer "F.Fab") (width 0.0254)) + (fp_line (start 1.5976 -2.5019) (end 1.9024 -2.5019) (layer "F.Fab") (width 0.0254)) + (fp_line (start 1.9024 -2.5019) (end 1.9024 -2.5019) (layer "F.Fab") (width 0.0254)) + (fp_line (start 1.9024 -2.5019) (end 1.5976 -2.5019) (layer "F.Fab") (width 0.0254)) + (fp_line (start 1.5976 -2.5019) (end 1.5976 -2.5019) (layer "F.Fab") (width 0.0254)) + (fp_line (start 1.0976 -2.5019) (end 1.4024 -2.5019) (layer "F.Fab") (width 0.0254)) + (fp_line (start 1.4024 -2.5019) (end 1.4024 -2.5019) (layer "F.Fab") (width 0.0254)) + (fp_line (start 1.4024 -2.5019) (end 1.0976 -2.5019) (layer "F.Fab") (width 0.0254)) + (fp_line (start 1.0976 -2.5019) (end 1.0976 -2.5019) (layer "F.Fab") (width 0.0254)) + (fp_line (start 0.5976 -2.5019) (end 0.9024 -2.5019) (layer "F.Fab") (width 0.0254)) + (fp_line (start 0.9024 -2.5019) (end 0.9024 -2.5019) (layer "F.Fab") (width 0.0254)) + (fp_line (start 0.9024 -2.5019) (end 0.5976 -2.5019) (layer "F.Fab") (width 0.0254)) + (fp_line (start 0.5976 -2.5019) (end 0.5976 -2.5019) (layer "F.Fab") (width 0.0254)) + (fp_line (start 0.0976 -2.5019) (end 0.4024 -2.5019) (layer "F.Fab") (width 0.0254)) + (fp_line (start 0.4024 -2.5019) (end 0.4024 -2.5019) (layer "F.Fab") (width 0.0254)) + (fp_line (start 0.4024 -2.5019) (end 0.0976 -2.5019) (layer "F.Fab") (width 0.0254)) + (fp_line (start 0.0976 -2.5019) (end 0.0976 -2.5019) (layer "F.Fab") (width 0.0254)) + (fp_line (start -0.4024 -2.5019) (end -0.0976 -2.5019) (layer "F.Fab") (width 0.0254)) + (fp_line (start -0.0976 -2.5019) (end -0.0976 -2.5019) (layer "F.Fab") (width 0.0254)) + (fp_line (start -0.0976 -2.5019) (end -0.4024 -2.5019) (layer "F.Fab") (width 0.0254)) + (fp_line (start -0.4024 -2.5019) (end -0.4024 -2.5019) (layer "F.Fab") (width 0.0254)) + (fp_line (start -0.9024 -2.5019) (end -0.5976 -2.5019) (layer "F.Fab") (width 0.0254)) + (fp_line (start -0.5976 -2.5019) (end -0.5976 -2.5019) (layer "F.Fab") (width 0.0254)) + (fp_line (start -0.5976 -2.5019) (end -0.9024 -2.5019) (layer "F.Fab") (width 0.0254)) + (fp_line (start -0.9024 -2.5019) (end -0.9024 -2.5019) (layer "F.Fab") (width 0.0254)) + (fp_line (start -1.4024 -2.5019) (end -1.0976 -2.5019) (layer "F.Fab") (width 0.0254)) + (fp_line (start -1.0976 -2.5019) (end -1.0976 -2.5019) (layer "F.Fab") (width 0.0254)) + (fp_line (start -1.0976 -2.5019) (end -1.4024 -2.5019) (layer "F.Fab") (width 0.0254)) + (fp_line (start -1.4024 -2.5019) (end -1.4024 -2.5019) (layer "F.Fab") (width 0.0254)) + (fp_line (start -1.9024 -2.5019) (end -1.5976 -2.5019) (layer "F.Fab") (width 0.0254)) + (fp_line (start -1.5976 -2.5019) (end -1.5976 -2.5019) (layer "F.Fab") (width 0.0254)) + (fp_line (start -1.5976 -2.5019) (end -1.9024 -2.5019) (layer "F.Fab") (width 0.0254)) + (fp_line (start -1.9024 -2.5019) (end -1.9024 -2.5019) (layer "F.Fab") (width 0.0254)) + (fp_line (start -2.5019 -1.5976) (end -2.5019 -1.9024) (layer "F.Fab") (width 0.0254)) + (fp_line (start -2.5019 -1.9024) (end -2.5019 -1.9024) (layer "F.Fab") (width 0.0254)) + (fp_line (start -2.5019 -1.9024) (end -2.5019 -1.5976) (layer "F.Fab") (width 0.0254)) + (fp_line (start -2.5019 -1.5976) (end -2.5019 -1.5976) (layer "F.Fab") (width 0.0254)) + (fp_line (start -2.5019 -1.0976) (end -2.5019 -1.4024) (layer "F.Fab") (width 0.0254)) + (fp_line (start -2.5019 -1.4024) (end -2.5019 -1.4024) (layer "F.Fab") (width 0.0254)) + (fp_line (start -2.5019 -1.4024) (end -2.5019 -1.0976) (layer "F.Fab") (width 0.0254)) + (fp_line (start -2.5019 -1.0976) (end -2.5019 -1.0976) (layer "F.Fab") (width 0.0254)) + (fp_line (start -2.5019 -0.5976) (end -2.5019 -0.9024) (layer "F.Fab") (width 0.0254)) + (fp_line (start -2.5019 -0.9024) (end -2.5019 -0.9024) (layer "F.Fab") (width 0.0254)) + (fp_line (start -2.5019 -0.9024) (end -2.5019 -0.5976) (layer "F.Fab") (width 0.0254)) + (fp_line (start -2.5019 -0.5976) (end -2.5019 -0.5976) (layer "F.Fab") (width 0.0254)) + (fp_line (start -2.5019 -0.0976) (end -2.5019 -0.4024) (layer "F.Fab") (width 0.0254)) + (fp_line (start -2.5019 -0.4024) (end -2.5019 -0.4024) (layer "F.Fab") (width 0.0254)) + (fp_line (start -2.5019 -0.4024) (end -2.5019 -0.0976) (layer "F.Fab") (width 0.0254)) + (fp_line (start -2.5019 -0.0976) (end -2.5019 -0.0976) (layer "F.Fab") (width 0.0254)) + (fp_line (start -2.5019 0.4024) (end -2.5019 0.0976) (layer "F.Fab") (width 0.0254)) + (fp_line (start -2.5019 0.0976) (end -2.5019 0.0976) (layer "F.Fab") (width 0.0254)) + (fp_line (start -2.5019 0.0976) (end -2.5019 0.4024) (layer "F.Fab") (width 0.0254)) + (fp_line (start -2.5019 0.4024) (end -2.5019 0.4024) (layer "F.Fab") (width 0.0254)) + (fp_line (start -2.5019 0.9024) (end -2.5019 0.5976) (layer "F.Fab") (width 0.0254)) + (fp_line (start -2.5019 0.5976) (end -2.5019 0.5976) (layer "F.Fab") (width 0.0254)) + (fp_line (start -2.5019 0.5976) (end -2.5019 0.9024) (layer "F.Fab") (width 0.0254)) + (fp_line (start -2.5019 0.9024) (end -2.5019 0.9024) (layer "F.Fab") (width 0.0254)) + (fp_line (start -2.5019 1.4024) (end -2.5019 1.0976) (layer "F.Fab") (width 0.0254)) + (fp_line (start -2.5019 1.0976) (end -2.5019 1.0976) (layer "F.Fab") (width 0.0254)) + (fp_line (start -2.5019 1.0976) (end -2.5019 1.4024) (layer "F.Fab") (width 0.0254)) + (fp_line (start -2.5019 1.4024) (end -2.5019 1.4024) (layer "F.Fab") (width 0.0254)) + (fp_line (start -2.5019 1.9024) (end -2.5019 1.5976) (layer "F.Fab") (width 0.0254)) + (fp_line (start -2.5019 1.5976) (end -2.5019 1.5976) (layer "F.Fab") (width 0.0254)) + (fp_line (start -2.5019 1.5976) (end -2.5019 1.9024) (layer "F.Fab") (width 0.0254)) + (fp_line (start -2.5019 1.9024) (end -2.5019 1.9024) (layer "F.Fab") (width 0.0254)) + (fp_line (start -1.5976 2.5019) (end -1.9024 2.5019) (layer "F.Fab") (width 0.0254)) + (fp_line (start -1.9024 2.5019) (end -1.9024 2.5019) (layer "F.Fab") (width 0.0254)) + (fp_line (start -1.9024 2.5019) (end -1.5976 2.5019) (layer "F.Fab") (width 0.0254)) + (fp_line (start -1.5976 2.5019) (end -1.5976 2.5019) (layer "F.Fab") (width 0.0254)) + (fp_line (start -1.0976 2.5019) (end -1.4024 2.5019) (layer "F.Fab") (width 0.0254)) + (fp_line (start -1.4024 2.5019) (end -1.4024 2.5019) (layer "F.Fab") (width 0.0254)) + (fp_line (start -1.4024 2.5019) (end -1.0976 2.5019) (layer "F.Fab") (width 0.0254)) + (fp_line (start -1.0976 2.5019) (end -1.0976 2.5019) (layer "F.Fab") (width 0.0254)) + (fp_line (start -0.5976 2.5019) (end -0.9024 2.5019) (layer "F.Fab") (width 0.0254)) + (fp_line (start -0.9024 2.5019) (end -0.9024 2.5019) (layer "F.Fab") (width 0.0254)) + (fp_line (start -0.9024 2.5019) (end -0.5976 2.5019) (layer "F.Fab") (width 0.0254)) + (fp_line (start -0.5976 2.5019) (end -0.5976 2.5019) (layer "F.Fab") (width 0.0254)) + (fp_line (start -0.0976 2.5019) (end -0.4024 2.5019) (layer "F.Fab") (width 0.0254)) + (fp_line (start -0.4024 2.5019) (end -0.4024 2.5019) (layer "F.Fab") (width 0.0254)) + (fp_line (start -0.4024 2.5019) (end -0.0976 2.5019) (layer "F.Fab") (width 0.0254)) + (fp_line (start -0.0976 2.5019) (end -0.0976 2.5019) (layer "F.Fab") (width 0.0254)) + (fp_line (start 0.4024 2.5019) (end 0.0976 2.5019) (layer "F.Fab") (width 0.0254)) + (fp_line (start 0.0976 2.5019) (end 0.0976 2.5019) (layer "F.Fab") (width 0.0254)) + (fp_line (start 0.0976 2.5019) (end 0.4024 2.5019) (layer "F.Fab") (width 0.0254)) + (fp_line (start 0.4024 2.5019) (end 0.4024 2.5019) (layer "F.Fab") (width 0.0254)) + (fp_line (start 0.9024 2.5019) (end 0.5976 2.5019) (layer "F.Fab") (width 0.0254)) + (fp_line (start 0.5976 2.5019) (end 0.5976 2.5019) (layer "F.Fab") (width 0.0254)) + (fp_line (start 0.5976 2.5019) (end 0.9024 2.5019) (layer "F.Fab") (width 0.0254)) + (fp_line (start 0.9024 2.5019) (end 0.9024 2.5019) (layer "F.Fab") (width 0.0254)) + (fp_line (start 1.4024 2.5019) (end 1.0976 2.5019) (layer "F.Fab") (width 0.0254)) + (fp_line (start 1.0976 2.5019) (end 1.0976 2.5019) (layer "F.Fab") (width 0.0254)) + (fp_line (start 1.0976 2.5019) (end 1.4024 2.5019) (layer "F.Fab") (width 0.0254)) + (fp_line (start 1.4024 2.5019) (end 1.4024 2.5019) (layer "F.Fab") (width 0.0254)) + (fp_line (start 1.9024 2.5019) (end 1.5976 2.5019) (layer "F.Fab") (width 0.0254)) + (fp_line (start 1.5976 2.5019) (end 1.5976 2.5019) (layer "F.Fab") (width 0.0254)) + (fp_line (start 1.5976 2.5019) (end 1.9024 2.5019) (layer "F.Fab") (width 0.0254)) + (fp_line (start 1.9024 2.5019) (end 1.9024 2.5019) (layer "F.Fab") (width 0.0254)) + (fp_line (start 2.5019 1.5976) (end 2.5019 1.9024) (layer "F.Fab") (width 0.0254)) + (fp_line (start 2.5019 1.9024) (end 2.5019 1.9024) (layer "F.Fab") (width 0.0254)) + (fp_line (start 2.5019 1.9024) (end 2.5019 1.5976) (layer "F.Fab") (width 0.0254)) + (fp_line (start 2.5019 1.5976) (end 2.5019 1.5976) (layer "F.Fab") (width 0.0254)) + (fp_line (start 2.5019 1.0976) (end 2.5019 1.4024) (layer "F.Fab") (width 0.0254)) + (fp_line (start 2.5019 1.4024) (end 2.5019 1.4024) (layer "F.Fab") (width 0.0254)) + (fp_line (start 2.5019 1.4024) (end 2.5019 1.0976) (layer "F.Fab") (width 0.0254)) + (fp_line (start 2.5019 1.0976) (end 2.5019 1.0976) (layer "F.Fab") (width 0.0254)) + (fp_line (start 2.5019 0.5976) (end 2.5019 0.9024) (layer "F.Fab") (width 0.0254)) + (fp_line (start 2.5019 0.9024) (end 2.5019 0.9024) (layer "F.Fab") (width 0.0254)) + (fp_line (start 2.5019 0.9024) (end 2.5019 0.5976) (layer "F.Fab") (width 0.0254)) + (fp_line (start 2.5019 0.5976) (end 2.5019 0.5976) (layer "F.Fab") (width 0.0254)) + (fp_line (start 2.5019 0.0976) (end 2.5019 0.4024) (layer "F.Fab") (width 0.0254)) + (fp_line (start 2.5019 0.4024) (end 2.5019 0.4024) (layer "F.Fab") (width 0.0254)) + (fp_line (start 2.5019 0.4024) (end 2.5019 0.0976) (layer "F.Fab") (width 0.0254)) + (fp_line (start 2.5019 0.0976) (end 2.5019 0.0976) (layer "F.Fab") (width 0.0254)) + (fp_line (start 2.5019 -0.4024) (end 2.5019 -0.0976) (layer "F.Fab") (width 0.0254)) + (fp_line (start 2.5019 -0.0976) (end 2.5019 -0.0976) (layer "F.Fab") (width 0.0254)) + (fp_line (start 2.5019 -0.0976) (end 2.5019 -0.4024) (layer "F.Fab") (width 0.0254)) + (fp_line (start 2.5019 -0.4024) (end 2.5019 -0.4024) (layer "F.Fab") (width 0.0254)) + (fp_line (start 2.5019 -0.9024) (end 2.5019 -0.5976) (layer "F.Fab") (width 0.0254)) + (fp_line (start 2.5019 -0.5976) (end 2.5019 -0.5976) (layer "F.Fab") (width 0.0254)) + (fp_line (start 2.5019 -0.5976) (end 2.5019 -0.9024) (layer "F.Fab") (width 0.0254)) + (fp_line (start 2.5019 -0.9024) (end 2.5019 -0.9024) (layer "F.Fab") (width 0.0254)) + (fp_line (start 2.5019 -1.4024) (end 2.5019 -1.0976) (layer "F.Fab") (width 0.0254)) + (fp_line (start 2.5019 -1.0976) (end 2.5019 -1.0976) (layer "F.Fab") (width 0.0254)) + (fp_line (start 2.5019 -1.0976) (end 2.5019 -1.4024) (layer "F.Fab") (width 0.0254)) + (fp_line (start 2.5019 -1.4024) (end 2.5019 -1.4024) (layer "F.Fab") (width 0.0254)) + (fp_line (start 2.5019 -1.9024) (end 2.5019 -1.5976) (layer "F.Fab") (width 0.0254)) + (fp_line (start 2.5019 -1.5976) (end 2.5019 -1.5976) (layer "F.Fab") (width 0.0254)) + (fp_line (start 2.5019 -1.5976) (end 2.5019 -1.9024) (layer "F.Fab") (width 0.0254)) + (fp_line (start 2.5019 -1.9024) (end 2.5019 -1.9024) (layer "F.Fab") (width 0.0254)) + (fp_line (start -2.6289 2.6289) (end -2.209739 2.6289) (layer "F.SilkS") (width 0.1524)) + (fp_line (start 2.6289 2.6289) (end 2.6289 2.209739) (layer "F.SilkS") (width 0.1524)) + (fp_line (start 2.6289 -2.6289) (end 2.209739 -2.6289) (layer "F.SilkS") (width 0.1524)) + (fp_line (start -2.6289 -2.6289) (end -2.6289 -2.209739) (layer "F.SilkS") (width 0.1524)) + (fp_line (start -2.6289 2.209739) (end -2.6289 2.6289) (layer "F.SilkS") (width 0.1524)) + (fp_line (start -2.5019 2.5019) (end 2.5019 2.5019) (layer "F.Fab") (width 0.0254)) + (fp_line (start 2.5019 2.5019) (end 2.5019 2.5019) (layer "F.Fab") (width 0.0254)) + (fp_line (start 2.5019 2.5019) (end 2.5019 -2.5019) (layer "F.Fab") (width 0.0254)) + (fp_line (start 2.5019 -2.5019) (end 2.5019 -2.5019) (layer "F.Fab") (width 0.0254)) + (fp_line (start 2.5019 -2.5019) (end -2.5019 -2.5019) (layer "F.Fab") (width 0.0254)) + (fp_line (start -2.5019 -2.5019) (end -2.5019 -2.5019) (layer "F.Fab") (width 0.0254)) + (fp_line (start -2.5019 -2.5019) (end -2.5019 2.5019) (layer "F.Fab") (width 0.0254)) + (fp_line (start -2.5019 2.5019) (end -2.5019 2.5019) (layer "F.Fab") (width 0.0254)) + (fp_line (start 2.209739 2.6289) (end 2.6289 2.6289) (layer "F.SilkS") (width 0.1524)) + (fp_line (start 2.6289 -2.209739) (end 2.6289 -2.6289) (layer "F.SilkS") (width 0.1524)) + (fp_line (start -2.209739 -2.6289) (end -2.6289 -2.6289) (layer "F.SilkS") (width 0.1524)) + (pad "1" smd rect (at -2.4257 -1.749999 90) (size 0.254 0.762) (layers "F.Cu" "F.Paste" "F.Mask")) + (pad "2" smd rect (at -2.4257 -1.25 90) (size 0.254 0.762) (layers "F.Cu" "F.Paste" "F.Mask")) + (pad "3" smd rect (at -2.4257 -0.750001 90) (size 0.254 0.762) (layers "F.Cu" "F.Paste" "F.Mask")) + (pad "4" smd rect (at -2.4257 -0.25 90) (size 0.254 0.762) (layers "F.Cu" "F.Paste" "F.Mask")) + (pad "5" smd rect (at -2.4257 0.25 90) (size 0.254 0.762) (layers "F.Cu" "F.Paste" "F.Mask")) + (pad "6" smd rect (at -2.4257 0.750001 90) (size 0.254 0.762) (layers "F.Cu" "F.Paste" "F.Mask")) + (pad "7" smd rect (at -2.4257 1.25 90) (size 0.254 0.762) (layers "F.Cu" "F.Paste" "F.Mask")) + (pad "8" smd rect (at -2.4257 1.749999 90) (size 0.254 0.762) (layers "F.Cu" "F.Paste" "F.Mask")) + (pad "9" smd rect (at -1.749999 2.4257) (size 0.254 0.762) (layers "F.Cu" "F.Paste" "F.Mask")) + (pad "10" smd rect (at -1.25 2.4257) (size 0.254 0.762) (layers "F.Cu" "F.Paste" "F.Mask")) + (pad "11" smd rect (at -0.750001 2.4257) (size 0.254 0.762) (layers "F.Cu" "F.Paste" "F.Mask")) + (pad "12" smd rect (at -0.25 2.4257) (size 0.254 0.762) (layers "F.Cu" "F.Paste" "F.Mask")) + (pad "13" smd rect (at 0.25 2.4257) (size 0.254 0.762) (layers "F.Cu" "F.Paste" "F.Mask")) + (pad "14" smd rect (at 0.750001 2.4257) (size 0.254 0.762) (layers "F.Cu" "F.Paste" "F.Mask")) + (pad "15" smd rect (at 1.25 2.4257) (size 0.254 0.762) (layers "F.Cu" "F.Paste" "F.Mask")) + (pad "16" smd rect (at 1.749999 2.4257) (size 0.254 0.762) (layers "F.Cu" "F.Paste" "F.Mask")) + (pad "17" smd rect (at 2.4257 1.749999 90) (size 0.254 0.762) (layers "F.Cu" "F.Paste" "F.Mask")) + (pad "18" smd rect (at 2.4257 1.25 90) (size 0.254 0.762) (layers "F.Cu" "F.Paste" "F.Mask")) + (pad "19" smd rect (at 2.4257 0.750001 90) (size 0.254 0.762) (layers "F.Cu" "F.Paste" "F.Mask")) + (pad "20" smd rect (at 2.4257 0.25 90) (size 0.254 0.762) (layers "F.Cu" "F.Paste" "F.Mask")) + (pad "21" smd rect (at 2.4257 -0.25 90) (size 0.254 0.762) (layers "F.Cu" "F.Paste" "F.Mask")) + (pad "22" smd rect (at 2.4257 -0.750001 90) (size 0.254 0.762) (layers "F.Cu" "F.Paste" "F.Mask")) + (pad "23" smd rect (at 2.4257 -1.25 90) (size 0.254 0.762) (layers "F.Cu" "F.Paste" "F.Mask")) + (pad "24" smd rect (at 2.4257 -1.749999 90) (size 0.254 0.762) (layers "F.Cu" "F.Paste" "F.Mask")) + (pad "25" smd rect (at 1.749999 -2.4257) (size 0.254 0.762) (layers "F.Cu" "F.Paste" "F.Mask")) + (pad "26" smd rect (at 1.25 -2.4257) (size 0.254 0.762) (layers "F.Cu" "F.Paste" "F.Mask")) + (pad "27" smd rect (at 0.750001 -2.4257) (size 0.254 0.762) (layers "F.Cu" "F.Paste" "F.Mask")) + (pad "28" smd rect (at 0.25 -2.4257) (size 0.254 0.762) (layers "F.Cu" "F.Paste" "F.Mask")) + (pad "29" smd rect (at -0.25 -2.4257) (size 0.254 0.762) (layers "F.Cu" "F.Paste" "F.Mask")) + (pad "30" smd rect (at -0.750001 -2.4257) (size 0.254 0.762) (layers "F.Cu" "F.Paste" "F.Mask")) + (pad "31" smd rect (at -1.25 -2.4257) (size 0.254 0.762) (layers "F.Cu" "F.Paste" "F.Mask")) + (pad "32" smd rect (at -1.749999 -2.4257) (size 0.254 0.762) (layers "F.Cu" "F.Paste" "F.Mask")) + (pad "33" smd rect (at 0 0) (size 3.7084 3.7084) (layers "F.Cu" "F.Paste" "F.Mask")) +) diff --git a/kicad-libraries/infineon-optiga-tpm-slb-9670-tpm-2.0-2024-02-27_11-26-10.kicad_sym b/kicad-libraries/infineon-optiga-tpm-slb-9670-tpm-2.0-2024-02-27_11-26-10.kicad_sym new file mode 100644 index 0000000..a641e22 --- /dev/null +++ b/kicad-libraries/infineon-optiga-tpm-slb-9670-tpm-2.0-2024-02-27_11-26-10.kicad_sym @@ -0,0 +1,191 @@ +(kicad_symbol_lib (version 20211014) (generator kicad_symbol_editor) + (symbol "SLB9670VQ20FW785XTMA1" (pin_names (offset 0.254)) (in_bom yes) (on_board yes) + (property "Reference" "U" (id 0) (at 20.32 10.16 0) + (effects (font (size 1.524 1.524))) + ) + (property "Value" "SLB9670VQ20FW785XTMA1" (id 1) (at 20.32 7.62 0) + (effects (font (size 1.524 1.524))) + ) + (property "Footprint" "QFN32_SLB9670VQ20FW785XTMA1_INF" (id 2) (at 0 0 0) + (effects (font (size 1.27 1.27) italic) hide) + ) + (property "Datasheet" "SLB9670VQ20FW785XTMA1" (id 3) (at 0 0 0) + (effects (font (size 1.27 1.27) italic) hide) + ) + (property "ki_keywords" "SLB9670VQ20FW785XTMA1" (id 4) (at 0 0 0) + (effects (font (size 1.27 1.27)) hide) + ) + (property "ki_locked" "" (id 5) (at 0 0 0) + (effects (font (size 1.27 1.27)) hide) + ) + (property "ki_fp_filters" "QFN32_SLB9670VQ20FW785XTMA1_INF QFN32_SLB9670VQ20FW785XTMA1_INF-M QFN32_SLB9670VQ20FW785XTMA1_INF-L" (id 6) (at 0 0 0) + (effects (font (size 1.27 1.27)) hide) + ) + (polyline + (pts + (xy 7.62 5.08) + (xy 7.62 -45.72) + ) + (stroke (width 0.127) (type default) (color 0 0 0 0)) + (fill (type none)) + ) + (polyline + (pts + (xy 7.62 -45.72) + (xy 33.02 -45.72) + ) + (stroke (width 0.127) (type default) (color 0 0 0 0)) + (fill (type none)) + ) + (polyline + (pts + (xy 33.02 -45.72) + (xy 33.02 5.08) + ) + (stroke (width 0.127) (type default) (color 0 0 0 0)) + (fill (type none)) + ) + (polyline + (pts + (xy 33.02 5.08) + (xy 7.62 5.08) + ) + (stroke (width 0.127) (type default) (color 0 0 0 0)) + (fill (type none)) + ) + (pin unspecified line (at 0 0 0) (length 7.62) + (name "1" (effects (font (size 1.27 1.27)))) + (number "1" (effects (font (size 1.27 1.27)))) + ) + (pin unspecified line (at 0 -2.54 0) (length 7.62) + (name "2" (effects (font (size 1.27 1.27)))) + (number "2" (effects (font (size 1.27 1.27)))) + ) + (pin unspecified line (at 0 -5.08 0) (length 7.62) + (name "3" (effects (font (size 1.27 1.27)))) + (number "3" (effects (font (size 1.27 1.27)))) + ) + (pin unspecified line (at 0 -7.62 0) (length 7.62) + (name "4" (effects (font (size 1.27 1.27)))) + (number "4" (effects (font (size 1.27 1.27)))) + ) + (pin unspecified line (at 0 -10.16 0) (length 7.62) + (name "5" (effects (font (size 1.27 1.27)))) + (number "5" (effects (font (size 1.27 1.27)))) + ) + (pin unspecified line (at 0 -12.7 0) (length 7.62) + (name "6" (effects (font (size 1.27 1.27)))) + (number "6" (effects (font (size 1.27 1.27)))) + ) + (pin unspecified line (at 0 -15.24 0) (length 7.62) + (name "7" (effects (font (size 1.27 1.27)))) + (number "7" (effects (font (size 1.27 1.27)))) + ) + (pin unspecified line (at 0 -17.78 0) (length 7.62) + (name "8" (effects (font (size 1.27 1.27)))) + (number "8" (effects (font (size 1.27 1.27)))) + ) + (pin unspecified line (at 0 -20.32 0) (length 7.62) + (name "9" (effects (font (size 1.27 1.27)))) + (number "9" (effects (font (size 1.27 1.27)))) + ) + (pin unspecified line (at 0 -22.86 0) (length 7.62) + (name "10" (effects (font (size 1.27 1.27)))) + (number "10" (effects (font (size 1.27 1.27)))) + ) + (pin unspecified line (at 0 -25.4 0) (length 7.62) + (name "11" (effects (font (size 1.27 1.27)))) + (number "11" (effects (font (size 1.27 1.27)))) + ) + (pin unspecified line (at 0 -27.94 0) (length 7.62) + (name "12" (effects (font (size 1.27 1.27)))) + (number "12" (effects (font (size 1.27 1.27)))) + ) + (pin unspecified line (at 0 -30.48 0) (length 7.62) + (name "13" (effects (font (size 1.27 1.27)))) + (number "13" (effects (font (size 1.27 1.27)))) + ) + (pin unspecified line (at 0 -33.02 0) (length 7.62) + (name "14" (effects (font (size 1.27 1.27)))) + (number "14" (effects (font (size 1.27 1.27)))) + ) + (pin unspecified line (at 0 -35.56 0) (length 7.62) + (name "15" (effects (font (size 1.27 1.27)))) + (number "15" (effects (font (size 1.27 1.27)))) + ) + (pin unspecified line (at 0 -38.1 0) (length 7.62) + (name "16" (effects (font (size 1.27 1.27)))) + (number "16" (effects (font (size 1.27 1.27)))) + ) + (pin unspecified line (at 40.64 -40.64 180) (length 7.62) + (name "17" (effects (font (size 1.27 1.27)))) + (number "17" (effects (font (size 1.27 1.27)))) + ) + (pin unspecified line (at 40.64 -38.1 180) (length 7.62) + (name "18" (effects (font (size 1.27 1.27)))) + (number "18" (effects (font (size 1.27 1.27)))) + ) + (pin unspecified line (at 40.64 -35.56 180) (length 7.62) + (name "19" (effects (font (size 1.27 1.27)))) + (number "19" (effects (font (size 1.27 1.27)))) + ) + (pin unspecified line (at 40.64 -33.02 180) (length 7.62) + (name "20" (effects (font (size 1.27 1.27)))) + (number "20" (effects (font (size 1.27 1.27)))) + ) + (pin unspecified line (at 40.64 -30.48 180) (length 7.62) + (name "21" (effects (font (size 1.27 1.27)))) + (number "21" (effects (font (size 1.27 1.27)))) + ) + (pin unspecified line (at 40.64 -27.94 180) (length 7.62) + (name "22" (effects (font (size 1.27 1.27)))) + (number "22" (effects (font (size 1.27 1.27)))) + ) + (pin unspecified line (at 40.64 -25.4 180) (length 7.62) + (name "23" (effects (font (size 1.27 1.27)))) + (number "23" (effects (font (size 1.27 1.27)))) + ) + (pin unspecified line (at 40.64 -22.86 180) (length 7.62) + (name "24" (effects (font (size 1.27 1.27)))) + (number "24" (effects (font (size 1.27 1.27)))) + ) + (pin unspecified line (at 40.64 -20.32 180) (length 7.62) + (name "25" (effects (font (size 1.27 1.27)))) + (number "25" (effects (font (size 1.27 1.27)))) + ) + (pin unspecified line (at 40.64 -17.78 180) (length 7.62) + (name "26" (effects (font (size 1.27 1.27)))) + (number "26" (effects (font (size 1.27 1.27)))) + ) + (pin unspecified line (at 40.64 -15.24 180) (length 7.62) + (name "27" (effects (font (size 1.27 1.27)))) + (number "27" (effects (font (size 1.27 1.27)))) + ) + (pin unspecified line (at 40.64 -12.7 180) (length 7.62) + (name "28" (effects (font (size 1.27 1.27)))) + (number "28" (effects (font (size 1.27 1.27)))) + ) + (pin unspecified line (at 40.64 -10.16 180) (length 7.62) + (name "29" (effects (font (size 1.27 1.27)))) + (number "29" (effects (font (size 1.27 1.27)))) + ) + (pin unspecified line (at 40.64 -7.62 180) (length 7.62) + (name "30" (effects (font (size 1.27 1.27)))) + (number "30" (effects (font (size 1.27 1.27)))) + ) + (pin unspecified line (at 40.64 -5.08 180) (length 7.62) + (name "31" (effects (font (size 1.27 1.27)))) + (number "31" (effects (font (size 1.27 1.27)))) + ) + (pin unspecified line (at 40.64 -2.54 180) (length 7.62) + (name "32" (effects (font (size 1.27 1.27)))) + (number "32" (effects (font (size 1.27 1.27)))) + ) + (pin unspecified line (at 40.64 0 180) (length 7.62) + (name "33" (effects (font (size 1.27 1.27)))) + (number "33" (effects (font (size 1.27 1.27)))) + ) + ) + ) +) + diff --git a/tpm-module-14pin-spi-MZ32-AR0-rev-10-CTM010/12pin-spi-pinout.png b/tpm-module-14pin-spi-MZ32-AR0-rev-10-CTM010/12pin-spi-pinout.png new file mode 100644 index 0000000000000000000000000000000000000000..e871516577338d1df52d538cd4dd74751913567f GIT binary patch literal 27383 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 r>vlJh1tG+{%cn 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