Add ESD9B5.0ST5G, PESD5V0L4UW, TPD2E007DCKR, TPS22994RUKT; fix FSC-BT1058 duplicate library registration

FSC-BT1058 had ended up with two footprint/symbol libraries on disk
(FSC-BT1058 and MIKILAB_FSC-BT1058) after a re-import baked the
"MIKILAB_" nickname prefix into the component name itself. Since that
prefix is normally added automatically when sym-lib-table/fp-lib-table
are generated, the double-prefixed copy (MIKILAB_MIKILAB_FSC_BT1058)
was invisible to collision checks and left the original as a stale,
outdated duplicate.

Consolidated onto the single correct library (symbols/other and
footprints/other without the redundant prefix, matching the rest of
the library's naming convention), fixed the symbol's Footprint
property and the footprint's 3D model reference, and regenerated both
lib-tables from disk.

To stop this class of bug from recurring:
- lib_common.check_component_name() rejects any --name that already
  starts with "MIKILAB", used by import_component.py's import_symbol/
  import_footprint (and therefore also by add_component.py and the
  SnapEDA/UltraLibrarian importers, which call into the same core).
- check_library.py now flags any on-disk symbol/footprint whose name
  already carries that prefix as an ERROR, independent of how it got
  there.
- import_component.py gains --remove to cleanly delete a component
  (symbol, footprint library, 3D model) and regenerate the lib-tables
  in one step, for exactly this kind of cleanup.

Errors: 0 on check_library.py after the fix.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
This commit is contained in:
2026-08-24 20:06:54 +02:00
co-authored by Claude Sonnet 5
parent db364598ad
commit c544db45f4
20 changed files with 33891 additions and 2 deletions
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
+34
View File
@@ -576,3 +576,37 @@ symbol,/var/folders/cv/lwgyj_k14gx2rc3t2rlt29s80000gn/T/ultralibrarian_v0rwnotp/
footprint,/var/folders/cv/lwgyj_k14gx2rc3t2rlt29s80000gn/T/ultralibrarian_v0rwnotp/KiCADv6/footprints.pretty/VQFN24_RGE_CORNERPADS_TEX.kicad_mod,footprints/other/XTAC5212IRGER.pretty/VQFN24_RGE_CORNERPADS_TEX.kicad_mod,NEW,2a2a1a5f831aeeebfde035b88094ccd238802fea4fd53c9bec12a8fc018a39cd,category=other
symbol,/var/folders/cv/lwgyj_k14gx2rc3t2rlt29s80000gn/T/ultralibrarian_u0c0m5kn/KiCADv6/2026-08-20_09-18-34.kicad_sym,symbols/other/XTAC5212IRGER.kicad_sym,UPDATED,5979d707fa7f1b5a0cfa6a1083b300d265d8beb760fc0a957c0090d973a3fd29,category=other
footprint,/var/folders/cv/lwgyj_k14gx2rc3t2rlt29s80000gn/T/ultralibrarian_u0c0m5kn/KiCADv6/footprints.pretty/VQFN24_RGE_CORNERPADS_TEX.kicad_mod,footprints/other/XTAC5212IRGER.pretty/VQFN24_RGE_CORNERPADS_TEX.kicad_mod,UPDATED,2a2a1a5f831aeeebfde035b88094ccd238802fea4fd53c9bec12a8fc018a39cd,category=other
symbol,/var/folders/cv/lwgyj_k14gx2rc3t2rlt29s80000gn/T/ultralibrarian_bpb6pkp3/KiCADv6/2026-08-21_15-11-20.kicad_sym,symbols/other/PESD5V0L4UW.kicad_sym,NEW,3fbe815904134f82dc8ed265d7220a1c53110d733f243f4f551ca56e026a55f1,category=other
footprint,/var/folders/cv/lwgyj_k14gx2rc3t2rlt29s80000gn/T/ultralibrarian_bpb6pkp3/KiCADv6/footprints.pretty/SOT665_NXP.kicad_mod,footprints/other/PESD5V0L4UW.pretty/SOT665_NXP.kicad_mod,NEW,8658bada2effe7978d1e0cd329409f0945eb3b6c1619db7fba832ecd0326cffa,category=other
symbol,/var/folders/cv/lwgyj_k14gx2rc3t2rlt29s80000gn/T/snapeda_gaf76w4s/ESD9B5.0ST5G.kicad_sym,symbols/other/ESD9B5.0ST5G.kicad_sym,NEW,8f4ef43534674c93a060e0e86d08992aacad40a33f10945ac2237184d36cba9f,category=other
footprint,/var/folders/cv/lwgyj_k14gx2rc3t2rlt29s80000gn/T/snapeda_gaf76w4s/SODFL1006X40N.kicad_mod,footprints/other/ESD9B5.0ST5G.pretty/SODFL1006X40N.kicad_mod,NEW,7c6ebdcd192098b90c138b4400ca82580bc019cc693dd50c27bac17ce8029d09,category=other
3d-model,/var/folders/cv/lwgyj_k14gx2rc3t2rlt29s80000gn/T/snapeda_gaf76w4s/ESD9B5.0ST5G.step,3dmodels/other/ESD9B5.0ST5G.step,NEW,a1937fe73d46ccd48f70eb345610f8ef5fde57d0919c981a58e71cebd0bf1d21,category=other
symbol,/var/folders/cv/lwgyj_k14gx2rc3t2rlt29s80000gn/T/snapeda_3437ea2o/TPS22994RUKT.kicad_sym,symbols/other/TPS22994RUKT.kicad_sym,NEW,6b831ae3eeb47798d3e85337aacb3a0df86d5c14d2daaf3b4ad5d437efdaa060,category=other
footprint,/var/folders/cv/lwgyj_k14gx2rc3t2rlt29s80000gn/T/snapeda_3437ea2o/IC_TPS22994RUKT.kicad_mod,footprints/other/TPS22994RUKT.pretty/IC_TPS22994RUKT.kicad_mod,NEW,e944ab79e8329ee74d476f5b5681c47a51b87934899666fdd9fb3e845e7fe9a9,category=other
3d-model,/var/folders/cv/lwgyj_k14gx2rc3t2rlt29s80000gn/T/snapeda_3437ea2o/TPS22994RUKT.step,3dmodels/other/TPS22994RUKT.step,NEW,a44bda21a55db989d8a014334760c524b752014f8631ec4fa5ffbfb4afb123cb,category=other
symbol,/var/folders/cv/lwgyj_k14gx2rc3t2rlt29s80000gn/T/snapeda_7ttdnj8a/TPD2E007DCKR.kicad_sym,symbols/other/TPD2E007DCKR.kicad_sym,NEW,018fd9aa3c29a1e9f0bf583ad984c596fcb736287152718de3e8c5ada53bd8a7,category=other
footprint,/var/folders/cv/lwgyj_k14gx2rc3t2rlt29s80000gn/T/snapeda_7ttdnj8a/SOT65P210X110-3N.kicad_mod,footprints/other/TPD2E007DCKR.pretty/SOT65P210X110-3N.kicad_mod,NEW,544d8b6214f4e38b2c5a1f8f11470c1bf9252f4e35556602c9651f8b9699dc4d,category=other
3d-model,/var/folders/cv/lwgyj_k14gx2rc3t2rlt29s80000gn/T/snapeda_7ttdnj8a/TPD2E007DCKR.step,3dmodels/other/TPD2E007DCKR.step,NEW,6afbb9ada6c55d0877da87ccb6a1e46fca9a894c44433647641a78de98c07ba6,category=other
symbol,/Users/michelebigi/Downloads/FSC-BT1058.kicad_sym,symbols/other/FSC-BT1058.kicad_sym,NEW,db17532e94d0869cfeb7c1cc3557df7a2be8a8a5c012ffcf945fe72cc7d150dd,category=other
footprint,/Users/michelebigi/Downloads/FSC-BT1058.kicad_mod,footprints/other/FSC-BT1058.pretty/FSC-BT1058.kicad_mod,NEW,8a07a179860a0effe8c931039acf7228be3e680d5e433efaa476c08e8c3ddc18,category=other
3d-model,/Users/michelebigi/Downloads/FSC-BT1058.step,3dmodels/other/FSC-BT1058.step,NEW,cea88ca65e7f9b06ce5cb4949fce0614f2f21414267b4cc1655f1037cc54c1aa,category=other
symbol,/Users/michelebigi/Downloads/FSC-BT1058.kicad_sym,symbols/other/MIKILAB_FSC-BT1058.kicad_sym,NEW,db17532e94d0869cfeb7c1cc3557df7a2be8a8a5c012ffcf945fe72cc7d150dd,category=other
footprint,/Users/michelebigi/Downloads/FSC-BT1058.kicad_mod,footprints/other/MIKILAB_FSC-BT1058.pretty/MIKILAB_FSC-BT1058_FSC-BT1058.kicad_mod,RENAMED_COLLISION,8a07a179860a0effe8c931039acf7228be3e680d5e433efaa476c08e8c3ddc18,"filename collision with footprints/other/FSC-BT1058.pretty/FSC-BT1058.kicad_mod (different content, verified by SHA256) -> renamed to 'MIKILAB_FSC-BT1058_FSC-BT1058.kicad_mod'"
3d-model,/Users/michelebigi/Downloads/FSC-BT1058.step,3dmodels/other/MIKILAB_FSC-BT1058.step,NEW,cea88ca65e7f9b06ce5cb4949fce0614f2f21414267b4cc1655f1037cc54c1aa,category=other
symbol,/Users/michelebigi/Downloads/FSC-BT1058_vertical_2x.kicad_sym,symbols/other/MIKILAB_FSC-BT1058.kicad_sym,UPDATED,6f8c2badf22a2575ec8bf1091fde6bc9b45369006f3ff76322cc1e1fcfc57554,category=other
footprint,/Users/michelebigi/Downloads/FSC-BT1058.kicad_mod,footprints/other/MIKILAB_FSC-BT1058.pretty/FSC-BT1058.kicad_mod,UPDATED,8a07a179860a0effe8c931039acf7228be3e680d5e433efaa476c08e8c3ddc18,category=other
3d-model,/Users/michelebigi/Downloads/FSC-BT1058.step,3dmodels/other/MIKILAB_FSC-BT1058.step,DUPLICATE,cea88ca65e7f9b06ce5cb4949fce0614f2f21414267b4cc1655f1037cc54c1aa,category=other
symbol,/Users/michelebigi/Downloads/FSC-BT1058_vertical_2x_symmetrical.kicad_sym,symbols/other/MIKILAB_FSC-BT1058.kicad_sym,UPDATED,6f8c2badf22a2575ec8bf1091fde6bc9b45369006f3ff76322cc1e1fcfc57554,category=other
footprint,/Users/michelebigi/Downloads/FSC-BT1058.kicad_mod,footprints/other/MIKILAB_FSC-BT1058.pretty/FSC-BT1058.kicad_mod,UPDATED,8a07a179860a0effe8c931039acf7228be3e680d5e433efaa476c08e8c3ddc18,category=other
3d-model,/Users/michelebigi/Downloads/FSC-BT1058.step,3dmodels/other/MIKILAB_FSC-BT1058.step,DUPLICATE,cea88ca65e7f9b06ce5cb4949fce0614f2f21414267b4cc1655f1037cc54c1aa,category=other
symbol,/Users/michelebigi/Downloads/FSC-BT1058_vertical_2x_both_sides.kicad_sym,symbols/other/MIKILAB_FSC-BT1058.kicad_sym,UPDATED,159a58ddbde9b7ea5b62e73334e7a27217e66ee198d7ff52b5ce64ce598a60e3,category=other
footprint,/Users/michelebigi/Downloads/FSC-BT1058.kicad_mod,footprints/other/MIKILAB_FSC-BT1058.pretty/FSC-BT1058.kicad_mod,UPDATED,8a07a179860a0effe8c931039acf7228be3e680d5e433efaa476c08e8c3ddc18,category=other
3d-model,/Users/michelebigi/Downloads/FSC-BT1058.step,3dmodels/other/MIKILAB_FSC-BT1058.step,DUPLICATE,cea88ca65e7f9b06ce5cb4949fce0614f2f21414267b4cc1655f1037cc54c1aa,category=other
symbol,/Users/michelebigi/Downloads/FSC-BT1058_vertical_2x_both_sides.kicad_sym,symbols/other/MIKILAB_FSC-BT1058.kicad_sym,UPDATED,159a58ddbde9b7ea5b62e73334e7a27217e66ee198d7ff52b5ce64ce598a60e3,category=other
footprint,/Users/michelebigi/Downloads/FSC-BT1058.kicad_mod,footprints/other/MIKILAB_FSC-BT1058.pretty/FSC-BT1058.kicad_mod,UPDATED,8a07a179860a0effe8c931039acf7228be3e680d5e433efaa476c08e8c3ddc18,category=other
3d-model,/Users/michelebigi/Downloads/FSC-BT1058.step,3dmodels/other/MIKILAB_FSC-BT1058.step,DUPLICATE,cea88ca65e7f9b06ce5cb4949fce0614f2f21414267b4cc1655f1037cc54c1aa,category=other
symbol,symbols/other/MIKILAB_FSC-BT1058.kicad_sym,symbols/other/FSC-BT1058.kicad_sym,CONSOLIDATED,4461abd03379ad36d8ccbc362ea67ee7ab217f2a2afd62d79c832b072dd9f374,double-prefixed duplicate library (MIKILAB_MIKILAB_FSC_BT1058) merged into MIKILAB_FSC_BT1058; stale symbols/other/FSC-BT1058.kicad_sym overwritten with this content; Footprint property fixed to MIKILAB_FSC_BT1058:FSC-BT1058; category=other
footprint,footprints/other/MIKILAB_FSC-BT1058.pretty/FSC-BT1058.kicad_mod,footprints/other/FSC-BT1058.pretty/FSC-BT1058.kicad_mod,CONSOLIDATED,0bc240f2e7828ccec5794285c8d5685f08fb8d1d3094ede8111ffaaca50cd079,double-prefixed duplicate library (MIKILAB_MIKILAB_FSC_BT1058) merged into MIKILAB_FSC_BT1058; stale empty footprints/other/FSC-BT1058.pretty/ replaced with this file; model ref fixed to 3dmodels/other/FSC-BT1058.step; category=other
3d-model,3dmodels/other/MIKILAB_FSC-BT1058.step,(removed),REMOVED,cea88ca65e7f9b06ce5cb4949fce0614f2f21414267b4cc1655f1037cc54c1aa,"byte-identical duplicate of 3dmodels/other/FSC-BT1058.step, removed; category=other"
symbol,/private/tmp/rmtest/TESTPART.kicad_sym,symbols/other/TESTPART.kicad_sym,NEW,9dd05201adaf0b2ff542da3882782d90098df849b8f5cb65ade71f255cf6a56a,category=other
symbol,symbols/other/TESTPART.kicad_sym,,REMOVED,9dd05201adaf0b2ff542da3882782d90098df849b8f5cb65ade71f255cf6a56a,category=other
1 type source destination status hash notes
576 footprint /var/folders/cv/lwgyj_k14gx2rc3t2rlt29s80000gn/T/ultralibrarian_v0rwnotp/KiCADv6/footprints.pretty/VQFN24_RGE_CORNERPADS_TEX.kicad_mod footprints/other/XTAC5212IRGER.pretty/VQFN24_RGE_CORNERPADS_TEX.kicad_mod NEW 2a2a1a5f831aeeebfde035b88094ccd238802fea4fd53c9bec12a8fc018a39cd category=other
577 symbol /var/folders/cv/lwgyj_k14gx2rc3t2rlt29s80000gn/T/ultralibrarian_u0c0m5kn/KiCADv6/2026-08-20_09-18-34.kicad_sym symbols/other/XTAC5212IRGER.kicad_sym UPDATED 5979d707fa7f1b5a0cfa6a1083b300d265d8beb760fc0a957c0090d973a3fd29 category=other
578 footprint /var/folders/cv/lwgyj_k14gx2rc3t2rlt29s80000gn/T/ultralibrarian_u0c0m5kn/KiCADv6/footprints.pretty/VQFN24_RGE_CORNERPADS_TEX.kicad_mod footprints/other/XTAC5212IRGER.pretty/VQFN24_RGE_CORNERPADS_TEX.kicad_mod UPDATED 2a2a1a5f831aeeebfde035b88094ccd238802fea4fd53c9bec12a8fc018a39cd category=other
579 symbol /var/folders/cv/lwgyj_k14gx2rc3t2rlt29s80000gn/T/ultralibrarian_bpb6pkp3/KiCADv6/2026-08-21_15-11-20.kicad_sym symbols/other/PESD5V0L4UW.kicad_sym NEW 3fbe815904134f82dc8ed265d7220a1c53110d733f243f4f551ca56e026a55f1 category=other
580 footprint /var/folders/cv/lwgyj_k14gx2rc3t2rlt29s80000gn/T/ultralibrarian_bpb6pkp3/KiCADv6/footprints.pretty/SOT665_NXP.kicad_mod footprints/other/PESD5V0L4UW.pretty/SOT665_NXP.kicad_mod NEW 8658bada2effe7978d1e0cd329409f0945eb3b6c1619db7fba832ecd0326cffa category=other
581 symbol /var/folders/cv/lwgyj_k14gx2rc3t2rlt29s80000gn/T/snapeda_gaf76w4s/ESD9B5.0ST5G.kicad_sym symbols/other/ESD9B5.0ST5G.kicad_sym NEW 8f4ef43534674c93a060e0e86d08992aacad40a33f10945ac2237184d36cba9f category=other
582 footprint /var/folders/cv/lwgyj_k14gx2rc3t2rlt29s80000gn/T/snapeda_gaf76w4s/SODFL1006X40N.kicad_mod footprints/other/ESD9B5.0ST5G.pretty/SODFL1006X40N.kicad_mod NEW 7c6ebdcd192098b90c138b4400ca82580bc019cc693dd50c27bac17ce8029d09 category=other
583 3d-model /var/folders/cv/lwgyj_k14gx2rc3t2rlt29s80000gn/T/snapeda_gaf76w4s/ESD9B5.0ST5G.step 3dmodels/other/ESD9B5.0ST5G.step NEW a1937fe73d46ccd48f70eb345610f8ef5fde57d0919c981a58e71cebd0bf1d21 category=other
584 symbol /var/folders/cv/lwgyj_k14gx2rc3t2rlt29s80000gn/T/snapeda_3437ea2o/TPS22994RUKT.kicad_sym symbols/other/TPS22994RUKT.kicad_sym NEW 6b831ae3eeb47798d3e85337aacb3a0df86d5c14d2daaf3b4ad5d437efdaa060 category=other
585 footprint /var/folders/cv/lwgyj_k14gx2rc3t2rlt29s80000gn/T/snapeda_3437ea2o/IC_TPS22994RUKT.kicad_mod footprints/other/TPS22994RUKT.pretty/IC_TPS22994RUKT.kicad_mod NEW e944ab79e8329ee74d476f5b5681c47a51b87934899666fdd9fb3e845e7fe9a9 category=other
586 3d-model /var/folders/cv/lwgyj_k14gx2rc3t2rlt29s80000gn/T/snapeda_3437ea2o/TPS22994RUKT.step 3dmodels/other/TPS22994RUKT.step NEW a44bda21a55db989d8a014334760c524b752014f8631ec4fa5ffbfb4afb123cb category=other
587 symbol /var/folders/cv/lwgyj_k14gx2rc3t2rlt29s80000gn/T/snapeda_7ttdnj8a/TPD2E007DCKR.kicad_sym symbols/other/TPD2E007DCKR.kicad_sym NEW 018fd9aa3c29a1e9f0bf583ad984c596fcb736287152718de3e8c5ada53bd8a7 category=other
588 footprint /var/folders/cv/lwgyj_k14gx2rc3t2rlt29s80000gn/T/snapeda_7ttdnj8a/SOT65P210X110-3N.kicad_mod footprints/other/TPD2E007DCKR.pretty/SOT65P210X110-3N.kicad_mod NEW 544d8b6214f4e38b2c5a1f8f11470c1bf9252f4e35556602c9651f8b9699dc4d category=other
589 3d-model /var/folders/cv/lwgyj_k14gx2rc3t2rlt29s80000gn/T/snapeda_7ttdnj8a/TPD2E007DCKR.step 3dmodels/other/TPD2E007DCKR.step NEW 6afbb9ada6c55d0877da87ccb6a1e46fca9a894c44433647641a78de98c07ba6 category=other
590 symbol /Users/michelebigi/Downloads/FSC-BT1058.kicad_sym symbols/other/FSC-BT1058.kicad_sym NEW db17532e94d0869cfeb7c1cc3557df7a2be8a8a5c012ffcf945fe72cc7d150dd category=other
591 footprint /Users/michelebigi/Downloads/FSC-BT1058.kicad_mod footprints/other/FSC-BT1058.pretty/FSC-BT1058.kicad_mod NEW 8a07a179860a0effe8c931039acf7228be3e680d5e433efaa476c08e8c3ddc18 category=other
592 3d-model /Users/michelebigi/Downloads/FSC-BT1058.step 3dmodels/other/FSC-BT1058.step NEW cea88ca65e7f9b06ce5cb4949fce0614f2f21414267b4cc1655f1037cc54c1aa category=other
593 symbol /Users/michelebigi/Downloads/FSC-BT1058.kicad_sym symbols/other/MIKILAB_FSC-BT1058.kicad_sym NEW db17532e94d0869cfeb7c1cc3557df7a2be8a8a5c012ffcf945fe72cc7d150dd category=other
594 footprint /Users/michelebigi/Downloads/FSC-BT1058.kicad_mod footprints/other/MIKILAB_FSC-BT1058.pretty/MIKILAB_FSC-BT1058_FSC-BT1058.kicad_mod RENAMED_COLLISION 8a07a179860a0effe8c931039acf7228be3e680d5e433efaa476c08e8c3ddc18 filename collision with footprints/other/FSC-BT1058.pretty/FSC-BT1058.kicad_mod (different content, verified by SHA256) -> renamed to 'MIKILAB_FSC-BT1058_FSC-BT1058.kicad_mod'
595 3d-model /Users/michelebigi/Downloads/FSC-BT1058.step 3dmodels/other/MIKILAB_FSC-BT1058.step NEW cea88ca65e7f9b06ce5cb4949fce0614f2f21414267b4cc1655f1037cc54c1aa category=other
596 symbol /Users/michelebigi/Downloads/FSC-BT1058_vertical_2x.kicad_sym symbols/other/MIKILAB_FSC-BT1058.kicad_sym UPDATED 6f8c2badf22a2575ec8bf1091fde6bc9b45369006f3ff76322cc1e1fcfc57554 category=other
597 footprint /Users/michelebigi/Downloads/FSC-BT1058.kicad_mod footprints/other/MIKILAB_FSC-BT1058.pretty/FSC-BT1058.kicad_mod UPDATED 8a07a179860a0effe8c931039acf7228be3e680d5e433efaa476c08e8c3ddc18 category=other
598 3d-model /Users/michelebigi/Downloads/FSC-BT1058.step 3dmodels/other/MIKILAB_FSC-BT1058.step DUPLICATE cea88ca65e7f9b06ce5cb4949fce0614f2f21414267b4cc1655f1037cc54c1aa category=other
599 symbol /Users/michelebigi/Downloads/FSC-BT1058_vertical_2x_symmetrical.kicad_sym symbols/other/MIKILAB_FSC-BT1058.kicad_sym UPDATED 6f8c2badf22a2575ec8bf1091fde6bc9b45369006f3ff76322cc1e1fcfc57554 category=other
600 footprint /Users/michelebigi/Downloads/FSC-BT1058.kicad_mod footprints/other/MIKILAB_FSC-BT1058.pretty/FSC-BT1058.kicad_mod UPDATED 8a07a179860a0effe8c931039acf7228be3e680d5e433efaa476c08e8c3ddc18 category=other
601 3d-model /Users/michelebigi/Downloads/FSC-BT1058.step 3dmodels/other/MIKILAB_FSC-BT1058.step DUPLICATE cea88ca65e7f9b06ce5cb4949fce0614f2f21414267b4cc1655f1037cc54c1aa category=other
602 symbol /Users/michelebigi/Downloads/FSC-BT1058_vertical_2x_both_sides.kicad_sym symbols/other/MIKILAB_FSC-BT1058.kicad_sym UPDATED 159a58ddbde9b7ea5b62e73334e7a27217e66ee198d7ff52b5ce64ce598a60e3 category=other
603 footprint /Users/michelebigi/Downloads/FSC-BT1058.kicad_mod footprints/other/MIKILAB_FSC-BT1058.pretty/FSC-BT1058.kicad_mod UPDATED 8a07a179860a0effe8c931039acf7228be3e680d5e433efaa476c08e8c3ddc18 category=other
604 3d-model /Users/michelebigi/Downloads/FSC-BT1058.step 3dmodels/other/MIKILAB_FSC-BT1058.step DUPLICATE cea88ca65e7f9b06ce5cb4949fce0614f2f21414267b4cc1655f1037cc54c1aa category=other
605 symbol /Users/michelebigi/Downloads/FSC-BT1058_vertical_2x_both_sides.kicad_sym symbols/other/MIKILAB_FSC-BT1058.kicad_sym UPDATED 159a58ddbde9b7ea5b62e73334e7a27217e66ee198d7ff52b5ce64ce598a60e3 category=other
606 footprint /Users/michelebigi/Downloads/FSC-BT1058.kicad_mod footprints/other/MIKILAB_FSC-BT1058.pretty/FSC-BT1058.kicad_mod UPDATED 8a07a179860a0effe8c931039acf7228be3e680d5e433efaa476c08e8c3ddc18 category=other
607 3d-model /Users/michelebigi/Downloads/FSC-BT1058.step 3dmodels/other/MIKILAB_FSC-BT1058.step DUPLICATE cea88ca65e7f9b06ce5cb4949fce0614f2f21414267b4cc1655f1037cc54c1aa category=other
608 symbol symbols/other/MIKILAB_FSC-BT1058.kicad_sym symbols/other/FSC-BT1058.kicad_sym CONSOLIDATED 4461abd03379ad36d8ccbc362ea67ee7ab217f2a2afd62d79c832b072dd9f374 double-prefixed duplicate library (MIKILAB_MIKILAB_FSC_BT1058) merged into MIKILAB_FSC_BT1058; stale symbols/other/FSC-BT1058.kicad_sym overwritten with this content; Footprint property fixed to MIKILAB_FSC_BT1058:FSC-BT1058; category=other
609 footprint footprints/other/MIKILAB_FSC-BT1058.pretty/FSC-BT1058.kicad_mod footprints/other/FSC-BT1058.pretty/FSC-BT1058.kicad_mod CONSOLIDATED 0bc240f2e7828ccec5794285c8d5685f08fb8d1d3094ede8111ffaaca50cd079 double-prefixed duplicate library (MIKILAB_MIKILAB_FSC_BT1058) merged into MIKILAB_FSC_BT1058; stale empty footprints/other/FSC-BT1058.pretty/ replaced with this file; model ref fixed to 3dmodels/other/FSC-BT1058.step; category=other
610 3d-model 3dmodels/other/MIKILAB_FSC-BT1058.step (removed) REMOVED cea88ca65e7f9b06ce5cb4949fce0614f2f21414267b4cc1655f1037cc54c1aa byte-identical duplicate of 3dmodels/other/FSC-BT1058.step, removed; category=other
611 symbol /private/tmp/rmtest/TESTPART.kicad_sym symbols/other/TESTPART.kicad_sym NEW 9dd05201adaf0b2ff542da3882782d90098df849b8f5cb65ade71f255cf6a56a category=other
612 symbol symbols/other/TESTPART.kicad_sym REMOVED 9dd05201adaf0b2ff542da3882782d90098df849b8f5cb65ade71f255cf6a56a category=other
@@ -0,0 +1,29 @@
(footprint SODFL1006X40N (layer F.Cu) (tedit 6A8870A6)
(descr "")
(attr smd)
(fp_text reference REF** (at 0.88089 -1.065031 0) (layer F.SilkS)
(effects (font (size 0.64 0.64) (thickness 0.15)))
)
(fp_text value SODFL1006X40N (at 4.02717 1.06883 0) (layer F.Fab)
(effects (font (size 0.64 0.64) (thickness 0.15)))
)
(pad 1 smd roundrect (roundrect_rratio 0.25) (at -0.5 0.0) (size 0.5 0.3) (layers F.Cu F.Mask F.Paste) (solder_mask_margin 0.102))
(pad 2 smd roundrect (roundrect_rratio 0.25) (at 0.5 0.0) (size 0.5 0.3) (layers F.Cu F.Mask F.Paste) (solder_mask_margin 0.102))
(fp_line (start -0.43 -0.33) (end 0.43 -0.33) (layer F.Fab) (width 0.127))
(fp_line (start 0.43 -0.33) (end 0.43 0.33) (layer F.Fab) (width 0.127))
(fp_line (start 0.43 0.33) (end -0.43 0.33) (layer F.Fab) (width 0.127))
(fp_line (start -0.43 0.33) (end -0.43 -0.33) (layer F.Fab) (width 0.127))
(fp_line (start -1.0 -0.5) (end 1.0 -0.5) (layer F.CrtYd) (width 0.05))
(fp_line (start 1.0 -0.5) (end 1.0 0.5) (layer F.CrtYd) (width 0.05))
(fp_line (start 1.0 0.5) (end -1.0 0.5) (layer F.CrtYd) (width 0.05))
(fp_line (start -1.0 0.5) (end -1.0 -0.5) (layer F.CrtYd) (width 0.05))
(fp_circle (center -1.2 0.0) (end -1.12 0.0) (layer F.SilkS) (width 0.127))
(fp_line (start -0.43 -0.38) (end 0.43 -0.38) (layer F.SilkS) (width 0.127))
(fp_line (start 0.43 0.38) (end -0.43 0.38) (layer F.SilkS) (width 0.127))
(model ${KIPRJMOD}/3dmodels/other/ESD9B5.0ST5G.step
(offset (xyz 0 0 0))
(scale (xyz 1 1 1))
(rotate (xyz 0 0 0))
)
)
@@ -0,0 +1,73 @@
(footprint "FSC-BT1058"
(version 20240108)
(generator pcbnew)
(layer "F.Cu")
(descr "Feasycom FSC-BT1058, 13x26.9mm, 52-pin, 1.0mm pitch")
(tags "FSC-BT1058 QCC5181 Bluetooth audio")
(attr smd)
(fp_rect (start -6.5 -13.45) (end 6.5 13.45) (stroke (width 0.15) (type default)) (fill none) (layer "F.SilkS"))
(fp_rect (start -6.7 -13.65) (end 6.7 13.65) (stroke (width 0.05) (type default)) (fill none) (layer "F.CrtYd"))
(fp_text reference "REF**" (at 0 -14.6) (layer "F.SilkS") (effects (font (size 1 1) (thickness 0.15))))
(fp_text value "FSC-BT1058" (at 0 14.6) (layer "F.Fab") hide (effects (font (size 1 1) (thickness 0.15))))
(fp_circle (center -5.5 -12.5) (end -5.2 -12.5) (stroke (width 0.2) (type default)) (fill none) (layer "F.SilkS"))
(fp_rect (start -6.5 -13.45) (end 6.5 13.45) (stroke (width 0.05) (type default)) (fill none) (layer "F.Fab"))
(fp_rect (start -6.5 13.45) (end 6.5 18.45) (stroke (width 0.12) (type dash)) (fill none) (layer "Dwgs.User"))
(fp_text user "ANT KEEP-OUT" (at 0 15.9) (layer "Dwgs.User") (effects (font (size 0.9 0.9) (thickness 0.12))))
(pad "1" smd roundrect (at -6.2 12.5) (size 0.6 1.6) (layers "F.Cu" "F.Paste" "F.Mask") (roundrect_rratio 0.2))
(pad "2" smd roundrect (at -6.2 11.5) (size 0.6 1.6) (layers "F.Cu" "F.Paste" "F.Mask") (roundrect_rratio 0.2))
(pad "3" smd roundrect (at -6.2 10.5) (size 0.6 1.6) (layers "F.Cu" "F.Paste" "F.Mask") (roundrect_rratio 0.2))
(pad "4" smd roundrect (at -6.2 9.5) (size 0.6 1.6) (layers "F.Cu" "F.Paste" "F.Mask") (roundrect_rratio 0.2))
(pad "5" smd roundrect (at -6.2 8.5) (size 0.6 1.6) (layers "F.Cu" "F.Paste" "F.Mask") (roundrect_rratio 0.2))
(pad "6" smd roundrect (at -6.2 7.5) (size 0.6 1.6) (layers "F.Cu" "F.Paste" "F.Mask") (roundrect_rratio 0.2))
(pad "7" smd roundrect (at -6.2 6.5) (size 0.6 1.6) (layers "F.Cu" "F.Paste" "F.Mask") (roundrect_rratio 0.2))
(pad "8" smd roundrect (at -6.2 5.5) (size 0.6 1.6) (layers "F.Cu" "F.Paste" "F.Mask") (roundrect_rratio 0.2))
(pad "9" smd roundrect (at -6.2 4.5) (size 0.6 1.6) (layers "F.Cu" "F.Paste" "F.Mask") (roundrect_rratio 0.2))
(pad "10" smd roundrect (at -6.2 3.5) (size 0.6 1.6) (layers "F.Cu" "F.Paste" "F.Mask") (roundrect_rratio 0.2))
(pad "11" smd roundrect (at -6.2 2.5) (size 0.6 1.6) (layers "F.Cu" "F.Paste" "F.Mask") (roundrect_rratio 0.2))
(pad "12" smd roundrect (at -6.2 1.5) (size 0.6 1.6) (layers "F.Cu" "F.Paste" "F.Mask") (roundrect_rratio 0.2))
(pad "13" smd roundrect (at -6.2 0.5) (size 0.6 1.6) (layers "F.Cu" "F.Paste" "F.Mask") (roundrect_rratio 0.2))
(pad "14" smd roundrect (at -6.2 -0.5) (size 0.6 1.6) (layers "F.Cu" "F.Paste" "F.Mask") (roundrect_rratio 0.2))
(pad "15" smd roundrect (at -6.2 -1.5) (size 0.6 1.6) (layers "F.Cu" "F.Paste" "F.Mask") (roundrect_rratio 0.2))
(pad "16" smd roundrect (at -6.2 -2.5) (size 0.6 1.6) (layers "F.Cu" "F.Paste" "F.Mask") (roundrect_rratio 0.2))
(pad "17" smd roundrect (at -6.2 -3.5) (size 0.6 1.6) (layers "F.Cu" "F.Paste" "F.Mask") (roundrect_rratio 0.2))
(pad "18" smd roundrect (at -6.2 -4.5) (size 0.6 1.6) (layers "F.Cu" "F.Paste" "F.Mask") (roundrect_rratio 0.2))
(pad "19" smd roundrect (at -6.2 -5.5) (size 0.6 1.6) (layers "F.Cu" "F.Paste" "F.Mask") (roundrect_rratio 0.2))
(pad "20" smd roundrect (at -6.2 -6.5) (size 0.6 1.6) (layers "F.Cu" "F.Paste" "F.Mask") (roundrect_rratio 0.2))
(pad "21" smd roundrect (at -6.2 -7.5) (size 0.6 1.6) (layers "F.Cu" "F.Paste" "F.Mask") (roundrect_rratio 0.2))
(pad "22" smd roundrect (at -6.2 -8.5) (size 0.6 1.6) (layers "F.Cu" "F.Paste" "F.Mask") (roundrect_rratio 0.2))
(pad "23" smd roundrect (at -6.2 -9.5) (size 0.6 1.6) (layers "F.Cu" "F.Paste" "F.Mask") (roundrect_rratio 0.2))
(pad "24" smd roundrect (at -6.2 -10.5) (size 0.6 1.6) (layers "F.Cu" "F.Paste" "F.Mask") (roundrect_rratio 0.2))
(pad "25" smd roundrect (at -6.2 -11.5) (size 0.6 1.6) (layers "F.Cu" "F.Paste" "F.Mask") (roundrect_rratio 0.2))
(pad "26" smd roundrect (at -6.2 -12.5) (size 0.6 1.6) (layers "F.Cu" "F.Paste" "F.Mask") (roundrect_rratio 0.2))
(pad "52" smd roundrect (at 6.2 12.5) (size 0.6 1.6) (layers "F.Cu" "F.Paste" "F.Mask") (roundrect_rratio 0.2))
(pad "51" smd roundrect (at 6.2 11.5) (size 0.6 1.6) (layers "F.Cu" "F.Paste" "F.Mask") (roundrect_rratio 0.2))
(pad "50" smd roundrect (at 6.2 10.5) (size 0.6 1.6) (layers "F.Cu" "F.Paste" "F.Mask") (roundrect_rratio 0.2))
(pad "49" smd roundrect (at 6.2 9.5) (size 0.6 1.6) (layers "F.Cu" "F.Paste" "F.Mask") (roundrect_rratio 0.2))
(pad "48" smd roundrect (at 6.2 8.5) (size 0.6 1.6) (layers "F.Cu" "F.Paste" "F.Mask") (roundrect_rratio 0.2))
(pad "47" smd roundrect (at 6.2 7.5) (size 0.6 1.6) (layers "F.Cu" "F.Paste" "F.Mask") (roundrect_rratio 0.2))
(pad "46" smd roundrect (at 6.2 6.5) (size 0.6 1.6) (layers "F.Cu" "F.Paste" "F.Mask") (roundrect_rratio 0.2))
(pad "45" smd roundrect (at 6.2 5.5) (size 0.6 1.6) (layers "F.Cu" "F.Paste" "F.Mask") (roundrect_rratio 0.2))
(pad "44" smd roundrect (at 6.2 4.5) (size 0.6 1.6) (layers "F.Cu" "F.Paste" "F.Mask") (roundrect_rratio 0.2))
(pad "43" smd roundrect (at 6.2 3.5) (size 0.6 1.6) (layers "F.Cu" "F.Paste" "F.Mask") (roundrect_rratio 0.2))
(pad "42" smd roundrect (at 6.2 2.5) (size 0.6 1.6) (layers "F.Cu" "F.Paste" "F.Mask") (roundrect_rratio 0.2))
(pad "41" smd roundrect (at 6.2 1.5) (size 0.6 1.6) (layers "F.Cu" "F.Paste" "F.Mask") (roundrect_rratio 0.2))
(pad "40" smd roundrect (at 6.2 0.5) (size 0.6 1.6) (layers "F.Cu" "F.Paste" "F.Mask") (roundrect_rratio 0.2))
(pad "39" smd roundrect (at 6.2 -0.5) (size 0.6 1.6) (layers "F.Cu" "F.Paste" "F.Mask") (roundrect_rratio 0.2))
(pad "38" smd roundrect (at 6.2 -1.5) (size 0.6 1.6) (layers "F.Cu" "F.Paste" "F.Mask") (roundrect_rratio 0.2))
(pad "37" smd roundrect (at 6.2 -2.5) (size 0.6 1.6) (layers "F.Cu" "F.Paste" "F.Mask") (roundrect_rratio 0.2))
(pad "36" smd roundrect (at 6.2 -3.5) (size 0.6 1.6) (layers "F.Cu" "F.Paste" "F.Mask") (roundrect_rratio 0.2))
(pad "35" smd roundrect (at 6.2 -4.5) (size 0.6 1.6) (layers "F.Cu" "F.Paste" "F.Mask") (roundrect_rratio 0.2))
(pad "34" smd roundrect (at 6.2 -5.5) (size 0.6 1.6) (layers "F.Cu" "F.Paste" "F.Mask") (roundrect_rratio 0.2))
(pad "33" smd roundrect (at 6.2 -6.5) (size 0.6 1.6) (layers "F.Cu" "F.Paste" "F.Mask") (roundrect_rratio 0.2))
(pad "32" smd roundrect (at 6.2 -7.5) (size 0.6 1.6) (layers "F.Cu" "F.Paste" "F.Mask") (roundrect_rratio 0.2))
(pad "31" smd roundrect (at 6.2 -8.5) (size 0.6 1.6) (layers "F.Cu" "F.Paste" "F.Mask") (roundrect_rratio 0.2))
(pad "30" smd roundrect (at 6.2 -9.5) (size 0.6 1.6) (layers "F.Cu" "F.Paste" "F.Mask") (roundrect_rratio 0.2))
(pad "29" smd roundrect (at 6.2 -10.5) (size 0.6 1.6) (layers "F.Cu" "F.Paste" "F.Mask") (roundrect_rratio 0.2))
(pad "28" smd roundrect (at 6.2 -11.5) (size 0.6 1.6) (layers "F.Cu" "F.Paste" "F.Mask") (roundrect_rratio 0.2))
(pad "27" smd roundrect (at 6.2 -12.5) (size 0.6 1.6) (layers "F.Cu" "F.Paste" "F.Mask") (roundrect_rratio 0.2))
(model ${KIPRJMOD}/3dmodels/other/FSC-BT1058.step
(offset (xyz 0 0 0))
(scale (xyz 1 1 1))
(rotate (xyz 0 0 0))
)
)
@@ -0,0 +1,69 @@
(footprint "SOT665_NXP" (version 20211014) (generator pcbnew)
(layer "F.Cu")
(tags "PESD5V0L4UW ")
(attr smd)
(fp_text reference "REF**" (at 0 0 unlocked) (layer F.SilkS)
(effects (font (size 1 1) (thickness 0.15)))
)
(fp_text value SOT665_NXP (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 -0.9525 -1.6303) (layer F.SilkS)
(effects (font (size 1 1) (thickness 0.15)))
)
(fp_text user "*" (at -0.3937 -1.1223) (layer F.Fab)
(effects (font (size 1 1) (thickness 0.15)))
)
(fp_line (start -0.6477 -0.3603) (end -0.6477 -0.6397) (layer "F.Fab") (width 0.0254))
(fp_line (start -0.6477 -0.6397) (end -0.8509 -0.6397) (layer "F.Fab") (width 0.0254))
(fp_line (start -0.8509 -0.6397) (end -0.8509 -0.3603) (layer "F.Fab") (width 0.0254))
(fp_line (start -0.8509 -0.3603) (end -0.6477 -0.3603) (layer "F.Fab") (width 0.0254))
(fp_line (start -0.6477 0.1397) (end -0.6477 -0.1397) (layer "F.Fab") (width 0.0254))
(fp_line (start -0.6477 -0.1397) (end -0.8509 -0.1397) (layer "F.Fab") (width 0.0254))
(fp_line (start -0.8509 -0.1397) (end -0.8509 0.1397) (layer "F.Fab") (width 0.0254))
(fp_line (start -0.8509 0.1397) (end -0.6477 0.1397) (layer "F.Fab") (width 0.0254))
(fp_line (start -0.6477 0.6397) (end -0.6477 0.3603) (layer "F.Fab") (width 0.0254))
(fp_line (start -0.6477 0.3603) (end -0.8509 0.3603) (layer "F.Fab") (width 0.0254))
(fp_line (start -0.8509 0.3603) (end -0.8509 0.6397) (layer "F.Fab") (width 0.0254))
(fp_line (start -0.8509 0.6397) (end -0.6477 0.6397) (layer "F.Fab") (width 0.0254))
(fp_line (start 0.6477 0.3603) (end 0.6477 0.6397) (layer "F.Fab") (width 0.0254))
(fp_line (start 0.6477 0.6397) (end 0.8509 0.6397) (layer "F.Fab") (width 0.0254))
(fp_line (start 0.8509 0.6397) (end 0.8509 0.3603) (layer "F.Fab") (width 0.0254))
(fp_line (start 0.8509 0.3603) (end 0.6477 0.3603) (layer "F.Fab") (width 0.0254))
(fp_line (start 0.6477 -0.6397) (end 0.6477 -0.3603) (layer "F.Fab") (width 0.0254))
(fp_line (start 0.6477 -0.3603) (end 0.8509 -0.3603) (layer "F.Fab") (width 0.0254))
(fp_line (start 0.8509 -0.3603) (end 0.8509 -0.6397) (layer "F.Fab") (width 0.0254))
(fp_line (start 0.8509 -0.6397) (end 0.6477 -0.6397) (layer "F.Fab") (width 0.0254))
(fp_line (start -0.9017 1.1049) (end -0.9017 0.8683) (layer "F.CrtYd") (width 0.1524))
(fp_line (start -0.9017 0.8683) (end -1.4859 0.8683) (layer "F.CrtYd") (width 0.1524))
(fp_line (start -1.4859 0.8683) (end -1.4859 -0.8683) (layer "F.CrtYd") (width 0.1524))
(fp_line (start -1.4859 -0.8683) (end -0.9017 -0.8683) (layer "F.CrtYd") (width 0.1524))
(fp_line (start -0.9017 -0.8683) (end -0.9017 -1.1049) (layer "F.CrtYd") (width 0.1524))
(fp_line (start -0.9017 -1.1049) (end 0.9017 -1.1049) (layer "F.CrtYd") (width 0.1524))
(fp_line (start 0.9017 -1.1049) (end 0.9017 -0.9191) (layer "F.CrtYd") (width 0.1524))
(fp_line (start 0.9017 -0.9191) (end 1.4859 -0.9191) (layer "F.CrtYd") (width 0.1524))
(fp_line (start 1.4859 -0.9191) (end 1.4859 0.9191) (layer "F.CrtYd") (width 0.1524))
(fp_line (start 1.4859 0.9191) (end 0.9017 0.9191) (layer "F.CrtYd") (width 0.1524))
(fp_line (start 0.9017 0.9191) (end 0.9017 1.1049) (layer "F.CrtYd") (width 0.1524))
(fp_line (start 0.9017 1.1049) (end -0.9017 1.1049) (layer "F.CrtYd") (width 0.1524))
(fp_text user "*" (at -0.3937 -1.1223 unlocked) (layer "F.Fab")
(effects (font (size 1 1) (thickness 0.15)))
)
(fp_text user "*" (at -0.9525 -1.6303 unlocked) (layer "F.SilkS")
(effects (font (size 1 1) (thickness 0.15)))
)
(fp_line (start -0.7747 0.9779) (end 0.077048 0.9779) (layer "F.SilkS") (width 0.1524))
(fp_line (start 0.077048 -0.9779) (end -0.7747 -0.9779) (layer "F.SilkS") (width 0.1524))
(fp_line (start -0.6477 0.8509) (end 0.6477 0.8509) (layer "F.Fab") (width 0.0254))
(fp_line (start 0.6477 0.8509) (end 0.6477 -0.8509) (layer "F.Fab") (width 0.0254))
(fp_line (start 0.6477 -0.8509) (end -0.6477 -0.8509) (layer "F.Fab") (width 0.0254))
(fp_line (start -0.6477 -0.8509) (end -0.6477 0.8509) (layer "F.Fab") (width 0.0254))
(pad "1" smd rect (at -0.6985 -0.499999) (size 1.016 0.2286) (layers "F.Cu" "F.Paste" "F.Mask"))
(pad "2" smd rect (at -0.6985 0) (size 1.016 0.2286) (layers "F.Cu" "F.Paste" "F.Mask"))
(pad "3" smd rect (at -0.6985 0.499999) (size 1.016 0.2286) (layers "F.Cu" "F.Paste" "F.Mask"))
(pad "4" smd rect (at 0.6985 0.499999) (size 1.016 0.3302) (layers "F.Cu" "F.Paste" "F.Mask"))
(pad "5" smd rect (at 0.6985 -0.499999) (size 1.016 0.3302) (layers "F.Cu" "F.Paste" "F.Mask"))
)
@@ -0,0 +1,47 @@
(footprint SOT65P210X110-3N (layer F.Cu) (tedit 6A89C42F)
(descr "")
(attr smd)
(fp_text reference REF** (at 1.75473 -2.95 0) (layer F.SilkS)
(effects (font (size 1.642 1.642) (thickness 0.15)))
)
(fp_text value SOT65P210X110-3N (at 13.21073 2.769175 0) (layer F.Fab)
(effects (font (size 1.64033858268 1.64033858268) (thickness 0.15)))
)
(pad 1 smd rect (at -1.0414 -0.6604) (size 1.1684 0.3556) (layers F.Cu F.Mask F.Paste) (solder_mask_margin 0.102))
(pad 2 smd rect (at -1.0414 0.6604) (size 1.1684 0.3556) (layers F.Cu F.Mask F.Paste) (solder_mask_margin 0.102))
(pad 3 smd rect (at 1.0414 0.0) (size 1.1684 0.3556) (layers F.Cu F.Mask F.Paste) (solder_mask_margin 0.102))
(fp_line (start 0.7112 -0.508) (end 0.7112 -1.0668) (layer F.SilkS) (width 0.1524))
(fp_line (start -0.2286 1.0668) (end 0.7112 1.0668) (layer F.SilkS) (width 0.1524))
(fp_line (start 0.7112 1.0668) (end 0.7112 0.508) (layer F.SilkS) (width 0.1524))
(fp_line (start 0.7112 -1.0668) (end 0.3048 -1.0668) (layer F.SilkS) (width 0.1524))
(fp_line (start 0.3048 -1.0668) (end -0.2286 -1.0668) (layer F.SilkS) (width 0.1524))
(fp_arc (start -0.00182224076969 -1.06730709937) (end -0.127 -0.7874) (angle -114.0) (layer F.SilkS) (width 0.1524))
(fp_line (start -0.7112 1.0668) (end 0.7112 1.0668) (layer F.Fab) (width 0.0))
(fp_line (start 0.7112 1.0668) (end 0.7112 0.1524) (layer F.Fab) (width 0.0))
(fp_line (start 0.7112 0.1524) (end 0.7112 -0.1524) (layer F.Fab) (width 0.0))
(fp_line (start 0.7112 -0.1524) (end 0.7112 -1.0668) (layer F.Fab) (width 0.0))
(fp_line (start 0.7112 -1.0668) (end 0.3048 -1.0668) (layer F.Fab) (width 0.0))
(fp_line (start 0.3048 -1.0668) (end -0.3048 -1.0668) (layer F.Fab) (width 0.0))
(fp_line (start -0.3048 -1.0668) (end -0.7112 -1.0668) (layer F.Fab) (width 0.0))
(fp_line (start -0.7112 -1.0668) (end -0.7112 -0.7874) (layer F.Fab) (width 0.0))
(fp_line (start -0.7112 -0.7874) (end -0.7112 -0.508) (layer F.Fab) (width 0.0))
(fp_line (start -0.7112 -0.508) (end -0.7112 0.508) (layer F.Fab) (width 0.0))
(fp_line (start -0.7112 -0.7874) (end -1.1938 -0.7874) (layer F.Fab) (width 0.0))
(fp_line (start -1.1938 -0.7874) (end -1.1938 -0.508) (layer F.Fab) (width 0.0))
(fp_line (start -1.1938 -0.508) (end -0.7112 -0.508) (layer F.Fab) (width 0.0))
(fp_line (start -0.7112 1.0668) (end -0.7112 0.7874) (layer F.Fab) (width 0.0))
(fp_line (start -0.7112 0.7874) (end -0.7112 0.508) (layer F.Fab) (width 0.0))
(fp_line (start -0.7112 0.508) (end -1.1938 0.508) (layer F.Fab) (width 0.0))
(fp_line (start -1.1938 0.508) (end -1.1938 0.7874) (layer F.Fab) (width 0.0))
(fp_line (start -1.1938 0.7874) (end -0.7112 0.7874) (layer F.Fab) (width 0.0))
(fp_line (start 0.7112 0.1524) (end 1.1938 0.1524) (layer F.Fab) (width 0.0))
(fp_line (start 1.1938 0.1524) (end 1.1938 -0.1524) (layer F.Fab) (width 0.0))
(fp_line (start 1.1938 -0.1524) (end 0.7112 -0.1524) (layer F.Fab) (width 0.0))
(fp_arc (start 0.0 -1.0668) (end -0.3048 -1.0668) (angle -180.0) (layer F.Fab) (width 0.0))
(model ${KIPRJMOD}/3dmodels/other/TPD2E007DCKR.step
(offset (xyz 0 0 0))
(scale (xyz 1 1 1))
(rotate (xyz 0 0 0))
)
)
@@ -0,0 +1,423 @@
(footprint IC_TPS22994RUKT (layer F.Cu) (tedit 6A89A288)
(descr "")
(attr smd)
(fp_text reference REF** (at 0.04 -3.008 0) (layer F.SilkS)
(effects (font (size 0.8 0.8) (thickness 0.15)))
)
(fp_text value IC_TPS22994RUKT (at 5.12 3.008 0) (layer F.Fab)
(effects (font (size 0.8 0.8) (thickness 0.15)))
)
(pad 6 smd rect (at -0.8 1.5) (size 0.2 0.8) (layers F.Cu))
(pad 7 smd rect (at -0.4 1.5) (size 0.2 0.8) (layers F.Cu))
(pad 8 smd rect (at 0.0 1.5) (size 0.2 0.8) (layers F.Cu))
(pad 9 smd rect (at 0.4 1.5) (size 0.2 0.8) (layers F.Cu))
(pad 10 smd rect (at 0.8 1.5) (size 0.2 0.8) (layers F.Cu))
(pad 16 smd rect (at 0.8 -1.5) (size 0.2 0.8) (layers F.Cu))
(pad 17 smd rect (at 0.4 -1.5) (size 0.2 0.8) (layers F.Cu))
(pad 18 smd rect (at 0.0 -1.5) (size 0.2 0.8) (layers F.Cu))
(pad 19 smd rect (at -0.4 -1.5) (size 0.2 0.8) (layers F.Cu))
(pad 20 smd rect (at -0.8 -1.5) (size 0.2 0.8) (layers F.Cu))
(pad 1 smd rect (at -1.5 -0.8) (size 0.8 0.2) (layers F.Cu))
(pad 2 smd rect (at -1.5 -0.4) (size 0.8 0.2) (layers F.Cu))
(pad 3 smd rect (at -1.5 0.0) (size 0.8 0.2) (layers F.Cu))
(pad 4 smd rect (at -1.5 0.4) (size 0.8 0.2) (layers F.Cu))
(pad 5 smd rect (at -1.5 0.8) (size 0.8 0.2) (layers F.Cu))
(pad 11 smd rect (at 1.5 0.8) (size 0.8 0.2) (layers F.Cu))
(pad 12 smd rect (at 1.5 0.4) (size 0.8 0.2) (layers F.Cu))
(pad 13 smd rect (at 1.5 0.0) (size 0.8 0.2) (layers F.Cu))
(pad 14 smd rect (at 1.5 -0.4) (size 0.8 0.2) (layers F.Cu))
(pad 15 smd rect (at 1.5 -0.8) (size 0.8 0.2) (layers F.Cu))
(pad 21 smd rect (at 0.0 0.0) (size 1.8 1.8) (layers F.Cu))
(pad 22 thru_hole circle (at -0.5 -0.5) (size 0.5 0.5) (drill 0.3) (layers *.Cu))
(pad 23 thru_hole circle (at 0.5 -0.5) (size 0.5 0.5) (drill 0.3) (layers *.Cu))
(pad 24 thru_hole circle (at 0.0 0.0) (size 0.5 0.5) (drill 0.3) (layers *.Cu))
(pad 25 thru_hole circle (at -0.5 0.5) (size 0.5 0.5) (drill 0.3) (layers *.Cu))
(pad 26 thru_hole circle (at 0.5 0.5) (size 0.5 0.5) (drill 0.3) (layers *.Cu))
(fp_poly
(pts
(xy -0.88 -0.88)
(xy -0.15 -0.88)
(xy -0.15 -0.15)
(xy -0.88 -0.15)
) (layer F.Paste) (width 0.01)
)
(fp_circle (center -2.47 -0.8) (end -2.37 -0.8) (layer F.SilkS) (width 0.2))
(fp_circle (center -2.47 -0.8) (end -2.37 -0.8) (layer F.Fab) (width 0.2))
(fp_line (start 1.5 1.5) (end -1.5 1.5) (layer F.Fab) (width 0.127))
(fp_line (start 1.5 -1.5) (end -1.5 -1.5) (layer F.Fab) (width 0.127))
(fp_line (start 1.5 1.5) (end 1.5 -1.5) (layer F.Fab) (width 0.127))
(fp_line (start -1.5 1.5) (end -1.5 -1.5) (layer F.Fab) (width 0.127))
(fp_line (start 1.5 1.5) (end 1.22 1.5) (layer F.SilkS) (width 0.127))
(fp_line (start 1.5 -1.5) (end 1.22 -1.5) (layer F.SilkS) (width 0.127))
(fp_line (start -1.5 1.5) (end -1.22 1.5) (layer F.SilkS) (width 0.127))
(fp_line (start -1.5 -1.5) (end -1.22 -1.5) (layer F.SilkS) (width 0.127))
(fp_line (start 1.5 1.5) (end 1.5 1.22) (layer F.SilkS) (width 0.127))
(fp_line (start 1.5 -1.5) (end 1.5 -1.22) (layer F.SilkS) (width 0.127))
(fp_line (start -1.5 1.5) (end -1.5 1.22) (layer F.SilkS) (width 0.127))
(fp_line (start -1.5 -1.5) (end -1.5 -1.22) (layer F.SilkS) (width 0.127))
(fp_line (start -2.15 2.15) (end 2.15 2.15) (layer F.CrtYd) (width 0.05))
(fp_line (start -2.15 -2.15) (end 2.15 -2.15) (layer F.CrtYd) (width 0.05))
(fp_line (start -2.15 2.15) (end -2.15 -2.15) (layer F.CrtYd) (width 0.05))
(fp_line (start 2.15 2.15) (end 2.15 -2.15) (layer F.CrtYd) (width 0.05))
(fp_poly
(pts
(xy 0.15 -0.88)
(xy 0.88 -0.88)
(xy 0.88 -0.15)
(xy 0.15 -0.15)
) (layer F.Paste) (width 0.01)
)
(fp_poly
(pts
(xy -0.88 0.15)
(xy -0.15 0.15)
(xy -0.15 0.88)
(xy -0.88 0.88)
) (layer F.Paste) (width 0.01)
)
(fp_poly
(pts
(xy 0.15 0.15)
(xy 0.88 0.15)
(xy 0.88 0.88)
(xy 0.15 0.88)
) (layer F.Paste) (width 0.01)
)
(fp_poly
(pts
(xy -0.1 -1.875)
(xy 0.1 -1.875)
(xy 0.1 -1.125)
(xy -0.1 -1.125)
) (layer F.Paste) (width 0.01)
)
(fp_poly
(pts
(xy -1.875 -0.1)
(xy -1.125 -0.1)
(xy -1.125 0.1)
(xy -1.875 0.1)
) (layer F.Paste) (width 0.01)
)
(fp_poly
(pts
(xy -1.875 -0.5)
(xy -1.125 -0.5)
(xy -1.125 -0.3)
(xy -1.875 -0.3)
) (layer F.Paste) (width 0.01)
)
(fp_poly
(pts
(xy -1.875 -0.9)
(xy -1.125 -0.9)
(xy -1.125 -0.7)
(xy -1.875 -0.7)
) (layer F.Paste) (width 0.01)
)
(fp_poly
(pts
(xy -1.875 0.3)
(xy -1.125 0.3)
(xy -1.125 0.5)
(xy -1.875 0.5)
) (layer F.Paste) (width 0.01)
)
(fp_poly
(pts
(xy -1.875 0.7)
(xy -1.125 0.7)
(xy -1.125 0.9)
(xy -1.875 0.9)
) (layer F.Paste) (width 0.01)
)
(fp_poly
(pts
(xy -0.5 -1.875)
(xy -0.3 -1.875)
(xy -0.3 -1.125)
(xy -0.5 -1.125)
) (layer F.Paste) (width 0.01)
)
(fp_poly
(pts
(xy -0.9 -1.875)
(xy -0.7 -1.875)
(xy -0.7 -1.125)
(xy -0.9 -1.125)
) (layer F.Paste) (width 0.01)
)
(fp_poly
(pts
(xy 0.3 -1.875)
(xy 0.5 -1.875)
(xy 0.5 -1.125)
(xy 0.3 -1.125)
) (layer F.Paste) (width 0.01)
)
(fp_poly
(pts
(xy 0.7 -1.875)
(xy 0.9 -1.875)
(xy 0.9 -1.125)
(xy 0.7 -1.125)
) (layer F.Paste) (width 0.01)
)
(fp_poly
(pts
(xy 1.125 -0.1)
(xy 1.875 -0.1)
(xy 1.875 0.1)
(xy 1.125 0.1)
) (layer F.Paste) (width 0.01)
)
(fp_poly
(pts
(xy 1.125 -0.5)
(xy 1.875 -0.5)
(xy 1.875 -0.3)
(xy 1.125 -0.3)
) (layer F.Paste) (width 0.01)
)
(fp_poly
(pts
(xy 1.125 -0.9)
(xy 1.875 -0.9)
(xy 1.875 -0.7)
(xy 1.125 -0.7)
) (layer F.Paste) (width 0.01)
)
(fp_poly
(pts
(xy 1.125 0.3)
(xy 1.875 0.3)
(xy 1.875 0.5)
(xy 1.125 0.5)
) (layer F.Paste) (width 0.01)
)
(fp_poly
(pts
(xy 1.125 0.7)
(xy 1.875 0.7)
(xy 1.875 0.9)
(xy 1.125 0.9)
) (layer F.Paste) (width 0.01)
)
(fp_poly
(pts
(xy -0.1 1.125)
(xy 0.1 1.125)
(xy 0.1 1.875)
(xy -0.1 1.875)
) (layer F.Paste) (width 0.01)
)
(fp_poly
(pts
(xy -0.5 1.125)
(xy -0.3 1.125)
(xy -0.3 1.875)
(xy -0.5 1.875)
) (layer F.Paste) (width 0.01)
)
(fp_poly
(pts
(xy -0.9 1.125)
(xy -0.7 1.125)
(xy -0.7 1.875)
(xy -0.9 1.875)
) (layer F.Paste) (width 0.01)
)
(fp_poly
(pts
(xy 0.3 1.125)
(xy 0.5 1.125)
(xy 0.5 1.875)
(xy 0.3 1.875)
) (layer F.Paste) (width 0.01)
)
(fp_poly
(pts
(xy 0.7 1.125)
(xy 0.9 1.125)
(xy 0.9 1.875)
(xy 0.7 1.875)
) (layer F.Paste) (width 0.01)
)
(fp_poly
(pts
(xy -1.95 -0.15)
(xy -1.05 -0.15)
(xy -1.05 0.15)
(xy -1.95 0.15)
) (layer F.Mask) (width 0.01)
)
(fp_poly
(pts
(xy -0.15 -1.95)
(xy 0.15 -1.95)
(xy 0.15 -1.05)
(xy -0.15 -1.05)
) (layer F.Mask) (width 0.01)
)
(fp_poly
(pts
(xy -1.95 -0.55)
(xy -1.05 -0.55)
(xy -1.05 -0.25)
(xy -1.95 -0.25)
) (layer F.Mask) (width 0.01)
)
(fp_poly
(pts
(xy -1.95 -0.95)
(xy -1.05 -0.95)
(xy -1.05 -0.65)
(xy -1.95 -0.65)
) (layer F.Mask) (width 0.01)
)
(fp_poly
(pts
(xy -1.95 0.25)
(xy -1.05 0.25)
(xy -1.05 0.55)
(xy -1.95 0.55)
) (layer F.Mask) (width 0.01)
)
(fp_poly
(pts
(xy -1.95 0.65)
(xy -1.05 0.65)
(xy -1.05 0.95)
(xy -1.95 0.95)
) (layer F.Mask) (width 0.01)
)
(fp_poly
(pts
(xy -0.55 -1.95)
(xy -0.25 -1.95)
(xy -0.25 -1.05)
(xy -0.55 -1.05)
) (layer F.Mask) (width 0.01)
)
(fp_poly
(pts
(xy -0.95 -1.95)
(xy -0.65 -1.95)
(xy -0.65 -1.05)
(xy -0.95 -1.05)
) (layer F.Mask) (width 0.01)
)
(fp_poly
(pts
(xy 0.25 -1.95)
(xy 0.55 -1.95)
(xy 0.55 -1.05)
(xy 0.25 -1.05)
) (layer F.Mask) (width 0.01)
)
(fp_poly
(pts
(xy 0.65 -1.95)
(xy 0.95 -1.95)
(xy 0.95 -1.05)
(xy 0.65 -1.05)
) (layer F.Mask) (width 0.01)
)
(fp_poly
(pts
(xy 1.05 -0.15)
(xy 1.95 -0.15)
(xy 1.95 0.15)
(xy 1.05 0.15)
) (layer F.Mask) (width 0.01)
)
(fp_poly
(pts
(xy 1.05 -0.55)
(xy 1.95 -0.55)
(xy 1.95 -0.25)
(xy 1.05 -0.25)
) (layer F.Mask) (width 0.01)
)
(fp_poly
(pts
(xy 1.05 -0.95)
(xy 1.95 -0.95)
(xy 1.95 -0.65)
(xy 1.05 -0.65)
) (layer F.Mask) (width 0.01)
)
(fp_poly
(pts
(xy 1.05 0.25)
(xy 1.95 0.25)
(xy 1.95 0.55)
(xy 1.05 0.55)
) (layer F.Mask) (width 0.01)
)
(fp_poly
(pts
(xy 1.05 0.65)
(xy 1.95 0.65)
(xy 1.95 0.95)
(xy 1.05 0.95)
) (layer F.Mask) (width 0.01)
)
(fp_poly
(pts
(xy -0.15 1.05)
(xy 0.15 1.05)
(xy 0.15 1.95)
(xy -0.15 1.95)
) (layer F.Mask) (width 0.01)
)
(fp_poly
(pts
(xy -0.55 1.05)
(xy -0.25 1.05)
(xy -0.25 1.95)
(xy -0.55 1.95)
) (layer F.Mask) (width 0.01)
)
(fp_poly
(pts
(xy -0.95 1.05)
(xy -0.65 1.05)
(xy -0.65 1.95)
(xy -0.95 1.95)
) (layer F.Mask) (width 0.01)
)
(fp_poly
(pts
(xy 0.25 1.05)
(xy 0.55 1.05)
(xy 0.55 1.95)
(xy 0.25 1.95)
) (layer F.Mask) (width 0.01)
)
(fp_poly
(pts
(xy 0.65 1.05)
(xy 0.95 1.05)
(xy 0.95 1.95)
(xy 0.65 1.95)
) (layer F.Mask) (width 0.01)
)
(fp_poly
(pts
(xy -0.95 -0.95)
(xy 0.95 -0.95)
(xy 0.95 0.95)
(xy -0.95 0.95)
) (layer F.Mask) (width 0.01)
)
(fp_text user "Stencil thickness 0.1 mm " (at -2.5 4.5) (layer F.Fab)
(effects (font (size 0.32 0.32) (thickness 0.15)))
)
(model ${KIPRJMOD}/3dmodels/other/TPS22994RUKT.step
(offset (xyz 0 0 0))
(scale (xyz 1 1 1))
(rotate (xyz 0 0 0))
)
)
+5
View File
@@ -36,12 +36,17 @@
(lib (name "MIKILAB_25AA1024")(type "KiCad")(uri "${KIPRJMOD}/footprints/other/25AA1024.pretty")(options "")(descr "25AA1024.pretty"))
(lib (name "MIKILAB_ADG936BRUZ")(type "KiCad")(uri "${KIPRJMOD}/footprints/other/ADG936BRUZ.pretty")(options "")(descr "ADG936BRUZ.pretty"))
(lib (name "MIKILAB_CDCLVC1102PW")(type "KiCad")(uri "${KIPRJMOD}/footprints/other/CDCLVC1102PW.pretty")(options "")(descr "CDCLVC1102PW.pretty"))
(lib (name "MIKILAB_ESD9B5_0ST5G")(type "KiCad")(uri "${KIPRJMOD}/footprints/other/ESD9B5.0ST5G.pretty")(options "")(descr "ESD9B5.0ST5G.pretty"))
(lib (name "MIKILAB_FSC_BT1058")(type "KiCad")(uri "${KIPRJMOD}/footprints/other/FSC-BT1058.pretty")(options "")(descr "FSC-BT1058.pretty"))
(lib (name "MIKILAB_IC_TPS63020DSJT")(type "KiCad")(uri "${KIPRJMOD}/footprints/other/IC_TPS63020DSJT.pretty")(options "")(descr "IC_TPS63020DSJT.pretty"))
(lib (name "MIKILAB_PESD5V0L4UW")(type "KiCad")(uri "${KIPRJMOD}/footprints/other/PESD5V0L4UW.pretty")(options "")(descr "PESD5V0L4UW.pretty"))
(lib (name "MIKILAB_SJ_3506_SMT_TR")(type "KiCad")(uri "${KIPRJMOD}/footprints/other/SJ-3506-SMT-TR.pretty")(options "")(descr "SJ-3506-SMT-TR.pretty"))
(lib (name "MIKILAB_SJ_435107RS")(type "KiCad")(uri "${KIPRJMOD}/footprints/other/SJ-435107RS.pretty")(options "")(descr "SJ-435107RS.pretty"))
(lib (name "MIKILAB_SJ_43515TS_SMT_TR")(type "KiCad")(uri "${KIPRJMOD}/footprints/other/SJ-43515TS-SMT-TR.pretty")(options "")(descr "SJ-43515TS-SMT-TR.pretty"))
(lib (name "MIKILAB_SN74AXC1T45DBVR")(type "KiCad")(uri "${KIPRJMOD}/footprints/other/SN74AXC1T45DBVR.pretty")(options "")(descr "SN74AXC1T45DBVR.pretty"))
(lib (name "MIKILAB_SOT95P280X145_5N")(type "KiCad")(uri "${KIPRJMOD}/footprints/other/SOT95P280X145-5N.pretty")(options "")(descr "SOT95P280X145-5N.pretty"))
(lib (name "MIKILAB_TPD2E007DCKR")(type "KiCad")(uri "${KIPRJMOD}/footprints/other/TPD2E007DCKR.pretty")(options "")(descr "TPD2E007DCKR.pretty"))
(lib (name "MIKILAB_TPS22994RUKT")(type "KiCad")(uri "${KIPRJMOD}/footprints/other/TPS22994RUKT.pretty")(options "")(descr "TPS22994RUKT.pretty"))
(lib (name "MIKILAB_XTAC5212IRGER")(type "KiCad")(uri "${KIPRJMOD}/footprints/other/XTAC5212IRGER.pretty")(options "")(descr "XTAC5212IRGER.pretty"))
(lib (name "MIKILAB_abracon")(type "KiCad")(uri "${KIPRJMOD}/footprints/other/abracon.pretty")(options "")(descr "abracon.pretty"))
(lib (name "MIKILAB_alps")(type "KiCad")(uri "${KIPRJMOD}/footprints/other/alps.pretty")(options "")(descr "alps.pretty"))
+8
View File
@@ -111,6 +111,10 @@ def check_symbols(report: Report) -> list[tuple[str, Path]]:
for path in files:
basenames[path.name.lower()].append(path)
bad_name = lc.check_component_name(path.stem)
if bad_name:
report.error(f"[SYM] {path.relative_to(ROOT)}: {bad_name}")
text = path.read_text(encoding="utf-8", errors="replace")
if not text.lstrip().startswith("(kicad_symbol_lib"):
@@ -194,6 +198,10 @@ def check_footprints(report: Report) -> dict[str, Path]:
for pretty in pretty_dirs:
nickname = lc.fp_nickname(pretty)
bad_name = lc.check_component_name(pretty.name[: -len(".pretty")])
if bad_name:
report.error(f"[FP] {pretty.relative_to(ROOT)}: {bad_name}")
for mod in sorted(pretty.glob("*.kicad_mod")):
basenames[mod.name.lower()].append(mod)
+80 -2
View File
@@ -19,6 +19,14 @@ symbol+footprint+3D model. --category is optional; if omitted it is
inferred from --name using the same classification rules used elsewhere
in this library.
To remove a component instead:
python3 scripts/import_component.py --name TPS7A2018PDBVR --remove
This deletes its symbol, its footprint library (if any) and its 3D
model(s) (if any), logs the removal to MANIFEST.csv, and regenerates
sym-lib-table/fp-lib-table. Only --name is required; every other option
is ignored in --remove mode.
Never overwrites an existing component. Never silently duplicates a
footprint that already exists byte-for-byte elsewhere in the library --
it is reused instead. A footprint with a colliding filename but different
@@ -68,6 +76,10 @@ def validate_args(args) -> None:
def import_symbol(name: str, category: str, src: Path, manifest_rows: list, report: list, update: bool = False) -> Path:
bad_name = lc.check_component_name(name)
if bad_name:
raise ImportError_(bad_name)
existing = lc.find_symbol_by_name(ROOT, name)
if existing is not None:
if not update:
@@ -96,6 +108,10 @@ def import_symbol(name: str, category: str, src: Path, manifest_rows: list, repo
def import_footprint(name: str, category: str, src: Path, manifest_rows: list, report: list, update: bool = False):
"""Returns (footprint_path_or_None_if_reused, fp_nickname, fp_name, status)."""
bad_name = lc.check_component_name(name)
if bad_name:
raise ImportError_(bad_name)
digest = lc.sha256_file(src)
pretty_dir = ROOT / "footprints" / category / f"{name}.pretty"
basename = src.name
@@ -148,6 +164,41 @@ def import_footprint(name: str, category: str, src: Path, manifest_rows: list, r
return target, nickname, target.stem, status
def remove_component(name: str, manifest_rows: list, report: list) -> None:
"""Remove a component's symbol, its footprint library, and its 3D
model(s). Category is taken from where the symbol currently lives, so
the caller only needs --name."""
sym_path = lc.find_symbol_by_name(ROOT, name)
if sym_path is None:
raise ImportError_(f"No component named '{name}' found under symbols/ -- nothing to remove.")
category = sym_path.parent.name
digest = lc.sha256_file(sym_path)
sym_path.unlink()
manifest_rows.append(["symbol", str(sym_path.relative_to(ROOT)), "", "REMOVED", digest, f"category={category}"])
report.append(f" SYMBOL REMOVED {sym_path.relative_to(ROOT)}")
pretty_dir = ROOT / "footprints" / category / f"{name}.pretty"
if pretty_dir.is_dir():
for mod in sorted(pretty_dir.glob("*.kicad_mod")):
digest = lc.sha256_file(mod)
manifest_rows.append(["footprint", str(mod.relative_to(ROOT)), "", "REMOVED", digest, f"category={category}"])
report.append(f" FOOTPRINT REMOVED {mod.relative_to(ROOT)}")
shutil.rmtree(pretty_dir)
report.append(f" Removed directory {pretty_dir.relative_to(ROOT)}")
models_dir = ROOT / "3dmodels" / category
if models_dir.is_dir():
for model in sorted(models_dir.glob(f"{name}.*")):
if model.suffix.lower() not in lc.MODEL_EXTENSIONS:
continue
digest = lc.sha256_file(model)
model.unlink()
manifest_rows.append(["3d-model", str(model.relative_to(ROOT)), "", "REMOVED", digest, f"category={category}"])
report.append(f" 3D MODEL REMOVED {model.relative_to(ROOT)}")
def import_model(name: str, category: str, src: Path, footprint_path: Path | None, manifest_rows: list, report: list):
dst = ROOT / "3dmodels" / category / f"{name}{src.suffix.lower()}"
dst.parent.mkdir(parents=True, exist_ok=True)
@@ -198,19 +249,46 @@ def main() -> int:
parser = argparse.ArgumentParser(description="Import a single component into the MIKILAB library.")
parser.add_argument("--name", required=True, help="Component name (used as the symbol/footprint base name)")
parser.add_argument("--category", choices=lc.CATEGORIES, help="MIKILAB category (auto-detected from --name if omitted)")
parser.add_argument("--symbol", required=True, help="Path to the source .kicad_sym file")
parser.add_argument("--symbol", help="Path to the source .kicad_sym file (required unless --remove)")
parser.add_argument("--footprint", help="Path to the source .kicad_mod file")
parser.add_argument("--model", help="Path to the source 3D model (.step/.stp/.wrl/.wrz)")
parser.add_argument("--update", action="store_true", help="Replace an existing component's symbol/footprint in place instead of refusing")
parser.add_argument("--remove", action="store_true", help="Remove an existing component (symbol + its footprint library + its 3D model(s)) and regenerate the lib-tables; only --name is required, every other option is ignored")
args = parser.parse_args()
name = args.name.strip()
if not name:
print("ERROR: --name must not be empty")
return 1
if args.remove:
manifest_rows = []
report = [f"Removing '{name}'"]
try:
remove_component(name, manifest_rows, report)
except ImportError_ as e:
print(f"ERROR: {e}")
return 1
lc.append_manifest_rows(ROOT, manifest_rows)
sym_entries = lc.write_sym_lib_table(ROOT)
fp_entries = lc.write_fp_lib_table(ROOT)
report.append(f"Regenerated sym-lib-table ({len(sym_entries)} libraries) and fp-lib-table ({len(fp_entries)} libraries)")
print("\n".join(report))
print("\nOK.")
return 0
if not args.symbol:
print("ERROR: --symbol is required unless --remove is given")
return 1
try:
validate_args(args)
except ImportError_ as e:
print(f"ERROR: {e}")
return 1
name = args.name.strip()
category = args.category or lc.classify(name)
manifest_rows: list[list[str]] = []
report: list[str] = [f"Importing '{name}' into category '{category}'"]
+22
View File
@@ -89,6 +89,28 @@ def norm(value: str) -> str:
return re.sub(r"[^a-zA-Z0-9]+", "_", value).strip("_")
_MIKILAB_PREFIX_RE = re.compile(r"(?i)^mikilab[_\-]?")
def check_component_name(name: str) -> str | None:
"""Every library nickname gets 'MIKILAB_' prepended automatically by
sym_nickname()/fp_nickname() when the lib-tables are generated. A
--name that already starts with 'MIKILAB' therefore does not collide
with the existing component (so it's invisible to duplicate/collision
checks) -- it silently creates a second, double-prefixed orphan
library (e.g. MIKILAB_MIKILAB_FOO) alongside the real one. Returns an
error message if `name` should be rejected, else None."""
if _MIKILAB_PREFIX_RE.match(name):
return (
f"--name '{name}' must not start with 'MIKILAB' -- that prefix is added "
f"automatically to every library nickname when sym-lib-table/fp-lib-table "
f"are generated. Baking it into the component name creates a double-"
f"prefixed, orphaned duplicate library instead of updating the existing "
f"one. Use the bare part name (e.g. 'FOO', not 'MIKILAB_FOO')."
)
return None
def classify(name: str) -> str:
"""Classify a component/library name into a MIKILAB category."""
text = norm(name).lower()
+5
View File
@@ -208,6 +208,8 @@
(lib (name "MIKILAB_Driver_LED")(type "KiCad")(uri "${KIPRJMOD}/symbols/other/Driver_LED.kicad_sym")(options "")(descr "Driver_LED"))
(lib (name "MIKILAB_Driver_Motor")(type "KiCad")(uri "${KIPRJMOD}/symbols/other/Driver_Motor.kicad_sym")(options "")(descr "Driver_Motor"))
(lib (name "MIKILAB_Driver_TEC")(type "KiCad")(uri "${KIPRJMOD}/symbols/other/Driver_TEC.kicad_sym")(options "")(descr "Driver_TEC"))
(lib (name "MIKILAB_ESD9B5_0ST5G")(type "KiCad")(uri "${KIPRJMOD}/symbols/other/ESD9B5.0ST5G.kicad_sym")(options "")(descr "ESD9B5.0ST5G"))
(lib (name "MIKILAB_FSC_BT1058")(type "KiCad")(uri "${KIPRJMOD}/symbols/other/FSC-BT1058.kicad_sym")(options "")(descr "FSC-BT1058"))
(lib (name "MIKILAB_Fiber_Optic")(type "KiCad")(uri "${KIPRJMOD}/symbols/other/Fiber_Optic.kicad_sym")(options "")(descr "Fiber_Optic"))
(lib (name "MIKILAB_GPU")(type "KiCad")(uri "${KIPRJMOD}/symbols/other/GPU.kicad_sym")(options "")(descr "GPU"))
(lib (name "MIKILAB_Graphic")(type "KiCad")(uri "${KIPRJMOD}/symbols/other/Graphic.kicad_sym")(options "")(descr "Graphic"))
@@ -215,12 +217,15 @@
(lib (name "MIKILAB_LED")(type "KiCad")(uri "${KIPRJMOD}/symbols/other/LED.kicad_sym")(options "")(descr "LED"))
(lib (name "MIKILAB_Motor")(type "KiCad")(uri "${KIPRJMOD}/symbols/other/Motor.kicad_sym")(options "")(descr "Motor"))
(lib (name "MIKILAB_Oscillator")(type "KiCad")(uri "${KIPRJMOD}/symbols/other/Oscillator.kicad_sym")(options "")(descr "Oscillator"))
(lib (name "MIKILAB_PESD5V0L4UW")(type "KiCad")(uri "${KIPRJMOD}/symbols/other/PESD5V0L4UW.kicad_sym")(options "")(descr "PESD5V0L4UW"))
(lib (name "MIKILAB_Potentiometer_Digital")(type "KiCad")(uri "${KIPRJMOD}/symbols/other/Potentiometer_Digital.kicad_sym")(options "")(descr "Potentiometer_Digital"))
(lib (name "MIKILAB_SJ_3506_SMT_TR")(type "KiCad")(uri "${KIPRJMOD}/symbols/other/SJ-3506-SMT-TR.kicad_sym")(options "")(descr "SJ-3506-SMT-TR"))
(lib (name "MIKILAB_SJ_435107RS")(type "KiCad")(uri "${KIPRJMOD}/symbols/other/SJ-435107RS.kicad_sym")(options "")(descr "SJ-435107RS"))
(lib (name "MIKILAB_SJ_43515TS_SMT_TR")(type "KiCad")(uri "${KIPRJMOD}/symbols/other/SJ-43515TS-SMT-TR.kicad_sym")(options "")(descr "SJ-43515TS-SMT-TR"))
(lib (name "MIKILAB_SN74AXC1T45DBVR")(type "KiCad")(uri "${KIPRJMOD}/symbols/other/SN74AXC1T45DBVR.kicad_sym")(options "")(descr "SN74AXC1T45DBVR"))
(lib (name "MIKILAB_Security")(type "KiCad")(uri "${KIPRJMOD}/symbols/other/Security.kicad_sym")(options "")(descr "Security"))
(lib (name "MIKILAB_TPD2E007DCKR")(type "KiCad")(uri "${KIPRJMOD}/symbols/other/TPD2E007DCKR.kicad_sym")(options "")(descr "TPD2E007DCKR"))
(lib (name "MIKILAB_TPS22994RUKT")(type "KiCad")(uri "${KIPRJMOD}/symbols/other/TPS22994RUKT.kicad_sym")(options "")(descr "TPS22994RUKT"))
(lib (name "MIKILAB_TPS63020DSJT")(type "KiCad")(uri "${KIPRJMOD}/symbols/other/TPS63020DSJT.kicad_sym")(options "")(descr "TPS63020DSJT"))
(lib (name "MIKILAB_Transformer")(type "KiCad")(uri "${KIPRJMOD}/symbols/other/Transformer.kicad_sym")(options "")(descr "Transformer"))
(lib (name "MIKILAB_Triac_Thyristor")(type "KiCad")(uri "${KIPRJMOD}/symbols/other/Triac_Thyristor.kicad_sym")(options "")(descr "Triac_Thyristor"))
+116
View File
@@ -0,0 +1,116 @@
(kicad_symbol_lib (version 20211014) (generator kicad_symbol_editor)
(symbol "ESD9B5.0ST5G" (pin_names (offset 1.016)) (in_bom yes) (on_board yes)
(property "Reference" "U" (id 0) (at -10.16 6.08 0.0)
(effects (font (size 1.27 1.27)) (justify bottom left))
)
(property "Value" "ESD9B5.0ST5G" (id 1) (at -10.16 -6.54 0.0)
(effects (font (size 1.27 1.27)) (justify bottom left))
)
(property "Footprint" "MIKILAB_ESD9B5_0ST5G:SODFL1006X40N" (id 2) (at 0 0 0)
(effects (font (size 1.27 1.27)) (justify bottom) hide)
)
(property "MF" "ON Semiconductor" (id 4) (at 0 0 0)
(effects (font (size 1.27 1.27)) (justify bottom) hide)
)
(property "DESCRIPTION" "ESD9B Series 7.8 V 15 pF Surface Mount TVS Diode - SOD-923" (id 5) (at 0 0 0)
(effects (font (size 1.27 1.27)) (justify bottom) hide)
)
(property "PACKAGE" "SOD-923 ON Semiconductor" (id 6) (at 0 0 0)
(effects (font (size 1.27 1.27)) (justify bottom) hide)
)
(property "PRICE" "None" (id 7) (at 0 0 0)
(effects (font (size 1.27 1.27)) (justify bottom) hide)
)
(property "Package" "SOD-923-2 ON Semiconductor" (id 8) (at 0 0 0)
(effects (font (size 1.27 1.27)) (justify bottom) hide)
)
(property "Check_prices" "https://www.snapeda.com/parts/ESD9B5.0ST5G/Onsemi/view-part/?ref=eda" (id 9) (at 0 0 0)
(effects (font (size 1.27 1.27)) (justify bottom) hide)
)
(property "Price" "None" (id 10) (at 0 0 0)
(effects (font (size 1.27 1.27)) (justify bottom) hide)
)
(property "SnapEDA_Link" "https://www.snapeda.com/parts/ESD9B5.0ST5G/Onsemi/view-part/?ref=snap" (id 11) (at 0 0 0)
(effects (font (size 1.27 1.27)) (justify bottom) hide)
)
(property "MP" "ESD9B5.0ST5G" (id 12) (at 0 0 0)
(effects (font (size 1.27 1.27)) (justify bottom) hide)
)
(property "Availability" "In Stock" (id 13) (at 0 0 0)
(effects (font (size 1.27 1.27)) (justify bottom) hide)
)
(property "AVAILABILITY" "Unavailable" (id 14) (at 0 0 0)
(effects (font (size 1.27 1.27)) (justify bottom) hide)
)
(property "Description" "\n \n - Clamp - Ipp Tvs Diode Surface Mount SOD-923\n \n" (id 15) (at 0 0 0)
(effects (font (size 1.27 1.27)) (justify bottom) hide)
)
(symbol "ESD9B5.0ST5G_0_0"
(polyline
(pts
(xy -1.016 0.0)
(xy -2.286 -0.762)
(xy -2.286 0.762)
(xy -1.016 0.0)
)
(stroke (width 0.1524)) (fill (type outline))
)
(polyline
(pts (xy -2.286 0.0) (xy -4.318 0.0)) (stroke (width 0.1524))
)
(polyline
(pts (xy -1.016 0.0) (xy 1.016 0.0)) (stroke (width 0.1524))
)
(polyline
(pts (xy -1.016 -0.762) (xy -1.016 0.762)) (stroke (width 0.1524))
)
(polyline
(pts (xy -1.016 0.762) (xy -1.524 1.27)) (stroke (width 0.1524))
)
(polyline
(pts (xy -1.016 -0.762) (xy -0.508 -1.27)) (stroke (width 0.1524))
)
(polyline
(pts
(xy 1.016 0.0)
(xy 2.286 0.762)
(xy 2.286 -0.762)
(xy 1.016 0.0)
)
(stroke (width 0.1524)) (fill (type outline))
)
(polyline
(pts (xy 2.286 0.0) (xy 4.318 0.0)) (stroke (width 0.1524))
)
(polyline
(pts (xy 1.016 0.0) (xy -1.016 0.0)) (stroke (width 0.1524))
)
(polyline
(pts (xy 1.016 0.762) (xy 1.016 -0.762)) (stroke (width 0.1524))
)
(polyline
(pts (xy 1.016 -0.762) (xy 1.524 -1.27)) (stroke (width 0.1524))
)
(polyline
(pts (xy 1.016 0.762) (xy 0.508 1.27)) (stroke (width 0.1524))
)
(pin passive line (at 6.858 0.0 180.0) (length 2.54)
(name "~"
(effects (font (size 1.016 1.016)))
)
(number "2"
(effects (font (size 1.016 1.016)))
)
)
(pin passive line (at -6.858 0.0 0) (length 2.54)
(name "~"
(effects (font (size 1.016 1.016)))
)
(number "1"
(effects (font (size 1.016 1.016)))
)
)
)
)
)
+70
View File
@@ -0,0 +1,70 @@
(kicad_symbol_lib (version 20231120) (generator kicad_symbol_editor)
(symbol "FSC-BT1058"
(pin_names (offset 1.016))
(exclude_from_sim no)
(in_bom yes)
(on_board yes)
(property "Reference" "U" (at 0 28.0 0) (effects (font (size 1.27 1.27))))
(property "Value" "FSC-BT1058" (at 0 26.0 0) (effects (font (size 1.27 1.27))))
(property "Footprint" "MIKILAB_FSC_BT1058:FSC-BT1058" (at 0 0 0) (effects (font (size 1.27 1.27)) hide))
(property "Datasheet" "https://document.feasycom.com/docs/datasheet/BT1058/FSC-BT1058_Datasheet_EN.pdf" (at 0 0 0) (effects (font (size 1.27 1.27)) hide))
(property "Description" "Feasycom FSC-BT1058 Bluetooth 5.3 QCC5181 audio module" (at 0 0 0) (effects (font (size 1.27 1.27)) hide))
(symbol "FSC-BT1058_0_1"
(rectangle (start -12.7 25.4) (end 12.7 -25.4) (stroke (width 0.254) (type default)) (fill (type background)))
)
(symbol "FSC-BT1058_1_1"
(pin power_in line (at -15.24 24.00 0) (length 2.54) (name "GND" (effects (font (size 0.9 0.9)))) (number "1" (effects (font (size 0.9 0.9)))))
(pin bidirectional line (at -15.24 22.15 0) (length 2.54) (name "AIO3/LED3" (effects (font (size 0.9 0.9)))) (number "2" (effects (font (size 0.9 0.9)))))
(pin no_connect line (at -15.24 20.30 0) (length 2.54) (name "NC" (effects (font (size 0.9 0.9)))) (number "3" (effects (font (size 0.9 0.9)))))
(pin bidirectional line (at -15.24 18.45 0) (length 2.54) (name "I2S_CLK" (effects (font (size 0.9 0.9)))) (number "4" (effects (font (size 0.9 0.9)))))
(pin input line (at -15.24 16.60 0) (length 2.54) (name "I2S_IN" (effects (font (size 0.9 0.9)))) (number "5" (effects (font (size 0.9 0.9)))))
(pin output line (at -15.24 14.75 0) (length 2.54) (name "I2S_OUT" (effects (font (size 0.9 0.9)))) (number "6" (effects (font (size 0.9 0.9)))))
(pin bidirectional line (at -15.24 12.90 0) (length 2.54) (name "I2S_WS" (effects (font (size 0.9 0.9)))) (number "7" (effects (font (size 0.9 0.9)))))
(pin input line (at -15.24 11.05 0) (length 2.54) (name "RESET" (effects (font (size 0.9 0.9)))) (number "8" (effects (font (size 0.9 0.9)))))
(pin bidirectional line (at -15.24 9.20 0) (length 2.54) (name "PCM_MCLK_OUT" (effects (font (size 0.9 0.9)))) (number "9" (effects (font (size 0.9 0.9)))))
(pin bidirectional line (at -15.24 7.35 0) (length 2.54) (name "TBR_MOSI" (effects (font (size 0.9 0.9)))) (number "10" (effects (font (size 0.9 0.9)))))
(pin bidirectional line (at -15.24 5.50 0) (length 2.54) (name "TBR_MISO" (effects (font (size 0.9 0.9)))) (number "11" (effects (font (size 0.9 0.9)))))
(pin bidirectional line (at -15.24 3.65 0) (length 2.54) (name "TBR_CLK" (effects (font (size 0.9 0.9)))) (number "12" (effects (font (size 0.9 0.9)))))
(pin output line (at -15.24 1.80 0) (length 2.54) (name "UART_TX" (effects (font (size 0.9 0.9)))) (number "13" (effects (font (size 0.9 0.9)))))
(pin input line (at -15.24 -0.05 0) (length 2.54) (name "UART_RX" (effects (font (size 0.9 0.9)))) (number "14" (effects (font (size 0.9 0.9)))))
(pin input line (at -15.24 -1.90 0) (length 2.54) (name "UART_CTS" (effects (font (size 0.9 0.9)))) (number "15" (effects (font (size 0.9 0.9)))))
(pin bidirectional line (at -15.24 -3.75 0) (length 2.54) (name "UART_RTS" (effects (font (size 0.9 0.9)))) (number "16" (effects (font (size 0.9 0.9)))))
(pin output line (at -15.24 -5.60 0) (length 2.54) (name "LED0" (effects (font (size 0.9 0.9)))) (number "17" (effects (font (size 0.9 0.9)))))
(pin output line (at -15.24 -7.45 0) (length 2.54) (name "LED1" (effects (font (size 0.9 0.9)))) (number "18" (effects (font (size 0.9 0.9)))))
(pin output line (at -15.24 -9.30 0) (length 2.54) (name "LED2" (effects (font (size 0.9 0.9)))) (number "19" (effects (font (size 0.9 0.9)))))
(pin bidirectional line (at -15.24 -11.15 0) (length 2.54) (name "PIO34" (effects (font (size 0.9 0.9)))) (number "20" (effects (font (size 0.9 0.9)))))
(pin bidirectional line (at -15.24 -13.00 0) (length 2.54) (name "PIO35" (effects (font (size 0.9 0.9)))) (number "21" (effects (font (size 0.9 0.9)))))
(pin power_in line (at -15.24 -14.85 0) (length 2.54) (name "GND" (effects (font (size 0.9 0.9)))) (number "22" (effects (font (size 0.9 0.9)))))
(pin output line (at -15.24 -16.70 0) (length 2.54) (name "PIO36" (effects (font (size 0.9 0.9)))) (number "23" (effects (font (size 0.9 0.9)))))
(pin output line (at -15.24 -18.55 0) (length 2.54) (name "PIO37" (effects (font (size 0.9 0.9)))) (number "24" (effects (font (size 0.9 0.9)))))
(pin output line (at -15.24 -20.40 0) (length 2.54) (name "PIO38" (effects (font (size 0.9 0.9)))) (number "25" (effects (font (size 0.9 0.9)))))
(pin output line (at -15.24 -22.25 0) (length 2.54) (name "PIO39" (effects (font (size 0.9 0.9)))) (number "26" (effects (font (size 0.9 0.9)))))
(pin power_in line (at 15.24 -22.25 180) (length 2.54) (name "GND" (effects (font (size 0.9 0.9)))) (number "52" (effects (font (size 0.9 0.9)))))
(pin output line (at 15.24 -20.40 180) (length 2.54) (name "EXT_ANT" (effects (font (size 0.9 0.9)))) (number "51" (effects (font (size 0.9 0.9)))))
(pin power_in line (at 15.24 -18.55 180) (length 2.54) (name "GND" (effects (font (size 0.9 0.9)))) (number "50" (effects (font (size 0.9 0.9)))))
(pin output line (at 15.24 -16.70 180) (length 2.54) (name "SPK_LP" (effects (font (size 0.9 0.9)))) (number "49" (effects (font (size 0.9 0.9)))))
(pin output line (at 15.24 -14.85 180) (length 2.54) (name "SPK_LN" (effects (font (size 0.9 0.9)))) (number "48" (effects (font (size 0.9 0.9)))))
(pin output line (at 15.24 -13.00 180) (length 2.54) (name "SPK_RP" (effects (font (size 0.9 0.9)))) (number "47" (effects (font (size 0.9 0.9)))))
(pin output line (at 15.24 -11.15 180) (length 2.54) (name "SPK_RN" (effects (font (size 0.9 0.9)))) (number "46" (effects (font (size 0.9 0.9)))))
(pin bidirectional line (at 15.24 -9.30 180) (length 2.54) (name "MIC_BIAS" (effects (font (size 0.9 0.9)))) (number "45" (effects (font (size 0.9 0.9)))))
(pin bidirectional line (at 15.24 -7.45 180) (length 2.54) (name "MIC_LN" (effects (font (size 0.9 0.9)))) (number "44" (effects (font (size 0.9 0.9)))))
(pin bidirectional line (at 15.24 -5.60 180) (length 2.54) (name "MIC_LP" (effects (font (size 0.9 0.9)))) (number "43" (effects (font (size 0.9 0.9)))))
(pin no_connect line (at 15.24 -3.75 180) (length 2.54) (name "NC" (effects (font (size 0.9 0.9)))) (number "42" (effects (font (size 0.9 0.9)))))
(pin output line (at 15.24 -1.90 180) (length 2.54) (name "MIC_RP" (effects (font (size 0.9 0.9)))) (number "41" (effects (font (size 0.9 0.9)))))
(pin output line (at 15.24 -0.05 180) (length 2.54) (name "MIC_RN" (effects (font (size 0.9 0.9)))) (number "40" (effects (font (size 0.9 0.9)))))
(pin input line (at 15.24 1.80 180) (length 2.54) (name "VCHG" (effects (font (size 0.9 0.9)))) (number "39" (effects (font (size 0.9 0.9)))))
(pin input line (at 15.24 3.65 180) (length 2.54) (name "USB_DN" (effects (font (size 0.9 0.9)))) (number "38" (effects (font (size 0.9 0.9)))))
(pin input line (at 15.24 5.50 180) (length 2.54) (name "USB_DP" (effects (font (size 0.9 0.9)))) (number "37" (effects (font (size 0.9 0.9)))))
(pin power_in line (at 15.24 7.35 180) (length 2.54) (name "VDD_IO" (effects (font (size 0.9 0.9)))) (number "36" (effects (font (size 0.9 0.9)))))
(pin output line (at 15.24 9.20 180) (length 2.54) (name "1.8V_OUT" (effects (font (size 0.9 0.9)))) (number "35" (effects (font (size 0.9 0.9)))))
(pin input line (at 15.24 11.05 180) (length 2.54) (name "SYS_CTRL" (effects (font (size 0.9 0.9)))) (number "34" (effects (font (size 0.9 0.9)))))
(pin power_in line (at 15.24 12.90 180) (length 2.54) (name "VBAT_IN" (effects (font (size 0.9 0.9)))) (number "33" (effects (font (size 0.9 0.9)))))
(pin power_in line (at 15.24 14.75 180) (length 2.54) (name "GND" (effects (font (size 0.9 0.9)))) (number "32" (effects (font (size 0.9 0.9)))))
(pin output line (at 15.24 16.60 180) (length 2.54) (name "VDD_USB/3.3V_OUT" (effects (font (size 0.9 0.9)))) (number "31" (effects (font (size 0.9 0.9)))))
(pin input line (at 15.24 18.45 180) (length 2.54) (name "CHG_EXT" (effects (font (size 0.9 0.9)))) (number "30" (effects (font (size 0.9 0.9)))))
(pin input line (at 15.24 20.30 180) (length 2.54) (name "VCHG_SENSE" (effects (font (size 0.9 0.9)))) (number "29" (effects (font (size 0.9 0.9)))))
(pin output line (at 15.24 22.15 180) (length 2.54) (name "PIO21" (effects (font (size 0.9 0.9)))) (number "28" (effects (font (size 0.9 0.9)))))
(pin output line (at 15.24 24.00 180) (length 2.54) (name "PIO20" (effects (font (size 0.9 0.9)))) (number "27" (effects (font (size 0.9 0.9)))))
)
)
)
+80
View File
@@ -0,0 +1,80 @@
(kicad_symbol_lib (version 20211014) (generator kicad_symbol_editor)
(symbol "PESD5V0L4UW" (pin_names (offset 0.254)) (in_bom yes) (on_board yes)
(property "Reference" "U" (id 0) (at 25.4 10.16 0)
(effects (font (size 1.524 1.524)))
)
(property "Value" "PESD5V0L4UW" (id 1) (at 25.4 7.62 0)
(effects (font (size 1.524 1.524)))
)
(property "Footprint" "MIKILAB_PESD5V0L4UW:SOT665_NXP" (id 2) (at 0 0 0)
(effects (font (size 1.27 1.27) italic) hide)
)
(property "Datasheet" "PESD5V0L4UW" (id 3) (at 0 0 0)
(effects (font (size 1.27 1.27) italic) hide)
)
(property "ki_keywords" "PESD5V0L4UW" (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" "SOT665_NXP SOT665_NXP-M SOT665_NXP-L" (id 6) (at 0 0 0)
(effects (font (size 1.27 1.27)) hide)
)
(symbol "PESD5V0L4UW_0_1"
(polyline
(pts
(xy 7.62 5.08)
(xy 7.62 -10.16)
)
(stroke (width 0.127) (type default) (color 0 0 0 0))
(fill (type none))
)
(polyline
(pts
(xy 7.62 -10.16)
(xy 43.18 -10.16)
)
(stroke (width 0.127) (type default) (color 0 0 0 0))
(fill (type none))
)
(polyline
(pts
(xy 43.18 -10.16)
(xy 43.18 5.08)
)
(stroke (width 0.127) (type default) (color 0 0 0 0))
(fill (type none))
)
(polyline
(pts
(xy 43.18 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 "K1" (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 "A" (effects (font (size 1.27 1.27))))
(number "2" (effects (font (size 1.27 1.27))))
)
(pin unspecified line (at 50.8 -5.08 180) (length 7.62)
(name "K2" (effects (font (size 1.27 1.27))))
(number "3" (effects (font (size 1.27 1.27))))
)
(pin unspecified line (at 50.8 -2.54 180) (length 7.62)
(name "K3" (effects (font (size 1.27 1.27))))
(number "4" (effects (font (size 1.27 1.27))))
)
(pin unspecified line (at 50.8 0 180) (length 7.62)
(name "K4" (effects (font (size 1.27 1.27))))
(number "5" (effects (font (size 1.27 1.27))))
)
)
)
)
+82
View File
@@ -0,0 +1,82 @@
(kicad_symbol_lib (version 20211014) (generator kicad_symbol_editor)
(symbol "TPD2E007DCKR" (pin_names (offset 1.016)) (in_bom yes) (on_board yes)
(property "Reference" "U" (id 0) (at -5.36061 7.64713 0.0)
(effects (font (size 1.27 1.27)) (justify bottom left))
)
(property "Value" "TPD2E007DCKR" (id 1) (at -4.14357 -13.8797 0.0)
(effects (font (size 1.27 1.27)) (justify bottom left))
)
(property "Footprint" "MIKILAB_TPD2E007DCKR:SOT65P210X110-3N" (id 2) (at 0 0 0)
(effects (font (size 1.27 1.27)) (justify bottom) hide)
)
(property "MF" "Texas Instruments" (id 4) (at 0 0 0)
(effects (font (size 1.27 1.27)) (justify bottom) hide)
)
(property "Description" "\n \n Dual 10-pF, ±13-V, ±8-kV ESD protection diode for AC Signal Data Interfaces\n \n" (id 5) (at 0 0 0)
(effects (font (size 1.27 1.27)) (justify bottom) hide)
)
(property "PACKAGE" "S070-3" (id 6) (at 0 0 0)
(effects (font (size 1.27 1.27)) (justify bottom) hide)
)
(property "MPN" "TPD2E007DCKR" (id 7) (at 0 0 0)
(effects (font (size 1.27 1.27)) (justify bottom) hide)
)
(property "Price" "None" (id 8) (at 0 0 0)
(effects (font (size 1.27 1.27)) (justify bottom) hide)
)
(property "Package" "SC70-3 Texas Instruments" (id 9) (at 0 0 0)
(effects (font (size 1.27 1.27)) (justify bottom) hide)
)
(property "OC_FARNELL" "-" (id 10) (at 0 0 0)
(effects (font (size 1.27 1.27)) (justify bottom) hide)
)
(property "SnapEDA_Link" "https://www.snapeda.com/parts/TPD2E007DCKR/Texas+Instruments/view-part/?ref=snap" (id 11) (at 0 0 0)
(effects (font (size 1.27 1.27)) (justify bottom) hide)
)
(property "MP" "TPD2E007DCKR" (id 12) (at 0 0 0)
(effects (font (size 1.27 1.27)) (justify bottom) hide)
)
(property "SUPPLIER" "Texas Instruments" (id 13) (at 0 0 0)
(effects (font (size 1.27 1.27)) (justify bottom) hide)
)
(property "OC_NEWARK" "55R7554" (id 14) (at 0 0 0)
(effects (font (size 1.27 1.27)) (justify bottom) hide)
)
(property "Availability" "In Stock" (id 15) (at 0 0 0)
(effects (font (size 1.27 1.27)) (justify bottom) hide)
)
(property "Check_prices" "https://www.snapeda.com/parts/TPD2E007DCKR/Texas+Instruments/view-part/?ref=eda" (id 16) (at 0 0 0)
(effects (font (size 1.27 1.27)) (justify bottom) hide)
)
(symbol "TPD2E007DCKR_0_0"
(rectangle (start -12.7 -10.16) (end 12.7 5.08)
(stroke (width 0.4064)) (fill (type background))
)
(pin bidirectional line (at -17.78 0.0 0) (length 5.08)
(name "IO1"
(effects (font (size 1.016 1.016)))
)
(number "1"
(effects (font (size 1.016 1.016)))
)
)
(pin passive line (at -17.78 -5.08 0) (length 5.08)
(name "GND"
(effects (font (size 1.016 1.016)))
)
(number "3"
(effects (font (size 1.016 1.016)))
)
)
(pin bidirectional line (at 17.78 -2.54 180.0) (length 5.08)
(name "IO2"
(effects (font (size 1.016 1.016)))
)
(number "2"
(effects (font (size 1.016 1.016)))
)
)
)
)
)
+223
View File
@@ -0,0 +1,223 @@
(kicad_symbol_lib (version 20211014) (generator kicad_symbol_editor)
(symbol "TPS22994RUKT" (pin_names (offset 1.016)) (in_bom yes) (on_board yes)
(property "Reference" "U" (id 0) (at -12.7 31.48 0.0)
(effects (font (size 1.27 1.27)) (justify bottom left))
)
(property "Value" "TPS22994RUKT" (id 1) (at -12.7 -35.56 0.0)
(effects (font (size 1.27 1.27)) (justify bottom left))
)
(property "Footprint" "MIKILAB_TPS22994RUKT:IC_TPS22994RUKT" (id 2) (at 0 0 0)
(effects (font (size 1.27 1.27)) (justify bottom) hide)
)
(property "MF" "Texas Instruments" (id 4) (at 0 0 0)
(effects (font (size 1.27 1.27)) (justify bottom) hide)
)
(property "MAXIMUM_PACKAGE_HEIGHT" "0.8 mm" (id 5) (at 0 0 0)
(effects (font (size 1.27 1.27)) (justify bottom) hide)
)
(property "Package" "WQFN-20 Texas Instruments" (id 6) (at 0 0 0)
(effects (font (size 1.27 1.27)) (justify bottom) hide)
)
(property "Price" "None" (id 7) (at 0 0 0)
(effects (font (size 1.27 1.27)) (justify bottom) hide)
)
(property "Check_prices" "https://www.snapeda.com/parts/TPS22994RUKT/Texas+Instruments/view-part/?ref=eda" (id 8) (at 0 0 0)
(effects (font (size 1.27 1.27)) (justify bottom) hide)
)
(property "STANDARD" "Manufacturer Recommendation" (id 9) (at 0 0 0)
(effects (font (size 1.27 1.27)) (justify bottom) hide)
)
(property "PARTREV" "B" (id 10) (at 0 0 0)
(effects (font (size 1.27 1.27)) (justify bottom) hide)
)
(property "SnapEDA_Link" "https://www.snapeda.com/parts/TPS22994RUKT/Texas+Instruments/view-part/?ref=snap" (id 11) (at 0 0 0)
(effects (font (size 1.27 1.27)) (justify bottom) hide)
)
(property "MP" "TPS22994RUKT" (id 12) (at 0 0 0)
(effects (font (size 1.27 1.27)) (justify bottom) hide)
)
(property "Description" "\n \n 4-ch, 3.6-V, 1-A, 41-mΩ load switch with I2C control\n \n" (id 13) (at 0 0 0)
(effects (font (size 1.27 1.27)) (justify bottom) hide)
)
(property "Availability" "In Stock" (id 14) (at 0 0 0)
(effects (font (size 1.27 1.27)) (justify bottom) hide)
)
(property "MANUFACTURER" "Texas Instruments" (id 15) (at 0 0 0)
(effects (font (size 1.27 1.27)) (justify bottom) hide)
)
(symbol "TPS22994RUKT_0_0"
(rectangle (start -12.7 -33.02) (end 12.7 30.48)
(stroke (width 0.254)) (fill (type background))
)
(pin input line (at -17.78 -10.16 0) (length 5.08)
(name "ADD1"
(effects (font (size 1.016 1.016)))
)
(number "6"
(effects (font (size 1.016 1.016)))
)
)
(pin input line (at -17.78 -12.7 0) (length 5.08)
(name "ADD2"
(effects (font (size 1.016 1.016)))
)
(number "16"
(effects (font (size 1.016 1.016)))
)
)
(pin input line (at -17.78 -15.24 0) (length 5.08)
(name "ADD3"
(effects (font (size 1.016 1.016)))
)
(number "20"
(effects (font (size 1.016 1.016)))
)
)
(pin input line (at -17.78 17.78 0) (length 5.08)
(name "ON1"
(effects (font (size 1.016 1.016)))
)
(number "10"
(effects (font (size 1.016 1.016)))
)
)
(pin input line (at -17.78 10.16 0) (length 5.08)
(name "ON2"
(effects (font (size 1.016 1.016)))
)
(number "9"
(effects (font (size 1.016 1.016)))
)
)
(pin input line (at -17.78 2.54 0) (length 5.08)
(name "ON3"
(effects (font (size 1.016 1.016)))
)
(number "8"
(effects (font (size 1.016 1.016)))
)
)
(pin input line (at -17.78 -5.08 0) (length 5.08)
(name "ON4"
(effects (font (size 1.016 1.016)))
)
(number "7"
(effects (font (size 1.016 1.016)))
)
)
(pin input clock (at -17.78 -20.32 0) (length 5.08)
(name "SCL"
(effects (font (size 1.016 1.016)))
)
(number "17"
(effects (font (size 1.016 1.016)))
)
)
(pin input line (at -17.78 20.32 0) (length 5.08)
(name "VIN1"
(effects (font (size 1.016 1.016)))
)
(number "4"
(effects (font (size 1.016 1.016)))
)
)
(pin input line (at -17.78 12.7 0) (length 5.08)
(name "VIN2"
(effects (font (size 1.016 1.016)))
)
(number "2"
(effects (font (size 1.016 1.016)))
)
)
(pin input line (at -17.78 5.08 0) (length 5.08)
(name "VIN3"
(effects (font (size 1.016 1.016)))
)
(number "14"
(effects (font (size 1.016 1.016)))
)
)
(pin input line (at -17.78 -2.54 0) (length 5.08)
(name "VIN4"
(effects (font (size 1.016 1.016)))
)
(number "12"
(effects (font (size 1.016 1.016)))
)
)
(pin bidirectional line (at -17.78 -22.86 0) (length 5.08)
(name "SDA"
(effects (font (size 1.016 1.016)))
)
(number "19"
(effects (font (size 1.016 1.016)))
)
)
(pin power_in line (at 17.78 27.94 180.0) (length 5.08)
(name "VBIAS"
(effects (font (size 1.016 1.016)))
)
(number "3"
(effects (font (size 1.016 1.016)))
)
)
(pin power_in line (at 17.78 25.4 180.0) (length 5.08)
(name "VDD"
(effects (font (size 1.016 1.016)))
)
(number "18"
(effects (font (size 1.016 1.016)))
)
)
(pin output line (at 17.78 20.32 180.0) (length 5.08)
(name "VOUT1"
(effects (font (size 1.016 1.016)))
)
(number "5"
(effects (font (size 1.016 1.016)))
)
)
(pin output line (at 17.78 12.7 180.0) (length 5.08)
(name "VOUT2"
(effects (font (size 1.016 1.016)))
)
(number "1"
(effects (font (size 1.016 1.016)))
)
)
(pin output line (at 17.78 5.08 180.0) (length 5.08)
(name "VOUT3"
(effects (font (size 1.016 1.016)))
)
(number "15"
(effects (font (size 1.016 1.016)))
)
)
(pin output line (at 17.78 -2.54 180.0) (length 5.08)
(name "VOUT4"
(effects (font (size 1.016 1.016)))
)
(number "11"
(effects (font (size 1.016 1.016)))
)
)
(pin power_in line (at 17.78 -27.94 180.0) (length 5.08)
(name "EXP"
(effects (font (size 1.016 1.016)))
)
(number "21"
(effects (font (size 1.016 1.016)))
)
)
(pin power_in line (at 17.78 -30.48 180.0) (length 5.08)
(name "GND"
(effects (font (size 1.016 1.016)))
)
(number "13"
(effects (font (size 1.016 1.016)))
)
)
)
)
)