Browse Source

upload version 1.0

Tobias Müller 8 months ago
parent
commit
398b62fe3c
92 changed files with 1367564 additions and 2 deletions
  1. 1494 0
      Build/Pico_Adapter-B_Cu.gbr
  2. 496 0
      Build/Pico_Adapter-B_Mask.gbr
  3. 15 0
      Build/Pico_Adapter-B_Paste.gbr
  4. 233 0
      Build/Pico_Adapter-B_Silkscreen.gbr
  5. 65 0
      Build/Pico_Adapter-Edge_Cuts.gbr
  6. 12107 0
      Build/Pico_Adapter-F_Cu.gbr
  7. 496 0
      Build/Pico_Adapter-F_Mask.gbr
  8. 15 0
      Build/Pico_Adapter-F_Paste.gbr
  9. 23230 0
      Build/Pico_Adapter-F_Silkscreen.gbr
  10. 13 0
      Build/Pico_Adapter-NPTH.drl
  11. 219 0
      Build/Pico_Adapter-PTH.drl
  12. 6 0
      Build/Pico_Adapter-bottom.pos
  13. 127 0
      Build/Pico_Adapter-job.gbrjob
  14. 47 0
      Build/Pico_Adapter-top.pos
  15. 64 0
      Docs/BOM/Pico_Adapter.csv
  16. 4562 0
      Docs/BOM/Pico_Adapter_iBOM.html
  17. BIN
      Docs/Datasheets/Maker_Pi_Pico_Datasheet.pdf
  18. BIN
      Docs/Datasheets/RP2040_Datasheet.pdf
  19. BIN
      Docs/Datasheets/Raspberry_Pi_Pico_Datasheet.pdf
  20. BIN
      Docs/Datasheets/Raspberry_Pi_Pico_W_Datasheet.pdf
  21. BIN
      Docs/Getting_Started/Connecting_to_Internet_Pico_W.pdf
  22. BIN
      Docs/Getting_Started/Getting_started_with_Pico.pdf
  23. BIN
      Docs/Hardware/Design/Hardware_Design_RP2040.pdf
  24. BIN
      Docs/Hardware/Pinout/Maker_Pi_Pico_Pinout.pdf
  25. BIN
      Docs/Hardware/Pinout/Raspberry_Pi_Pico_Pinout.pdf
  26. BIN
      Docs/Hardware/Pinout/Raspberry_Pi_Pico_W_Pinout.pdf
  27. BIN
      Docs/Hardware/Schematics/Maker_Pi_Pico_Schematic.pdf
  28. BIN
      Docs/Hardware/Schematics/Raspberry_Pi_Pico_Schematic.pdf
  29. BIN
      Docs/Hardware/Schematics/Raspberry_Pi_Pico_W_Schematic.pdf
  30. 3 0
      Docs/README.md
  31. BIN
      Docs/Schematics/PCB-Design.pdf
  32. BIN
      Docs/Schematics/Schematic-Design.pdf
  33. BIN
      Docs/Software_Development_Kit/Raspberry_Pi_Pico_C_SDK.pdf
  34. BIN
      Docs/Software_Development_Kit/Raspberry_Pi_Pico_Python_SDK.pdf
  35. 394 0
      Library/Components.lib/Pico_Adapter.bak
  36. 823 0
      Library/Components.lib/Pico_Adapter.kicad_sym
  37. 331 0
      Library/Footprints.pretty/Arduino Shield.kicad_mod
  38. 135 0
      Library/Footprints.pretty/Raspberry Pi Pico Header.kicad_mod
  39. 124 0
      Library/Footprints.pretty/Raspberry Pi Pico W.kicad_mod
  40. 124 0
      Library/Footprints.pretty/Raspberry Pi Pico.kicad_mod
  41. 242206 0
      Library/Models.3D/MAKER-PI-PICO-NB.STEP
  42. 173699 0
      Library/Models.3D/MAKER-PI-PICO.STEP
  43. 586650 0
      Library/Models.3D/MAKER-PI-PICO.step
  44. 68438 0
      Library/Models.3D/MAKER-PI-PICO.wrl
  45. 23191 0
      Library/Models.3D/Pico-R3.step
  46. 105738 0
      Library/Models.3D/PicoW.step
  47. BIN
      Models/Maker Pi Pico.FCStd
  48. BIN
      Models/Maker Pi Pico.FCStd1
  49. BIN
      Pictures/HSA-Banner.png
  50. 82 0
      Pictures/HSA_Logo_digital.svg
  51. BIN
      Pictures/Pico_Adapter_with_Components.png
  52. BIN
      Pictures/Pico_Adapter_without_Components.png
  53. BIN
      Project/Pico_Adapter-backups/Pico_Adapter-2023-08-29_141040.zip
  54. BIN
      Project/Pico_Adapter-backups/Pico_Adapter-2023-08-29_143802.zip
  55. BIN
      Project/Pico_Adapter-backups/Pico_Adapter-2023-08-29_153951.zip
  56. BIN
      Project/Pico_Adapter-backups/Pico_Adapter-2023-08-29_154733.zip
  57. BIN
      Project/Pico_Adapter-backups/Pico_Adapter-2023-08-30_144208.zip
  58. BIN
      Project/Pico_Adapter-backups/Pico_Adapter-2023-08-30_170503.zip
  59. BIN
      Project/Pico_Adapter-backups/Pico_Adapter-2023-08-31_155942.zip
  60. BIN
      Project/Pico_Adapter-backups/Pico_Adapter-2023-09-01_132050.zip
  61. BIN
      Project/Pico_Adapter-backups/Pico_Adapter-2023-09-01_133831.zip
  62. BIN
      Project/Pico_Adapter-backups/Pico_Adapter-2023-09-01_134532.zip
  63. BIN
      Project/Pico_Adapter-backups/Pico_Adapter-2023-09-01_135202.zip
  64. BIN
      Project/Pico_Adapter-backups/Pico_Adapter-2023-09-01_140342.zip
  65. BIN
      Project/Pico_Adapter-backups/Pico_Adapter-2023-09-04_155305.zip
  66. BIN
      Project/Pico_Adapter-backups/Pico_Adapter-2023-09-04_155942.zip
  67. BIN
      Project/Pico_Adapter-backups/Pico_Adapter-2023-09-04_161436.zip
  68. BIN
      Project/Pico_Adapter-backups/Pico_Adapter-2023-09-04_162451.zip
  69. BIN
      Project/Pico_Adapter-backups/Pico_Adapter-2023-09-04_163202.zip
  70. BIN
      Project/Pico_Adapter-backups/Pico_Adapter-2023-09-05_100302.zip
  71. BIN
      Project/Pico_Adapter-backups/Pico_Adapter-2023-09-05_100852.zip
  72. BIN
      Project/Pico_Adapter-backups/Pico_Adapter-2023-09-05_101447.zip
  73. BIN
      Project/Pico_Adapter-backups/Pico_Adapter-2023-09-05_102004.zip
  74. BIN
      Project/Pico_Adapter-backups/Pico_Adapter-2023-09-05_102536.zip
  75. BIN
      Project/Pico_Adapter-backups/Pico_Adapter-2023-09-05_103526.zip
  76. 22841 0
      Project/Pico_Adapter.kicad_pcb
  77. 77 0
      Project/Pico_Adapter.kicad_prl
  78. 502 0
      Project/Pico_Adapter.kicad_pro
  79. 4546 0
      Project/Pico_Adapter.kicad_sch
  80. 1165 0
      Project/Pico_Adapter.xml
  81. 1543 0
      Project/Sheat_Style.kicad_wks
  82. 90742 0
      Project/fp-info-cache
  83. 4 0
      Project/fp-lib-table
  84. 31 0
      Project/ibom.config.ini
  85. 4 0
      Project/sym-lib-table
  86. 1 0
      Project/~Pico_Adapter.kicad_pcb.lck
  87. 20 2
      README.md
  88. BIN
      README.pdf
  89. BIN
      Script/__pycache__/kicad_netlist_reader.cpython-310.pyc
  90. BIN
      Script/__pycache__/kicad_netlist_reader.cpython-311.pyc
  91. 182 0
      Script/bom_csv_grouped_by_manufacture.py
  92. 779 0
      Script/kicad_netlist_reader.py

File diff suppressed because it is too large
+ 1494 - 0
Build/Pico_Adapter-B_Cu.gbr


+ 496 - 0
Build/Pico_Adapter-B_Mask.gbr

@@ -0,0 +1,496 @@
+%TF.GenerationSoftware,KiCad,Pcbnew,7.0.7*%
+%TF.CreationDate,2023-09-05T09:43:25+02:00*%
+%TF.ProjectId,Pico_Adapter,5069636f-5f41-4646-9170-7465722e6b69,rev?*%
+%TF.SameCoordinates,Original*%
+%TF.FileFunction,Soldermask,Bot*%
+%TF.FilePolarity,Negative*%
+%FSLAX46Y46*%
+G04 Gerber Fmt 4.6, Leading zero omitted, Abs format (unit mm)*
+G04 Created by KiCad (PCBNEW 7.0.7) date 2023-09-05 09:43:25*
+%MOMM*%
+%LPD*%
+G01*
+G04 APERTURE LIST*
+%ADD10R,1.500000X1.500000*%
+%ADD11C,1.500000*%
+%ADD12R,1.800000X1.800000*%
+%ADD13C,1.800000*%
+%ADD14R,1.700000X1.700000*%
+%ADD15O,1.700000X1.700000*%
+%ADD16C,1.600000*%
+%ADD17O,1.600000X1.600000*%
+%ADD18R,1.700000X4.240000*%
+%ADD19C,1.700000*%
+%ADD20O,1.700000X4.240000*%
+%ADD21C,2.000000*%
+%ADD22O,1.800000X1.070000*%
+%ADD23R,1.800000X1.070000*%
+G04 APERTURE END LIST*
+D10*
+%TO.C,B1*%
+X136546000Y-119710200D03*
+D11*
+X136546000Y-122250200D03*
+X136546000Y-124790200D03*
+%TD*%
+D10*
+%TO.C,Q5*%
+X157099000Y-86360000D03*
+D11*
+X154559000Y-86360000D03*
+X152019000Y-86360000D03*
+%TD*%
+D12*
+%TO.C,P5*%
+X130383200Y-96647000D03*
+D13*
+X127843200Y-96647000D03*
+%TD*%
+D14*
+%TO.C,X5*%
+X165200000Y-124625000D03*
+D15*
+X167740000Y-124625000D03*
+X170280000Y-124625000D03*
+X172820000Y-124625000D03*
+X175360000Y-124625000D03*
+X177900000Y-124625000D03*
+%TD*%
+D16*
+%TO.C,R3*%
+X158851600Y-117094000D03*
+D17*
+X148691600Y-117094000D03*
+%TD*%
+D10*
+%TO.C,Q1*%
+X120904000Y-113741200D03*
+D11*
+X118364000Y-113741200D03*
+X115824000Y-113741200D03*
+%TD*%
+D16*
+%TO.C,R13*%
+X115468400Y-87579200D03*
+D17*
+X125628400Y-87579200D03*
+%TD*%
+D16*
+%TO.C,R9*%
+X123418600Y-124764800D03*
+D17*
+X123418600Y-114604800D03*
+%TD*%
+D14*
+%TO.C,X2*%
+X133349000Y-113787500D03*
+D18*
+X133349000Y-112517500D03*
+D14*
+X133349000Y-111247500D03*
+D19*
+X135889000Y-113787500D03*
+D20*
+X135889000Y-112517500D03*
+D19*
+X135889000Y-111247500D03*
+X138429000Y-113787500D03*
+D20*
+X138429000Y-112517500D03*
+D19*
+X138429000Y-111247500D03*
+X140969000Y-113787500D03*
+D20*
+X140969000Y-112517500D03*
+D19*
+X140969000Y-111247500D03*
+X143509000Y-113787500D03*
+D20*
+X143509000Y-112517500D03*
+D19*
+X143509000Y-111247500D03*
+X146049000Y-113787500D03*
+D20*
+X146049000Y-112517500D03*
+D19*
+X146049000Y-111247500D03*
+X148589000Y-113787500D03*
+D20*
+X148589000Y-112517500D03*
+D19*
+X148589000Y-111247500D03*
+X151129000Y-113787500D03*
+D20*
+X151129000Y-112517500D03*
+D19*
+X151129000Y-111247500D03*
+X153669000Y-113787500D03*
+D20*
+X153669000Y-112517500D03*
+D19*
+X153669000Y-111247500D03*
+X156209000Y-113787500D03*
+D20*
+X156209000Y-112517500D03*
+D19*
+X156209000Y-111247500D03*
+X158749000Y-113787500D03*
+D20*
+X158749000Y-112517500D03*
+D19*
+X158749000Y-111247500D03*
+X161289000Y-113787500D03*
+D20*
+X161289000Y-112517500D03*
+D19*
+X161289000Y-111247500D03*
+X163829000Y-113787500D03*
+D20*
+X163829000Y-112517500D03*
+D19*
+X163829000Y-111247500D03*
+X166369000Y-113787500D03*
+D20*
+X166369000Y-112517500D03*
+D19*
+X166369000Y-111247500D03*
+X168909000Y-113787500D03*
+D20*
+X168909000Y-112517500D03*
+D19*
+X168909000Y-111247500D03*
+X171449000Y-113787500D03*
+D20*
+X171449000Y-112517500D03*
+D19*
+X171449000Y-111247500D03*
+X173989000Y-113787500D03*
+D20*
+X173989000Y-112517500D03*
+D19*
+X173989000Y-111247500D03*
+X176529000Y-113787500D03*
+D20*
+X176529000Y-112517500D03*
+D19*
+X176529000Y-111247500D03*
+X179069000Y-113787500D03*
+D20*
+X179069000Y-112517500D03*
+D19*
+X179069000Y-111247500D03*
+X181609000Y-113787500D03*
+D20*
+X181609000Y-112517500D03*
+D19*
+X181609000Y-111247500D03*
+%TD*%
+D12*
+%TO.C,P4*%
+X130378200Y-101168200D03*
+D13*
+X127838200Y-101168200D03*
+%TD*%
+D12*
+%TO.C,P6*%
+X130383200Y-92125800D03*
+D13*
+X127843200Y-92125800D03*
+%TD*%
+D21*
+%TO.C,SW2*%
+X124445200Y-82294800D03*
+X124445200Y-75794800D03*
+X128945200Y-82294800D03*
+X128945200Y-75794800D03*
+%TD*%
+D16*
+%TO.C,R14*%
+X115463400Y-101168200D03*
+D17*
+X125623400Y-101168200D03*
+%TD*%
+D16*
+%TO.C,R10*%
+X115463400Y-110210600D03*
+D17*
+X125623400Y-110210600D03*
+%TD*%
+D16*
+%TO.C,R11*%
+X115468400Y-96647000D03*
+D17*
+X125628400Y-96647000D03*
+%TD*%
+D16*
+%TO.C,R7*%
+X146583400Y-117094000D03*
+D17*
+X136423400Y-117094000D03*
+%TD*%
+D16*
+%TO.C,R2*%
+X160985200Y-117094000D03*
+D17*
+X171145200Y-117094000D03*
+%TD*%
+D16*
+%TO.C,R1*%
+X142798800Y-82804000D03*
+D17*
+X132638800Y-82804000D03*
+%TD*%
+D12*
+%TO.C,P7*%
+X130383200Y-87604600D03*
+D13*
+X127843200Y-87604600D03*
+%TD*%
+D12*
+%TO.C,P2*%
+X130378200Y-110210600D03*
+D13*
+X127838200Y-110210600D03*
+%TD*%
+D14*
+%TO.C,X6*%
+X156058200Y-76374000D03*
+D15*
+X153518200Y-76374000D03*
+X150978200Y-76374000D03*
+X148438200Y-76374000D03*
+X145898200Y-76374000D03*
+X143358200Y-76374000D03*
+X140818200Y-76374000D03*
+X138278200Y-76374000D03*
+X135738200Y-76374000D03*
+X133198200Y-76374000D03*
+%TD*%
+D14*
+%TO.C,X3*%
+X142341000Y-124625000D03*
+D15*
+X144881000Y-124625000D03*
+X147421000Y-124625000D03*
+X149961000Y-124625000D03*
+X152501000Y-124625000D03*
+X155041000Y-124625000D03*
+X157581000Y-124625000D03*
+X160121000Y-124625000D03*
+%TD*%
+D16*
+%TO.C,R4*%
+X169341800Y-87579200D03*
+D17*
+X159181800Y-87579200D03*
+%TD*%
+D10*
+%TO.C,Q7*%
+X137668000Y-86355600D03*
+D11*
+X135128000Y-86355600D03*
+X132588000Y-86355600D03*
+%TD*%
+D22*
+%TO.C,P1*%
+X131216400Y-120650000D03*
+X131216400Y-121920000D03*
+X131216400Y-123190000D03*
+D23*
+X131216400Y-124460000D03*
+%TD*%
+D21*
+%TO.C,SW1*%
+X120410800Y-118009600D03*
+X120410800Y-124509600D03*
+X115910800Y-118009600D03*
+X115910800Y-124509600D03*
+%TD*%
+D16*
+%TO.C,R12*%
+X115468400Y-105689400D03*
+D17*
+X125628400Y-105689400D03*
+%TD*%
+D14*
+%TO.C,X1*%
+X181609000Y-90928000D03*
+D18*
+X181609000Y-92198000D03*
+D14*
+X181609000Y-93468000D03*
+D19*
+X179069000Y-90928000D03*
+D20*
+X179069000Y-92198000D03*
+D19*
+X179069000Y-93468000D03*
+X176529000Y-90928000D03*
+D20*
+X176529000Y-92198000D03*
+D19*
+X176529000Y-93468000D03*
+X173989000Y-90928000D03*
+D20*
+X173989000Y-92198000D03*
+D19*
+X173989000Y-93468000D03*
+X171449000Y-90928000D03*
+D20*
+X171449000Y-92198000D03*
+D19*
+X171449000Y-93468000D03*
+X168909000Y-90928000D03*
+D20*
+X168909000Y-92198000D03*
+D19*
+X168909000Y-93468000D03*
+X166369000Y-90928000D03*
+D20*
+X166369000Y-92198000D03*
+D19*
+X166369000Y-93468000D03*
+X163829000Y-90928000D03*
+D20*
+X163829000Y-92198000D03*
+D19*
+X163829000Y-93468000D03*
+X161289000Y-90928000D03*
+D20*
+X161289000Y-92198000D03*
+D19*
+X161289000Y-93468000D03*
+X158749000Y-90928000D03*
+D20*
+X158749000Y-92198000D03*
+D19*
+X158749000Y-93468000D03*
+X156209000Y-90928000D03*
+D20*
+X156209000Y-92198000D03*
+D19*
+X156209000Y-93468000D03*
+X153669000Y-90928000D03*
+D20*
+X153669000Y-92198000D03*
+D19*
+X153669000Y-93468000D03*
+X151129000Y-90928000D03*
+D20*
+X151129000Y-92198000D03*
+D19*
+X151129000Y-93468000D03*
+X148589000Y-90928000D03*
+D20*
+X148589000Y-92198000D03*
+D19*
+X148589000Y-93468000D03*
+X146049000Y-90928000D03*
+D20*
+X146049000Y-92198000D03*
+D19*
+X146049000Y-93468000D03*
+X143509000Y-90928000D03*
+D20*
+X143509000Y-92198000D03*
+D19*
+X143509000Y-93468000D03*
+X140969000Y-90928000D03*
+D20*
+X140969000Y-92198000D03*
+D19*
+X140969000Y-93468000D03*
+X138429000Y-90928000D03*
+D20*
+X138429000Y-92198000D03*
+D19*
+X138429000Y-93468000D03*
+X135889000Y-90928000D03*
+D20*
+X135889000Y-92198000D03*
+D19*
+X135889000Y-93468000D03*
+X133349000Y-90928000D03*
+D20*
+X133349000Y-92198000D03*
+D19*
+X133349000Y-93468000D03*
+%TD*%
+D16*
+%TO.C,R6*%
+X139750800Y-87579200D03*
+D17*
+X149910800Y-87579200D03*
+%TD*%
+D10*
+%TO.C,Q4*%
+X169392600Y-83307600D03*
+D11*
+X166852600Y-83307600D03*
+X164312600Y-83307600D03*
+%TD*%
+D16*
+%TO.C,R15*%
+X115468400Y-92125800D03*
+D17*
+X125628400Y-92125800D03*
+%TD*%
+D10*
+%TO.C,Q6*%
+X149987000Y-83312000D03*
+D11*
+X147447000Y-83312000D03*
+X144907000Y-83312000D03*
+%TD*%
+D10*
+%TO.C,Q3*%
+X172440600Y-83007200D03*
+D11*
+X172440600Y-85547200D03*
+X172440600Y-88087200D03*
+%TD*%
+D16*
+%TO.C,R8*%
+X126441200Y-114604800D03*
+D17*
+X126441200Y-124764800D03*
+%TD*%
+D14*
+%TO.C,X4*%
+X177900000Y-76374000D03*
+D15*
+X175360000Y-76374000D03*
+X172820000Y-76374000D03*
+X170280000Y-76374000D03*
+X167740000Y-76374000D03*
+X165200000Y-76374000D03*
+X162660000Y-76374000D03*
+X160120000Y-76374000D03*
+%TD*%
+D12*
+%TO.C,P3*%
+X130383200Y-105689400D03*
+D13*
+X127843200Y-105689400D03*
+%TD*%
+D21*
+%TO.C,SW3*%
+X115910800Y-82269400D03*
+X115910800Y-75769400D03*
+X120410800Y-82269400D03*
+X120410800Y-75769400D03*
+%TD*%
+D16*
+%TO.C,R5*%
+X162229800Y-82804000D03*
+D17*
+X152069800Y-82804000D03*
+%TD*%
+D10*
+%TO.C,Q2*%
+X177215800Y-83007200D03*
+D11*
+X177215800Y-85547200D03*
+X177215800Y-88087200D03*
+%TD*%
+M02*

+ 15 - 0
Build/Pico_Adapter-B_Paste.gbr

@@ -0,0 +1,15 @@
+%TF.GenerationSoftware,KiCad,Pcbnew,7.0.7*%
+%TF.CreationDate,2023-09-05T09:43:25+02:00*%
+%TF.ProjectId,Pico_Adapter,5069636f-5f41-4646-9170-7465722e6b69,rev?*%
+%TF.SameCoordinates,Original*%
+%TF.FileFunction,Paste,Bot*%
+%TF.FilePolarity,Positive*%
+%FSLAX46Y46*%
+G04 Gerber Fmt 4.6, Leading zero omitted, Abs format (unit mm)*
+G04 Created by KiCad (PCBNEW 7.0.7) date 2023-09-05 09:43:25*
+%MOMM*%
+%LPD*%
+G01*
+G04 APERTURE LIST*
+G04 APERTURE END LIST*
+M02*

+ 233 - 0
Build/Pico_Adapter-B_Silkscreen.gbr

@@ -0,0 +1,233 @@
+%TF.GenerationSoftware,KiCad,Pcbnew,7.0.7*%
+%TF.CreationDate,2023-09-05T09:43:25+02:00*%
+%TF.ProjectId,Pico_Adapter,5069636f-5f41-4646-9170-7465722e6b69,rev?*%
+%TF.SameCoordinates,Original*%
+%TF.FileFunction,Legend,Bot*%
+%TF.FilePolarity,Positive*%
+%FSLAX46Y46*%
+G04 Gerber Fmt 4.6, Leading zero omitted, Abs format (unit mm)*
+G04 Created by KiCad (PCBNEW 7.0.7) date 2023-09-05 09:43:25*
+%MOMM*%
+%LPD*%
+G01*
+G04 APERTURE LIST*
+%ADD10C,0.200000*%
+%ADD11C,0.100000*%
+G04 APERTURE END LIST*
+D10*
+G36*
+X161564276Y-62291162D02*
+G01*
+X161579423Y-62306308D01*
+X161599704Y-62346869D01*
+X161599704Y-62528025D01*
+X161380657Y-62528025D01*
+X161380657Y-62346869D01*
+X161400937Y-62306309D01*
+X161416083Y-62291162D01*
+X161456646Y-62270882D01*
+X161523717Y-62270882D01*
+X161564276Y-62291162D01*
+G37*
+G36*
+X161913990Y-63637649D02*
+G01*
+X160685418Y-63637649D01*
+X160685418Y-63162117D01*
+X160799706Y-63162117D01*
+X160809242Y-63190726D01*
+X160818358Y-63219521D01*
+X160818999Y-63219994D01*
+X160819251Y-63220749D01*
+X160843802Y-63238303D01*
+X160868081Y-63256226D01*
+X161668081Y-63522893D01*
+X161729883Y-63523363D01*
+X161780157Y-63487416D01*
+X161799701Y-63428784D01*
+X161781050Y-63369862D01*
+X161731327Y-63333157D01*
+X161215931Y-63161358D01*
+X161731327Y-62989560D01*
+X161781050Y-62952855D01*
+X161799702Y-62893933D01*
+X161780158Y-62835301D01*
+X161729883Y-62799354D01*
+X161668081Y-62799824D01*
+X160868081Y-63066490D01*
+X160843802Y-63084412D01*
+X160819251Y-63101967D01*
+X160818999Y-63102721D01*
+X160818358Y-63103195D01*
+X160809242Y-63131989D01*
+X160799706Y-63160599D01*
+X160799946Y-63161357D01*
+X160799706Y-63162117D01*
+X160685418Y-63162117D01*
+X160685418Y-62141658D01*
+X160804069Y-62141658D01*
+X160805156Y-62203452D01*
+X160842358Y-62252805D01*
+X161180657Y-62489614D01*
+X161180657Y-62528025D01*
+X160899704Y-62528025D01*
+X160840925Y-62547123D01*
+X160804598Y-62597123D01*
+X160804598Y-62658927D01*
+X160840925Y-62708927D01*
+X160899704Y-62728025D01*
+X161699704Y-62728025D01*
+X161714767Y-62723131D01*
+X161730606Y-62723131D01*
+X161743419Y-62713821D01*
+X161758483Y-62708927D01*
+X161767792Y-62696113D01*
+X161780606Y-62686804D01*
+X161785500Y-62671740D01*
+X161794810Y-62658927D01*
+X161794810Y-62643087D01*
+X161799704Y-62628025D01*
+X161799704Y-62323263D01*
+X161792580Y-62301339D01*
+X161789147Y-62278542D01*
+X161751052Y-62202352D01*
+X161739677Y-62190803D01*
+X161732319Y-62176362D01*
+X161694225Y-62138267D01*
+X161679783Y-62130909D01*
+X161668236Y-62119535D01*
+X161592045Y-62081440D01*
+X161569249Y-62078006D01*
+X161547323Y-62070882D01*
+X161433038Y-62070882D01*
+X161411111Y-62078006D01*
+X161388316Y-62081440D01*
+X161312125Y-62119536D01*
+X161300577Y-62130909D01*
+X161286136Y-62138268D01*
+X161248041Y-62176362D01*
+X161240682Y-62190804D01*
+X161229309Y-62202352D01*
+X161200720Y-62259528D01*
+X160957050Y-62088959D01*
+X160897945Y-62070897D01*
+X160839511Y-62091026D01*
+X160804069Y-62141658D01*
+X160685418Y-62141658D01*
+X160685418Y-61828025D01*
+X160799704Y-61828025D01*
+X160804598Y-61843087D01*
+X160804598Y-61858927D01*
+X160813907Y-61871740D01*
+X160818802Y-61886804D01*
+X160831615Y-61896113D01*
+X160840925Y-61908927D01*
+X160855988Y-61913821D01*
+X160868802Y-61923131D01*
+X160884641Y-61923131D01*
+X160899704Y-61928025D01*
+X161699704Y-61928025D01*
+X161714767Y-61923131D01*
+X161730606Y-61923131D01*
+X161743419Y-61913821D01*
+X161758483Y-61908927D01*
+X161767792Y-61896113D01*
+X161780606Y-61886804D01*
+X161785500Y-61871740D01*
+X161794810Y-61858927D01*
+X161794810Y-61843087D01*
+X161799704Y-61828025D01*
+X161799704Y-61447073D01*
+X161780606Y-61388294D01*
+X161730606Y-61351967D01*
+X161668802Y-61351967D01*
+X161618802Y-61388294D01*
+X161599704Y-61447073D01*
+X161599704Y-61728025D01*
+X161418752Y-61728025D01*
+X161418752Y-61561359D01*
+X161399654Y-61502580D01*
+X161349654Y-61466253D01*
+X161287850Y-61466253D01*
+X161237850Y-61502580D01*
+X161218752Y-61561359D01*
+X161218752Y-61728025D01*
+X160999704Y-61728025D01*
+X160999704Y-61447073D01*
+X160980606Y-61388294D01*
+X160930606Y-61351967D01*
+X160868802Y-61351967D01*
+X160818802Y-61388294D01*
+X160799704Y-61447073D01*
+X160799704Y-61828025D01*
+X160685418Y-61828025D01*
+X160685418Y-61135117D01*
+X160804598Y-61135117D01*
+X160840925Y-61185117D01*
+X160899704Y-61204215D01*
+X161699704Y-61204215D01*
+X161714767Y-61199321D01*
+X161730606Y-61199321D01*
+X161743419Y-61190011D01*
+X161758483Y-61185117D01*
+X161767792Y-61172303D01*
+X161780606Y-61162994D01*
+X161785500Y-61147930D01*
+X161794810Y-61135117D01*
+X161794810Y-61119277D01*
+X161799704Y-61104215D01*
+X161799704Y-60723263D01*
+X161780606Y-60664484D01*
+X161730606Y-60628157D01*
+X161668802Y-60628157D01*
+X161618802Y-60664484D01*
+X161599704Y-60723263D01*
+X161599704Y-61004215D01*
+X161418752Y-61004215D01*
+X161418752Y-60837549D01*
+X161399654Y-60778770D01*
+X161349654Y-60742443D01*
+X161287850Y-60742443D01*
+X161237850Y-60778770D01*
+X161218752Y-60837549D01*
+X161218752Y-61004215D01*
+X160899704Y-61004215D01*
+X160840925Y-61023313D01*
+X160804598Y-61073313D01*
+X160804598Y-61135117D01*
+X160685418Y-61135117D01*
+X160685418Y-60513871D01*
+X161913990Y-60513871D01*
+X161913990Y-63637649D01*
+G37*
+D11*
+%TO.C,U1*%
+X177900000Y-97771600D02*
+X177900000Y-106941000D01*
+X177900000Y-106941000D02*
+X182929200Y-106941000D01*
+X182929200Y-97771600D02*
+X177900000Y-97771600D01*
+X132053000Y-98279600D02*
+X135126400Y-98279600D01*
+X135126400Y-98279600D02*
+X135126400Y-106433000D01*
+X135126400Y-106433000D02*
+X132053000Y-106433000D01*
+X132053000Y-106433000D02*
+X132053000Y-98279600D01*
+X150239400Y-101403800D02*
+X153312800Y-101403800D01*
+X153312800Y-101403800D02*
+X153312800Y-109557200D01*
+X153312800Y-109557200D02*
+X150239400Y-109557200D01*
+X150239400Y-109557200D02*
+X150239400Y-101403800D01*
+X173078400Y-99158000D02*
+G75*
+G03*
+X173078400Y-99158000I-2100000J0D01*
+G01*
+%TD*%
+M02*

+ 65 - 0
Build/Pico_Adapter-Edge_Cuts.gbr

@@ -0,0 +1,65 @@
+%TF.GenerationSoftware,KiCad,Pcbnew,7.0.7*%
+%TF.CreationDate,2023-09-05T09:43:25+02:00*%
+%TF.ProjectId,Pico_Adapter,5069636f-5f41-4646-9170-7465722e6b69,rev?*%
+%TF.SameCoordinates,Original*%
+%TF.FileFunction,Profile,NP*%
+%FSLAX46Y46*%
+G04 Gerber Fmt 4.6, Leading zero omitted, Abs format (unit mm)*
+G04 Created by KiCad (PCBNEW 7.0.7) date 2023-09-05 09:43:25*
+%MOMM*%
+%LPD*%
+G01*
+G04 APERTURE LIST*
+%TA.AperFunction,Profile*%
+%ADD10C,0.100000*%
+%TD*%
+G04 APERTURE END LIST*
+D10*
+%TO.C,U1*%
+X114400000Y-73834000D02*
+X180440000Y-73834000D01*
+X114400000Y-127134000D02*
+X114400000Y-73834000D01*
+X132138400Y-98368000D02*
+X132138400Y-106348000D01*
+X132138400Y-98368000D02*
+X135038400Y-98368000D01*
+X132138400Y-106348000D02*
+X135038400Y-106348000D01*
+X135038400Y-98368000D02*
+X135038400Y-106348000D01*
+X150328400Y-101492100D02*
+X150328400Y-109472100D01*
+X150328400Y-101492100D02*
+X153228400Y-101492100D01*
+X150328400Y-109472100D02*
+X153228400Y-109472100D01*
+X153228400Y-101492100D02*
+X153228400Y-109472100D01*
+X177980000Y-97858000D02*
+X177980000Y-106858000D01*
+X177980000Y-106858000D02*
+X183030800Y-106858000D01*
+X180440000Y-86744000D02*
+X180440000Y-73834000D01*
+X180440000Y-127134000D02*
+X114400000Y-127134000D01*
+X180440000Y-127134000D02*
+X180440000Y-124594000D01*
+X183030800Y-89338800D02*
+X180440000Y-86748000D01*
+X183030800Y-97858000D02*
+X177980000Y-97858000D01*
+X183030800Y-97858000D02*
+X183030800Y-89338800D01*
+X183030800Y-106858000D02*
+X183030800Y-122003200D01*
+X183030800Y-122003200D02*
+X180440000Y-124594000D01*
+X172978400Y-99158000D02*
+G75*
+G03*
+X172978400Y-99158000I-2000000J0D01*
+G01*
+%TD*%
+M02*

File diff suppressed because it is too large
+ 12107 - 0
Build/Pico_Adapter-F_Cu.gbr


+ 496 - 0
Build/Pico_Adapter-F_Mask.gbr

@@ -0,0 +1,496 @@
+%TF.GenerationSoftware,KiCad,Pcbnew,7.0.7*%
+%TF.CreationDate,2023-09-05T09:43:25+02:00*%
+%TF.ProjectId,Pico_Adapter,5069636f-5f41-4646-9170-7465722e6b69,rev?*%
+%TF.SameCoordinates,Original*%
+%TF.FileFunction,Soldermask,Top*%
+%TF.FilePolarity,Negative*%
+%FSLAX46Y46*%
+G04 Gerber Fmt 4.6, Leading zero omitted, Abs format (unit mm)*
+G04 Created by KiCad (PCBNEW 7.0.7) date 2023-09-05 09:43:25*
+%MOMM*%
+%LPD*%
+G01*
+G04 APERTURE LIST*
+%ADD10R,1.500000X1.500000*%
+%ADD11C,1.500000*%
+%ADD12R,1.800000X1.800000*%
+%ADD13C,1.800000*%
+%ADD14R,1.700000X1.700000*%
+%ADD15O,1.700000X1.700000*%
+%ADD16C,1.600000*%
+%ADD17O,1.600000X1.600000*%
+%ADD18R,1.700000X4.240000*%
+%ADD19C,1.700000*%
+%ADD20O,1.700000X4.240000*%
+%ADD21C,2.000000*%
+%ADD22O,1.800000X1.070000*%
+%ADD23R,1.800000X1.070000*%
+G04 APERTURE END LIST*
+D10*
+%TO.C,B1*%
+X136546000Y-119710200D03*
+D11*
+X136546000Y-122250200D03*
+X136546000Y-124790200D03*
+%TD*%
+D10*
+%TO.C,Q5*%
+X157099000Y-86360000D03*
+D11*
+X154559000Y-86360000D03*
+X152019000Y-86360000D03*
+%TD*%
+D12*
+%TO.C,P5*%
+X130383200Y-96647000D03*
+D13*
+X127843200Y-96647000D03*
+%TD*%
+D14*
+%TO.C,X5*%
+X165200000Y-124625000D03*
+D15*
+X167740000Y-124625000D03*
+X170280000Y-124625000D03*
+X172820000Y-124625000D03*
+X175360000Y-124625000D03*
+X177900000Y-124625000D03*
+%TD*%
+D16*
+%TO.C,R3*%
+X158851600Y-117094000D03*
+D17*
+X148691600Y-117094000D03*
+%TD*%
+D10*
+%TO.C,Q1*%
+X120904000Y-113741200D03*
+D11*
+X118364000Y-113741200D03*
+X115824000Y-113741200D03*
+%TD*%
+D16*
+%TO.C,R13*%
+X115468400Y-87579200D03*
+D17*
+X125628400Y-87579200D03*
+%TD*%
+D16*
+%TO.C,R9*%
+X123418600Y-124764800D03*
+D17*
+X123418600Y-114604800D03*
+%TD*%
+D14*
+%TO.C,X2*%
+X133349000Y-113787500D03*
+D18*
+X133349000Y-112517500D03*
+D14*
+X133349000Y-111247500D03*
+D19*
+X135889000Y-113787500D03*
+D20*
+X135889000Y-112517500D03*
+D19*
+X135889000Y-111247500D03*
+X138429000Y-113787500D03*
+D20*
+X138429000Y-112517500D03*
+D19*
+X138429000Y-111247500D03*
+X140969000Y-113787500D03*
+D20*
+X140969000Y-112517500D03*
+D19*
+X140969000Y-111247500D03*
+X143509000Y-113787500D03*
+D20*
+X143509000Y-112517500D03*
+D19*
+X143509000Y-111247500D03*
+X146049000Y-113787500D03*
+D20*
+X146049000Y-112517500D03*
+D19*
+X146049000Y-111247500D03*
+X148589000Y-113787500D03*
+D20*
+X148589000Y-112517500D03*
+D19*
+X148589000Y-111247500D03*
+X151129000Y-113787500D03*
+D20*
+X151129000Y-112517500D03*
+D19*
+X151129000Y-111247500D03*
+X153669000Y-113787500D03*
+D20*
+X153669000Y-112517500D03*
+D19*
+X153669000Y-111247500D03*
+X156209000Y-113787500D03*
+D20*
+X156209000Y-112517500D03*
+D19*
+X156209000Y-111247500D03*
+X158749000Y-113787500D03*
+D20*
+X158749000Y-112517500D03*
+D19*
+X158749000Y-111247500D03*
+X161289000Y-113787500D03*
+D20*
+X161289000Y-112517500D03*
+D19*
+X161289000Y-111247500D03*
+X163829000Y-113787500D03*
+D20*
+X163829000Y-112517500D03*
+D19*
+X163829000Y-111247500D03*
+X166369000Y-113787500D03*
+D20*
+X166369000Y-112517500D03*
+D19*
+X166369000Y-111247500D03*
+X168909000Y-113787500D03*
+D20*
+X168909000Y-112517500D03*
+D19*
+X168909000Y-111247500D03*
+X171449000Y-113787500D03*
+D20*
+X171449000Y-112517500D03*
+D19*
+X171449000Y-111247500D03*
+X173989000Y-113787500D03*
+D20*
+X173989000Y-112517500D03*
+D19*
+X173989000Y-111247500D03*
+X176529000Y-113787500D03*
+D20*
+X176529000Y-112517500D03*
+D19*
+X176529000Y-111247500D03*
+X179069000Y-113787500D03*
+D20*
+X179069000Y-112517500D03*
+D19*
+X179069000Y-111247500D03*
+X181609000Y-113787500D03*
+D20*
+X181609000Y-112517500D03*
+D19*
+X181609000Y-111247500D03*
+%TD*%
+D12*
+%TO.C,P4*%
+X130378200Y-101168200D03*
+D13*
+X127838200Y-101168200D03*
+%TD*%
+D12*
+%TO.C,P6*%
+X130383200Y-92125800D03*
+D13*
+X127843200Y-92125800D03*
+%TD*%
+D21*
+%TO.C,SW2*%
+X124445200Y-82294800D03*
+X124445200Y-75794800D03*
+X128945200Y-82294800D03*
+X128945200Y-75794800D03*
+%TD*%
+D16*
+%TO.C,R14*%
+X115463400Y-101168200D03*
+D17*
+X125623400Y-101168200D03*
+%TD*%
+D16*
+%TO.C,R10*%
+X115463400Y-110210600D03*
+D17*
+X125623400Y-110210600D03*
+%TD*%
+D16*
+%TO.C,R11*%
+X115468400Y-96647000D03*
+D17*
+X125628400Y-96647000D03*
+%TD*%
+D16*
+%TO.C,R7*%
+X146583400Y-117094000D03*
+D17*
+X136423400Y-117094000D03*
+%TD*%
+D16*
+%TO.C,R2*%
+X160985200Y-117094000D03*
+D17*
+X171145200Y-117094000D03*
+%TD*%
+D16*
+%TO.C,R1*%
+X142798800Y-82804000D03*
+D17*
+X132638800Y-82804000D03*
+%TD*%
+D12*
+%TO.C,P7*%
+X130383200Y-87604600D03*
+D13*
+X127843200Y-87604600D03*
+%TD*%
+D12*
+%TO.C,P2*%
+X130378200Y-110210600D03*
+D13*
+X127838200Y-110210600D03*
+%TD*%
+D14*
+%TO.C,X6*%
+X156058200Y-76374000D03*
+D15*
+X153518200Y-76374000D03*
+X150978200Y-76374000D03*
+X148438200Y-76374000D03*
+X145898200Y-76374000D03*
+X143358200Y-76374000D03*
+X140818200Y-76374000D03*
+X138278200Y-76374000D03*
+X135738200Y-76374000D03*
+X133198200Y-76374000D03*
+%TD*%
+D14*
+%TO.C,X3*%
+X142341000Y-124625000D03*
+D15*
+X144881000Y-124625000D03*
+X147421000Y-124625000D03*
+X149961000Y-124625000D03*
+X152501000Y-124625000D03*
+X155041000Y-124625000D03*
+X157581000Y-124625000D03*
+X160121000Y-124625000D03*
+%TD*%
+D16*
+%TO.C,R4*%
+X169341800Y-87579200D03*
+D17*
+X159181800Y-87579200D03*
+%TD*%
+D10*
+%TO.C,Q7*%
+X137668000Y-86355600D03*
+D11*
+X135128000Y-86355600D03*
+X132588000Y-86355600D03*
+%TD*%
+D22*
+%TO.C,P1*%
+X131216400Y-120650000D03*
+X131216400Y-121920000D03*
+X131216400Y-123190000D03*
+D23*
+X131216400Y-124460000D03*
+%TD*%
+D21*
+%TO.C,SW1*%
+X120410800Y-118009600D03*
+X120410800Y-124509600D03*
+X115910800Y-118009600D03*
+X115910800Y-124509600D03*
+%TD*%
+D16*
+%TO.C,R12*%
+X115468400Y-105689400D03*
+D17*
+X125628400Y-105689400D03*
+%TD*%
+D14*
+%TO.C,X1*%
+X181609000Y-90928000D03*
+D18*
+X181609000Y-92198000D03*
+D14*
+X181609000Y-93468000D03*
+D19*
+X179069000Y-90928000D03*
+D20*
+X179069000Y-92198000D03*
+D19*
+X179069000Y-93468000D03*
+X176529000Y-90928000D03*
+D20*
+X176529000Y-92198000D03*
+D19*
+X176529000Y-93468000D03*
+X173989000Y-90928000D03*
+D20*
+X173989000Y-92198000D03*
+D19*
+X173989000Y-93468000D03*
+X171449000Y-90928000D03*
+D20*
+X171449000Y-92198000D03*
+D19*
+X171449000Y-93468000D03*
+X168909000Y-90928000D03*
+D20*
+X168909000Y-92198000D03*
+D19*
+X168909000Y-93468000D03*
+X166369000Y-90928000D03*
+D20*
+X166369000Y-92198000D03*
+D19*
+X166369000Y-93468000D03*
+X163829000Y-90928000D03*
+D20*
+X163829000Y-92198000D03*
+D19*
+X163829000Y-93468000D03*
+X161289000Y-90928000D03*
+D20*
+X161289000Y-92198000D03*
+D19*
+X161289000Y-93468000D03*
+X158749000Y-90928000D03*
+D20*
+X158749000Y-92198000D03*
+D19*
+X158749000Y-93468000D03*
+X156209000Y-90928000D03*
+D20*
+X156209000Y-92198000D03*
+D19*
+X156209000Y-93468000D03*
+X153669000Y-90928000D03*
+D20*
+X153669000Y-92198000D03*
+D19*
+X153669000Y-93468000D03*
+X151129000Y-90928000D03*
+D20*
+X151129000Y-92198000D03*
+D19*
+X151129000Y-93468000D03*
+X148589000Y-90928000D03*
+D20*
+X148589000Y-92198000D03*
+D19*
+X148589000Y-93468000D03*
+X146049000Y-90928000D03*
+D20*
+X146049000Y-92198000D03*
+D19*
+X146049000Y-93468000D03*
+X143509000Y-90928000D03*
+D20*
+X143509000Y-92198000D03*
+D19*
+X143509000Y-93468000D03*
+X140969000Y-90928000D03*
+D20*
+X140969000Y-92198000D03*
+D19*
+X140969000Y-93468000D03*
+X138429000Y-90928000D03*
+D20*
+X138429000Y-92198000D03*
+D19*
+X138429000Y-93468000D03*
+X135889000Y-90928000D03*
+D20*
+X135889000Y-92198000D03*
+D19*
+X135889000Y-93468000D03*
+X133349000Y-90928000D03*
+D20*
+X133349000Y-92198000D03*
+D19*
+X133349000Y-93468000D03*
+%TD*%
+D16*
+%TO.C,R6*%
+X139750800Y-87579200D03*
+D17*
+X149910800Y-87579200D03*
+%TD*%
+D10*
+%TO.C,Q4*%
+X169392600Y-83307600D03*
+D11*
+X166852600Y-83307600D03*
+X164312600Y-83307600D03*
+%TD*%
+D16*
+%TO.C,R15*%
+X115468400Y-92125800D03*
+D17*
+X125628400Y-92125800D03*
+%TD*%
+D10*
+%TO.C,Q6*%
+X149987000Y-83312000D03*
+D11*
+X147447000Y-83312000D03*
+X144907000Y-83312000D03*
+%TD*%
+D10*
+%TO.C,Q3*%
+X172440600Y-83007200D03*
+D11*
+X172440600Y-85547200D03*
+X172440600Y-88087200D03*
+%TD*%
+D16*
+%TO.C,R8*%
+X126441200Y-114604800D03*
+D17*
+X126441200Y-124764800D03*
+%TD*%
+D14*
+%TO.C,X4*%
+X177900000Y-76374000D03*
+D15*
+X175360000Y-76374000D03*
+X172820000Y-76374000D03*
+X170280000Y-76374000D03*
+X167740000Y-76374000D03*
+X165200000Y-76374000D03*
+X162660000Y-76374000D03*
+X160120000Y-76374000D03*
+%TD*%
+D12*
+%TO.C,P3*%
+X130383200Y-105689400D03*
+D13*
+X127843200Y-105689400D03*
+%TD*%
+D21*
+%TO.C,SW3*%
+X115910800Y-82269400D03*
+X115910800Y-75769400D03*
+X120410800Y-82269400D03*
+X120410800Y-75769400D03*
+%TD*%
+D16*
+%TO.C,R5*%
+X162229800Y-82804000D03*
+D17*
+X152069800Y-82804000D03*
+%TD*%
+D10*
+%TO.C,Q2*%
+X177215800Y-83007200D03*
+D11*
+X177215800Y-85547200D03*
+X177215800Y-88087200D03*
+%TD*%
+M02*

+ 15 - 0
Build/Pico_Adapter-F_Paste.gbr

@@ -0,0 +1,15 @@
+%TF.GenerationSoftware,KiCad,Pcbnew,7.0.7*%
+%TF.CreationDate,2023-09-05T09:43:25+02:00*%
+%TF.ProjectId,Pico_Adapter,5069636f-5f41-4646-9170-7465722e6b69,rev?*%
+%TF.SameCoordinates,Original*%
+%TF.FileFunction,Paste,Top*%
+%TF.FilePolarity,Positive*%
+%FSLAX46Y46*%
+G04 Gerber Fmt 4.6, Leading zero omitted, Abs format (unit mm)*
+G04 Created by KiCad (PCBNEW 7.0.7) date 2023-09-05 09:43:25*
+%MOMM*%
+%LPD*%
+G01*
+G04 APERTURE LIST*
+G04 APERTURE END LIST*
+M02*

File diff suppressed because it is too large
+ 23230 - 0
Build/Pico_Adapter-F_Silkscreen.gbr


+ 13 - 0
Build/Pico_Adapter-NPTH.drl

@@ -0,0 +1,13 @@
+M48
+; DRILL file {KiCad 7.0.7} date Di 05 Sep 2023 09:43:30 CEST
+; FORMAT={-:-/ absolute / inch / decimal}
+; #@! TF.CreationDate,2023-09-05T09:43:30+02:00
+; #@! TF.GenerationSoftware,Kicad,Pcbnew,7.0.7
+; #@! TF.FileFunction,NonPlated,1,2,NPTH
+FMAT,2
+INCH
+%
+G90
+G05
+T0
+M30

+ 219 - 0
Build/Pico_Adapter-PTH.drl

@@ -0,0 +1,219 @@
+M48
+; DRILL file {KiCad 7.0.7} date Di 05 Sep 2023 09:43:30 CEST
+; FORMAT={-:-/ absolute / inch / decimal}
+; #@! TF.CreationDate,2023-09-05T09:43:30+02:00
+; #@! TF.GenerationSoftware,Kicad,Pcbnew,7.0.7
+; #@! TF.FileFunction,Plated,1,2,PTH
+FMAT,2
+INCH
+; #@! TA.AperFunction,Plated,PTH,ComponentDrill
+T1C0.0315
+; #@! TA.AperFunction,Plated,PTH,ComponentDrill
+T2C0.0354
+; #@! TA.AperFunction,Plated,PTH,ComponentDrill
+T3C0.0394
+; #@! TA.AperFunction,Plated,PTH,ComponentDrill
+T4C0.0433
+%
+G90
+G05
+T1
+X4.5458Y-3.983
+X4.5458Y-4.339
+X4.546Y-3.448
+X4.546Y-3.627
+X4.546Y-3.805
+X4.546Y-4.161
+X4.56Y-4.478
+X4.66Y-4.478
+X4.76Y-4.478
+X4.859Y-4.512
+X4.859Y-4.912
+X4.9458Y-3.983
+X4.9458Y-4.339
+X4.946Y-3.448
+X4.946Y-3.627
+X4.946Y-3.805
+X4.946Y-4.161
+X4.978Y-4.512
+X4.978Y-4.912
+X5.22Y-3.3998
+X5.222Y-3.26
+X5.32Y-3.3998
+X5.371Y-4.61
+X5.3758Y-4.713
+X5.3758Y-4.813
+X5.3758Y-4.913
+X5.42Y-3.3998
+X5.502Y-3.448
+X5.622Y-3.26
+X5.705Y-3.28
+X5.771Y-4.61
+X5.805Y-3.28
+X5.854Y-4.61
+X5.902Y-3.448
+X5.905Y-3.28
+X5.985Y-3.4
+X5.987Y-3.26
+X6.085Y-3.4
+X6.185Y-3.4
+X6.254Y-4.61
+X6.267Y-3.448
+X6.338Y-4.61
+X6.387Y-3.26
+X6.469Y-3.2798
+X6.569Y-3.2798
+X6.667Y-3.448
+X6.669Y-3.2798
+X6.738Y-4.61
+X6.789Y-3.268
+X6.789Y-3.368
+X6.789Y-3.468
+X6.977Y-3.268
+X6.977Y-3.368
+X6.977Y-3.468
+T2
+X5.033Y-3.983
+X5.033Y-4.339
+X5.0332Y-3.449
+X5.0332Y-3.627
+X5.0332Y-3.805
+X5.0332Y-4.161
+X5.133Y-3.983
+X5.133Y-4.339
+X5.1332Y-3.449
+X5.1332Y-3.627
+X5.1332Y-3.805
+X5.1332Y-4.161
+X5.166Y-4.75
+X5.166Y-4.8
+X5.166Y-4.85
+X5.166Y-4.9
+T3
+X5.244Y-3.0069
+X5.25Y-3.5798
+X5.25Y-3.6798
+X5.25Y-4.3798
+X5.25Y-4.4798
+X5.344Y-3.0069
+X5.35Y-3.5798
+X5.35Y-3.6798
+X5.35Y-4.3798
+X5.35Y-4.4798
+X5.444Y-3.0069
+X5.45Y-3.5798
+X5.45Y-3.6798
+X5.45Y-4.3798
+X5.45Y-4.4798
+X5.544Y-3.0069
+X5.55Y-3.5798
+X5.55Y-3.6798
+X5.55Y-4.3798
+X5.55Y-4.4798
+X5.604Y-4.9065
+X5.644Y-3.0069
+X5.65Y-3.5798
+X5.65Y-3.6798
+X5.65Y-4.3798
+X5.65Y-4.4798
+X5.704Y-4.9065
+X5.744Y-3.0069
+X5.75Y-3.5798
+X5.75Y-3.6798
+X5.75Y-4.3798
+X5.75Y-4.4798
+X5.804Y-4.9065
+X5.844Y-3.0069
+X5.85Y-3.5798
+X5.85Y-3.6798
+X5.85Y-4.3798
+X5.85Y-4.4798
+X5.904Y-4.9065
+X5.944Y-3.0069
+X5.95Y-3.5798
+X5.95Y-3.6798
+X5.95Y-4.3798
+X5.95Y-4.4798
+X6.004Y-4.9065
+X6.044Y-3.0069
+X6.05Y-3.5798
+X6.05Y-3.6798
+X6.05Y-4.3798
+X6.05Y-4.4798
+X6.104Y-4.9065
+X6.144Y-3.0069
+X6.15Y-3.5798
+X6.15Y-3.6798
+X6.15Y-4.3798
+X6.15Y-4.4798
+X6.204Y-4.9065
+X6.25Y-3.5798
+X6.25Y-3.6798
+X6.25Y-4.3798
+X6.25Y-4.4798
+X6.3039Y-3.0069
+X6.304Y-4.9065
+X6.35Y-3.5798
+X6.35Y-3.6798
+X6.35Y-4.3798
+X6.35Y-4.4798
+X6.4039Y-3.0069
+X6.45Y-3.5798
+X6.45Y-3.6798
+X6.45Y-4.3798
+X6.45Y-4.4798
+X6.5039Y-3.0069
+X6.5039Y-4.9065
+X6.55Y-3.5798
+X6.55Y-3.6798
+X6.55Y-4.3798
+X6.55Y-4.4798
+X6.6039Y-3.0069
+X6.6039Y-4.9065
+X6.65Y-3.5798
+X6.65Y-3.6798
+X6.65Y-4.3798
+X6.65Y-4.4798
+X6.7039Y-3.0069
+X6.7039Y-4.9065
+X6.75Y-3.5798
+X6.75Y-3.6798
+X6.75Y-4.3798
+X6.75Y-4.4798
+X6.8039Y-3.0069
+X6.8039Y-4.9065
+X6.85Y-3.5798
+X6.85Y-3.6798
+X6.85Y-4.3798
+X6.85Y-4.4798
+X6.9039Y-3.0069
+X6.9039Y-4.9065
+X6.95Y-3.5798
+X6.95Y-3.6798
+X6.95Y-4.3798
+X6.95Y-4.4798
+X7.0039Y-3.0069
+X7.0039Y-4.9065
+X7.05Y-3.5798
+X7.05Y-3.6798
+X7.05Y-4.3798
+X7.05Y-4.4798
+X7.15Y-3.5798
+X7.15Y-3.6798
+X7.15Y-4.3798
+X7.15Y-4.4798
+T4
+X4.5634Y-2.983
+X4.5634Y-3.239
+X4.5634Y-4.646
+X4.5634Y-4.902
+X4.7406Y-2.983
+X4.7406Y-3.239
+X4.7406Y-4.646
+X4.7406Y-4.902
+X4.8994Y-2.984
+X4.8994Y-3.24
+X5.0766Y-2.984
+X5.0766Y-3.24
+T0
+M30

+ 6 - 0
Build/Pico_Adapter-bottom.pos

@@ -0,0 +1,6 @@
+### Footprint positions - created on Di 05 Sep 2023 09:44:02 CEST ###
+### Printed by KiCad version 7.0.7
+## Unit = mm, Angle = deg.
+## Side : bottom
+# Ref     Val       Package                PosX       PosY       Rot  Side
+## End

+ 127 - 0
Build/Pico_Adapter-job.gbrjob

@@ -0,0 +1,127 @@
+{
+  "Header": {
+    "GenerationSoftware": {
+      "Vendor": "KiCad",
+      "Application": "Pcbnew",
+      "Version": "7.0.7"
+    },
+    "CreationDate": "2023-09-05T09:43:25+02:00"
+  },
+  "GeneralSpecs": {
+    "ProjectId": {
+      "Name": "Pico_Adapter",
+      "GUID": "5069636f-5f41-4646-9170-7465722e6b69",
+      "Revision": "rev?"
+    },
+    "Size": {
+      "X": 68.7308,
+      "Y": 53.4
+    },
+    "LayerNumber": 2,
+    "BoardThickness": 1.6,
+    "Finish": "None"
+  },
+  "DesignRules": [
+    {
+      "Layers": "Outer",
+      "PadToPad": 0.2,
+      "PadToTrack": 0.2,
+      "TrackToTrack": 0.2,
+      "MinLineWidth": 0.4,
+      "TrackToRegion": 0.2,
+      "RegionToRegion": 0.2
+    }
+  ],
+  "FilesAttributes": [
+    {
+      "Path": "Pico_Adapter-F_Cu.gbr",
+      "FileFunction": "Copper,L1,Top",
+      "FilePolarity": "Positive"
+    },
+    {
+      "Path": "Pico_Adapter-B_Cu.gbr",
+      "FileFunction": "Copper,L2,Bot",
+      "FilePolarity": "Positive"
+    },
+    {
+      "Path": "Pico_Adapter-F_Paste.gbr",
+      "FileFunction": "SolderPaste,Top",
+      "FilePolarity": "Positive"
+    },
+    {
+      "Path": "Pico_Adapter-B_Paste.gbr",
+      "FileFunction": "SolderPaste,Bot",
+      "FilePolarity": "Positive"
+    },
+    {
+      "Path": "Pico_Adapter-F_Silkscreen.gbr",
+      "FileFunction": "Legend,Top",
+      "FilePolarity": "Positive"
+    },
+    {
+      "Path": "Pico_Adapter-B_Silkscreen.gbr",
+      "FileFunction": "Legend,Bot",
+      "FilePolarity": "Positive"
+    },
+    {
+      "Path": "Pico_Adapter-F_Mask.gbr",
+      "FileFunction": "SolderMask,Top",
+      "FilePolarity": "Negative"
+    },
+    {
+      "Path": "Pico_Adapter-B_Mask.gbr",
+      "FileFunction": "SolderMask,Bot",
+      "FilePolarity": "Negative"
+    },
+    {
+      "Path": "Pico_Adapter-Edge_Cuts.gbr",
+      "FileFunction": "Profile",
+      "FilePolarity": "Positive"
+    }
+  ],
+  "MaterialStackup": [
+    {
+      "Type": "Legend",
+      "Name": "Top Silk Screen"
+    },
+    {
+      "Type": "SolderPaste",
+      "Name": "Top Solder Paste"
+    },
+    {
+      "Type": "SolderMask",
+      "Thickness": 0.01,
+      "Name": "Top Solder Mask"
+    },
+    {
+      "Type": "Copper",
+      "Thickness": 0.035,
+      "Name": "F.Cu"
+    },
+    {
+      "Type": "Dielectric",
+      "Thickness": 1.51,
+      "Material": "FR4",
+      "Name": "F.Cu/B.Cu",
+      "Notes": "Type: dielectric layer 1 (from F.Cu to B.Cu)"
+    },
+    {
+      "Type": "Copper",
+      "Thickness": 0.035,
+      "Name": "B.Cu"
+    },
+    {
+      "Type": "SolderMask",
+      "Thickness": 0.01,
+      "Name": "Bottom Solder Mask"
+    },
+    {
+      "Type": "SolderPaste",
+      "Name": "Bottom Solder Paste"
+    },
+    {
+      "Type": "Legend",
+      "Name": "Bottom Silk Screen"
+    }
+  ]
+}

+ 47 - 0
Build/Pico_Adapter-top.pos

@@ -0,0 +1,47 @@
+### Footprint positions - created on Di 05 Sep 2023 09:44:02 CEST ###
+### Printed by KiCad version 7.0.7
+## Unit = mm, Angle = deg.
+## Side : top
+# Ref     Val                       Package                                                 PosX       PosY       Rot  Side
+B1        DS18B20U                  TO-92_Inline_Wide                                   136.5460  -119.7102  -90.0000  top
+K1        Pico                      Raspberry_Pi_Pico                                   131.9784  -112.8580    0.0000  top
+P1        NeoPixel                  LED_D5.0mm-4_RGB                                    131.2164  -124.4600   90.0000  top
+P2        Green                     LED_D3.0mm                                          130.3782  -110.2106  180.0000  top
+P3        Green                     LED_D3.0mm                                          130.3832  -105.6894  180.0000  top
+P4        Green                     LED_D3.0mm                                          130.3782  -101.1682  180.0000  top
+P5        Green                     LED_D3.0mm                                          130.3832   -96.6470  180.0000  top
+P6        Green                     LED_D3.0mm                                          130.3832   -92.1258  180.0000  top
+P7        Green                     LED_D3.0mm                                          130.3832   -87.6046  180.0000  top
+Q1        2N7000                    TO-92_Inline_Wide                                   120.9040  -113.7412  180.0000  top
+Q2        2N7000                    TO-92_Inline_Wide                                   177.2158   -83.0072  -90.0000  top
+Q3        2N7000                    TO-92_Inline_Wide                                   172.4406   -83.0072  -90.0000  top
+Q4        2N7000                    TO-92_Inline_Wide                                   169.3926   -83.3076  180.0000  top
+Q5        2N7000                    TO-92_Inline_Wide                                   157.0990   -86.3600  180.0000  top
+Q6        2N7000                    TO-92_Inline_Wide                                   149.9870   -83.3120  180.0000  top
+Q7        2N7000                    TO-92_Inline_Wide                                   137.6680   -86.3556  180.0000  top
+R1        3M3                       R_Axial_DIN0207_L6.3mm_D2.5mm_P10.16mm_Horizontal   142.7988   -82.8040  180.0000  top
+R2        3M3                       R_Axial_DIN0207_L6.3mm_D2.5mm_P10.16mm_Horizontal   160.9852  -117.0940    0.0000  top
+R3        3M3                       R_Axial_DIN0207_L6.3mm_D2.5mm_P10.16mm_Horizontal   158.8516  -117.0940  180.0000  top
+R4        3M3                       R_Axial_DIN0207_L6.3mm_D2.5mm_P10.16mm_Horizontal   169.3418   -87.5792  180.0000  top
+R5        3M3                       R_Axial_DIN0207_L6.3mm_D2.5mm_P10.16mm_Horizontal   162.2298   -82.8040  180.0000  top
+R6        3M3                       R_Axial_DIN0207_L6.3mm_D2.5mm_P10.16mm_Horizontal   139.7508   -87.5792    0.0000  top
+R7        4k7                       R_Axial_DIN0207_L6.3mm_D2.5mm_P10.16mm_Horizontal   146.5834  -117.0940  180.0000  top
+R8        10k                       R_Axial_DIN0207_L6.3mm_D2.5mm_P10.16mm_Horizontal   126.4412  -114.6048  -90.0000  top
+R9        10k                       R_Axial_DIN0207_L6.3mm_D2.5mm_P10.16mm_Horizontal   123.4186  -124.7648   90.0000  top
+R10       270                       R_Axial_DIN0207_L6.3mm_D2.5mm_P10.16mm_Horizontal   115.4634  -110.2106    0.0000  top
+R11       270                       R_Axial_DIN0207_L6.3mm_D2.5mm_P10.16mm_Horizontal   115.4684   -96.6470    0.0000  top
+R12       270                       R_Axial_DIN0207_L6.3mm_D2.5mm_P10.16mm_Horizontal   115.4684  -105.6894    0.0000  top
+R13       270                       R_Axial_DIN0207_L6.3mm_D2.5mm_P10.16mm_Horizontal   115.4684   -87.5792    0.0000  top
+R14       270                       R_Axial_DIN0207_L6.3mm_D2.5mm_P10.16mm_Horizontal   115.4634  -101.1682    0.0000  top
+R15       270                       R_Axial_DIN0207_L6.3mm_D2.5mm_P10.16mm_Horizontal   115.4684   -92.1258    0.0000  top
+SW1       FSM4JH                    SW_PUSH_6mm_H5mm                                    120.4108  -118.0096  -90.0000  top
+SW2       FSM4JH                    SW_PUSH_6mm_H5mm                                    124.4452   -82.2948   90.0000  top
+SW3       FSM4JH                    SW_PUSH_6mm_H5mm                                    115.9108   -82.2694   90.0000  top
+U1        Arduino_Shield            Arduino_Shield                                      114.4000  -127.1340    0.0000  top
+X1        Raspberry_Pi_Pico_Header  Raspberry_Pi_Pico_Header                            181.6090   -90.9280  -90.0000  top
+X2        Raspberry_Pi_Pico_Header  Raspberry_Pi_Pico_Header                            133.3490  -113.7875   90.0000  top
+X3        Arduino_Power             PinSocket_1x08_P2.54mm_Vertical                     142.3410  -124.6250   90.0000  top
+X4        Arduino_GPIO0-7           PinSocket_1x08_P2.54mm_Vertical                     177.9000   -76.3740  -90.0000  top
+X5        Arduino_Analog            PinSocket_1x06_P2.54mm_Vertical                     165.2000  -124.6250   90.0000  top
+X6        Arduino_GPIO8-13          PinSocket_1x10_P2.54mm_Vertical                     156.0582   -76.3740  -90.0000  top
+## End

+ 64 - 0
Docs/BOM/Pico_Adapter.csv

@@ -0,0 +1,64 @@
+"Source:","/home/tobias/Dokumente/Arbeit/HS-Anhalt/Projekte/Pico_Adapter/Project/Pico_Adapter.kicad_sch"
+"Date:","Di 05 Sep 2023 10:36:13 CEST"
+"Tool:","Eeschema 7.0.7"
+"Generator:","/home/tobias/Dokumente/Arbeit/HS-Anhalt/Projekte/Pico_Adapter/Script/bom_csv_grouped_by_manufacture.py"
+"Component Count:","37"
+
+"Individual Components:"
+
+"Item","Qty","Reference(s)","Value","LibPart","Footprint","Datasheet","Hersteller-Nr.","Mouser-Nr."
+"","","B1","DS18B20U","Pico_Adapter:Temperatur Sensor","Package_TO_SOT_THT:TO-92_Inline_Wide","https://www.mouser.de/datasheet/2/609/DS18B20-3122759.pdf","DS18B20+","700-DS18B20+"
+"","","K1","Pico","Pico_Adapter:Raspberry_Pi_Pico","Pico Adapter:Raspberry Pi Pico","https://datasheets.raspberrypi.com/pico/pico-datasheet.pdf","SC0915","358-SC0915"
+"","","P1","NeoPixel","Pico_Adapter:LED NeoPixel 5mm","LED_THT:LED_D5.0mm-4_RGB","https://www.adafruit.com/product/1938","COM-12986","474-COM-12986"
+"","","P2","Green","Pico_Adapter:LED Green 3mm","LED_THT:LED_D3.0mm","https://www.mouser.de/datasheet/2/216/WP710A10GT-231723.pdf","WP710A10GT","604-WP710A10GT"
+"","","P3","Green","Pico_Adapter:LED Green 3mm","LED_THT:LED_D3.0mm","https://www.mouser.de/datasheet/2/216/WP710A10GT-231723.pdf","WP710A10GT","604-WP710A10GT"
+"","","P4","Green","Pico_Adapter:LED Green 3mm","LED_THT:LED_D3.0mm","https://www.mouser.de/datasheet/2/216/WP710A10GT-231723.pdf","WP710A10GT","604-WP710A10GT"
+"","","P5","Green","Pico_Adapter:LED Green 3mm","LED_THT:LED_D3.0mm","https://www.mouser.de/datasheet/2/216/WP710A10GT-231723.pdf","WP710A10GT","604-WP710A10GT"
+"","","P6","Green","Pico_Adapter:LED Green 3mm","LED_THT:LED_D3.0mm","https://www.mouser.de/datasheet/2/216/WP710A10GT-231723.pdf","WP710A10GT","604-WP710A10GT"
+"","","P7","Green","Pico_Adapter:LED Green 3mm","LED_THT:LED_D3.0mm","https://www.mouser.de/datasheet/2/216/WP710A10GT-231723.pdf","WP710A10GT","604-WP710A10GT"
+"","","Q1","2N7000","Pico_Adapter:MOSFET 2N7000","Package_TO_SOT_THT:TO-92_Inline_Wide","https://www.mouser.de/datasheet/2/308/NDS7002A_D-1522662.pdf","2N7000BU","512-2N7000BU"
+"","","Q2","2N7000","Pico_Adapter:MOSFET 2N7000","Package_TO_SOT_THT:TO-92_Inline_Wide","https://www.mouser.de/datasheet/2/308/NDS7002A_D-1522662.pdf","2N7000BU","512-2N7000BU"
+"","","Q3","2N7000","Pico_Adapter:MOSFET 2N7000","Package_TO_SOT_THT:TO-92_Inline_Wide","https://www.mouser.de/datasheet/2/308/NDS7002A_D-1522662.pdf","2N7000BU","512-2N7000BU"
+"","","Q4","2N7000","Pico_Adapter:MOSFET 2N7000","Package_TO_SOT_THT:TO-92_Inline_Wide","https://www.mouser.de/datasheet/2/308/NDS7002A_D-1522662.pdf","2N7000BU","512-2N7000BU"
+"","","Q5","2N7000","Pico_Adapter:MOSFET 2N7000","Package_TO_SOT_THT:TO-92_Inline_Wide","https://www.mouser.de/datasheet/2/308/NDS7002A_D-1522662.pdf","2N7000BU","512-2N7000BU"
+"","","Q6","2N7000","Pico_Adapter:MOSFET 2N7000","Package_TO_SOT_THT:TO-92_Inline_Wide","https://www.mouser.de/datasheet/2/308/NDS7002A_D-1522662.pdf","2N7000BU","512-2N7000BU"
+"","","Q7","2N7000","Pico_Adapter:MOSFET 2N7000","Package_TO_SOT_THT:TO-92_Inline_Wide","https://www.mouser.de/datasheet/2/308/NDS7002A_D-1522662.pdf","2N7000BU","512-2N7000BU"
+"","","R1","3M3","Device:R","Resistor_THT:R_Axial_DIN0207_L6.3mm_D2.5mm_P10.16mm_Horizontal","https://www.mouser.de/datasheet/2/447/YAGEO_MFR_datasheet_2021v1-3003041.pdf","MFR-25FTE52-3M3","603-MFR-25FTE52-3M3"
+"","","R2","3M3","Device:R","Resistor_THT:R_Axial_DIN0207_L6.3mm_D2.5mm_P10.16mm_Horizontal","https://www.mouser.de/datasheet/2/447/YAGEO_MFR_datasheet_2021v1-3003041.pdf","MFR-25FTE52-3M3","603-MFR-25FTE52-3M3"
+"","","R3","3M3","Device:R","Resistor_THT:R_Axial_DIN0207_L6.3mm_D2.5mm_P10.16mm_Horizontal","https://www.mouser.de/datasheet/2/447/YAGEO_MFR_datasheet_2021v1-3003041.pdf","MFR-25FTE52-3M3","603-MFR-25FTE52-3M3"
+"","","R4","3M3","Device:R","Resistor_THT:R_Axial_DIN0207_L6.3mm_D2.5mm_P10.16mm_Horizontal","https://www.mouser.de/datasheet/2/447/YAGEO_MFR_datasheet_2021v1-3003041.pdf","MFR-25FTE52-3M3","603-MFR-25FTE52-3M3"
+"","","R5","3M3","Device:R","Resistor_THT:R_Axial_DIN0207_L6.3mm_D2.5mm_P10.16mm_Horizontal","https://www.mouser.de/datasheet/2/447/YAGEO_MFR_datasheet_2021v1-3003041.pdf","MFR-25FTE52-3M3","603-MFR-25FTE52-3M3"
+"","","R6","3M3","Device:R","Resistor_THT:R_Axial_DIN0207_L6.3mm_D2.5mm_P10.16mm_Horizontal","https://www.mouser.de/datasheet/2/447/YAGEO_MFR_datasheet_2021v1-3003041.pdf","MFR-25FTE52-3M3","603-MFR-25FTE52-3M3"
+"","","R7","4k7","Device:R","Resistor_THT:R_Axial_DIN0207_L6.3mm_D2.5mm_P10.16mm_Horizontal","https://www.mouser.de/datasheet/2/447/YAGEO_MFR_datasheet_2021v1-3003041.pdf","MFR-25FRF52-4K7","603-MFR-25FRF52-4K7"
+"","","R8","10k","Device:R","Resistor_THT:R_Axial_DIN0207_L6.3mm_D2.5mm_P10.16mm_Horizontal","https://www.mouser.de/datasheet/2/447/Yageo_LR_MFR_1-1714151.pdf","MFR25SFRF52-10K","603-MFR25SFRF52-10K"
+"","","R9","10k","Device:R","Resistor_THT:R_Axial_DIN0207_L6.3mm_D2.5mm_P10.16mm_Horizontal","https://www.mouser.de/datasheet/2/447/Yageo_LR_MFR_1-1714151.pdf","MFR25SFRF52-10K","603-MFR25SFRF52-10K"
+"","","R10","270","Device:R","Resistor_THT:R_Axial_DIN0207_L6.3mm_D2.5mm_P10.16mm_Horizontal","https://www.mouser.de/datasheet/2/447/YAGEO_MFR_datasheet_2021v1-3003041.pdf","MFR-25FBF52-270R","603-MFR-25FBF52-270R"
+"","","R11","270","Device:R","Resistor_THT:R_Axial_DIN0207_L6.3mm_D2.5mm_P10.16mm_Horizontal","https://www.mouser.de/datasheet/2/447/YAGEO_MFR_datasheet_2021v1-3003041.pdf","MFR-25FBF52-270R","603-MFR-25FBF52-270R"
+"","","R12","270","Device:R","Resistor_THT:R_Axial_DIN0207_L6.3mm_D2.5mm_P10.16mm_Horizontal","https://www.mouser.de/datasheet/2/447/YAGEO_MFR_datasheet_2021v1-3003041.pdf","MFR-25FBF52-270R","603-MFR-25FBF52-270R"
+"","","R13","270","Device:R","Resistor_THT:R_Axial_DIN0207_L6.3mm_D2.5mm_P10.16mm_Horizontal","https://www.mouser.de/datasheet/2/447/YAGEO_MFR_datasheet_2021v1-3003041.pdf","MFR-25FBF52-270R","603-MFR-25FBF52-270R"
+"","","R14","270","Device:R","Resistor_THT:R_Axial_DIN0207_L6.3mm_D2.5mm_P10.16mm_Horizontal","https://www.mouser.de/datasheet/2/447/YAGEO_MFR_datasheet_2021v1-3003041.pdf","MFR-25FBF52-270R","603-MFR-25FBF52-270R"
+"","","R15","270","Device:R","Resistor_THT:R_Axial_DIN0207_L6.3mm_D2.5mm_P10.16mm_Horizontal","https://www.mouser.de/datasheet/2/447/YAGEO_MFR_datasheet_2021v1-3003041.pdf","MFR-25FBF52-270R","603-MFR-25FBF52-270R"
+"","","SW1","FSM4JH","Pico_Adapter:Micro_Switch_5mm","Button_Switch_THT:SW_PUSH_6mm_H5mm","https://www.mouser.de/datasheet/2/418/NG_CD_1825910_C10-679020.pdf","FSM4JH","506-FSM4JH"
+"","","SW2","FSM4JH","Pico_Adapter:Micro_Switch_5mm","Button_Switch_THT:SW_PUSH_6mm_H5mm","https://www.mouser.de/datasheet/2/418/NG_CD_1825910_C10-679020.pdf","FSM4JH","506-FSM4JH"
+"","","SW3","FSM4JH","Pico_Adapter:Micro_Switch_5mm","Button_Switch_THT:SW_PUSH_6mm_H5mm","https://www.mouser.de/datasheet/2/418/NG_CD_1825910_C10-679020.pdf","FSM4JH","506-FSM4JH"
+"","","X1","Raspberry Pi Pico Header","Pico_Adapter:Raspberry Pi Pico Header","Pico Adapter:Raspberry Pi Pico Header","https://www.mouser.de/datasheet/2/527/htsw_th-2854340.pdf","HTSW-120-10-T-S","200-HTSW12010TS"
+"","","X2","Raspberry Pi Pico Header","Pico_Adapter:Raspberry Pi Pico Header","Pico Adapter:Raspberry Pi Pico Header","https://www.mouser.de/datasheet/2/527/htsw_th-2854340.pdf","HTSW-120-10-T-S","200-HTSW12010TS"
+"","","X6","Arduino GPIO8-13","Connector_Generic:Conn_01x10","Connector_PinSocket_2.54mm:PinSocket_1x10_P2.54mm_Vertical","https://cdn.sparkfun.com/assets/3/f/3/2/1/SP-140520-XX-001.pdf","PRT-11417","474-PRT-11417"
+
+
+
+"Collated Components:"
+
+"Item","Qty","Reference(s)","Value","LibPart","Footprint","Datasheet","Hersteller-Nr.","Mouser-Nr."
+"1","1","B1","DS18B20U","Pico_Adapter:Temperatur Sensor","Package_TO_SOT_THT:TO-92_Inline_Wide","https://www.mouser.de/datasheet/2/609/DS18B20-3122759.pdf","DS18B20+","700-DS18B20+"
+"2","1","K1","Pico","Pico_Adapter:Raspberry_Pi_Pico","Pico Adapter:Raspberry Pi Pico","https://datasheets.raspberrypi.com/pico/pico-datasheet.pdf","SC0915","358-SC0915"
+"3","1","P1","NeoPixel","Pico_Adapter:LED NeoPixel 5mm","LED_THT:LED_D5.0mm-4_RGB","https://www.adafruit.com/product/1938","COM-12986","474-COM-12986"
+"4","6","P2, P3, P4, P5, P6, P7","Green","Pico_Adapter:LED Green 3mm","LED_THT:LED_D3.0mm","https://www.mouser.de/datasheet/2/216/WP710A10GT-231723.pdf","WP710A10GT","604-WP710A10GT"
+"5","7","Q1, Q2, Q3, Q4, Q5, Q6, Q7","2N7000","Pico_Adapter:MOSFET 2N7000","Package_TO_SOT_THT:TO-92_Inline_Wide","https://www.mouser.de/datasheet/2/308/NDS7002A_D-1522662.pdf","2N7000BU","512-2N7000BU"
+"6","6","R1, R2, R3, R4, R5, R6","3M3","Device:R","Resistor_THT:R_Axial_DIN0207_L6.3mm_D2.5mm_P10.16mm_Horizontal","https://www.mouser.de/datasheet/2/447/YAGEO_MFR_datasheet_2021v1-3003041.pdf","MFR-25FTE52-3M3","603-MFR-25FTE52-3M3"
+"7","1","R7","4k7","Device:R","Resistor_THT:R_Axial_DIN0207_L6.3mm_D2.5mm_P10.16mm_Horizontal","https://www.mouser.de/datasheet/2/447/YAGEO_MFR_datasheet_2021v1-3003041.pdf","MFR-25FRF52-4K7","603-MFR-25FRF52-4K7"
+"8","2","R8, R9","10k","Device:R","Resistor_THT:R_Axial_DIN0207_L6.3mm_D2.5mm_P10.16mm_Horizontal","https://www.mouser.de/datasheet/2/447/Yageo_LR_MFR_1-1714151.pdf","MFR25SFRF52-10K","603-MFR25SFRF52-10K"
+"9","6","R10, R11, R12, R13, R14, R15","270","Device:R","Resistor_THT:R_Axial_DIN0207_L6.3mm_D2.5mm_P10.16mm_Horizontal","https://www.mouser.de/datasheet/2/447/YAGEO_MFR_datasheet_2021v1-3003041.pdf","MFR-25FBF52-270R","603-MFR-25FBF52-270R"
+"10","3","SW1, SW2, SW3","FSM4JH","Pico_Adapter:Micro_Switch_5mm","Button_Switch_THT:SW_PUSH_6mm_H5mm","https://www.mouser.de/datasheet/2/418/NG_CD_1825910_C10-679020.pdf","FSM4JH","506-FSM4JH"
+"11","2","X1, X2","Raspberry Pi Pico Header","Pico_Adapter:Raspberry Pi Pico Header","Pico Adapter:Raspberry Pi Pico Header","https://www.mouser.de/datasheet/2/527/htsw_th-2854340.pdf","HTSW-120-10-T-S","200-HTSW12010TS"
+"12","1","X6","Arduino GPIO8-13","Connector_Generic:Conn_01x10","Connector_PinSocket_2.54mm:PinSocket_1x10_P2.54mm_Vertical","https://cdn.sparkfun.com/assets/3/f/3/2/1/SP-140520-XX-001.pdf","PRT-11417","474-PRT-11417"

File diff suppressed because it is too large
+ 4562 - 0
Docs/BOM/Pico_Adapter_iBOM.html


BIN
Docs/Datasheets/Maker_Pi_Pico_Datasheet.pdf


BIN
Docs/Datasheets/RP2040_Datasheet.pdf


BIN
Docs/Datasheets/Raspberry_Pi_Pico_Datasheet.pdf


BIN
Docs/Datasheets/Raspberry_Pi_Pico_W_Datasheet.pdf


BIN
Docs/Getting_Started/Connecting_to_Internet_Pico_W.pdf


BIN
Docs/Getting_Started/Getting_started_with_Pico.pdf


BIN
Docs/Hardware/Design/Hardware_Design_RP2040.pdf


BIN
Docs/Hardware/Pinout/Maker_Pi_Pico_Pinout.pdf


BIN
Docs/Hardware/Pinout/Raspberry_Pi_Pico_Pinout.pdf


BIN
Docs/Hardware/Pinout/Raspberry_Pi_Pico_W_Pinout.pdf


BIN
Docs/Hardware/Schematics/Maker_Pi_Pico_Schematic.pdf


BIN
Docs/Hardware/Schematics/Raspberry_Pi_Pico_Schematic.pdf


BIN
Docs/Hardware/Schematics/Raspberry_Pi_Pico_W_Schematic.pdf


+ 3 - 0
Docs/README.md

@@ -0,0 +1,3 @@
+# Documentations
+
+Contains documentations of the Raspberry Pi Pico.

BIN
Docs/Schematics/PCB-Design.pdf


BIN
Docs/Schematics/Schematic-Design.pdf


BIN
Docs/Software_Development_Kit/Raspberry_Pi_Pico_C_SDK.pdf


BIN
Docs/Software_Development_Kit/Raspberry_Pi_Pico_Python_SDK.pdf


+ 394 - 0
Library/Components.lib/Pico_Adapter.bak

@@ -0,0 +1,394 @@
+(kicad_symbol_lib (version 20220914) (generator kicad_symbol_editor)
+  (symbol "+VREF" (power) (pin_names (offset 0)) (in_bom yes) (on_board yes)
+    (property "Reference" "#PWR" (at 0 -3.81 0)
+      (effects (font (size 1.27 1.27)) hide)
+    )
+    (property "Value" "+VREF" (at 0 3.556 0)
+      (effects (font (size 1.27 1.27)))
+    )
+    (property "Footprint" "" (at 0 0 0)
+      (effects (font (size 1.27 1.27)) hide)
+    )
+    (property "Datasheet" "" (at 0 0 0)
+      (effects (font (size 1.27 1.27)) hide)
+    )
+    (property "ki_keywords" "global power" (at 0 0 0)
+      (effects (font (size 1.27 1.27)) hide)
+    )
+    (property "ki_description" "Power symbol creates a global label with name \"+VREF\"" (at 0 0 0)
+      (effects (font (size 1.27 1.27)) hide)
+    )
+    (symbol "+VREF_0_1"
+      (polyline
+        (pts
+          (xy -0.762 1.27)
+          (xy 0 2.54)
+        )
+        (stroke (width 0) (type default))
+        (fill (type none))
+      )
+      (polyline
+        (pts
+          (xy 0 0)
+          (xy 0 2.54)
+        )
+        (stroke (width 0) (type default))
+        (fill (type none))
+      )
+      (polyline
+        (pts
+          (xy 0 2.54)
+          (xy 0.762 1.27)
+        )
+        (stroke (width 0) (type default))
+        (fill (type none))
+      )
+    )
+    (symbol "+VREF_1_1"
+      (pin power_in line (at 0 0 90) (length 0) hide
+        (name "+3V3" (effects (font (size 1.27 1.27))))
+        (number "1" (effects (font (size 1.27 1.27))))
+      )
+    )
+  )
+  (symbol "+VSYS" (power) (pin_names (offset 0)) (in_bom yes) (on_board yes)
+    (property "Reference" "#PWR" (at 0 -3.81 0)
+      (effects (font (size 1.27 1.27)) hide)
+    )
+    (property "Value" "+VSYS" (at 0 3.556 0)
+      (effects (font (size 1.27 1.27)))
+    )
+    (property "Footprint" "" (at 0 0 0)
+      (effects (font (size 1.27 1.27)) hide)
+    )
+    (property "Datasheet" "" (at 0 0 0)
+      (effects (font (size 1.27 1.27)) hide)
+    )
+    (property "ki_keywords" "global power" (at 0 0 0)
+      (effects (font (size 1.27 1.27)) hide)
+    )
+    (property "ki_description" "Power symbol creates a global label with name \"+VSYS\"" (at 0 0 0)
+      (effects (font (size 1.27 1.27)) hide)
+    )
+    (symbol "+VSYS_0_1"
+      (polyline
+        (pts
+          (xy -0.762 1.27)
+          (xy 0 2.54)
+        )
+        (stroke (width 0) (type default))
+        (fill (type none))
+      )
+      (polyline
+        (pts
+          (xy 0 0)
+          (xy 0 2.54)
+        )
+        (stroke (width 0) (type default))
+        (fill (type none))
+      )
+      (polyline
+        (pts
+          (xy 0 2.54)
+          (xy 0.762 1.27)
+        )
+        (stroke (width 0) (type default))
+        (fill (type none))
+      )
+    )
+    (symbol "+VSYS_1_1"
+      (pin power_in line (at 0 0 90) (length 0) hide
+        (name "+3V3" (effects (font (size 1.27 1.27))))
+        (number "1" (effects (font (size 1.27 1.27))))
+      )
+    )
+  )
+  (symbol "Arduino Shield" (pin_names hide) (in_bom no) (on_board yes)
+    (property "Reference" "U" (at -6.35 21.59 0)
+      (effects (font (size 1.27 1.27)))
+    )
+    (property "Value" "Arduino Shield" (at 1.27 -21.59 0)
+      (effects (font (size 1.27 1.27)))
+    )
+    (property "Footprint" "Pico Adapter:Arduino Shield" (at 1.27 -24.13 0)
+      (effects (font (size 1.27 1.27)) hide)
+    )
+    (property "Datasheet" "https://docs.arduino.cc/static/901e4b985af3bc16ef45a1e37d90b7c5/A000066-datasheet.pdf" (at 2.54 27.94 0)
+      (effects (font (size 1.27 1.27)) hide)
+    )
+    (symbol "Arduino Shield_1_1"
+      (rectangle (start -7.62 20.32) (end 10.16 -20.32)
+        (stroke (width 0.254) (type default))
+        (fill (type none))
+      )
+      (rectangle (start -5.08 20.32) (end 7.62 -20.32)
+        (stroke (width 0.254) (type default))
+        (fill (type background))
+      )
+      (text "Arduino Shield" (at 1.27 0 900)
+        (effects (font (size 2.54 2.54) bold))
+      )
+    )
+  )
+  (symbol "Raspberry Pi Pico Header" (pin_names (offset 1.016) hide) (in_bom yes) (on_board yes)
+    (property "Reference" "X" (at 0 25.4 0)
+      (effects (font (size 1.27 1.27)))
+    )
+    (property "Value" "Raspberry Pi Pico Header" (at 0 -27.94 0)
+      (effects (font (size 1.27 1.27)))
+    )
+    (property "Footprint" "Pico Adapter:Raspberry Pi Pico Header" (at 0 0 0)
+      (effects (font (size 1.27 1.27)) hide)
+    )
+    (property "Datasheet" "https://www.mouser.de/datasheet/2/527/htsw_th-2854340.pdf" (at 0 0 0)
+      (effects (font (size 1.27 1.27)) hide)
+    )
+    (property "Hersteller-Nr." "HTSW-120-10-T-S" (at 0 0 0)
+      (effects (font (size 1.27 1.27)) hide)
+    )
+    (property "Mouser-Nr." "200-HTSW12010TS" (at 0 0 0)
+      (effects (font (size 1.27 1.27)) hide)
+    )
+    (property "ki_keywords" "connector" (at 0 0 0)
+      (effects (font (size 1.27 1.27)) hide)
+    )
+    (property "ki_description" "Generic connector, single row, 01x20, script generated (kicad-library-utils/schlib/autogen/connector/)" (at 0 0 0)
+      (effects (font (size 1.27 1.27)) hide)
+    )
+    (property "ki_fp_filters" "Connector*:*_1x??_*" (at 0 0 0)
+      (effects (font (size 1.27 1.27)) hide)
+    )
+    (symbol "Raspberry Pi Pico Header_1_1"
+      (rectangle (start -1.27 -25.273) (end 0 -25.527)
+        (stroke (width 0.1524) (type default))
+        (fill (type none))
+      )
+      (rectangle (start -1.27 -22.733) (end 0 -22.987)
+        (stroke (width 0.1524) (type default))
+        (fill (type none))
+      )
+      (rectangle (start -1.27 -20.193) (end 0 -20.447)
+        (stroke (width 0.1524) (type default))
+        (fill (type none))
+      )
+      (rectangle (start -1.27 -17.653) (end 0 -17.907)
+        (stroke (width 0.1524) (type default))
+        (fill (type none))
+      )
+      (rectangle (start -1.27 -15.113) (end 0 -15.367)
+        (stroke (width 0.1524) (type default))
+        (fill (type none))
+      )
+      (rectangle (start -1.27 -12.573) (end 0 -12.827)
+        (stroke (width 0.1524) (type default))
+        (fill (type none))
+      )
+      (rectangle (start -1.27 -10.033) (end 0 -10.287)
+        (stroke (width 0.1524) (type default))
+        (fill (type none))
+      )
+      (rectangle (start -1.27 -7.493) (end 0 -7.747)
+        (stroke (width 0.1524) (type default))
+        (fill (type none))
+      )
+      (rectangle (start -1.27 -4.953) (end 0 -5.207)
+        (stroke (width 0.1524) (type default))
+        (fill (type none))
+      )
+      (rectangle (start -1.27 -2.413) (end 0 -2.667)
+        (stroke (width 0.1524) (type default))
+        (fill (type none))
+      )
+      (rectangle (start -1.27 0.127) (end 0 -0.127)
+        (stroke (width 0.1524) (type default))
+        (fill (type none))
+      )
+      (rectangle (start -1.27 2.667) (end 0 2.413)
+        (stroke (width 0.1524) (type default))
+        (fill (type none))
+      )
+      (rectangle (start -1.27 5.207) (end 0 4.953)
+        (stroke (width 0.1524) (type default))
+        (fill (type none))
+      )
+      (rectangle (start -1.27 7.747) (end 0 7.493)
+        (stroke (width 0.1524) (type default))
+        (fill (type none))
+      )
+      (rectangle (start -1.27 10.287) (end 0 10.033)
+        (stroke (width 0.1524) (type default))
+        (fill (type none))
+      )
+      (rectangle (start -1.27 12.827) (end 0 12.573)
+        (stroke (width 0.1524) (type default))
+        (fill (type none))
+      )
+      (rectangle (start -1.27 15.367) (end 0 15.113)
+        (stroke (width 0.1524) (type default))
+        (fill (type none))
+      )
+      (rectangle (start -1.27 17.907) (end 0 17.653)
+        (stroke (width 0.1524) (type default))
+        (fill (type none))
+      )
+      (rectangle (start -1.27 20.447) (end 0 20.193)
+        (stroke (width 0.1524) (type default))
+        (fill (type none))
+      )
+      (rectangle (start -1.27 22.987) (end 0 22.733)
+        (stroke (width 0.1524) (type default))
+        (fill (type none))
+      )
+      (rectangle (start -1.27 24.13) (end 1.27 -26.67)
+        (stroke (width 0.254) (type default))
+        (fill (type background))
+      )
+      (pin passive line (at -5.08 22.86 0) (length 3.81)
+        (name "Pin_1" (effects (font (size 1.27 1.27))))
+        (number "1" (effects (font (size 1.27 1.27))))
+      )
+      (pin passive line (at -5.08 0 0) (length 3.81)
+        (name "Pin_10" (effects (font (size 1.27 1.27))))
+        (number "10" (effects (font (size 1.27 1.27))))
+      )
+      (pin passive line (at -5.08 -2.54 0) (length 3.81)
+        (name "Pin_11" (effects (font (size 1.27 1.27))))
+        (number "11" (effects (font (size 1.27 1.27))))
+      )
+      (pin passive line (at -5.08 -5.08 0) (length 3.81)
+        (name "Pin_12" (effects (font (size 1.27 1.27))))
+        (number "12" (effects (font (size 1.27 1.27))))
+      )
+      (pin passive line (at -5.08 -7.62 0) (length 3.81)
+        (name "Pin_13" (effects (font (size 1.27 1.27))))
+        (number "13" (effects (font (size 1.27 1.27))))
+      )
+      (pin passive line (at -5.08 -10.16 0) (length 3.81)
+        (name "Pin_14" (effects (font (size 1.27 1.27))))
+        (number "14" (effects (font (size 1.27 1.27))))
+      )
+      (pin passive line (at -5.08 -12.7 0) (length 3.81)
+        (name "Pin_15" (effects (font (size 1.27 1.27))))
+        (number "15" (effects (font (size 1.27 1.27))))
+      )
+      (pin passive line (at -5.08 -15.24 0) (length 3.81)
+        (name "Pin_16" (effects (font (size 1.27 1.27))))
+        (number "16" (effects (font (size 1.27 1.27))))
+      )
+      (pin passive line (at -5.08 -17.78 0) (length 3.81)
+        (name "Pin_17" (effects (font (size 1.27 1.27))))
+        (number "17" (effects (font (size 1.27 1.27))))
+      )
+      (pin passive line (at -5.08 -20.32 0) (length 3.81)
+        (name "Pin_18" (effects (font (size 1.27 1.27))))
+        (number "18" (effects (font (size 1.27 1.27))))
+      )
+      (pin passive line (at -5.08 -22.86 0) (length 3.81)
+        (name "Pin_19" (effects (font (size 1.27 1.27))))
+        (number "19" (effects (font (size 1.27 1.27))))
+      )
+      (pin passive line (at -5.08 20.32 0) (length 3.81)
+        (name "Pin_2" (effects (font (size 1.27 1.27))))
+        (number "2" (effects (font (size 1.27 1.27))))
+      )
+      (pin passive line (at -5.08 -25.4 0) (length 3.81)
+        (name "Pin_20" (effects (font (size 1.27 1.27))))
+        (number "20" (effects (font (size 1.27 1.27))))
+      )
+      (pin passive line (at -5.08 17.78 0) (length 3.81)
+        (name "Pin_3" (effects (font (size 1.27 1.27))))
+        (number "3" (effects (font (size 1.27 1.27))))
+      )
+      (pin passive line (at -5.08 15.24 0) (length 3.81)
+        (name "Pin_4" (effects (font (size 1.27 1.27))))
+        (number "4" (effects (font (size 1.27 1.27))))
+      )
+      (pin passive line (at -5.08 12.7 0) (length 3.81)
+        (name "Pin_5" (effects (font (size 1.27 1.27))))
+        (number "5" (effects (font (size 1.27 1.27))))
+      )
+      (pin passive line (at -5.08 10.16 0) (length 3.81)
+        (name "Pin_6" (effects (font (size 1.27 1.27))))
+        (number "6" (effects (font (size 1.27 1.27))))
+      )
+      (pin passive line (at -5.08 7.62 0) (length 3.81)
+        (name "Pin_7" (effects (font (size 1.27 1.27))))
+        (number "7" (effects (font (size 1.27 1.27))))
+      )
+      (pin passive line (at -5.08 5.08 0) (length 3.81)
+        (name "Pin_8" (effects (font (size 1.27 1.27))))
+        (number "8" (effects (font (size 1.27 1.27))))
+      )
+      (pin passive line (at -5.08 2.54 0) (length 3.81)
+        (name "Pin_9" (effects (font (size 1.27 1.27))))
+        (number "9" (effects (font (size 1.27 1.27))))
+      )
+    )
+  )
+  (symbol "Raspberry_Pi_Pico" (pin_names hide) (in_bom yes) (on_board yes)
+    (property "Reference" "K" (at -7.62 26.67 0)
+      (effects (font (size 1.27 1.27)))
+    )
+    (property "Value" "Pico" (at 0 -26.67 0)
+      (effects (font (size 1.27 1.27)))
+    )
+    (property "Footprint" "Pico Adapter:Raspberry Pi Pico" (at 0 -34.29 0)
+      (effects (font (size 1.27 1.27)) hide)
+    )
+    (property "Datasheet" "https://datasheets.raspberrypi.com/pico/pico-datasheet.pdf" (at 3.81 -31.75 0)
+      (effects (font (size 1.27 1.27)) hide)
+    )
+    (property "Hersteller-Nr." "SC0915" (at 7.62 -29.21 0)
+      (effects (font (size 1.27 1.27)) hide)
+    )
+    (property "Mouser-Nr." "358-SC0915" (at -3.81 -29.21 0)
+      (effects (font (size 1.27 1.27)) hide)
+    )
+    (symbol "Raspberry_Pi_Pico_1_1"
+      (rectangle (start -8.89 25.4) (end 8.89 -25.4)
+        (stroke (width 0.254) (type default))
+        (fill (type none))
+      )
+      (rectangle (start -6.35 25.4) (end 6.35 -25.4)
+        (stroke (width 0.254) (type default))
+        (fill (type background))
+      )
+      (text "Raspberry Pi Pico" (at 0 0 900)
+        (effects (font (size 2.54 2.54) bold))
+      )
+    )
+  )
+  (symbol "Raspberry_Pi_Pico_W" (pin_names hide) (in_bom yes) (on_board yes)
+    (property "Reference" "K" (at -7.62 26.67 0)
+      (effects (font (size 1.27 1.27)))
+    )
+    (property "Value" "Pico W" (at 0 -26.67 0)
+      (effects (font (size 1.27 1.27)))
+    )
+    (property "Footprint" "Pico Adapter:Raspberry Pi Pico W" (at 0 -34.29 0)
+      (effects (font (size 1.27 1.27)) hide)
+    )
+    (property "Datasheet" "https://datasheets.raspberrypi.com/picow/pico-w-datasheet.pdf" (at 3.81 -31.75 0)
+      (effects (font (size 1.27 1.27)) hide)
+    )
+    (property "Hersteller-Nr." "SC0918" (at 7.62 -29.21 0)
+      (effects (font (size 1.27 1.27)) hide)
+    )
+    (property "Mouser-Nr." "358-SC0918" (at -3.81 -29.21 0)
+      (effects (font (size 1.27 1.27)) hide)
+    )
+    (symbol "Raspberry_Pi_Pico_W_1_1"
+      (rectangle (start -8.89 25.4) (end 8.89 -25.4)
+        (stroke (width 0.254) (type default))
+        (fill (type none))
+      )
+      (rectangle (start -6.35 25.4) (end 6.35 -25.4)
+        (stroke (width 0.254) (type default))
+        (fill (type background))
+      )
+      (text "Raspberry Pi Pico" (at 0 0 900)
+        (effects (font (size 2.54 2.54) bold))
+      )
+    )
+  )
+)

+ 823 - 0
Library/Components.lib/Pico_Adapter.kicad_sym

@@ -0,0 +1,823 @@
+(kicad_symbol_lib (version 20220914) (generator kicad_symbol_editor)
+  (symbol "Arduino Shield" (pin_names hide) (in_bom no) (on_board yes)
+    (property "Reference" "U" (at -6.35 21.59 0)
+      (effects (font (size 1.27 1.27)))
+    )
+    (property "Value" "Arduino Shield" (at 1.27 -21.59 0)
+      (effects (font (size 1.27 1.27)))
+    )
+    (property "Footprint" "Pico Adapter:Arduino Shield" (at 1.27 -24.13 0)
+      (effects (font (size 1.27 1.27)) hide)
+    )
+    (property "Datasheet" "https://docs.arduino.cc/static/901e4b985af3bc16ef45a1e37d90b7c5/A000066-datasheet.pdf" (at 2.54 27.94 0)
+      (effects (font (size 1.27 1.27)) hide)
+    )
+    (symbol "Arduino Shield_1_1"
+      (rectangle (start -7.62 20.32) (end 10.16 -20.32)
+        (stroke (width 0.254) (type default))
+        (fill (type none))
+      )
+      (rectangle (start -5.08 20.32) (end 7.62 -20.32)
+        (stroke (width 0.254) (type default))
+        (fill (type background))
+      )
+      (text "Arduino Shield" (at 1.27 0 900)
+        (effects (font (size 2.54 2.54) bold))
+      )
+    )
+  )
+  (symbol "LED Green 3mm" (pin_numbers hide) (pin_names (offset 1.016) hide) (in_bom yes) (on_board yes)
+    (property "Reference" "P" (at 0 2.54 0)
+      (effects (font (size 1.27 1.27)))
+    )
+    (property "Value" "Green" (at 0 -2.54 0)
+      (effects (font (size 1.27 1.27)))
+    )
+    (property "Footprint" "LED_THT:LED_D3.0mm" (at 0 0 0)
+      (effects (font (size 1.27 1.27)) hide)
+    )
+    (property "Datasheet" "https://www.mouser.de/datasheet/2/216/WP710A10GT-231723.pdf" (at 0 0 0)
+      (effects (font (size 1.27 1.27)) hide)
+    )
+    (property "Hersteller-Nr." "WP710A10GT" (at 0 0 0)
+      (effects (font (size 1.27 1.27)) hide)
+    )
+    (property "Mouser-Nr." "604-WP710A10GT" (at 0 0 0)
+      (effects (font (size 1.27 1.27)) hide)
+    )
+    (property "ki_keywords" "LED diode" (at 0 0 0)
+      (effects (font (size 1.27 1.27)) hide)
+    )
+    (property "ki_description" "Light emitting diode" (at 0 0 0)
+      (effects (font (size 1.27 1.27)) hide)
+    )
+    (property "ki_fp_filters" "LED* LED_SMD:* LED_THT:*" (at 0 0 0)
+      (effects (font (size 1.27 1.27)) hide)
+    )
+    (symbol "LED Green 3mm_0_1"
+      (polyline
+        (pts
+          (xy -1.27 -1.27)
+          (xy -1.27 1.27)
+        )
+        (stroke (width 0.254) (type default))
+        (fill (type none))
+      )
+      (polyline
+        (pts
+          (xy -1.27 0)
+          (xy 1.27 0)
+        )
+        (stroke (width 0) (type default))
+        (fill (type none))
+      )
+      (polyline
+        (pts
+          (xy 1.27 -1.27)
+          (xy 1.27 1.27)
+          (xy -1.27 0)
+          (xy 1.27 -1.27)
+        )
+        (stroke (width 0.254) (type default))
+        (fill (type none))
+      )
+      (polyline
+        (pts
+          (xy -3.048 -0.762)
+          (xy -4.572 -2.286)
+          (xy -3.81 -2.286)
+          (xy -4.572 -2.286)
+          (xy -4.572 -1.524)
+        )
+        (stroke (width 0) (type default))
+        (fill (type none))
+      )
+      (polyline
+        (pts
+          (xy -1.778 -0.762)
+          (xy -3.302 -2.286)
+          (xy -2.54 -2.286)
+          (xy -3.302 -2.286)
+          (xy -3.302 -1.524)
+        )
+        (stroke (width 0) (type default))
+        (fill (type none))
+      )
+    )
+    (symbol "LED Green 3mm_1_1"
+      (pin passive line (at -3.81 0 0) (length 2.54)
+        (name "K" (effects (font (size 1.27 1.27))))
+        (number "1" (effects (font (size 1.27 1.27))))
+      )
+      (pin passive line (at 3.81 0 180) (length 2.54)
+        (name "A" (effects (font (size 1.27 1.27))))
+        (number "2" (effects (font (size 1.27 1.27))))
+      )
+    )
+  )
+  (symbol "LED NeoPixel 5mm" (pin_names (offset 0.254)) (in_bom yes) (on_board yes)
+    (property "Reference" "P" (at 5.08 5.715 0)
+      (effects (font (size 1.27 1.27)) (justify right bottom))
+    )
+    (property "Value" "NeoPixel" (at 1.27 -5.715 0)
+      (effects (font (size 1.27 1.27)) (justify left top))
+    )
+    (property "Footprint" "LED_THT:LED_D5.0mm-4_RGB" (at 1.27 -7.62 0)
+      (effects (font (size 1.27 1.27)) (justify left top) hide)
+    )
+    (property "Datasheet" "https://www.adafruit.com/product/1938" (at 2.54 -9.525 0)
+      (effects (font (size 1.27 1.27)) (justify left top) hide)
+    )
+    (property "Hersteller-Nr." "COM-12986" (at 0 0 0)
+      (effects (font (size 1.27 1.27)) hide)
+    )
+    (property "Mouser-Nr." "474-COM-12986" (at 0 0 0)
+      (effects (font (size 1.27 1.27)) hide)
+    )
+    (property "ki_keywords" "RGB LED NeoPixel addressable" (at 0 0 0)
+      (effects (font (size 1.27 1.27)) hide)
+    )
+    (property "ki_description" "RGB LED with integrated controller, 5mm/8mm LED package" (at 0 0 0)
+      (effects (font (size 1.27 1.27)) hide)
+    )
+    (property "ki_fp_filters" "LED*D5.0mm* LED*D8.0mm*" (at 0 0 0)
+      (effects (font (size 1.27 1.27)) hide)
+    )
+    (symbol "LED NeoPixel 5mm_0_0"
+      (text "RGB" (at 2.286 -4.191 0)
+        (effects (font (size 0.762 0.762)))
+      )
+    )
+    (symbol "LED NeoPixel 5mm_0_1"
+      (polyline
+        (pts
+          (xy 1.27 -3.556)
+          (xy 1.778 -3.556)
+        )
+        (stroke (width 0) (type default))
+        (fill (type none))
+      )
+      (polyline
+        (pts
+          (xy 1.27 -2.54)
+          (xy 1.778 -2.54)
+        )
+        (stroke (width 0) (type default))
+        (fill (type none))
+      )
+      (polyline
+        (pts
+          (xy 4.699 -3.556)
+          (xy 2.667 -3.556)
+        )
+        (stroke (width 0) (type default))
+        (fill (type none))
+      )
+      (polyline
+        (pts
+          (xy 2.286 -2.54)
+          (xy 1.27 -3.556)
+          (xy 1.27 -3.048)
+        )
+        (stroke (width 0) (type default))
+        (fill (type none))
+      )
+      (polyline
+        (pts
+          (xy 2.286 -1.524)
+          (xy 1.27 -2.54)
+          (xy 1.27 -2.032)
+        )
+        (stroke (width 0) (type default))
+        (fill (type none))
+      )
+      (polyline
+        (pts
+          (xy 3.683 -1.016)
+          (xy 3.683 -3.556)
+          (xy 3.683 -4.064)
+        )
+        (stroke (width 0) (type default))
+        (fill (type none))
+      )
+      (polyline
+        (pts
+          (xy 4.699 -1.524)
+          (xy 2.667 -1.524)
+          (xy 3.683 -3.556)
+          (xy 4.699 -1.524)
+        )
+        (stroke (width 0) (type default))
+        (fill (type none))
+      )
+      (rectangle (start 5.08 5.08) (end -5.08 -5.08)
+        (stroke (width 0.254) (type default))
+        (fill (type background))
+      )
+    )
+    (symbol "LED NeoPixel 5mm_1_1"
+      (pin output line (at 7.62 0 180) (length 2.54)
+        (name "DOUT" (effects (font (size 1.27 1.27))))
+        (number "1" (effects (font (size 1.27 1.27))))
+      )
+      (pin power_in line (at 0 -7.62 90) (length 2.54)
+        (name "GND" (effects (font (size 1.27 1.27))))
+        (number "2" (effects (font (size 1.27 1.27))))
+      )
+      (pin power_in line (at 0 7.62 270) (length 2.54)
+        (name "VDD" (effects (font (size 1.27 1.27))))
+        (number "3" (effects (font (size 1.27 1.27))))
+      )
+      (pin input line (at -7.62 0 0) (length 2.54)
+        (name "DIN" (effects (font (size 1.27 1.27))))
+        (number "4" (effects (font (size 1.27 1.27))))
+      )
+    )
+  )
+  (symbol "MOSFET 2N7000" (pin_names hide) (in_bom yes) (on_board yes)
+    (property "Reference" "Q" (at 5.08 1.905 0)
+      (effects (font (size 1.27 1.27)) (justify left))
+    )
+    (property "Value" "2N7000" (at 5.08 0 0)
+      (effects (font (size 1.27 1.27)) (justify left))
+    )
+    (property "Footprint" "Package_TO_SOT_THT:TO-92_Inline_Wide" (at 5.08 -1.905 0)
+      (effects (font (size 1.27 1.27) italic) (justify left) hide)
+    )
+    (property "Datasheet" "https://www.mouser.de/datasheet/2/308/NDS7002A_D-1522662.pdf" (at 0 0 0)
+      (effects (font (size 1.27 1.27)) (justify left) hide)
+    )
+    (property "Hersteller-Nr." "2N7000BU" (at 0 0 0)
+      (effects (font (size 1.27 1.27)) hide)
+    )
+    (property "Mouser-Nr." "512-2N7000BU" (at 0 0 0)
+      (effects (font (size 1.27 1.27)) hide)
+    )
+    (property "ki_keywords" "N-Channel MOSFET Logic-Level" (at 0 0 0)
+      (effects (font (size 1.27 1.27)) hide)
+    )
+    (property "ki_description" "0.2A Id, 200V Vds, N-Channel MOSFET, 2.6V Logic Level, TO-92" (at 0 0 0)
+      (effects (font (size 1.27 1.27)) hide)
+    )
+    (property "ki_fp_filters" "TO?92*" (at 0 0 0)
+      (effects (font (size 1.27 1.27)) hide)
+    )
+    (symbol "MOSFET 2N7000_0_1"
+      (polyline
+        (pts
+          (xy 0.254 0)
+          (xy -2.54 0)
+        )
+        (stroke (width 0) (type default))
+        (fill (type none))
+      )
+      (polyline
+        (pts
+          (xy 0.254 1.905)
+          (xy 0.254 -1.905)
+        )
+        (stroke (width 0.254) (type default))
+        (fill (type none))
+      )
+      (polyline
+        (pts
+          (xy 0.762 -1.27)
+          (xy 0.762 -2.286)
+        )
+        (stroke (width 0.254) (type default))
+        (fill (type none))
+      )
+      (polyline
+        (pts
+          (xy 0.762 0.508)
+          (xy 0.762 -0.508)
+        )
+        (stroke (width 0.254) (type default))
+        (fill (type none))
+      )
+      (polyline
+        (pts
+          (xy 0.762 2.286)
+          (xy 0.762 1.27)
+        )
+        (stroke (width 0.254) (type default))
+        (fill (type none))
+      )
+      (polyline
+        (pts
+          (xy 2.54 2.54)
+          (xy 2.54 1.778)
+        )
+        (stroke (width 0) (type default))
+        (fill (type none))
+      )
+      (polyline
+        (pts
+          (xy 2.54 -2.54)
+          (xy 2.54 0)
+          (xy 0.762 0)
+        )
+        (stroke (width 0) (type default))
+        (fill (type none))
+      )
+      (polyline
+        (pts
+          (xy 0.762 -1.778)
+          (xy 3.302 -1.778)
+          (xy 3.302 1.778)
+          (xy 0.762 1.778)
+        )
+        (stroke (width 0) (type default))
+        (fill (type none))
+      )
+      (polyline
+        (pts
+          (xy 1.016 0)
+          (xy 2.032 0.381)
+          (xy 2.032 -0.381)
+          (xy 1.016 0)
+        )
+        (stroke (width 0) (type default))
+        (fill (type outline))
+      )
+      (polyline
+        (pts
+          (xy 2.794 0.508)
+          (xy 2.921 0.381)
+          (xy 3.683 0.381)
+          (xy 3.81 0.254)
+        )
+        (stroke (width 0) (type default))
+        (fill (type none))
+      )
+      (polyline
+        (pts
+          (xy 3.302 0.381)
+          (xy 2.921 -0.254)
+          (xy 3.683 -0.254)
+          (xy 3.302 0.381)
+        )
+        (stroke (width 0) (type default))
+        (fill (type none))
+      )
+      (circle (center 1.651 0) (radius 2.794)
+        (stroke (width 0.254) (type default))
+        (fill (type none))
+      )
+      (circle (center 2.54 -1.778) (radius 0.254)
+        (stroke (width 0) (type default))
+        (fill (type outline))
+      )
+      (circle (center 2.54 1.778) (radius 0.254)
+        (stroke (width 0) (type default))
+        (fill (type outline))
+      )
+    )
+    (symbol "MOSFET 2N7000_1_1"
+      (pin passive line (at 2.54 -5.08 90) (length 2.54)
+        (name "S" (effects (font (size 1.27 1.27))))
+        (number "1" (effects (font (size 1.27 1.27))))
+      )
+      (pin input line (at -5.08 0 0) (length 2.54)
+        (name "G" (effects (font (size 1.27 1.27))))
+        (number "2" (effects (font (size 1.27 1.27))))
+      )
+      (pin passive line (at 2.54 5.08 270) (length 2.54)
+        (name "D" (effects (font (size 1.27 1.27))))
+        (number "3" (effects (font (size 1.27 1.27))))
+      )
+    )
+  )
+  (symbol "Micro Switch 5mm" (pin_names (offset 0) hide) (in_bom yes) (on_board yes)
+    (property "Reference" "SW" (at 0 3.175 0)
+      (effects (font (size 1.27 1.27)))
+    )
+    (property "Value" "FSM4JH" (at 0 -2.54 0)
+      (effects (font (size 1.27 1.27)))
+    )
+    (property "Footprint" "Button_Switch_THT:SW_PUSH_6mm_H5mm" (at 0 -7.62 0)
+      (effects (font (size 1.27 1.27)) hide)
+    )
+    (property "Datasheet" "https://www.mouser.de/datasheet/2/418/NG_CD_1825910_C10-679020.pdf" (at 0 -11.43 0)
+      (effects (font (size 1.27 1.27)) hide)
+    )
+    (property "Hersteller-Nr." "FSM4JH" (at 1.27 -5.08 0)
+      (effects (font (size 1.27 1.27)) hide)
+    )
+    (property "Mouser-Nr." "506-FSM4JH" (at -1.27 -5.08 0)
+      (effects (font (size 1.27 1.27)) hide)
+    )
+    (property "ki_keywords" "switch lever" (at 0 0 0)
+      (effects (font (size 1.27 1.27)) hide)
+    )
+    (property "ki_description" "Single Pole Single Throw (SPST) switch" (at 0 0 0)
+      (effects (font (size 1.27 1.27)) hide)
+    )
+    (symbol "Micro Switch 5mm_0_0"
+      (circle (center -2.032 0) (radius 0.508)
+        (stroke (width 0) (type default))
+        (fill (type none))
+      )
+      (polyline
+        (pts
+          (xy -1.524 0.254)
+          (xy 1.524 1.778)
+        )
+        (stroke (width 0) (type default))
+        (fill (type none))
+      )
+      (circle (center 2.032 0) (radius 0.508)
+        (stroke (width 0) (type default))
+        (fill (type none))
+      )
+    )
+    (symbol "Micro Switch 5mm_1_1"
+      (pin passive line (at -5.08 0 0) (length 2.54)
+        (name "A" (effects (font (size 1.27 1.27))))
+        (number "1" (effects (font (size 1.27 1.27))))
+      )
+      (pin passive line (at 5.08 0 180) (length 2.54)
+        (name "B" (effects (font (size 1.27 1.27))))
+        (number "2" (effects (font (size 1.27 1.27))))
+      )
+    )
+  )
+  (symbol "Raspberry Pi Pico Header" (pin_names (offset 1.016) hide) (in_bom yes) (on_board yes)
+    (property "Reference" "X" (at 0 25.4 0)
+      (effects (font (size 1.27 1.27)))
+    )
+    (property "Value" "Raspberry Pi Pico Header" (at 0 -27.94 0)
+      (effects (font (size 1.27 1.27)))
+    )
+    (property "Footprint" "Pico Adapter:Raspberry Pi Pico Header" (at 0 0 0)
+      (effects (font (size 1.27 1.27)) hide)
+    )
+    (property "Datasheet" "https://www.mouser.de/datasheet/2/527/htsw_th-2854340.pdf" (at 0 0 0)
+      (effects (font (size 1.27 1.27)) hide)
+    )
+    (property "Hersteller-Nr." "HTSW-120-10-T-S" (at 0 0 0)
+      (effects (font (size 1.27 1.27)) hide)
+    )
+    (property "Mouser-Nr." "200-HTSW12010TS" (at 0 0 0)
+      (effects (font (size 1.27 1.27)) hide)
+    )
+    (property "ki_keywords" "connector" (at 0 0 0)
+      (effects (font (size 1.27 1.27)) hide)
+    )
+    (property "ki_description" "Generic connector, single row, 01x20, script generated (kicad-library-utils/schlib/autogen/connector/)" (at 0 0 0)
+      (effects (font (size 1.27 1.27)) hide)
+    )
+    (property "ki_fp_filters" "Connector*:*_1x??_*" (at 0 0 0)
+      (effects (font (size 1.27 1.27)) hide)
+    )
+    (symbol "Raspberry Pi Pico Header_1_1"
+      (rectangle (start -1.27 -25.273) (end 0 -25.527)
+        (stroke (width 0.1524) (type default))
+        (fill (type none))
+      )
+      (rectangle (start -1.27 -22.733) (end 0 -22.987)
+        (stroke (width 0.1524) (type default))
+        (fill (type none))
+      )
+      (rectangle (start -1.27 -20.193) (end 0 -20.447)
+        (stroke (width 0.1524) (type default))
+        (fill (type none))
+      )
+      (rectangle (start -1.27 -17.653) (end 0 -17.907)
+        (stroke (width 0.1524) (type default))
+        (fill (type none))
+      )
+      (rectangle (start -1.27 -15.113) (end 0 -15.367)
+        (stroke (width 0.1524) (type default))
+        (fill (type none))
+      )
+      (rectangle (start -1.27 -12.573) (end 0 -12.827)
+        (stroke (width 0.1524) (type default))
+        (fill (type none))
+      )
+      (rectangle (start -1.27 -10.033) (end 0 -10.287)
+        (stroke (width 0.1524) (type default))
+        (fill (type none))
+      )
+      (rectangle (start -1.27 -7.493) (end 0 -7.747)
+        (stroke (width 0.1524) (type default))
+        (fill (type none))
+      )
+      (rectangle (start -1.27 -4.953) (end 0 -5.207)
+        (stroke (width 0.1524) (type default))
+        (fill (type none))
+      )
+      (rectangle (start -1.27 -2.413) (end 0 -2.667)
+        (stroke (width 0.1524) (type default))
+        (fill (type none))
+      )
+      (rectangle (start -1.27 0.127) (end 0 -0.127)
+        (stroke (width 0.1524) (type default))
+        (fill (type none))
+      )
+      (rectangle (start -1.27 2.667) (end 0 2.413)
+        (stroke (width 0.1524) (type default))
+        (fill (type none))
+      )
+      (rectangle (start -1.27 5.207) (end 0 4.953)
+        (stroke (width 0.1524) (type default))
+        (fill (type none))
+      )
+      (rectangle (start -1.27 7.747) (end 0 7.493)
+        (stroke (width 0.1524) (type default))
+        (fill (type none))
+      )
+      (rectangle (start -1.27 10.287) (end 0 10.033)
+        (stroke (width 0.1524) (type default))
+        (fill (type none))
+      )
+      (rectangle (start -1.27 12.827) (end 0 12.573)
+        (stroke (width 0.1524) (type default))
+        (fill (type none))
+      )
+      (rectangle (start -1.27 15.367) (end 0 15.113)
+        (stroke (width 0.1524) (type default))
+        (fill (type none))
+      )
+      (rectangle (start -1.27 17.907) (end 0 17.653)
+        (stroke (width 0.1524) (type default))
+        (fill (type none))
+      )
+      (rectangle (start -1.27 20.447) (end 0 20.193)
+        (stroke (width 0.1524) (type default))
+        (fill (type none))
+      )
+      (rectangle (start -1.27 22.987) (end 0 22.733)
+        (stroke (width 0.1524) (type default))
+        (fill (type none))
+      )
+      (rectangle (start -1.27 24.13) (end 1.27 -26.67)
+        (stroke (width 0.254) (type default))
+        (fill (type background))
+      )
+      (pin passive line (at -5.08 22.86 0) (length 3.81)
+        (name "Pin_1" (effects (font (size 1.27 1.27))))
+        (number "1" (effects (font (size 1.27 1.27))))
+      )
+      (pin passive line (at -5.08 0 0) (length 3.81)
+        (name "Pin_10" (effects (font (size 1.27 1.27))))
+        (number "10" (effects (font (size 1.27 1.27))))
+      )
+      (pin passive line (at -5.08 -2.54 0) (length 3.81)
+        (name "Pin_11" (effects (font (size 1.27 1.27))))
+        (number "11" (effects (font (size 1.27 1.27))))
+      )
+      (pin passive line (at -5.08 -5.08 0) (length 3.81)
+        (name "Pin_12" (effects (font (size 1.27 1.27))))
+        (number "12" (effects (font (size 1.27 1.27))))
+      )
+      (pin passive line (at -5.08 -7.62 0) (length 3.81)
+        (name "Pin_13" (effects (font (size 1.27 1.27))))
+        (number "13" (effects (font (size 1.27 1.27))))
+      )
+      (pin passive line (at -5.08 -10.16 0) (length 3.81)
+        (name "Pin_14" (effects (font (size 1.27 1.27))))
+        (number "14" (effects (font (size 1.27 1.27))))
+      )
+      (pin passive line (at -5.08 -12.7 0) (length 3.81)
+        (name "Pin_15" (effects (font (size 1.27 1.27))))
+        (number "15" (effects (font (size 1.27 1.27))))
+      )
+      (pin passive line (at -5.08 -15.24 0) (length 3.81)
+        (name "Pin_16" (effects (font (size 1.27 1.27))))
+        (number "16" (effects (font (size 1.27 1.27))))
+      )
+      (pin passive line (at -5.08 -17.78 0) (length 3.81)
+        (name "Pin_17" (effects (font (size 1.27 1.27))))
+        (number "17" (effects (font (size 1.27 1.27))))
+      )
+      (pin passive line (at -5.08 -20.32 0) (length 3.81)
+        (name "Pin_18" (effects (font (size 1.27 1.27))))
+        (number "18" (effects (font (size 1.27 1.27))))
+      )
+      (pin passive line (at -5.08 -22.86 0) (length 3.81)
+        (name "Pin_19" (effects (font (size 1.27 1.27))))
+        (number "19" (effects (font (size 1.27 1.27))))
+      )
+      (pin passive line (at -5.08 20.32 0) (length 3.81)
+        (name "Pin_2" (effects (font (size 1.27 1.27))))
+        (number "2" (effects (font (size 1.27 1.27))))
+      )
+      (pin passive line (at -5.08 -25.4 0) (length 3.81)
+        (name "Pin_20" (effects (font (size 1.27 1.27))))
+        (number "20" (effects (font (size 1.27 1.27))))
+      )
+      (pin passive line (at -5.08 17.78 0) (length 3.81)
+        (name "Pin_3" (effects (font (size 1.27 1.27))))
+        (number "3" (effects (font (size 1.27 1.27))))
+      )
+      (pin passive line (at -5.08 15.24 0) (length 3.81)
+        (name "Pin_4" (effects (font (size 1.27 1.27))))
+        (number "4" (effects (font (size 1.27 1.27))))
+      )
+      (pin passive line (at -5.08 12.7 0) (length 3.81)
+        (name "Pin_5" (effects (font (size 1.27 1.27))))
+        (number "5" (effects (font (size 1.27 1.27))))
+      )
+      (pin passive line (at -5.08 10.16 0) (length 3.81)
+        (name "Pin_6" (effects (font (size 1.27 1.27))))
+        (number "6" (effects (font (size 1.27 1.27))))
+      )
+      (pin passive line (at -5.08 7.62 0) (length 3.81)
+        (name "Pin_7" (effects (font (size 1.27 1.27))))
+        (number "7" (effects (font (size 1.27 1.27))))
+      )
+      (pin passive line (at -5.08 5.08 0) (length 3.81)
+        (name "Pin_8" (effects (font (size 1.27 1.27))))
+        (number "8" (effects (font (size 1.27 1.27))))
+      )
+      (pin passive line (at -5.08 2.54 0) (length 3.81)
+        (name "Pin_9" (effects (font (size 1.27 1.27))))
+        (number "9" (effects (font (size 1.27 1.27))))
+      )
+    )
+  )
+  (symbol "Raspberry_Pi_Pico" (pin_names hide) (in_bom yes) (on_board yes)
+    (property "Reference" "K" (at -7.62 26.67 0)
+      (effects (font (size 1.27 1.27)))
+    )
+    (property "Value" "Pico" (at 0 -26.67 0)
+      (effects (font (size 1.27 1.27)))
+    )
+    (property "Footprint" "Pico Adapter:Raspberry Pi Pico" (at 0 -34.29 0)
+      (effects (font (size 1.27 1.27)) hide)
+    )
+    (property "Datasheet" "https://datasheets.raspberrypi.com/pico/pico-datasheet.pdf" (at 3.81 -31.75 0)
+      (effects (font (size 1.27 1.27)) hide)
+    )
+    (property "Hersteller-Nr." "SC0915" (at 7.62 -29.21 0)
+      (effects (font (size 1.27 1.27)) hide)
+    )
+    (property "Mouser-Nr." "358-SC0915" (at -3.81 -29.21 0)
+      (effects (font (size 1.27 1.27)) hide)
+    )
+    (symbol "Raspberry_Pi_Pico_1_1"
+      (rectangle (start -8.89 25.4) (end 8.89 -25.4)
+        (stroke (width 0.254) (type default))
+        (fill (type none))
+      )
+      (rectangle (start -6.35 25.4) (end 6.35 -25.4)
+        (stroke (width 0.254) (type default))
+        (fill (type background))
+      )
+      (text "Raspberry Pi Pico" (at 0 0 900)
+        (effects (font (size 2.54 2.54) bold))
+      )
+    )
+  )
+  (symbol "Raspberry_Pi_Pico_W" (pin_names hide) (in_bom yes) (on_board yes)
+    (property "Reference" "K" (at -7.62 26.67 0)
+      (effects (font (size 1.27 1.27)))
+    )
+    (property "Value" "Pico W" (at 0 -26.67 0)
+      (effects (font (size 1.27 1.27)))
+    )
+    (property "Footprint" "Pico Adapter:Raspberry Pi Pico W" (at 0 -34.29 0)
+      (effects (font (size 1.27 1.27)) hide)
+    )
+    (property "Datasheet" "https://datasheets.raspberrypi.com/picow/pico-w-datasheet.pdf" (at 3.81 -31.75 0)
+      (effects (font (size 1.27 1.27)) hide)
+    )
+    (property "Hersteller-Nr." "SC0918" (at 7.62 -29.21 0)
+      (effects (font (size 1.27 1.27)) hide)
+    )
+    (property "Mouser-Nr." "358-SC0918" (at -3.81 -29.21 0)
+      (effects (font (size 1.27 1.27)) hide)
+    )
+    (symbol "Raspberry_Pi_Pico_W_1_1"
+      (rectangle (start -8.89 25.4) (end 8.89 -25.4)
+        (stroke (width 0.254) (type default))
+        (fill (type none))
+      )
+      (rectangle (start -6.35 25.4) (end 6.35 -25.4)
+        (stroke (width 0.254) (type default))
+        (fill (type background))
+      )
+      (text "Raspberry Pi Pico" (at 0 0 900)
+        (effects (font (size 2.54 2.54) bold))
+      )
+    )
+  )
+  (symbol "Temperatur Sensor" (in_bom yes) (on_board yes)
+    (property "Reference" "B" (at -3.81 6.35 0)
+      (effects (font (size 1.27 1.27)))
+    )
+    (property "Value" "DS18B20U" (at 6.35 6.35 0)
+      (effects (font (size 1.27 1.27)))
+    )
+    (property "Footprint" "Package_TO_SOT_THT:TO-92_Inline_Wide" (at -24.13 -6.35 0)
+      (effects (font (size 1.27 1.27)) hide)
+    )
+    (property "Datasheet" "https://www.mouser.de/datasheet/2/609/DS18B20-3122759.pdf" (at -3.81 6.35 0)
+      (effects (font (size 1.27 1.27)) hide)
+    )
+    (property "Hersteller-Nr." "DS18B20+" (at 0 0 0)
+      (effects (font (size 1.27 1.27)) hide)
+    )
+    (property "Mouser-Nr." "700-DS18B20+" (at 0 0 0)
+      (effects (font (size 1.27 1.27)) hide)
+    )
+    (property "ki_keywords" "OneWire 1-Wire 1Wire Maxim Dallas" (at 0 0 0)
+      (effects (font (size 1.27 1.27)) hide)
+    )
+    (property "ki_description" "Programmable Resolution 1-Wire Digital Thermometer MSOP-8" (at 0 0 0)
+      (effects (font (size 1.27 1.27)) hide)
+    )
+    (property "ki_fp_filters" "MSOP*3x3mm*P0.65mm*" (at 0 0 0)
+      (effects (font (size 1.27 1.27)) hide)
+    )
+    (symbol "Temperatur Sensor_0_1"
+      (rectangle (start -5.08 5.08) (end 5.08 -5.08)
+        (stroke (width 0.254) (type default))
+        (fill (type background))
+      )
+      (circle (center -3.302 -2.54) (radius 1.27)
+        (stroke (width 0.254) (type default))
+        (fill (type outline))
+      )
+      (rectangle (start -2.667 -1.905) (end -3.937 0)
+        (stroke (width 0.254) (type default))
+        (fill (type outline))
+      )
+      (arc (start -2.667 3.175) (mid -3.302 3.8073) (end -3.937 3.175)
+        (stroke (width 0.254) (type default))
+        (fill (type none))
+      )
+      (polyline
+        (pts
+          (xy -3.937 0.635)
+          (xy -3.302 0.635)
+        )
+        (stroke (width 0.254) (type default))
+        (fill (type none))
+      )
+      (polyline
+        (pts
+          (xy -3.937 1.27)
+          (xy -3.302 1.27)
+        )
+        (stroke (width 0.254) (type default))
+        (fill (type none))
+      )
+      (polyline
+        (pts
+          (xy -3.937 1.905)
+          (xy -3.302 1.905)
+        )
+        (stroke (width 0.254) (type default))
+        (fill (type none))
+      )
+      (polyline
+        (pts
+          (xy -3.937 2.54)
+          (xy -3.302 2.54)
+        )
+        (stroke (width 0.254) (type default))
+        (fill (type none))
+      )
+      (polyline
+        (pts
+          (xy -3.937 3.175)
+          (xy -3.937 0)
+        )
+        (stroke (width 0.254) (type default))
+        (fill (type none))
+      )
+      (polyline
+        (pts
+          (xy -3.937 3.175)
+          (xy -3.302 3.175)
+        )
+        (stroke (width 0.254) (type default))
+        (fill (type none))
+      )
+      (polyline
+        (pts
+          (xy -2.667 3.175)
+          (xy -2.667 0)
+        )
+        (stroke (width 0.254) (type default))
+        (fill (type none))
+      )
+    )
+    (symbol "Temperatur Sensor_1_1"
+      (pin power_in line (at 0 -7.62 90) (length 2.54)
+        (name "GND" (effects (font (size 1.27 1.27))))
+        (number "1" (effects (font (size 1.27 1.27))))
+      )
+      (pin bidirectional line (at 7.62 0 180) (length 2.54)
+        (name "DQ" (effects (font (size 1.27 1.27))))
+        (number "2" (effects (font (size 1.27 1.27))))
+      )
+      (pin power_in line (at 0 7.62 270) (length 2.54)
+        (name "V_{DD}" (effects (font (size 1.27 1.27))))
+        (number "3" (effects (font (size 1.27 1.27))))
+      )
+    )
+  )
+)

+ 331 - 0
Library/Footprints.pretty/Arduino Shield.kicad_mod

@@ -0,0 +1,331 @@
+(footprint "Arduino Shield" (version 20221018) (generator pcbnew)
+  (layer "F.Cu")
+  (descr "Arduino UNO R3, http://www.mouser.com/pdfdocs/Gravitech_Arduino_Nano3_0.pdf")
+  (tags "Arduino UNO R3")
+  (attr through_hole)
+  (fp_text reference "REF**" (at 29.21 -54.61 180) (layer "F.SilkS") hide
+      (effects (font (size 1 1) (thickness 0.15)))
+    (tstamp bf118c9e-511e-441d-8083-109a80050669)
+  )
+  (fp_text value "Arduino Shield" (at 6.2992 -54.5084) (layer "F.Fab")
+      (effects (font (size 1 1) (thickness 0.15)))
+    (tstamp 95aed84b-7e34-44d7-b531-d8a5e0a9e701)
+  )
+  (fp_text user "BOOTSEL" (at 53.4924 -24.4856 unlocked) (layer "F.SilkS")
+      (effects (font (size 1 1) (thickness 0.1)) (justify left bottom))
+    (tstamp 0bb48857-9c18-4689-a71b-2e7b6a49091d)
+  )
+  (fp_text user "Micro USB" (at 63.1444 -20.828 90 unlocked) (layer "F.SilkS")
+      (effects (font (size 1 1) (thickness 0.1)) (justify left bottom))
+    (tstamp 15f45688-e899-4d5e-8405-3a96494cbbcb)
+  )
+  (fp_text user "Debug Pico W" (at 40.4876 -17.4752 90 unlocked) (layer "F.SilkS")
+      (effects (font (size 1 1) (thickness 0.1)) (justify left bottom))
+    (tstamp 33ff7f81-c7b5-4077-b3d6-580f419ed35a)
+  )
+  (fp_text user "Debug Pico" (at 22.0472 -20.4724 90 unlocked) (layer "F.SilkS")
+      (effects (font (size 1 1) (thickness 0.1)) (justify left bottom))
+    (tstamp d39ff25c-01f1-442c-9b76-f26c2d5bffac)
+  )
+  (fp_text user "${REFERENCE}" (at 5.1308 1.7272 180) (layer "F.Fab")
+      (effects (font (size 1 1) (thickness 0.15)))
+    (tstamp 8420c1d7-e373-42e2-a822-582f78e265d8)
+  )
+  (fp_line (start 63.5 -29.3624) (end 63.5 -20.193)
+    (stroke (width 0.1) (type default)) (layer "B.SilkS") (tstamp d3bdfaa4-f4e8-40f1-90d1-dc178cf36d4d))
+  (fp_line (start 63.5 -20.193) (end 68.5292 -20.193)
+    (stroke (width 0.1) (type default)) (layer "B.SilkS") (tstamp 01eef0cf-877a-4030-b4eb-affd53abf51c))
+  (fp_line (start 68.5292 -29.3624) (end 63.5 -29.3624)
+    (stroke (width 0.1) (type default)) (layer "B.SilkS") (tstamp 20b328c2-c6d3-4bc9-a950-f6ff0f416700))
+  (fp_rect (start 17.653 -28.8544) (end 20.7264 -20.701)
+    (stroke (width 0.1) (type default)) (fill none) (layer "B.SilkS") (tstamp 5cf5eeb8-b85c-4bc9-b43d-2ae6f10ea219))
+  (fp_rect (start 35.8394 -25.7302) (end 38.9128 -17.5768)
+    (stroke (width 0.1) (type default)) (fill none) (layer "B.SilkS") (tstamp 273f5432-ab6b-4b50-8ee8-ea63b0cbbcd3))
+  (fp_circle (center 56.5784 -27.976) (end 58.6784 -27.976)
+    (stroke (width 0.1) (type default)) (fill none) (layer "B.SilkS") (tstamp 89b57e2b-fa69-4417-89a9-fda673de9152))
+  (fp_line (start 63.5 -29.3624) (end 63.5 -20.193)
+    (stroke (width 0.1) (type default)) (layer "F.SilkS") (tstamp 23701391-7f9e-4b35-bfd2-67043a4783e8))
+  (fp_line (start 63.5 -20.193) (end 68.5292 -20.193)
+    (stroke (width 0.1) (type default)) (layer "F.SilkS") (tstamp 4b690d16-0a1c-4210-80a9-645e0d9733e5))
+  (fp_line (start 68.5292 -29.3624) (end 63.5 -29.3624)
+    (stroke (width 0.1) (type default)) (layer "F.SilkS") (tstamp d8a33eb0-e0c4-4129-83b3-f2b41b58633c))
+  (fp_rect (start 17.653 -28.8544) (end 20.7264 -20.701)
+    (stroke (width 0.1) (type default)) (fill none) (layer "F.SilkS") (tstamp 79a8538b-8a2b-418a-8c3b-c671a1df5eda))
+  (fp_rect (start 35.8394 -25.7302) (end 38.9128 -17.5768)
+    (stroke (width 0.1) (type default)) (fill none) (layer "F.SilkS") (tstamp adae4fcd-73ef-4926-beab-8822971f9780))
+  (fp_circle (center 56.5784 -27.976) (end 58.6784 -27.976)
+    (stroke (width 0.1) (type default)) (fill none) (layer "F.SilkS") (tstamp 74e162aa-c7b8-4112-8211-98c3b1d3bd22))
+  (fp_line (start 0 -53.3) (end 66.04 -53.3)
+    (stroke (width 0.1) (type solid)) (layer "Edge.Cuts") (tstamp c41d2d81-6553-466a-b928-67838e47948a))
+  (fp_line (start 0 0) (end 0 -53.3)
+    (stroke (width 0.1) (type solid)) (layer "Edge.Cuts") (tstamp 25786a85-560b-4393-bf24-5abbfc3db442))
+  (fp_line (start 17.7384 -28.766) (end 17.7384 -20.786)
+    (stroke (width 0.1) (type default)) (layer "Edge.Cuts") (tstamp b1c99284-f3d4-4305-8f00-a21809d302b8))
+  (fp_line (start 17.7384 -28.766) (end 20.6384 -28.766)
+    (stroke (width 0.1) (type default)) (layer "Edge.Cuts") (tstamp d06b1e1b-2b5b-4aae-bec2-6b1015fe5f63))
+  (fp_line (start 17.7384 -20.786) (end 20.6384 -20.786)
+    (stroke (width 0.1) (type default)) (layer "Edge.Cuts") (tstamp 96bd0030-d858-405b-b4e0-1e33cceb49ae))
+  (fp_line (start 20.6384 -28.766) (end 20.6384 -20.786)
+    (stroke (width 0.1) (type default)) (layer "Edge.Cuts") (tstamp 134d5574-0484-4d69-b0e7-98219c071c39))
+  (fp_line (start 35.9284 -25.6419) (end 35.9284 -17.6619)
+    (stroke (width 0.1) (type default)) (layer "Edge.Cuts") (tstamp 93750b94-451a-4226-946c-fe580ec57d0d))
+  (fp_line (start 35.9284 -25.6419) (end 38.8284 -25.6419)
+    (stroke (width 0.1) (type default)) (layer "Edge.Cuts") (tstamp 35b2782a-e274-4c5e-95f4-cef65ff5dcce))
+  (fp_line (start 35.9284 -17.6619) (end 38.8284 -17.6619)
+    (stroke (width 0.1) (type default)) (layer "Edge.Cuts") (tstamp da6a284b-2277-4b6b-aab8-03c355094f25))
+  (fp_line (start 38.8284 -25.6419) (end 38.8284 -17.6619)
+    (stroke (width 0.1) (type default)) (layer "Edge.Cuts") (tstamp 5b855071-0cbc-4bc0-a01c-0738373451c9))
+  (fp_line (start 63.58 -29.276) (end 63.58 -20.276)
+    (stroke (width 0.1) (type default)) (layer "Edge.Cuts") (tstamp 5e5513e5-e528-4143-9d4c-14f8d24f4ba9))
+  (fp_line (start 63.58 -20.276) (end 68.6308 -20.276)
+    (stroke (width 0.1) (type default)) (layer "Edge.Cuts") (tstamp 3715e0d5-e948-4d34-b7a1-74d77104cdb3))
+  (fp_line (start 66.04 -40.39) (end 66.04 -53.3)
+    (stroke (width 0.1) (type solid)) (layer "Edge.Cuts") (tstamp fff90523-8a07-4601-8215-ce245a398c00))
+  (fp_line (start 66.04 0) (end 0 0)
+    (stroke (width 0.1) (type solid)) (layer "Edge.Cuts") (tstamp 74725a1f-4ed4-4a51-9537-af8c516fcb13))
+  (fp_line (start 66.04 0) (end 66.04 -2.54)
+    (stroke (width 0.1) (type solid)) (layer "Edge.Cuts") (tstamp 338d0c3e-bb9f-4502-9bf6-09aab013a620))
+  (fp_line (start 68.6308 -37.7952) (end 66.04 -40.386)
+    (stroke (width 0.1) (type solid)) (layer "Edge.Cuts") (tstamp 1a608ebd-20a1-47f6-b4bc-b0c6ac302ef6))
+  (fp_line (start 68.6308 -29.276) (end 63.58 -29.276)
+    (stroke (width 0.1) (type default)) (layer "Edge.Cuts") (tstamp 49827887-4ac1-4305-a17b-1ffb4f9f0bc9))
+  (fp_line (start 68.6308 -29.276) (end 68.6308 -37.7952)
+    (stroke (width 0.1) (type solid)) (layer "Edge.Cuts") (tstamp 53e2fc78-5dec-4890-ab90-05bb36db9a42))
+  (fp_line (start 68.6308 -20.276) (end 68.6308 -5.1308)
+    (stroke (width 0.1) (type default)) (layer "Edge.Cuts") (tstamp 6bb13f04-033a-469f-8a7e-5e29f2458f80))
+  (fp_line (start 68.6308 -5.1308) (end 66.04 -2.54)
+    (stroke (width 0.1) (type solid)) (layer "Edge.Cuts") (tstamp 0014a5ac-efb0-49ec-9111-280af0e347ec))
+  (fp_circle (center 56.5784 -27.976) (end 58.5784 -27.976)
+    (stroke (width 0.1) (type default)) (fill none) (layer "Edge.Cuts") (tstamp 537b949d-9eb6-4b24-beaf-6f3ab4fdd4c5))
+  (fp_rect (start 17.5784 -35.276) (end 68.5784 -14.276)
+    (stroke (width 0.1) (type default)) (fill none) (layer "F.Fab") (tstamp 4919d93a-915d-44ba-b0c9-e78e94f16cb8))
+  (fp_circle (center 18.8 -50.76) (end 19.7 -50.76)
+    (stroke (width 0.1) (type default)) (fill none) (layer "F.Fab") (tstamp bdbfa16c-a642-4b97-acc9-8d9d76b1f332))
+  (fp_circle (center 18.9484 -36.206) (end 19.8484 -36.206)
+    (stroke (width 0.1) (type default)) (fill none) (layer "F.Fab") (tstamp 4f88246d-3c6f-40cd-9b7e-abb5c7ad3f07))
+  (fp_circle (center 18.9484 -33.666) (end 19.8484 -33.666)
+    (stroke (width 0.1) (type default)) (fill none) (layer "F.Fab") (tstamp b3d52e5d-9af0-4e47-b62b-5e04142d22a0))
+  (fp_circle (center 18.9484 -15.886) (end 19.8484 -15.886)
+    (stroke (width 0.1) (type default)) (fill none) (layer "F.Fab") (tstamp d38de5fa-c28c-4aba-a591-09c8250482fe))
+  (fp_circle (center 18.9484 -13.346) (end 19.8484 -13.346)
+    (stroke (width 0.1) (type default)) (fill none) (layer "F.Fab") (tstamp 6541ed3b-eb52-4fe9-9937-ac7c7a73fe84))
+  (fp_circle (center 21.34 -50.76) (end 22.24 -50.76)
+    (stroke (width 0.1) (type default)) (fill none) (layer "F.Fab") (tstamp f54a802e-df3e-4862-9873-f9f00798150b))
+  (fp_circle (center 21.4884 -36.206) (end 22.3884 -36.206)
+    (stroke (width 0.1) (type default)) (fill none) (layer "F.Fab") (tstamp 9e1678a6-4ad6-43f5-b6d8-8d64059793ae))
+  (fp_circle (center 21.4884 -33.666) (end 22.3884 -33.666)
+    (stroke (width 0.1) (type default)) (fill none) (layer "F.Fab") (tstamp b0ec8199-1a9b-4200-b5b8-b14be4374420))
+  (fp_circle (center 21.4884 -15.886) (end 22.3884 -15.886)
+    (stroke (width 0.1) (type default)) (fill none) (layer "F.Fab") (tstamp 2f95f006-5721-4d20-b094-211caafac2d5))
+  (fp_circle (center 21.4884 -13.346) (end 22.3884 -13.346)
+    (stroke (width 0.1) (type default)) (fill none) (layer "F.Fab") (tstamp 9e6d3ff1-f1ec-4089-80fa-c53b3f089667))
+  (fp_circle (center 23.88 -50.76) (end 24.78 -50.76)
+    (stroke (width 0.1) (type default)) (fill none) (layer "F.Fab") (tstamp 45638c81-eeb6-41fb-a6e3-e2534194cd2b))
+  (fp_circle (center 24.0284 -36.206) (end 24.9284 -36.206)
+    (stroke (width 0.1) (type default)) (fill none) (layer "F.Fab") (tstamp 5fd6a590-ddaf-41cc-ba38-4cbac1eefd98))
+  (fp_circle (center 24.0284 -33.666) (end 24.9284 -33.666)
+    (stroke (width 0.1) (type default)) (fill none) (layer "F.Fab") (tstamp 73efb6a3-63be-43d5-95af-021141c6cae3))
+  (fp_circle (center 24.0284 -15.886) (end 24.9284 -15.886)
+    (stroke (width 0.1) (type default)) (fill none) (layer "F.Fab") (tstamp e2146bd1-8491-444d-af9a-454259b4d3be))
+  (fp_circle (center 24.0284 -13.346) (end 24.9284 -13.346)
+    (stroke (width 0.1) (type default)) (fill none) (layer "F.Fab") (tstamp f689cac4-ba7b-4241-91bc-84e7704d1ceb))
+  (fp_circle (center 26.42 -50.76) (end 27.32 -50.76)
+    (stroke (width 0.1) (type default)) (fill none) (layer "F.Fab") (tstamp aeaf5a9d-5b03-4804-8717-5a4789e23aec))
+  (fp_circle (center 26.5684 -36.206) (end 27.4684 -36.206)
+    (stroke (width 0.1) (type default)) (fill none) (layer "F.Fab") (tstamp 577bc7c5-4139-4f08-add5-9576c689f1b0))
+  (fp_circle (center 26.5684 -33.666) (end 27.4684 -33.666)
+    (stroke (width 0.1) (type default)) (fill none) (layer "F.Fab") (tstamp 6174ed81-081d-419f-be26-d7b4ae18f2b4))
+  (fp_circle (center 26.5684 -15.886) (end 27.4684 -15.886)
+    (stroke (width 0.1) (type default)) (fill none) (layer "F.Fab") (tstamp 0fca8dd9-c561-4a1f-928b-3c398db22212))
+  (fp_circle (center 26.5684 -13.346) (end 27.4684 -13.346)
+    (stroke (width 0.1) (type default)) (fill none) (layer "F.Fab") (tstamp 377b8cf2-9a85-4265-bfa9-f73a7cac5875))
+  (fp_circle (center 27.94 -2.51) (end 28.84 -2.51)
+    (stroke (width 0.1) (type default)) (fill none) (layer "F.Fab") (tstamp 22df0880-5b8a-43e5-8e2e-4c637cf05fea))
+  (fp_circle (center 28.96 -50.76) (end 29.86 -50.76)
+    (stroke (width 0.1) (type default)) (fill none) (layer "F.Fab") (tstamp 7b642da5-4410-41bf-a768-f1c7f5f5830d))
+  (fp_circle (center 29.1084 -36.206) (end 30.0084 -36.206)
+    (stroke (width 0.1) (type default)) (fill none) (layer "F.Fab") (tstamp 56a05449-7a38-45e3-9268-773153cfd38a))
+  (fp_circle (center 29.1084 -33.666) (end 30.0084 -33.666)
+    (stroke (width 0.1) (type default)) (fill none) (layer "F.Fab") (tstamp 2ee45502-4fbd-4add-afd5-6a6e5441e71f))
+  (fp_circle (center 29.1084 -15.886) (end 30.0084 -15.886)
+    (stroke (width 0.1) (type default)) (fill none) (layer "F.Fab") (tstamp a17dc9f3-755a-47a1-aac5-b2740ca08cb1))
+  (fp_circle (center 29.1084 -13.346) (end 30.0084 -13.346)
+    (stroke (width 0.1) (type default)) (fill none) (layer "F.Fab") (tstamp 50d64c18-fc35-4b25-81dc-4ce4e328973e))
+  (fp_circle (center 30.48 -2.51) (end 31.38 -2.51)
+    (stroke (width 0.1) (type default)) (fill none) (layer "F.Fab") (tstamp fa3470bd-c0c5-48af-b3b4-df67c6c425a7))
+  (fp_circle (center 31.5 -50.76) (end 32.4 -50.76)
+    (stroke (width 0.1) (type default)) (fill none) (layer "F.Fab") (tstamp 4ffc7a16-44f7-4cfa-98f4-975c41cb4f26))
+  (fp_circle (center 31.6484 -36.206) (end 32.5484 -36.206)
+    (stroke (width 0.1) (type default)) (fill none) (layer "F.Fab") (tstamp d02f58bf-8bff-4b14-bfe3-aff17f2c8d6b))
+  (fp_circle (center 31.6484 -33.666) (end 32.5484 -33.666)
+    (stroke (width 0.1) (type default)) (fill none) (layer "F.Fab") (tstamp 935070e6-173d-4df8-987f-57a6fb8ea862))
+  (fp_circle (center 31.6484 -15.886) (end 32.5484 -15.886)
+    (stroke (width 0.1) (type default)) (fill none) (layer "F.Fab") (tstamp 320097ce-7872-4e54-8def-d055341ce269))
+  (fp_circle (center 31.6484 -13.346) (end 32.5484 -13.346)
+    (stroke (width 0.1) (type default)) (fill none) (layer "F.Fab") (tstamp 363495b6-f444-4a85-ba03-6c01653b8d7d))
+  (fp_circle (center 33.02 -2.51) (end 33.92 -2.51)
+    (stroke (width 0.1) (type default)) (fill none) (layer "F.Fab") (tstamp 2ebf44c9-a60e-4fd9-80d2-574dc3cebba6))
+  (fp_circle (center 34.04 -50.76) (end 34.94 -50.76)
+    (stroke (width 0.1) (type default)) (fill none) (layer "F.Fab") (tstamp ad872e7b-dabb-4c5d-bf61-cf356e26fd62))
+  (fp_circle (center 34.1884 -36.206) (end 35.0884 -36.206)
+    (stroke (width 0.1) (type default)) (fill none) (layer "F.Fab") (tstamp 02886ee5-b8b7-4470-a44c-29941413e237))
+  (fp_circle (center 34.1884 -33.666) (end 35.0884 -33.666)
+    (stroke (width 0.1) (type default)) (fill none) (layer "F.Fab") (tstamp 093475bf-a95d-4feb-9ab3-18841c2296bd))
+  (fp_circle (center 34.1884 -15.886) (end 35.0884 -15.886)
+    (stroke (width 0.1) (type default)) (fill none) (layer "F.Fab") (tstamp 91bc084a-657b-482d-8a7a-b0157116a5cc))
+  (fp_circle (center 34.1884 -13.346) (end 35.0884 -13.346)
+    (stroke (width 0.1) (type default)) (fill none) (layer "F.Fab") (tstamp 62427d3f-45cf-456b-9d33-7a802212e426))
+  (fp_circle (center 35.56 -2.51) (end 36.46 -2.51)
+    (stroke (width 0.1) (type default)) (fill none) (layer "F.Fab") (tstamp b67d4f87-7722-4527-adfd-612675394aab))
+  (fp_circle (center 36.58 -50.76) (end 37.48 -50.76)
+    (stroke (width 0.1) (type default)) (fill none) (layer "F.Fab") (tstamp 50a49bc1-0298-4331-b302-36b784db9ecc))
+  (fp_circle (center 36.7284 -36.206) (end 37.6284 -36.206)
+    (stroke (width 0.1) (type default)) (fill none) (layer "F.Fab") (tstamp 2ae7ca37-c713-46cd-a79d-e8949cd5683f))
+  (fp_circle (center 36.7284 -33.666) (end 37.6284 -33.666)
+    (stroke (width 0.1) (type default)) (fill none) (layer "F.Fab") (tstamp 2646019b-6cbf-4045-89c3-b2bf22e2034b))
+  (fp_circle (center 36.7284 -15.886) (end 37.6284 -15.886)
+    (stroke (width 0.1) (type default)) (fill none) (layer "F.Fab") (tstamp 73d5ab78-1270-4a8d-93e1-82b7433a1e33))
+  (fp_circle (center 36.7284 -13.346) (end 37.6284 -13.346)
+    (stroke (width 0.1) (type default)) (fill none) (layer "F.Fab") (tstamp 6e234d22-94b4-499f-8446-2deb0703d93b))
+  (fp_circle (center 38.1 -2.51) (end 39 -2.51)
+    (stroke (width 0.1) (type default)) (fill none) (layer "F.Fab") (tstamp a29fd490-ca09-4ac5-83cc-47d24de88b11))
+  (fp_circle (center 39.12 -50.76) (end 40.02 -50.76)
+    (stroke (width 0.1) (type default)) (fill none) (layer "F.Fab") (tstamp 61204422-ab72-4060-bf74-a439482bd1c3))
+  (fp_circle (center 39.2684 -36.206) (end 40.1684 -36.206)
+    (stroke (width 0.1) (type default)) (fill none) (layer "F.Fab") (tstamp 6b3e7418-86ed-40ba-8794-e23e771899bd))
+  (fp_circle (center 39.2684 -33.666) (end 40.1684 -33.666)
+    (stroke (width 0.1) (type default)) (fill none) (layer "F.Fab") (tstamp 520d9b35-673c-4b4a-bc40-703cf0b8fcf7))
+  (fp_circle (center 39.2684 -15.886) (end 40.1684 -15.886)
+    (stroke (width 0.1) (type default)) (fill none) (layer "F.Fab") (tstamp 045ad4ea-9615-4ebb-8ff6-506ba642c6c6))
+  (fp_circle (center 39.2684 -13.346) (end 40.1684 -13.346)
+    (stroke (width 0.1) (type default)) (fill none) (layer "F.Fab") (tstamp 13fcbc7c-0a73-40fa-aea6-b8822c020112))
+  (fp_circle (center 40.64 -2.51) (end 41.54 -2.51)
+    (stroke (width 0.1) (type default)) (fill none) (layer "F.Fab") (tstamp 11c81eab-e84f-446f-ae03-0ace48419256))
+  (fp_circle (center 41.66 -50.76) (end 42.56 -50.76)
+    (stroke (width 0.1) (type default)) (fill none) (layer "F.Fab") (tstamp d619afa0-559b-4d8a-aa9e-d57965c4e526))
+  (fp_circle (center 41.8084 -36.206) (end 42.7084 -36.206)
+    (stroke (width 0.1) (type default)) (fill none) (layer "F.Fab") (tstamp afd2fa1a-04c5-438d-8280-9d4291d14f0c))
+  (fp_circle (center 41.8084 -33.666) (end 42.7084 -33.666)
+    (stroke (width 0.1) (type default)) (fill none) (layer "F.Fab") (tstamp c9028065-ee78-4b6f-bf56-723bc292140b))
+  (fp_circle (center 41.8084 -15.886) (end 42.7084 -15.886)
+    (stroke (width 0.1) (type default)) (fill none) (layer "F.Fab") (tstamp 4776db0d-878a-41e8-a727-8b8840a2232f))
+  (fp_circle (center 41.8084 -13.346) (end 42.7084 -13.346)
+    (stroke (width 0.1) (type default)) (fill none) (layer "F.Fab") (tstamp 1730379e-1f1c-4ebe-9d03-1e3d885effd1))
+  (fp_circle (center 43.18 -2.51) (end 44.08 -2.51)
+    (stroke (width 0.1) (type default)) (fill none) (layer "F.Fab") (tstamp 333dedf1-8c37-4a1e-af57-41f9fc6dff73))
+  (fp_circle (center 44.3484 -36.206) (end 45.2484 -36.206)
+    (stroke (width 0.1) (type default)) (fill none) (layer "F.Fab") (tstamp 6aa77451-d926-4926-87a1-b86c34684e6a))
+  (fp_circle (center 44.3484 -33.666) (end 45.2484 -33.666)
+    (stroke (width 0.1) (type default)) (fill none) (layer "F.Fab") (tstamp 2ea77d2d-0ac6-4d82-896b-4e405d81546d))
+  (fp_circle (center 44.3484 -15.886) (end 45.2484 -15.886)
+    (stroke (width 0.1) (type default)) (fill none) (layer "F.Fab") (tstamp 8879f487-241e-49ad-84b1-484643d386d7))
+  (fp_circle (center 44.3484 -13.346) (end 45.2484 -13.346)
+    (stroke (width 0.1) (type default)) (fill none) (layer "F.Fab") (tstamp 08bdead0-23ba-41a1-818d-b2087c89cc49))
+  (fp_circle (center 45.72 -50.76) (end 46.62 -50.76)
+    (stroke (width 0.1) (type default)) (fill none) (layer "F.Fab") (tstamp 97c1bc83-24d8-460d-b641-44acc17d54c7))
+  (fp_circle (center 45.72 -2.51) (end 46.62 -2.51)
+    (stroke (width 0.1) (type default)) (fill none) (layer "F.Fab") (tstamp 3627afe6-9b34-4f17-9fd2-89b9fddba9c4))
+  (fp_circle (center 46.8884 -36.206) (end 47.7884 -36.206)
+    (stroke (width 0.1) (type default)) (fill none) (layer "F.Fab") (tstamp 959f616b-b9e3-4efe-a083-7a2a71d8ca39))
+  (fp_circle (center 46.8884 -33.666) (end 47.7884 -33.666)
+    (stroke (width 0.1) (type default)) (fill none) (layer "F.Fab") (tstamp e64cc2fa-22a7-4669-9a4a-cf6196e850fa))
+  (fp_circle (center 46.8884 -15.886) (end 47.7884 -15.886)
+    (stroke (width 0.1) (type default)) (fill none) (layer "F.Fab") (tstamp d076eee1-3be0-44a8-b4f2-7ff71036b3a1))
+  (fp_circle (center 46.8884 -13.346) (end 47.7884 -13.346)
+    (stroke (width 0.1) (type default)) (fill none) (layer "F.Fab") (tstamp 2bae7b47-6899-4ca3-ba2c-7dda5ef04029))
+  (fp_circle (center 48.26 -50.76) (end 49.16 -50.76)
+    (stroke (width 0.1) (type default)) (fill none) (layer "F.Fab") (tstamp 89e2b3c0-5090-4674-9a66-9e012d77f297))
+  (fp_circle (center 49.4284 -36.206) (end 50.3284 -36.206)
+    (stroke (width 0.1) (type default)) (fill none) (layer "F.Fab") (tstamp 6f182316-2dd8-4046-bc4b-8421a3f88d86))
+  (fp_circle (center 49.4284 -33.666) (end 50.3284 -33.666)
+    (stroke (width 0.1) (type default)) (fill none) (layer "F.Fab") (tstamp bc676f2e-3382-4fed-89f9-51e70dff478e))
+  (fp_circle (center 49.4284 -15.886) (end 50.3284 -15.886)
+    (stroke (width 0.1) (type default)) (fill none) (layer "F.Fab") (tstamp e32f8336-8678-4e48-a24b-2d62b6aae598))
+  (fp_circle (center 49.4284 -13.346) (end 50.3284 -13.346)
+    (stroke (width 0.1) (type default)) (fill none) (layer "F.Fab") (tstamp f3c9fcde-5242-464e-849f-4c3e03dc425e))
+  (fp_circle (center 50.8 -50.76) (end 51.7 -50.76)
+    (stroke (width 0.1) (type default)) (fill none) (layer "F.Fab") (tstamp 59bf35ba-4e76-4db4-a2bb-8e177aefdcb6))
+  (fp_circle (center 50.8 -2.51) (end 51.7 -2.51)
+    (stroke (width 0.1) (type default)) (fill none) (layer "F.Fab") (tstamp 9e41cd47-b45f-480b-8462-d60ee5d98241))
+  (fp_circle (center 51.9684 -36.206) (end 52.8684 -36.206)
+    (stroke (width 0.1) (type default)) (fill none) (layer "F.Fab") (tstamp 898b5c5b-76ab-4fe7-b0b1-1034ab36dd19))
+  (fp_circle (center 51.9684 -33.666) (end 52.8684 -33.666)
+    (stroke (width 0.1) (type default)) (fill none) (layer "F.Fab") (tstamp 2eb6d2b0-7b15-40c1-812a-e94eb680902a))
+  (fp_circle (center 51.9684 -15.886) (end 52.8684 -15.886)
+    (stroke (width 0.1) (type default)) (fill none) (layer "F.Fab") (tstamp 2ad44fcf-61be-4586-9ffb-7a7b36103c76))
+  (fp_circle (center 51.9684 -13.346) (end 52.8684 -13.346)
+    (stroke (width 0.1) (type default)) (fill none) (layer "F.Fab") (tstamp 6e4b01fb-9829-49b4-a025-9ce52a025c2f))
+  (fp_circle (center 53.34 -50.76) (end 54.24 -50.76)
+    (stroke (width 0.1) (type default)) (fill none) (layer "F.Fab") (tstamp ad47d41c-4702-42aa-a31d-f1b7050449f7))
+  (fp_circle (center 53.34 -2.51) (end 54.24 -2.51)
+    (stroke (width 0.1) (type default)) (fill none) (layer "F.Fab") (tstamp 47b8bbd3-e757-4950-b4d0-92500df1154c))
+  (fp_circle (center 54.5084 -36.206) (end 55.4084 -36.206)
+    (stroke (width 0.1) (type default)) (fill none) (layer "F.Fab") (tstamp f45a98fb-7564-4562-abd5-7fb3a2c26aae))
+  (fp_circle (center 54.5084 -33.666) (end 55.4084 -33.666)
+    (stroke (width 0.1) (type default)) (fill none) (layer "F.Fab") (tstamp cf84dcdb-cb94-419e-9688-bfbb5e490bab))
+  (fp_circle (center 54.5084 -15.886) (end 55.4084 -15.886)
+    (stroke (width 0.1) (type default)) (fill none) (layer "F.Fab") (tstamp ab76a447-ac32-4468-8470-f641daf64994))
+  (fp_circle (center 54.5084 -13.346) (end 55.4084 -13.346)
+    (stroke (width 0.1) (type default)) (fill none) (layer "F.Fab") (tstamp 6d95e3a1-70c7-48e2-bd4c-46a1f03b0e1d))
+  (fp_circle (center 55.88 -50.76) (end 56.78 -50.76)
+    (stroke (width 0.1) (type default)) (fill none) (layer "F.Fab") (tstamp 52f85314-cb9a-499d-938c-8084b1b24929))
+  (fp_circle (center 55.88 -2.51) (end 56.78 -2.51)
+    (stroke (width 0.1) (type default)) (fill none) (layer "F.Fab") (tstamp 77ef8d73-1578-473d-9b32-76b79ec9a24c))
+  (fp_circle (center 57.0484 -36.206) (end 57.9484 -36.206)
+    (stroke (width 0.1) (type default)) (fill none) (layer "F.Fab") (tstamp e506ba23-87df-4d67-9654-454481a5138c))
+  (fp_circle (center 57.0484 -33.666) (end 57.9484 -33.666)
+    (stroke (width 0.1) (type default)) (fill none) (layer "F.Fab") (tstamp fa6cdc88-dce4-4a18-8024-29a49c971e62))
+  (fp_circle (center 57.0484 -15.886) (end 57.9484 -15.886)
+    (stroke (width 0.1) (type default)) (fill none) (layer "F.Fab") (tstamp 39d9eff5-31c9-498e-bb12-992748ac7812))
+  (fp_circle (center 57.0484 -13.346) (end 57.9484 -13.346)
+    (stroke (width 0.1) (type default)) (fill none) (layer "F.Fab") (tstamp dae9f507-cd01-431f-a5c7-c4acea7bcd4b))
+  (fp_circle (center 58.42 -50.76) (end 59.32 -50.76)
+    (stroke (width 0.1) (type default)) (fill none) (layer "F.Fab") (tstamp 71233e36-960d-43ce-a4f8-7f50e17bacc7))
+  (fp_circle (center 58.42 -2.51) (end 59.32 -2.51)
+    (stroke (width 0.1) (type default)) (fill none) (layer "F.Fab") (tstamp 8932e2f9-7434-4245-a848-3d96d185766f))
+  (fp_circle (center 59.5884 -36.206) (end 60.4884 -36.206)
+    (stroke (width 0.1) (type default)) (fill none) (layer "F.Fab") (tstamp 4ff6206e-a243-48d2-a57a-d320236ab0ea))
+  (fp_circle (center 59.5884 -33.666) (end 60.4884 -33.666)
+    (stroke (width 0.1) (type default)) (fill none) (layer "F.Fab") (tstamp c187c942-1a75-493a-a749-661ff20eedfd))
+  (fp_circle (center 59.5884 -15.886) (end 60.4884 -15.886)
+    (stroke (width 0.1) (type default)) (fill none) (layer "F.Fab") (tstamp 75b1120d-735e-4e5a-af2b-39bb659a244d))
+  (fp_circle (center 59.5884 -13.346) (end 60.4884 -13.346)
+    (stroke (width 0.1) (type default)) (fill none) (layer "F.Fab") (tstamp 8d38642a-4215-4e69-98d7-f8ea85807675))
+  (fp_circle (center 60.96 -50.76) (end 61.86 -50.76)
+    (stroke (width 0.1) (type default)) (fill none) (layer "F.Fab") (tstamp 4372a220-5203-4812-9068-d59e4b93345d))
+  (fp_circle (center 60.96 -2.51) (end 61.86 -2.51)
+    (stroke (width 0.1) (type default)) (fill none) (layer "F.Fab") (tstamp c657a4c4-cf60-43b3-a20b-e53d08331b15))
+  (fp_circle (center 62.1284 -36.206) (end 63.0284 -36.206)
+    (stroke (width 0.1) (type default)) (fill none) (layer "F.Fab") (tstamp 82850abc-6915-4ccd-9b77-f76576fd6db4))
+  (fp_circle (center 62.1284 -33.666) (end 63.0284 -33.666)
+    (stroke (width 0.1) (type default)) (fill none) (layer "F.Fab") (tstamp c1cb2e2f-bb2c-4dd6-bd83-1b05eab40006))
+  (fp_circle (center 62.1284 -15.886) (end 63.0284 -15.886)
+    (stroke (width 0.1) (type default)) (fill none) (layer "F.Fab") (tstamp 809a3912-b1ed-469e-8584-12cafad30cb1))
+  (fp_circle (center 62.1284 -13.346) (end 63.0284 -13.346)
+    (stroke (width 0.1) (type default)) (fill none) (layer "F.Fab") (tstamp d1f16daa-83ea-491c-ace4-e00a84550f9f))
+  (fp_circle (center 63.5 -50.76) (end 64.4 -50.76)
+    (stroke (width 0.1) (type default)) (fill none) (layer "F.Fab") (tstamp 107538e0-696b-4610-89d3-f23d513d800d))
+  (fp_circle (center 63.5 -2.51) (end 64.4 -2.51)
+    (stroke (width 0.1) (type default)) (fill none) (layer "F.Fab") (tstamp 03425a65-6645-4393-9413-2d64beec789d))
+  (fp_circle (center 64.6684 -36.206) (end 65.5684 -36.206)
+    (stroke (width 0.1) (type default)) (fill none) (layer "F.Fab") (tstamp f4954e3b-13a1-4cd7-bf04-083e5518e752))
+  (fp_circle (center 64.6684 -33.666) (end 65.5684 -33.666)
+    (stroke (width 0.1) (type default)) (fill none) (layer "F.Fab") (tstamp 4c3bdbb8-af88-44b6-a31d-12aaac9ed391))
+  (fp_circle (center 64.6684 -15.886) (end 65.5684 -15.886)
+    (stroke (width 0.1) (type default)) (fill none) (layer "F.Fab") (tstamp 9feb36c4-86ba-4898-bf63-f78df31a11d2))
+  (fp_circle (center 64.6684 -13.346) (end 65.5684 -13.346)
+    (stroke (width 0.1) (type default)) (fill none) (layer "F.Fab") (tstamp f1a9049a-d003-4ce5-95a0-b4a984c42f1e))
+  (fp_circle (center 67.2084 -36.206) (end 68.1084 -36.206)
+    (stroke (width 0.1) (type default)) (fill none) (layer "F.Fab") (tstamp 9101da89-b6c0-4ede-8c65-076917da0dba))
+  (fp_circle (center 67.2084 -33.666) (end 68.1084 -33.666)
+    (stroke (width 0.1) (type default)) (fill none) (layer "F.Fab") (tstamp 13e6cddb-9d94-41b0-a2da-c212f018fa30))
+  (fp_circle (center 67.2084 -15.886) (end 68.1084 -15.886)
+    (stroke (width 0.1) (type default)) (fill none) (layer "F.Fab") (tstamp b77df36b-b300-402a-9311-5f5a5a6443f4))
+  (fp_circle (center 67.2084 -13.346) (end 68.1084 -13.346)
+    (stroke (width 0.1) (type default)) (fill none) (layer "F.Fab") (tstamp 52f381c3-f6f9-4c8b-a3d6-0a7397b89ff5))
+  (model ":PICO_ADAPTER:Models.3D/MAKER-PI-PICO.wrl"
+    (offset (xyz 35.6 24.8 -18.5))
+    (scale (xyz 1 1 1))
+    (rotate (xyz -90 0 -180))
+  )
+)

+ 135 - 0
Library/Footprints.pretty/Raspberry Pi Pico Header.kicad_mod

@@ -0,0 +1,135 @@
+(footprint "Raspberry Pi Pico Header" (version 20221018) (generator pcbnew)
+  (layer "F.Cu")
+  (descr "Through hole straight pin header, 2x20, 2.54mm pitch, double rows")
+  (tags "Through hole pin header THT 2x20 2.54mm double row")
+  (attr through_hole)
+  (fp_text reference "REF**" (at 1.27 -2.33) (layer "F.SilkS")
+      (effects (font (size 1 1) (thickness 0.15)))
+    (tstamp 7192f327-4e0a-4c61-8d74-eee3916da97a)
+  )
+  (fp_text value "Raspberry Pi Pico Header" (at 1.27 50.59) (layer "F.Fab")
+      (effects (font (size 1 1) (thickness 0.15)))
+    (tstamp 8daac92e-5b64-4a39-8305-447770fc7a4a)
+  )
+  (fp_line (start -1.33 -1.33) (end 0 -1.33)
+    (stroke (width 0.12) (type solid)) (layer "F.SilkS") (tstamp 55df1efe-558e-447a-be9c-4fe5824daece))
+  (fp_line (start -1.33 0) (end -1.33 -1.33)
+    (stroke (width 0.12) (type solid)) (layer "F.SilkS") (tstamp 5fa1eea8-9efd-44f7-b46b-12400e714169))
+  (fp_line (start -1.33 1.27) (end -1.33 49.59)
+    (stroke (width 0.12) (type solid)) (layer "F.SilkS") (tstamp 59fb7ac3-e341-4128-b797-6ed62b19dc90))
+  (fp_line (start -1.33 1.27) (end 3.87 1.27)
+    (stroke (width 0.12) (type solid)) (layer "F.SilkS") (tstamp 7a3dab7b-2b29-4a5d-99df-a9e25c86f7d0))
+  (fp_line (start -1.33 49.59) (end 3.87 49.59)
+    (stroke (width 0.12) (type solid)) (layer "F.SilkS") (tstamp 7d729d63-615d-4dc7-bfb0-4df6992163b5))
+  (fp_line (start 2.54 -1.33) (end 3.87 -1.33)
+    (stroke (width 0.12) (type solid)) (layer "F.SilkS") (tstamp b230f946-590b-4c34-9a08-58d0ab065b18))
+  (fp_line (start 3.87 0) (end 3.87 -1.33)
+    (stroke (width 0.12) (type solid)) (layer "F.SilkS") (tstamp a2e46454-1022-43cb-9e3e-84ce18371320))
+  (fp_line (start 3.87 1.27) (end 3.87 49.59)
+    (stroke (width 0.12) (type solid)) (layer "F.SilkS") (tstamp a32490e0-6958-4bd6-bf24-46cb9972f24e))
+  (fp_line (start -1.8 -1.8) (end -1.8 50.05)
+    (stroke (width 0.05) (type solid)) (layer "F.CrtYd") (tstamp f4edae4e-3156-4b90-8409-ae80f71a6c9d))
+  (fp_line (start -1.8 50.05) (end 4.35 50.05)
+    (stroke (width 0.05) (type solid)) (layer "F.CrtYd") (tstamp bd6f2f2d-7925-4b52-bf4e-62b30a0182fb))
+  (fp_line (start 4.35 -1.8) (end -1.8 -1.8)
+    (stroke (width 0.05) (type solid)) (layer "F.CrtYd") (tstamp 69e58186-f9df-420c-abba-3fbd95b9ed99))
+  (fp_line (start 4.35 50.05) (end 4.35 -1.8)
+    (stroke (width 0.05) (type solid)) (layer "F.CrtYd") (tstamp 7b924d26-1898-4310-867a-ad551c59e4f4))
+  (fp_line (start -1.27 0) (end 0 -1.27)
+    (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp 45696e27-162a-4238-894a-5d093e430d92))
+  (fp_line (start -1.27 49.53) (end -1.27 0)
+    (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp 6b59d954-f790-4d78-9e73-97a171d24de2))
+  (fp_line (start 0 -1.27) (end 2.54 -1.27)
+    (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp bb8d3e26-7b8e-458b-b594-50bae53179e3))
+  (fp_line (start 3.81 0) (end 2.54 -1.27)
+    (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp c15df7d2-d876-4e5a-9b4b-a5dff901e70f))
+  (fp_line (start 3.81 0) (end 3.81 49.53)
+    (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp 29039b8e-64c0-42c3-8f91-3b5c871cdb89))
+  (fp_line (start 3.81 49.53) (end -1.27 49.53)
+    (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp 092e03dd-96ec-4ad7-96f5-f836f625ba5a))
+  (pad "1" thru_hole rect (at 0 0) (size 1.7 1.7) (drill 1) (layers "*.Cu" "*.Mask") (tstamp 5cbce20d-5cbf-4dfc-b7fb-eef681688af5))
+  (pad "1" smd rect (at 1.27 0) (size 4.24 1.7) (layers "F.Cu" "F.Mask") (tstamp d7afa989-7858-4a44-a161-5d7f7b925636))
+  (pad "1" smd rect (at 1.27 0) (size 4.24 1.7) (layers "B.Cu" "B.Mask") (tstamp 119291f8-5eea-4639-ac87-4974603a21de))
+  (pad "1" thru_hole rect (at 2.54 0) (size 1.7 1.7) (drill 1) (layers "*.Cu" "*.Mask") (tstamp e1fad652-ea7b-4f7e-8e2c-51ec3ba82837))
+  (pad "2" thru_hole circle (at 0 2.54) (size 1.7 1.7) (drill 1) (layers "*.Cu" "*.Mask") (tstamp 936c0097-41fa-4605-bc65-1dc02dd4e7d6))
+  (pad "2" smd oval (at 1.27 2.54) (size 4.24 1.7) (layers "F.Cu" "F.Mask") (tstamp 41973510-08d0-48cc-9fb4-105d6a397391))
+  (pad "2" smd oval (at 1.27 2.54) (size 4.24 1.7) (layers "B.Cu" "B.Mask") (tstamp 7e0e00ae-b852-4106-980b-27fb20af6b48))
+  (pad "2" thru_hole circle (at 2.54 2.54) (size 1.7 1.7) (drill 1) (layers "*.Cu" "*.Mask") (tstamp 4406776d-81f4-4e6d-88cf-64759cd8cc22))
+  (pad "3" thru_hole circle (at 0 5.08) (size 1.7 1.7) (drill 1) (layers "*.Cu" "*.Mask") (tstamp fa40fc3a-c79b-4e0b-9819-95608253be94))
+  (pad "3" smd oval (at 1.27 5.08) (size 4.24 1.7) (layers "F.Cu" "F.Mask") (tstamp 81455ee1-782b-4eab-a74a-2d224f175d9c))
+  (pad "3" smd oval (at 1.27 5.08) (size 4.24 1.7) (layers "B.Cu" "B.Mask") (tstamp c6131029-7887-4518-9236-7af8b9e0cc35))
+  (pad "3" thru_hole circle (at 2.54 5.08) (size 1.7 1.7) (drill 1) (layers "*.Cu" "*.Mask") (tstamp 598c0c67-e2b4-4290-83bb-89cbf87c3ec7))
+  (pad "4" thru_hole circle (at 0 7.62) (size 1.7 1.7) (drill 1) (layers "*.Cu" "*.Mask") (tstamp 5ae0bd2f-f229-4aa5-90b5-c82b5e930795))
+  (pad "4" smd oval (at 1.27 7.62) (size 4.24 1.7) (layers "F.Cu" "F.Mask") (tstamp f6c7757e-0d11-4768-a057-f31c8c795967))
+  (pad "4" smd oval (at 1.27 7.62) (size 4.24 1.7) (layers "B.Cu" "B.Mask") (tstamp c27b42a7-ef6b-449b-8de0-05e4a3b23542))
+  (pad "4" thru_hole circle (at 2.54 7.62) (size 1.7 1.7) (drill 1) (layers "*.Cu" "*.Mask") (tstamp 187d2125-1385-4a83-ae04-0e2bf7303c0b))
+  (pad "5" thru_hole circle (at 0 10.16) (size 1.7 1.7) (drill 1) (layers "*.Cu" "*.Mask") (tstamp 2bfaa432-048b-4e6c-a988-a041d23dd0eb))
+  (pad "5" smd oval (at 1.27 10.16) (size 4.24 1.7) (layers "F.Cu" "F.Mask") (tstamp 412448d5-fb2b-4ca0-b223-c9f258c8bf75))
+  (pad "5" smd oval (at 1.27 10.16) (size 4.24 1.7) (layers "B.Cu" "B.Mask") (tstamp ae26b596-5f91-40fe-8bc3-119cd3bcf4a5))
+  (pad "5" thru_hole circle (at 2.54 10.16) (size 1.7 1.7) (drill 1) (layers "*.Cu" "*.Mask") (tstamp f5857243-c5a7-4ddb-bcc8-039460e96814))
+  (pad "6" thru_hole circle (at 0 12.7) (size 1.7 1.7) (drill 1) (layers "*.Cu" "*.Mask") (tstamp 01af3bd0-465c-4e6a-94d0-ede8d9678c7f))
+  (pad "6" smd oval (at 1.27 12.7) (size 4.24 1.7) (layers "F.Cu" "F.Mask") (tstamp c1558412-d660-4f0e-9d6f-63809b7a2080))
+  (pad "6" smd oval (at 1.27 12.7) (size 4.24 1.7) (layers "B.Cu" "B.Mask") (tstamp 91b0b996-d636-40bf-a433-02def1374fea))
+  (pad "6" thru_hole circle (at 2.54 12.7) (size 1.7 1.7) (drill 1) (layers "*.Cu" "*.Mask") (tstamp 34dba51a-60f3-4961-a46a-492dc2cabea3))
+  (pad "7" thru_hole circle (at 0 15.24) (size 1.7 1.7) (drill 1) (layers "*.Cu" "*.Mask") (tstamp 21543823-afa9-49ee-98bd-c52796ba7602))
+  (pad "7" smd oval (at 1.27 15.24) (size 4.24 1.7) (layers "F.Cu" "F.Mask") (tstamp 89056aab-6dc4-401f-bc66-7c4657906252))
+  (pad "7" smd oval (at 1.27 15.24) (size 4.24 1.7) (layers "B.Cu" "B.Mask") (tstamp b15b914f-437d-4131-9811-080a6fb0393d))
+  (pad "7" thru_hole circle (at 2.54 15.24) (size 1.7 1.7) (drill 1) (layers "*.Cu" "*.Mask") (tstamp 4de5f08f-e734-4e59-bb98-57079f5aa0eb))
+  (pad "8" thru_hole circle (at 0 17.78) (size 1.7 1.7) (drill 1) (layers "*.Cu" "*.Mask") (tstamp 03d9fefc-c93c-4d61-996c-8db2ea0ff30f))
+  (pad "8" smd oval (at 1.27 17.78) (size 4.24 1.7) (layers "F.Cu" "F.Mask") (tstamp ccfad346-53c9-4065-a0f2-54155befa0fa))
+  (pad "8" smd oval (at 1.27 17.78) (size 4.24 1.7) (layers "B.Cu" "B.Mask") (tstamp a61d05ca-c286-4e83-b4a9-02cd98f844a0))
+  (pad "8" thru_hole circle (at 2.54 17.78) (size 1.7 1.7) (drill 1) (layers "*.Cu" "*.Mask") (tstamp c3fffa59-fd16-4651-827d-74af70631991))
+  (pad "9" thru_hole circle (at 0 20.32) (size 1.7 1.7) (drill 1) (layers "*.Cu" "*.Mask") (tstamp e0c90ec2-9635-4886-8ee5-cb4fc51f4ef0))
+  (pad "9" smd oval (at 1.27 20.32) (size 4.24 1.7) (layers "F.Cu" "F.Mask") (tstamp 6ca145e8-83b5-4eaf-8196-1eb929418801))
+  (pad "9" smd oval (at 1.27 20.32) (size 4.24 1.7) (layers "B.Cu" "B.Mask") (tstamp baf6f4a6-7199-43bf-a823-a488b6cc4530))
+  (pad "9" thru_hole circle (at 2.54 20.32) (size 1.7 1.7) (drill 1) (layers "*.Cu" "*.Mask") (tstamp 27a5e4c0-0466-4621-a83a-6afab531e2a6))
+  (pad "10" thru_hole circle (at 0 22.86) (size 1.7 1.7) (drill 1) (layers "*.Cu" "*.Mask") (tstamp 12f072c9-cb35-4c83-b93e-19df1256d59d))
+  (pad "10" smd oval (at 1.27 22.86) (size 4.24 1.7) (layers "F.Cu" "F.Mask") (tstamp 91b10f02-369a-4b3b-accf-4e53278f8297))
+  (pad "10" smd oval (at 1.27 22.86) (size 4.24 1.7) (layers "B.Cu" "B.Mask") (tstamp 8bbbb3d8-bb0c-4aec-81d3-aefc6a02751a))
+  (pad "10" thru_hole circle (at 2.54 22.86) (size 1.7 1.7) (drill 1) (layers "*.Cu" "*.Mask") (tstamp 8ffd2b38-36a4-4487-954b-8bc8235208c0))
+  (pad "11" thru_hole circle (at 0 25.4) (size 1.7 1.7) (drill 1) (layers "*.Cu" "*.Mask") (tstamp 7d7878d5-7b1a-43a4-b7ca-3b4d8734bc67))
+  (pad "11" smd oval (at 1.27 25.4) (size 4.24 1.7) (layers "F.Cu" "F.Mask") (tstamp dd8c6303-b196-4662-bbcc-7fca86666c23))
+  (pad "11" smd oval (at 1.27 25.4) (size 4.24 1.7) (layers "B.Cu" "B.Mask") (tstamp b4af6cad-b182-479a-b489-4a878ff7f667))
+  (pad "11" thru_hole circle (at 2.54 25.4) (size 1.7 1.7) (drill 1) (layers "*.Cu" "*.Mask") (tstamp 9d1a4d46-418b-4d5f-a22b-064a0630105f))
+  (pad "12" thru_hole circle (at 0 27.94) (size 1.7 1.7) (drill 1) (layers "*.Cu" "*.Mask") (tstamp 06a83afc-dd4f-42a2-9d37-ace38013291f))
+  (pad "12" smd oval (at 1.27 27.94) (size 4.24 1.7) (layers "F.Cu" "F.Mask") (tstamp fcbf24bd-a2ff-476f-8e4c-a4aed57b135c))
+  (pad "12" smd oval (at 1.27 27.94) (size 4.24 1.7) (layers "B.Cu" "B.Mask") (tstamp 8c86c1e3-7635-4fe5-93df-bf6f6f12b42f))
+  (pad "12" thru_hole circle (at 2.54 27.94) (size 1.7 1.7) (drill 1) (layers "*.Cu" "*.Mask") (tstamp a6c9b085-7e70-46c4-9595-9756603ede73))
+  (pad "13" thru_hole circle (at 0 30.48) (size 1.7 1.7) (drill 1) (layers "*.Cu" "*.Mask") (tstamp 78b98019-a6ec-4423-82e8-aed034d8d184))
+  (pad "13" smd oval (at 1.27 30.48) (size 4.24 1.7) (layers "F.Cu" "F.Mask") (tstamp 26fdf601-381f-4cce-86af-022387bf71b8))
+  (pad "13" smd oval (at 1.27 30.48) (size 4.24 1.7) (layers "B.Cu" "B.Mask") (tstamp 7ec64d8e-0fa1-469f-8deb-1276e1ebab31))
+  (pad "13" thru_hole circle (at 2.54 30.48) (size 1.7 1.7) (drill 1) (layers "*.Cu" "*.Mask") (tstamp 1db70aad-9084-40ce-8ed0-0cdbcd0d71aa))
+  (pad "14" thru_hole circle (at 0 33.02) (size 1.7 1.7) (drill 1) (layers "*.Cu" "*.Mask") (tstamp edda4599-26af-44a3-8db7-9c380eadadf9))
+  (pad "14" smd oval (at 1.27 33.02) (size 4.24 1.7) (layers "F.Cu" "F.Mask") (tstamp 85e640f3-94de-4ba8-bf2a-d48933759454))
+  (pad "14" smd oval (at 1.27 33.02) (size 4.24 1.7) (layers "B.Cu" "B.Mask") (tstamp 97eb3d5a-983c-4458-8cd8-81d3302e78f3))
+  (pad "14" thru_hole circle (at 2.54 33.02) (size 1.7 1.7) (drill 1) (layers "*.Cu" "*.Mask") (tstamp 92047a28-dce5-4470-b788-d724d571ee3f))
+  (pad "15" thru_hole circle (at 0 35.56) (size 1.7 1.7) (drill 1) (layers "*.Cu" "*.Mask") (tstamp ac1ae247-5538-4b82-92dd-0636c085ef87))
+  (pad "15" smd oval (at 1.27 35.56) (size 4.24 1.7) (layers "F.Cu" "F.Mask") (tstamp 177d660e-e724-40bf-ace4-8af9309b578d))
+  (pad "15" smd oval (at 1.27 35.56) (size 4.24 1.7) (layers "B.Cu" "B.Mask") (tstamp fa0ddf07-7827-4935-9d9d-20f68f4b831f))
+  (pad "15" thru_hole circle (at 2.54 35.56) (size 1.7 1.7) (drill 1) (layers "*.Cu" "*.Mask") (tstamp 46bab91c-6be9-429d-b5f9-c43a363c78fc))
+  (pad "16" thru_hole circle (at 0 38.1) (size 1.7 1.7) (drill 1) (layers "*.Cu" "*.Mask") (tstamp 83073c79-b15e-4cf8-a0ea-2c3314a0fb90))
+  (pad "16" smd oval (at 1.27 38.1) (size 4.24 1.7) (layers "F.Cu" "F.Mask") (tstamp 14dca506-007c-4603-b2de-a886d08fc06e))
+  (pad "16" smd oval (at 1.27 38.1) (size 4.24 1.7) (layers "B.Cu" "B.Mask") (tstamp b8feb4bb-15ef-4893-931a-d104a222ca93))
+  (pad "16" thru_hole circle (at 2.54 38.1) (size 1.7 1.7) (drill 1) (layers "*.Cu" "*.Mask") (tstamp 1e316f01-1117-463d-90c5-3d18cd5d0ff4))
+  (pad "17" thru_hole circle (at 0 40.64) (size 1.7 1.7) (drill 1) (layers "*.Cu" "*.Mask") (tstamp 7a727601-dcfb-4138-a4e8-254a3cbb71e0))
+  (pad "17" smd oval (at 1.27 40.64) (size 4.24 1.7) (layers "F.Cu" "F.Mask") (tstamp eb180faf-9a55-4c70-8938-3d7e103e9967))
+  (pad "17" smd oval (at 1.27 40.64) (size 4.24 1.7) (layers "B.Cu" "B.Mask") (tstamp e46705f1-f30a-4382-ae3a-64b947bc9a7a))
+  (pad "17" thru_hole circle (at 2.54 40.64) (size 1.7 1.7) (drill 1) (layers "*.Cu" "*.Mask") (tstamp 79f84a27-8afb-4c1f-be97-537573b7a59e))
+  (pad "18" thru_hole circle (at 0 43.18) (size 1.7 1.7) (drill 1) (layers "*.Cu" "*.Mask") (tstamp 6e6e43f0-a294-495c-86a3-c7c3e470b392))
+  (pad "18" smd oval (at 1.27 43.18) (size 4.24 1.7) (layers "F.Cu" "F.Mask") (tstamp daacb619-ef87-49c1-86f6-ce58461a63eb))
+  (pad "18" smd oval (at 1.27 43.18) (size 4.24 1.7) (layers "B.Cu" "B.Mask") (tstamp 798f195e-1ba0-4840-bd7f-f26b4216d496))
+  (pad "18" thru_hole circle (at 2.54 43.18) (size 1.7 1.7) (drill 1) (layers "*.Cu" "*.Mask") (tstamp 0b9b18cd-25a3-4840-ab5b-a8db9c520b3d))
+  (pad "19" thru_hole circle (at 0 45.72) (size 1.7 1.7) (drill 1) (layers "*.Cu" "*.Mask") (tstamp 1f469f2e-917b-45a3-933c-81d30d72c24d))
+  (pad "19" smd oval (at 1.27 45.72) (size 4.24 1.7) (layers "F.Cu" "F.Mask") (tstamp 8debb3e1-4bf4-4d48-9e50-20808c8ccdc7))
+  (pad "19" smd oval (at 1.27 45.72) (size 4.24 1.7) (layers "B.Cu" "B.Mask") (tstamp 7cec241b-6a68-4bf5-b24d-7eb0e30e679e))
+  (pad "19" thru_hole circle (at 2.54 45.72) (size 1.7 1.7) (drill 1) (layers "*.Cu" "*.Mask") (tstamp 75b0a3ba-512c-4b28-a1e9-3dfef35caf46))
+  (pad "20" thru_hole circle (at 0 48.26) (size 1.7 1.7) (drill 1) (layers "*.Cu" "*.Mask") (tstamp 9940b056-48d1-4694-a05a-1e2a4c8d2b59))
+  (pad "20" smd oval (at 1.27 48.26) (size 4.24 1.7) (layers "F.Cu" "F.Mask") (tstamp 2ff67d67-b598-45ad-a836-769af0964c12))
+  (pad "20" smd oval (at 1.27 48.26) (size 4.24 1.7) (layers "B.Cu" "B.Mask") (tstamp 9de52b03-ffeb-4a96-b233-42616386db7b))
+  (pad "20" thru_hole circle (at 2.54 48.26) (size 1.7 1.7) (drill 1) (layers "*.Cu" "*.Mask") (tstamp 7cc61d37-f33b-4c9a-8d8c-945344d84244))
+  (model "${KICAD6_3DMODEL_DIR}/Connector_PinHeader_2.54mm.3dshapes/PinHeader_1x20_P2.54mm_Vertical.wrl"
+    (offset (xyz 0 0 -1.66))
+    (scale (xyz 1 1 1))
+    (rotate (xyz 0 180 0))
+  )
+)

+ 124 - 0
Library/Footprints.pretty/Raspberry Pi Pico W.kicad_mod

@@ -0,0 +1,124 @@
+(footprint "Raspberry Pi Pico W" (version 20221018) (generator pcbnew)
+  (layer "F.Cu")
+  (descr "Arduino UNO R3, http://www.mouser.com/pdfdocs/Gravitech_Arduino_Nano3_0.pdf")
+  (tags "Arduino UNO R3")
+  (attr through_hole)
+  (fp_text reference "REF**" (at 48.768 1.524 180) (layer "F.SilkS") hide
+      (effects (font (size 1 1) (thickness 0.15)))
+    (tstamp bf118c9e-511e-441d-8083-109a80050669)
+  )
+  (fp_text value "Raspberry Pi Pico W" (at 7.62 -22.352) (layer "F.Fab")
+      (effects (font (size 1 1) (thickness 0.15)))
+    (tstamp 95aed84b-7e34-44d7-b531-d8a5e0a9e701)
+  )
+  (fp_text user "${REFERENCE}" (at 5.08 1.524 180) (layer "F.Fab")
+      (effects (font (size 1 1) (thickness 0.15)))
+    (tstamp 8420c1d7-e373-42e2-a822-582f78e265d8)
+  )
+  (fp_line (start 48 -10.5) (end 51 -9)
+    (stroke (width 0.1) (type default)) (layer "F.Fab") (tstamp 907dcafb-e70f-4ecb-ac7b-ab0c7a8a622d))
+  (fp_line (start 51 -11.5) (end 48 -10.5)
+    (stroke (width 0.1) (type default)) (layer "F.Fab") (tstamp 2c1075c6-1463-406b-bf78-734ec95836d7))
+  (fp_rect (start 0 -21) (end 51 0)
+    (stroke (width 0.1) (type default)) (fill none) (layer "F.Fab") (tstamp 4919d93a-915d-44ba-b0c9-e78e94f16cb8))
+  (fp_circle (center 1.37 -19.39) (end 2.27 -19.39)
+    (stroke (width 0.1) (type default)) (fill none) (layer "F.Fab") (tstamp b3d52e5d-9af0-4e47-b62b-5e04142d22a0))
+  (fp_circle (center 1.37 -1.61) (end 2.27 -1.61)
+    (stroke (width 0.1) (type default)) (fill none) (layer "F.Fab") (tstamp d38de5fa-c28c-4aba-a591-09c8250482fe))
+  (fp_circle (center 3.91 -19.39) (end 4.81 -19.39)
+    (stroke (width 0.1) (type default)) (fill none) (layer "F.Fab") (tstamp b0ec8199-1a9b-4200-b5b8-b14be4374420))
+  (fp_circle (center 3.91 -1.61) (end 4.81 -1.61)
+    (stroke (width 0.1) (type default)) (fill none) (layer "F.Fab") (tstamp 8f1d6494-270d-4abe-8935-76dbd8eecfbc))
+  (fp_circle (center 6.45 -19.39) (end 7.35 -19.39)
+    (stroke (width 0.1) (type default)) (fill none) (layer "F.Fab") (tstamp 73efb6a3-63be-43d5-95af-021141c6cae3))
+  (fp_circle (center 6.45 -1.61) (end 7.35 -1.61)
+    (stroke (width 0.1) (type default)) (fill none) (layer "F.Fab") (tstamp 71905a4d-02c7-4d4d-93e0-1073670bf454))
+  (fp_circle (center 8.99 -19.39) (end 9.89 -19.39)
+    (stroke (width 0.1) (type default)) (fill none) (layer "F.Fab") (tstamp 6174ed81-081d-419f-be26-d7b4ae18f2b4))
+  (fp_circle (center 8.99 -1.61) (end 9.89 -1.61)
+    (stroke (width 0.1) (type default)) (fill none) (layer "F.Fab") (tstamp d8c0bffa-d7b7-48e7-b1c5-113acb3110bb))
+  (fp_circle (center 11.53 -19.39) (end 12.43 -19.39)
+    (stroke (width 0.1) (type default)) (fill none) (layer "F.Fab") (tstamp 2ee45502-4fbd-4add-afd5-6a6e5441e71f))
+  (fp_circle (center 11.53 -1.61) (end 12.43 -1.61)
+    (stroke (width 0.1) (type default)) (fill none) (layer "F.Fab") (tstamp 522445ce-4ef3-42c0-98c6-2353993c6edd))
+  (fp_circle (center 14.07 -19.39) (end 14.97 -19.39)
+    (stroke (width 0.1) (type default)) (fill none) (layer "F.Fab") (tstamp 935070e6-173d-4df8-987f-57a6fb8ea862))
+  (fp_circle (center 14.07 -1.61) (end 14.97 -1.61)
+    (stroke (width 0.1) (type default)) (fill none) (layer "F.Fab") (tstamp 858698e8-088c-4efb-9067-84c9f318f45e))
+  (fp_circle (center 16.61 -19.39) (end 17.51 -19.39)
+    (stroke (width 0.1) (type default)) (fill none) (layer "F.Fab") (tstamp 093475bf-a95d-4feb-9ab3-18841c2296bd))
+  (fp_circle (center 16.61 -1.61) (end 17.51 -1.61)
+    (stroke (width 0.1) (type default)) (fill none) (layer "F.Fab") (tstamp b6abe62d-912a-4f04-a624-3f9f2b203db0))
+  (fp_circle (center 19.15 -19.39) (end 20.05 -19.39)
+    (stroke (width 0.1) (type default)) (fill none) (layer "F.Fab") (tstamp 2646019b-6cbf-4045-89c3-b2bf22e2034b))
+  (fp_circle (center 19.15 -1.61) (end 20.05 -1.61)
+    (stroke (width 0.1) (type default)) (fill none) (layer "F.Fab") (tstamp e5c5779f-cc0b-4545-bc5e-6aa444d399f1))
+  (fp_circle (center 21.69 -19.39) (end 22.59 -19.39)
+    (stroke (width 0.1) (type default)) (fill none) (layer "F.Fab") (tstamp 520d9b35-673c-4b4a-bc40-703cf0b8fcf7))
+  (fp_circle (center 21.69 -1.61) (end 22.59 -1.61)
+    (stroke (width 0.1) (type default)) (fill none) (layer "F.Fab") (tstamp 4624219d-24e6-4cbe-979d-d4787d5c5217))
+  (fp_circle (center 24.23 -19.39) (end 25.13 -19.39)
+    (stroke (width 0.1) (type default)) (fill none) (layer "F.Fab") (tstamp c9028065-ee78-4b6f-bf56-723bc292140b))
+  (fp_circle (center 24.23 -1.61) (end 25.13 -1.61)
+    (stroke (width 0.1) (type default)) (fill none) (layer "F.Fab") (tstamp 2b7876ec-b378-440d-988a-da5f8a3ab2b8))
+  (fp_circle (center 26.77 -19.39) (end 27.67 -19.39)
+    (stroke (width 0.1) (type default)) (fill none) (layer "F.Fab") (tstamp 2ea77d2d-0ac6-4d82-896b-4e405d81546d))
+  (fp_circle (center 26.77 -1.61) (end 27.67 -1.61)
+    (stroke (width 0.1) (type default)) (fill none) (layer "F.Fab") (tstamp 5db44ad2-3745-4392-b39e-1847e002b73a))
+  (fp_circle (center 29.31 -19.39) (end 30.21 -19.39)
+    (stroke (width 0.1) (type default)) (fill none) (layer "F.Fab") (tstamp e64cc2fa-22a7-4669-9a4a-cf6196e850fa))
+  (fp_circle (center 29.31 -1.61) (end 30.21 -1.61)
+    (stroke (width 0.1) (type default)) (fill none) (layer "F.Fab") (tstamp d800f726-4c15-4939-a32b-214da311bbe9))
+  (fp_circle (center 31.85 -19.39) (end 32.75 -19.39)
+    (stroke (width 0.1) (type default)) (fill none) (layer "F.Fab") (tstamp bc676f2e-3382-4fed-89f9-51e70dff478e))
+  (fp_circle (center 31.85 -1.61) (end 32.75 -1.61)
+    (stroke (width 0.1) (type default)) (fill none) (layer "F.Fab") (tstamp d4885eed-bd08-47a1-b678-deca493a8f88))
+  (fp_circle (center 34.39 -19.39) (end 35.29 -19.39)
+    (stroke (width 0.1) (type default)) (fill none) (layer "F.Fab") (tstamp 2eb6d2b0-7b15-40c1-812a-e94eb680902a))
+  (fp_circle (center 34.39 -1.61) (end 35.29 -1.61)
+    (stroke (width 0.1) (type default)) (fill none) (layer "F.Fab") (tstamp f0e31b5a-cbd1-4937-9540-ba8acfe87573))
+  (fp_circle (center 36.93 -19.39) (end 37.83 -19.39)
+    (stroke (width 0.1) (type default)) (fill none) (layer "F.Fab") (tstamp cf84dcdb-cb94-419e-9688-bfbb5e490bab))
+  (fp_circle (center 36.93 -1.61) (end 37.83 -1.61)
+    (stroke (width 0.1) (type default)) (fill none) (layer "F.Fab") (tstamp e61225ab-7cd8-4a0f-9277-d9c8cf55b7c3))
+  (fp_circle (center 39.47 -19.39) (end 40.37 -19.39)
+    (stroke (width 0.1) (type default)) (fill none) (layer "F.Fab") (tstamp fa6cdc88-dce4-4a18-8024-29a49c971e62))
+  (fp_circle (center 39.47 -1.61) (end 40.37 -1.61)
+    (stroke (width 0.1) (type default)) (fill none) (layer "F.Fab") (tstamp b1a5111f-0649-4636-98ee-7cb2fcd5d93a))
+  (fp_circle (center 42.01 -19.39) (end 42.91 -19.39)
+    (stroke (width 0.1) (type default)) (fill none) (layer "F.Fab") (tstamp c187c942-1a75-493a-a749-661ff20eedfd))
+  (fp_circle (center 42.01 -1.61) (end 42.91 -1.61)
+    (stroke (width 0.1) (type default)) (fill none) (layer "F.Fab") (tstamp 521a3546-0772-4598-ac8d-a988013f84af))
+  (fp_circle (center 44.55 -19.39) (end 45.45 -19.39)
+    (stroke (width 0.1) (type default)) (fill none) (layer "F.Fab") (tstamp c1cb2e2f-bb2c-4dd6-bd83-1b05eab40006))
+  (fp_circle (center 44.55 -1.61) (end 45.45 -1.61)
+    (stroke (width 0.1) (type default)) (fill none) (layer "F.Fab") (tstamp f31a8182-6791-4df6-aa74-3579da2477a1))
+  (fp_circle (center 47.09 -19.39) (end 47.99 -19.39)
+    (stroke (width 0.1) (type default)) (fill none) (layer "F.Fab") (tstamp 4c3bdbb8-af88-44b6-a31d-12aaac9ed391))
+  (fp_circle (center 47.09 -1.61) (end 47.99 -1.61)
+    (stroke (width 0.1) (type default)) (fill none) (layer "F.Fab") (tstamp 35d93734-091a-48d7-9131-20ca2b17a090))
+  (fp_circle (center 49.63 -19.39) (end 50.53 -19.39)
+    (stroke (width 0.1) (type default)) (fill none) (layer "F.Fab") (tstamp 13e6cddb-9d94-41b0-a2da-c212f018fa30))
+  (fp_circle (center 49.63 -1.61) (end 50.53 -1.61)
+    (stroke (width 0.1) (type default)) (fill none) (layer "F.Fab") (tstamp cdb2d53b-c887-4dcc-9360-969a5d98117e))
+  (model ":PICO_ADAPTER:Models.3D/PicoW.step"
+    (offset (xyz 0 21 -4))
+    (scale (xyz 1 1 1))
+    (rotate (xyz 0 0 90))
+  )
+  (model ":KICAD7_3DMODEL_DIR:Connector_PinSocket_2.54mm.3dshapes/PinSocket_1x03_P2.54mm_Vertical.wrl"
+    (offset (xyz 19.8 9.9 -4))
+    (scale (xyz 1 1 1))
+    (rotate (xyz 0 0 0))
+  )
+  (model ":KICAD7_3DMODEL_DIR:Connector_PinHeader_2.54mm.3dshapes/PinHeader_1x20_P2.54mm_Vertical.wrl"
+    (offset (xyz 1.35 1.6 -5))
+    (scale (xyz 1 1 1))
+    (rotate (xyz -180 0 90))
+  )
+  (model ":KICAD7_3DMODEL_DIR:Connector_PinHeader_2.54mm.3dshapes/PinHeader_1x20_P2.54mm_Vertical.wrl"
+    (offset (xyz 1.35 19.4 -5))
+    (scale (xyz 1 1 1))
+    (rotate (xyz -180 0 90))
+  )
+)

+ 124 - 0
Library/Footprints.pretty/Raspberry Pi Pico.kicad_mod

@@ -0,0 +1,124 @@
+(footprint "Raspberry Pi Pico" (version 20221018) (generator pcbnew)
+  (layer "F.Cu")
+  (descr "Arduino UNO R3, http://www.mouser.com/pdfdocs/Gravitech_Arduino_Nano3_0.pdf")
+  (tags "Arduino UNO R3")
+  (attr through_hole)
+  (fp_text reference "REF**" (at 48.768 1.524 180) (layer "F.SilkS") hide
+      (effects (font (size 1 1) (thickness 0.15)))
+    (tstamp bf118c9e-511e-441d-8083-109a80050669)
+  )
+  (fp_text value "Raspberry Pi Pico" (at 6.604 -22.352) (layer "F.Fab")
+      (effects (font (size 1 1) (thickness 0.15)))
+    (tstamp 95aed84b-7e34-44d7-b531-d8a5e0a9e701)
+  )
+  (fp_text user "${REFERENCE}" (at 5.08 1.524 180) (layer "F.Fab")
+      (effects (font (size 1 1) (thickness 0.15)))
+    (tstamp 8420c1d7-e373-42e2-a822-582f78e265d8)
+  )
+  (fp_line (start 48 -10.5) (end 51 -9)
+    (stroke (width 0.1) (type default)) (layer "F.Fab") (tstamp 9cfcee72-ffb1-4dc2-8305-65b42ce11397))
+  (fp_line (start 51 -12) (end 48 -10.5)
+    (stroke (width 0.1) (type default)) (layer "F.Fab") (tstamp 2f8b1d3c-88fd-4332-a546-be272ce13e32))
+  (fp_rect (start 0 -21) (end 51 0)
+    (stroke (width 0.1) (type default)) (fill none) (layer "F.Fab") (tstamp 4919d93a-915d-44ba-b0c9-e78e94f16cb8))
+  (fp_circle (center 1.37 -19.39) (end 2.27 -19.39)
+    (stroke (width 0.1) (type default)) (fill none) (layer "F.Fab") (tstamp b3d52e5d-9af0-4e47-b62b-5e04142d22a0))
+  (fp_circle (center 1.37 -1.61) (end 2.27 -1.61)
+    (stroke (width 0.1) (type default)) (fill none) (layer "F.Fab") (tstamp d38de5fa-c28c-4aba-a591-09c8250482fe))
+  (fp_circle (center 3.91 -19.39) (end 4.81 -19.39)
+    (stroke (width 0.1) (type default)) (fill none) (layer "F.Fab") (tstamp b0ec8199-1a9b-4200-b5b8-b14be4374420))
+  (fp_circle (center 3.91 -1.61) (end 4.81 -1.61)
+    (stroke (width 0.1) (type default)) (fill none) (layer "F.Fab") (tstamp 8f1d6494-270d-4abe-8935-76dbd8eecfbc))
+  (fp_circle (center 6.45 -19.39) (end 7.35 -19.39)
+    (stroke (width 0.1) (type default)) (fill none) (layer "F.Fab") (tstamp 73efb6a3-63be-43d5-95af-021141c6cae3))
+  (fp_circle (center 6.45 -1.61) (end 7.35 -1.61)
+    (stroke (width 0.1) (type default)) (fill none) (layer "F.Fab") (tstamp 71905a4d-02c7-4d4d-93e0-1073670bf454))
+  (fp_circle (center 8.99 -19.39) (end 9.89 -19.39)
+    (stroke (width 0.1) (type default)) (fill none) (layer "F.Fab") (tstamp 6174ed81-081d-419f-be26-d7b4ae18f2b4))
+  (fp_circle (center 8.99 -1.61) (end 9.89 -1.61)
+    (stroke (width 0.1) (type default)) (fill none) (layer "F.Fab") (tstamp d8c0bffa-d7b7-48e7-b1c5-113acb3110bb))
+  (fp_circle (center 11.53 -19.39) (end 12.43 -19.39)
+    (stroke (width 0.1) (type default)) (fill none) (layer "F.Fab") (tstamp 2ee45502-4fbd-4add-afd5-6a6e5441e71f))
+  (fp_circle (center 11.53 -1.61) (end 12.43 -1.61)
+    (stroke (width 0.1) (type default)) (fill none) (layer "F.Fab") (tstamp 522445ce-4ef3-42c0-98c6-2353993c6edd))
+  (fp_circle (center 14.07 -19.39) (end 14.97 -19.39)
+    (stroke (width 0.1) (type default)) (fill none) (layer "F.Fab") (tstamp 935070e6-173d-4df8-987f-57a6fb8ea862))
+  (fp_circle (center 14.07 -1.61) (end 14.97 -1.61)
+    (stroke (width 0.1) (type default)) (fill none) (layer "F.Fab") (tstamp 858698e8-088c-4efb-9067-84c9f318f45e))
+  (fp_circle (center 16.61 -19.39) (end 17.51 -19.39)
+    (stroke (width 0.1) (type default)) (fill none) (layer "F.Fab") (tstamp 093475bf-a95d-4feb-9ab3-18841c2296bd))
+  (fp_circle (center 16.61 -1.61) (end 17.51 -1.61)
+    (stroke (width 0.1) (type default)) (fill none) (layer "F.Fab") (tstamp b6abe62d-912a-4f04-a624-3f9f2b203db0))
+  (fp_circle (center 19.15 -19.39) (end 20.05 -19.39)
+    (stroke (width 0.1) (type default)) (fill none) (layer "F.Fab") (tstamp 2646019b-6cbf-4045-89c3-b2bf22e2034b))
+  (fp_circle (center 19.15 -1.61) (end 20.05 -1.61)
+    (stroke (width 0.1) (type default)) (fill none) (layer "F.Fab") (tstamp e5c5779f-cc0b-4545-bc5e-6aa444d399f1))
+  (fp_circle (center 21.69 -19.39) (end 22.59 -19.39)
+    (stroke (width 0.1) (type default)) (fill none) (layer "F.Fab") (tstamp 520d9b35-673c-4b4a-bc40-703cf0b8fcf7))
+  (fp_circle (center 21.69 -1.61) (end 22.59 -1.61)
+    (stroke (width 0.1) (type default)) (fill none) (layer "F.Fab") (tstamp 4624219d-24e6-4cbe-979d-d4787d5c5217))
+  (fp_circle (center 24.23 -19.39) (end 25.13 -19.39)
+    (stroke (width 0.1) (type default)) (fill none) (layer "F.Fab") (tstamp c9028065-ee78-4b6f-bf56-723bc292140b))
+  (fp_circle (center 24.23 -1.61) (end 25.13 -1.61)
+    (stroke (width 0.1) (type default)) (fill none) (layer "F.Fab") (tstamp 2b7876ec-b378-440d-988a-da5f8a3ab2b8))
+  (fp_circle (center 26.77 -19.39) (end 27.67 -19.39)
+    (stroke (width 0.1) (type default)) (fill none) (layer "F.Fab") (tstamp 2ea77d2d-0ac6-4d82-896b-4e405d81546d))
+  (fp_circle (center 26.77 -1.61) (end 27.67 -1.61)
+    (stroke (width 0.1) (type default)) (fill none) (layer "F.Fab") (tstamp 5db44ad2-3745-4392-b39e-1847e002b73a))
+  (fp_circle (center 29.31 -19.39) (end 30.21 -19.39)
+    (stroke (width 0.1) (type default)) (fill none) (layer "F.Fab") (tstamp e64cc2fa-22a7-4669-9a4a-cf6196e850fa))
+  (fp_circle (center 29.31 -1.61) (end 30.21 -1.61)
+    (stroke (width 0.1) (type default)) (fill none) (layer "F.Fab") (tstamp d800f726-4c15-4939-a32b-214da311bbe9))
+  (fp_circle (center 31.85 -19.39) (end 32.75 -19.39)
+    (stroke (width 0.1) (type default)) (fill none) (layer "F.Fab") (tstamp bc676f2e-3382-4fed-89f9-51e70dff478e))
+  (fp_circle (center 31.85 -1.61) (end 32.75 -1.61)
+    (stroke (width 0.1) (type default)) (fill none) (layer "F.Fab") (tstamp d4885eed-bd08-47a1-b678-deca493a8f88))
+  (fp_circle (center 34.39 -19.39) (end 35.29 -19.39)
+    (stroke (width 0.1) (type default)) (fill none) (layer "F.Fab") (tstamp 2eb6d2b0-7b15-40c1-812a-e94eb680902a))
+  (fp_circle (center 34.39 -1.61) (end 35.29 -1.61)
+    (stroke (width 0.1) (type default)) (fill none) (layer "F.Fab") (tstamp f0e31b5a-cbd1-4937-9540-ba8acfe87573))
+  (fp_circle (center 36.93 -19.39) (end 37.83 -19.39)
+    (stroke (width 0.1) (type default)) (fill none) (layer "F.Fab") (tstamp cf84dcdb-cb94-419e-9688-bfbb5e490bab))
+  (fp_circle (center 36.93 -1.61) (end 37.83 -1.61)
+    (stroke (width 0.1) (type default)) (fill none) (layer "F.Fab") (tstamp e61225ab-7cd8-4a0f-9277-d9c8cf55b7c3))
+  (fp_circle (center 39.47 -19.39) (end 40.37 -19.39)
+    (stroke (width 0.1) (type default)) (fill none) (layer "F.Fab") (tstamp fa6cdc88-dce4-4a18-8024-29a49c971e62))
+  (fp_circle (center 39.47 -1.61) (end 40.37 -1.61)
+    (stroke (width 0.1) (type default)) (fill none) (layer "F.Fab") (tstamp b1a5111f-0649-4636-98ee-7cb2fcd5d93a))
+  (fp_circle (center 42.01 -19.39) (end 42.91 -19.39)
+    (stroke (width 0.1) (type default)) (fill none) (layer "F.Fab") (tstamp c187c942-1a75-493a-a749-661ff20eedfd))
+  (fp_circle (center 42.01 -1.61) (end 42.91 -1.61)
+    (stroke (width 0.1) (type default)) (fill none) (layer "F.Fab") (tstamp 521a3546-0772-4598-ac8d-a988013f84af))
+  (fp_circle (center 44.55 -19.39) (end 45.45 -19.39)
+    (stroke (width 0.1) (type default)) (fill none) (layer "F.Fab") (tstamp c1cb2e2f-bb2c-4dd6-bd83-1b05eab40006))
+  (fp_circle (center 44.55 -1.61) (end 45.45 -1.61)
+    (stroke (width 0.1) (type default)) (fill none) (layer "F.Fab") (tstamp f31a8182-6791-4df6-aa74-3579da2477a1))
+  (fp_circle (center 47.09 -19.39) (end 47.99 -19.39)
+    (stroke (width 0.1) (type default)) (fill none) (layer "F.Fab") (tstamp 4c3bdbb8-af88-44b6-a31d-12aaac9ed391))
+  (fp_circle (center 47.09 -1.61) (end 47.99 -1.61)
+    (stroke (width 0.1) (type default)) (fill none) (layer "F.Fab") (tstamp 35d93734-091a-48d7-9131-20ca2b17a090))
+  (fp_circle (center 49.63 -19.39) (end 50.53 -19.39)
+    (stroke (width 0.1) (type default)) (fill none) (layer "F.Fab") (tstamp 13e6cddb-9d94-41b0-a2da-c212f018fa30))
+  (fp_circle (center 49.63 -1.61) (end 50.53 -1.61)
+    (stroke (width 0.1) (type default)) (fill none) (layer "F.Fab") (tstamp cdb2d53b-c887-4dcc-9360-969a5d98117e))
+  (model ":PICO_ADAPTER:Models.3D/Pico-R3.step"
+    (offset (xyz 0 21 -4.5))
+    (scale (xyz 1 1 1))
+    (rotate (xyz -90 0 90))
+  )
+  (model ":KICAD7_3DMODEL_DIR:Connector_PinHeader_2.54mm.3dshapes/PinHeader_1x20_P2.54mm_Vertical.wrl"
+    (offset (xyz 1.35 19.39 -5.1))
+    (scale (xyz 1 1 1))
+    (rotate (xyz 0 -180 -90))
+  )
+  (model ":KICAD7_3DMODEL_DIR:Connector_PinHeader_2.54mm.3dshapes/PinHeader_1x20_P2.54mm_Vertical.wrl"
+    (offset (xyz 1.35 1.65 -5.1))
+    (scale (xyz 1 1 1))
+    (rotate (xyz 0 -180 -90))
+  )
+  (model ":KICAD7_3DMODEL_DIR:Connector_PinSocket_2.54mm.3dshapes/PinSocket_1x03_P2.54mm_Vertical.wrl"
+    (offset (xyz 1.6 13.05 -4))
+    (scale (xyz 1 1 1))
+    (rotate (xyz 0 0 0))
+  )
+)

File diff suppressed because it is too large
+ 242206 - 0
Library/Models.3D/MAKER-PI-PICO-NB.STEP


File diff suppressed because it is too large
+ 173699 - 0
Library/Models.3D/MAKER-PI-PICO.STEP


File diff suppressed because it is too large
+ 586650 - 0
Library/Models.3D/MAKER-PI-PICO.step


File diff suppressed because it is too large
+ 68438 - 0
Library/Models.3D/MAKER-PI-PICO.wrl


File diff suppressed because it is too large
+ 23191 - 0
Library/Models.3D/Pico-R3.step


File diff suppressed because it is too large
+ 105738 - 0
Library/Models.3D/PicoW.step


BIN
Models/Maker Pi Pico.FCStd


BIN
Models/Maker Pi Pico.FCStd1


BIN
Pictures/HSA-Banner.png


File diff suppressed because it is too large
+ 82 - 0
Pictures/HSA_Logo_digital.svg


BIN
Pictures/Pico_Adapter_with_Components.png


BIN
Pictures/Pico_Adapter_without_Components.png


BIN
Project/Pico_Adapter-backups/Pico_Adapter-2023-08-29_141040.zip


BIN
Project/Pico_Adapter-backups/Pico_Adapter-2023-08-29_143802.zip


BIN
Project/Pico_Adapter-backups/Pico_Adapter-2023-08-29_153951.zip


BIN
Project/Pico_Adapter-backups/Pico_Adapter-2023-08-29_154733.zip


BIN
Project/Pico_Adapter-backups/Pico_Adapter-2023-08-30_144208.zip


BIN
Project/Pico_Adapter-backups/Pico_Adapter-2023-08-30_170503.zip


BIN
Project/Pico_Adapter-backups/Pico_Adapter-2023-08-31_155942.zip


BIN
Project/Pico_Adapter-backups/Pico_Adapter-2023-09-01_132050.zip


BIN
Project/Pico_Adapter-backups/Pico_Adapter-2023-09-01_133831.zip


BIN
Project/Pico_Adapter-backups/Pico_Adapter-2023-09-01_134532.zip


BIN
Project/Pico_Adapter-backups/Pico_Adapter-2023-09-01_135202.zip


BIN
Project/Pico_Adapter-backups/Pico_Adapter-2023-09-01_140342.zip


BIN
Project/Pico_Adapter-backups/Pico_Adapter-2023-09-04_155305.zip


BIN
Project/Pico_Adapter-backups/Pico_Adapter-2023-09-04_155942.zip


BIN
Project/Pico_Adapter-backups/Pico_Adapter-2023-09-04_161436.zip


BIN
Project/Pico_Adapter-backups/Pico_Adapter-2023-09-04_162451.zip


BIN
Project/Pico_Adapter-backups/Pico_Adapter-2023-09-04_163202.zip


BIN
Project/Pico_Adapter-backups/Pico_Adapter-2023-09-05_100302.zip


BIN
Project/Pico_Adapter-backups/Pico_Adapter-2023-09-05_100852.zip


BIN
Project/Pico_Adapter-backups/Pico_Adapter-2023-09-05_101447.zip


BIN
Project/Pico_Adapter-backups/Pico_Adapter-2023-09-05_102004.zip


BIN
Project/Pico_Adapter-backups/Pico_Adapter-2023-09-05_102536.zip


BIN
Project/Pico_Adapter-backups/Pico_Adapter-2023-09-05_103526.zip


File diff suppressed because it is too large
+ 22841 - 0
Project/Pico_Adapter.kicad_pcb


+ 77 - 0
Project/Pico_Adapter.kicad_prl

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

+ 502 - 0
Project/Pico_Adapter.kicad_pro

@@ -0,0 +1,502 @@
+{
+  "board": {
+    "3dviewports": [],
+    "design_settings": {
+      "defaults": {
+        "board_outline_line_width": 0.09999999999999999,
+        "copper_line_width": 0.19999999999999998,
+        "copper_text_italic": false,
+        "copper_text_size_h": 1.5,
+        "copper_text_size_v": 1.5,
+        "copper_text_thickness": 0.3,
+        "copper_text_upright": false,
+        "courtyard_line_width": 0.049999999999999996,
+        "dimension_precision": 4,
+        "dimension_units": 3,
+        "dimensions": {
+          "arrow_length": 1270000,
+          "extension_offset": 500000,
+          "keep_text_aligned": true,
+          "suppress_zeroes": false,
+          "text_position": 0,
+          "units_format": 1
+        },
+        "fab_line_width": 0.09999999999999999,
+        "fab_text_italic": false,
+        "fab_text_size_h": 1.0,
+        "fab_text_size_v": 1.0,
+        "fab_text_thickness": 0.15,
+        "fab_text_upright": false,
+        "other_line_width": 0.15,
+        "other_text_italic": false,
+        "other_text_size_h": 1.0,
+        "other_text_size_v": 1.0,
+        "other_text_thickness": 0.15,
+        "other_text_upright": false,
+        "pads": {
+          "drill": 0.762,
+          "height": 1.524,
+          "width": 1.524
+        },
+        "silk_line_width": 0.15,
+        "silk_text_italic": false,
+        "silk_text_size_h": 1.0,
+        "silk_text_size_v": 1.0,
+        "silk_text_thickness": 0.15,
+        "silk_text_upright": false,
+        "zones": {
+          "min_clearance": 0.19999999999999998
+        }
+      },
+      "diff_pair_dimensions": [
+        {
+          "gap": 0.0,
+          "via_gap": 0.0,
+          "width": 0.0
+        }
+      ],
+      "drc_exclusions": [],
+      "meta": {
+        "version": 2
+      },
+      "rule_severities": {
+        "annular_width": "error",
+        "clearance": "error",
+        "connection_width": "warning",
+        "copper_edge_clearance": "error",
+        "copper_sliver": "warning",
+        "courtyards_overlap": "error",
+        "diff_pair_gap_out_of_range": "error",
+        "diff_pair_uncoupled_length_too_long": "error",
+        "drill_out_of_range": "error",
+        "duplicate_footprints": "warning",
+        "extra_footprint": "warning",
+        "footprint": "error",
+        "footprint_type_mismatch": "ignore",
+        "hole_clearance": "error",
+        "hole_near_hole": "error",
+        "invalid_outline": "error",
+        "isolated_copper": "warning",
+        "item_on_disabled_layer": "error",
+        "items_not_allowed": "error",
+        "length_out_of_range": "error",
+        "lib_footprint_issues": "warning",
+        "lib_footprint_mismatch": "warning",
+        "malformed_courtyard": "error",
+        "microvia_drill_out_of_range": "error",
+        "missing_courtyard": "ignore",
+        "missing_footprint": "warning",
+        "net_conflict": "warning",
+        "npth_inside_courtyard": "ignore",
+        "padstack": "warning",
+        "pth_inside_courtyard": "ignore",
+        "shorting_items": "error",
+        "silk_edge_clearance": "warning",
+        "silk_over_copper": "warning",
+        "silk_overlap": "warning",
+        "skew_out_of_range": "error",
+        "solder_mask_bridge": "error",
+        "starved_thermal": "error",
+        "text_height": "warning",
+        "text_thickness": "warning",
+        "through_hole_pad_without_hole": "error",
+        "too_many_vias": "error",
+        "track_dangling": "warning",
+        "track_width": "error",
+        "tracks_crossing": "error",
+        "unconnected_items": "error",
+        "unresolved_variable": "error",
+        "via_dangling": "warning",
+        "zones_intersect": "error"
+      },
+      "rules": {
+        "max_error": 0.005,
+        "min_clearance": 0.19999999999999998,
+        "min_connection": 0.0,
+        "min_copper_edge_clearance": 0.0,
+        "min_hole_clearance": 0.25,
+        "min_hole_to_hole": 0.25,
+        "min_microvia_diameter": 0.19999999999999998,
+        "min_microvia_drill": 0.09999999999999999,
+        "min_resolved_spokes": 2,
+        "min_silk_clearance": 0.0,
+        "min_text_height": 0.7999999999999999,
+        "min_text_thickness": 0.08,
+        "min_through_hole_diameter": 0.3,
+        "min_track_width": 0.19999999999999998,
+        "min_via_annular_width": 0.08499999999999999,
+        "min_via_diameter": 0.5,
+        "solder_mask_clearance": 0.0,
+        "solder_mask_min_width": 0.0,
+        "solder_mask_to_copper_clearance": 0.0,
+        "use_height_for_length_calcs": true
+      },
+      "teardrop_options": [
+        {
+          "td_allow_use_two_tracks": true,
+          "td_curve_segcount": 5,
+          "td_on_pad_in_zone": false,
+          "td_onpadsmd": true,
+          "td_onroundshapesonly": false,
+          "td_ontrackend": false,
+          "td_onviapad": true
+        }
+      ],
+      "teardrop_parameters": [
+        {
+          "td_curve_segcount": 0,
+          "td_height_ratio": 1.0,
+          "td_length_ratio": 0.5,
+          "td_maxheight": 2.0,
+          "td_maxlen": 1.0,
+          "td_target_name": "td_round_shape",
+          "td_width_to_size_filter_ratio": 0.9
+        },
+        {
+          "td_curve_segcount": 0,
+          "td_height_ratio": 1.0,
+          "td_length_ratio": 0.5,
+          "td_maxheight": 2.0,
+          "td_maxlen": 1.0,
+          "td_target_name": "td_rect_shape",
+          "td_width_to_size_filter_ratio": 0.9
+        },
+        {
+          "td_curve_segcount": 0,
+          "td_height_ratio": 1.0,
+          "td_length_ratio": 0.5,
+          "td_maxheight": 2.0,
+          "td_maxlen": 1.0,
+          "td_target_name": "td_track_end",
+          "td_width_to_size_filter_ratio": 0.9
+        }
+      ],
+      "track_widths": [
+        0.0,
+        0.2,
+        0.25,
+        0.3,
+        0.35,
+        0.4,
+        0.45,
+        0.5,
+        0.6,
+        0.7,
+        0.8,
+        0.9,
+        1.0
+      ],
+      "via_dimensions": [
+        {
+          "diameter": 0.0,
+          "drill": 0.0
+        }
+      ],
+      "zones_allow_external_fillets": false
+    },
+    "layer_presets": [],
+    "viewports": []
+  },
+  "boards": [],
+  "cvpcb": {
+    "equivalence_files": []
+  },
+  "erc": {
+    "erc_exclusions": [],
+    "meta": {
+      "version": 0
+    },
+    "pin_map": [
+      [
+        0,
+        0,
+        0,
+        0,
+        0,
+        0,
+        1,
+        0,
+        0,
+        0,
+        0,
+        2
+      ],
+      [
+        0,
+        2,
+        0,
+        1,
+        0,
+        0,
+        1,
+        0,
+        2,
+        2,
+        2,
+        2
+      ],
+      [
+        0,
+        0,
+        0,
+        0,
+        0,
+        0,
+        1,
+        0,
+        1,
+        0,
+        1,
+        2
+      ],
+      [
+        0,
+        1,
+        0,
+        0,
+        0,
+        0,
+        1,
+        1,
+        2,
+        1,
+        1,
+        2
+      ],
+      [
+        0,
+        0,
+        0,
+        0,
+        0,
+        0,
+        1,
+        0,
+        0,
+        0,
+        0,
+        2
+      ],
+      [
+        0,
+        0,
+        0,
+        0,
+        0,
+        0,
+        0,
+        0,
+        0,
+        0,
+        0,
+        2
+      ],
+      [
+        1,
+        1,
+        1,
+        1,
+        1,
+        0,
+        1,
+        1,
+        1,
+        1,
+        1,
+        2
+      ],
+      [
+        0,
+        0,
+        0,
+        1,
+        0,
+        0,
+        1,
+        0,
+        0,
+        0,
+        0,
+        2
+      ],
+      [
+        0,
+        2,
+        1,
+        2,
+        0,
+        0,
+        1,
+        0,
+        2,
+        2,
+        2,
+        2
+      ],
+      [
+        0,
+        2,
+        0,
+        1,
+        0,
+        0,
+        1,
+        0,
+        2,
+        0,
+        0,
+        2
+      ],
+      [
+        0,
+        2,
+        1,
+        1,
+        0,
+        0,
+        1,
+        0,
+        2,
+        0,
+        0,
+        2
+      ],
+      [
+        2,
+        2,
+        2,
+        2,
+        2,
+        2,
+        2,
+        2,
+        2,
+        2,
+        2,
+        2
+      ]
+    ],
+    "rule_severities": {
+      "bus_definition_conflict": "error",
+      "bus_entry_needed": "error",
+      "bus_to_bus_conflict": "error",
+      "bus_to_net_conflict": "error",
+      "conflicting_netclasses": "error",
+      "different_unit_footprint": "error",
+      "different_unit_net": "error",
+      "duplicate_reference": "error",
+      "duplicate_sheet_names": "error",
+      "endpoint_off_grid": "warning",
+      "extra_units": "error",
+      "global_label_dangling": "warning",
+      "hier_label_mismatch": "error",
+      "label_dangling": "error",
+      "lib_symbol_issues": "warning",
+      "missing_bidi_pin": "warning",
+      "missing_input_pin": "warning",
+      "missing_power_pin": "error",
+      "missing_unit": "warning",
+      "multiple_net_names": "warning",
+      "net_not_bus_member": "warning",
+      "no_connect_connected": "warning",
+      "no_connect_dangling": "warning",
+      "pin_not_connected": "error",
+      "pin_not_driven": "error",
+      "pin_to_pin": "error",
+      "power_pin_not_driven": "error",
+      "similar_labels": "warning",
+      "simulation_model_issue": "ignore",
+      "unannotated": "error",
+      "unit_value_mismatch": "error",
+      "unresolved_variable": "error",
+      "wire_dangling": "error"
+    }
+  },
+  "libraries": {
+    "pinned_footprint_libs": [],
+    "pinned_symbol_libs": []
+  },
+  "meta": {
+    "filename": "Pico_Adapter.kicad_pro",
+    "version": 1
+  },
+  "net_settings": {
+    "classes": [
+      {
+        "bus_width": 12,
+        "clearance": 0.2,
+        "diff_pair_gap": 0.25,
+        "diff_pair_via_gap": 0.25,
+        "diff_pair_width": 0.2,
+        "line_style": 0,
+        "microvia_diameter": 0.3,
+        "microvia_drill": 0.1,
+        "name": "Default",
+        "pcb_color": "rgba(0, 0, 0, 0.000)",
+        "schematic_color": "rgba(0, 0, 0, 0.000)",
+        "track_width": 0.25,
+        "via_diameter": 0.8,
+        "via_drill": 0.4,
+        "wire_width": 6
+      }
+    ],
+    "meta": {
+      "version": 3
+    },
+    "net_colors": null,
+    "netclass_assignments": null,
+    "netclass_patterns": []
+  },
+  "pcbnew": {
+    "last_paths": {
+      "gencad": "",
+      "idf": "",
+      "netlist": "",
+      "specctra_dsn": "",
+      "step": "",
+      "vrml": ""
+    },
+    "page_layout_descr_file": "Sheat_Style.kicad_wks"
+  },
+  "schematic": {
+    "annotate_start_num": 0,
+    "drawing": {
+      "dashed_lines_dash_length_ratio": 12.0,
+      "dashed_lines_gap_length_ratio": 3.0,
+      "default_line_thickness": 6.0,
+      "default_text_size": 50.0,
+      "field_names": [],
+      "intersheets_ref_own_page": false,
+      "intersheets_ref_prefix": "",
+      "intersheets_ref_short": false,
+      "intersheets_ref_show": true,
+      "intersheets_ref_suffix": "",
+      "junction_size_choice": 3,
+      "label_size_ratio": 0.375,
+      "pin_symbol_size": 25.0,
+      "text_offset_ratio": 0.15
+    },
+    "legacy_lib_dir": "",
+    "legacy_lib_list": [],
+    "meta": {
+      "version": 1
+    },
+    "net_format_name": "",
+    "page_layout_descr_file": "Sheat_Style.kicad_wks",
+    "plot_directory": "",
+    "spice_current_sheet_as_root": false,
+    "spice_external_command": "spice \"%I\"",
+    "spice_model_current_sheet_as_root": true,
+    "spice_save_all_currents": false,
+    "spice_save_all_voltages": false,
+    "subpart_first_id": 65,
+    "subpart_id_separator": 0
+  },
+  "sheets": [
+    [
+      "9b9b3466-9d28-42fc-b304-5f9decd096dd",
+      ""
+    ]
+  ],
+  "text_variables": {}
+}

File diff suppressed because it is too large
+ 4546 - 0
Project/Pico_Adapter.kicad_sch


File diff suppressed because it is too large
+ 1165 - 0
Project/Pico_Adapter.xml


File diff suppressed because it is too large
+ 1543 - 0
Project/Sheat_Style.kicad_wks


File diff suppressed because it is too large
+ 90742 - 0
Project/fp-info-cache


+ 4 - 0
Project/fp-lib-table

@@ -0,0 +1,4 @@
+(fp_lib_table
+  (version 7)
+  (lib (name "Pico Adapter")(type "KiCad")(uri "$(PICO_ADAPTER)/Footprints.pretty")(options "")(descr ""))
+)

+ 31 - 0
Project/ibom.config.ini

@@ -0,0 +1,31 @@
+[html_defaults]
+dark_mode=1
+show_pads=1
+show_fabrication=0
+show_silkscreen=1
+highlight_pin1=none
+redraw_on_drag=1
+board_rotation=0
+checkboxes=Sourced,Placed
+bom_view=left-right
+layer_view=FB
+compression=1
+open_browser=1
+offset_back_rotation=0
+[general]
+bom_dest_dir=/home/tobias/Dokumente/Arbeit/HS-Anhalt/Projekte/Pico_Adapter/Docs/BOM
+bom_name_format=Pico_Adapter_iBOM
+component_sort_order=C,R,L,D,U,Y,X,F,SW,A,~,HS,CNN,J,P,NT,MH
+component_blacklist=
+blacklist_virtual=1
+blacklist_empty_val=0
+include_tracks=0
+include_nets=0
+[fields]
+show_fields=Value,Footprint,Hersteller-Nr.,Mouser-Nr.
+group_fields=Hersteller-Nr.,Mouser-Nr.
+normalize_field_case=0
+board_variant_field=
+board_variant_whitelist=
+board_variant_blacklist=
+dnp_field=

+ 4 - 0
Project/sym-lib-table

@@ -0,0 +1,4 @@
+(sym_lib_table
+  (version 7)
+  (lib (name "Pico_Adapter")(type "KiCad")(uri "${PICO_ADAPTER}/Components.lib/Pico_Adapter.kicad_sym")(options "")(descr ""))
+)

+ 1 - 0
Project/~Pico_Adapter.kicad_pcb.lck

@@ -0,0 +1 @@
+{"hostname":"TMueller-HSA","username":"tobias"}

+ 20 - 2
README.md

@@ -1,3 +1,21 @@
-# Pico_Adapter
+![](Pictures/HSA-Banner.png)
 
-Pico Adapter-Shield für Arduino Kompatibilität.
+# Raspberry Pi Pico - Arduino Adapter Shield
+
+Pico Adapter-Shield for Arduino compatibility.
+
+![](Pictures/Pico_Adapter_with_Components.png)
+
+![](Pictures/Pico_Adapter_without_Components.png)
+
+---
+
+**Hochschule Anhalt | Anhalt University of Applied Sciences | Fachbereich 6 EMW**  
+
+Prof. Dr.-Ing. Ingo Chmielewski  
+:e-mail: [Ingo.Chmielewski@HS-Anhalt.de ](mailto:Ingo.Chmielewski@HS-Anhalt.de)
+
+Tobias Müller, M. Eng.  
+:e-mail: [Tobias.Mueller@HS-Anhalt.de](mailto:Tobias.Mueller@HS-Anhalt.de)
+
+ :copyright: es-lab.de, 05.09.2023

BIN
README.pdf


BIN
Script/__pycache__/kicad_netlist_reader.cpython-310.pyc


BIN
Script/__pycache__/kicad_netlist_reader.cpython-311.pyc


+ 182 - 0
Script/bom_csv_grouped_by_manufacture.py

@@ -0,0 +1,182 @@
+#
+# Example python script to generate a BOM from a KiCad generic netlist
+#
+# Example: Sorted and Grouped CSV BOM
+#
+"""
+    @package
+    Generate a csv BOM list.
+    Components are sorted by ref and grouped by value
+    Fields are (if exist)
+    Item, Qty, Reference(s), Value, LibPart, Footprint, Datasheet
+
+    Command line:
+    python "pathToFile/bom_csv_grouped_by_value.py" "%I" "%O.csv"
+"""
+
+from __future__ import print_function
+
+# Import the KiCad python helper module and the csv formatter
+import kicad_netlist_reader
+import csv
+import sys
+
+def myEqu(self, other):
+    """myEqu is a more advanced equivalence function for components which is
+    used by component grouping. Normal operation is to group components based
+    on their value and footprint.
+
+    In this example of a custom equivalency operator we compare the
+    value, the part name and the footprint.
+    """
+    result = True
+    if self.getField("Hersteller-Nr.") != other.getField("Hersteller-Nr."):
+        result = False
+    elif self.getField("Mouser-Nr.") != other.getField("Mouser-Nr."):
+        result = False
+    elif self.getField("Datasheet") != other.getField("Datasheet"):
+        result = False
+    elif self.getPartName() != other.getPartName():
+        result = False
+    elif self.getFootprint() != other.getFootprint():
+        result = False
+
+    return result
+
+# Override the component equivalence operator - it is important to do this
+# before loading the netlist, otherwise all components will have the original
+# equivalency operator.
+kicad_netlist_reader.comp.__eq__ = myEqu
+
+if len(sys.argv) != 3:
+    print("Usage ", __file__, "<generic_netlist.xml> <output.csv>", file=sys.stderr)
+    sys.exit(1)
+
+
+# Generate an instance of a generic netlist, and load the netlist tree from
+# the command line option. If the file doesn't exist, execution will stop
+net = kicad_netlist_reader.netlist(sys.argv[1])
+
+# Open a file to write to, if the file cannot be opened output to stdout
+# instead
+try:
+    f = open(sys.argv[2], 'w')
+except IOError:
+    e = "Can't open output file for writing: " + sys.argv[2]
+    print( __file__, ":", e, sys.stderr )
+    f = sys.stdout
+
+# subset the components to those wanted in the BOM, controlled
+# by <configure> block in kicad_netlist_reader.py
+components = net.getInterestingComponents()
+
+compfields = net.gatherComponentFieldUnion(components)
+partfields = net.gatherLibPartFieldUnion()
+
+# remove Reference, Value, Datasheet, and Footprint, they will come from 'columns' below
+partfields -= set( ['Reference', 'Value', 'Datasheet', 'Footprint'] )
+
+columnset = compfields | partfields     # union
+
+# prepend an initial 'hard coded' list and put the enchillada into list 'columns'
+columns = ['Item', 'Qty', 'Reference(s)', 'Value', 'LibPart', 'Footprint', 'Datasheet'] + sorted(list(columnset))
+
+# Create a new csv writer object to use as the output formatter
+out = csv.writer( f, lineterminator='\n', delimiter=',', quotechar='\"', quoting=csv.QUOTE_ALL )
+
+# override csv.writer's writerow() to support encoding conversion (initial encoding is utf8):
+def writerow( acsvwriter, columns ):
+    utf8row = []
+    for col in columns:
+        utf8row.append( str(col) )  # currently, no change
+    acsvwriter.writerow( utf8row )
+
+# Output a set of rows as a header providing general information
+writerow( out, ['Source:', net.getSource()] )
+writerow( out, ['Date:', net.getDate()] )
+writerow( out, ['Tool:', net.getTool()] )
+writerow( out, ['Generator:', sys.argv[0]] )
+writerow( out, ['Component Count:', len(components)] )
+writerow( out, [] )
+writerow( out, ['Individual Components:'] )
+writerow( out, [] )                        # blank line
+writerow( out, columns )
+
+# Output all the interesting components individually first:
+row = []
+for c in components:
+    del row[:]
+    row.append('')                                      # item is blank in individual table
+    row.append('')                                      # Qty is always 1, why print it
+    row.append( c.getRef() )                            # Reference
+    row.append( c.getValue() )                          # Value
+    row.append( c.getLibName() + ":" + c.getPartName() ) # LibPart
+    #row.append( c.getDescription() )
+    row.append( c.getFootprint() )
+    row.append( c.getDatasheet() )
+
+    # from column 7 upwards, use the fieldnames to grab the data
+    for field in columns[7:]:
+        row.append( c.getField( field ) );
+
+    writerow( out, row )
+
+
+writerow( out, [] )                        # blank line
+writerow( out, [] )                        # blank line
+writerow( out, [] )                        # blank line
+
+writerow( out, ['Collated Components:'] )
+writerow( out, [] )                        # blank line
+writerow( out, columns )                   # reuse same columns
+
+
+
+# Get all of the components in groups of matching parts + values
+# (see kicad_netlist_reader.py)
+grouped = net.groupComponents(components)
+
+
+# Output component information organized by group, aka as collated:
+item = 0
+for group in grouped:
+    del row[:]
+    refs = ""
+    vals = ""
+    gval = []
+
+    # Add the reference of every component in the group and keep a reference
+    # to the component so that the other data can be filled in once per group
+    for component in group:
+        if len(refs) > 0:
+            refs += ", "
+        refs += component.getRef()
+        c = component
+    
+    for component in group:
+        if component.getValue() not in gval:
+            gval.append(component.getValue())
+    
+    for component in gval:
+        if len(vals) > 0:
+            vals += ", "
+        vals += component
+
+    # Fill in the component groups common data
+    # columns = ['Item', 'Qty', 'Reference(s)', 'Value', 'LibPart', 'Footprint', 'Datasheet'] + sorted(list(columnset))
+    item += 1
+    row.append( item )
+    row.append( len(group) )
+    row.append( refs )
+    row.append( vals )
+    row.append( c.getLibName() + ":" + c.getPartName() )
+    row.append( net.getGroupFootprint(group) )
+    row.append( net.getGroupDatasheet(group) )
+
+    # from column 7 upwards, use the fieldnames to grab the data
+    for field in columns[7:]:
+        row.append( net.getGroupField(group, field) );
+
+    writerow( out, row  )
+
+f.close()

+ 779 - 0
Script/kicad_netlist_reader.py

@@ -0,0 +1,779 @@
+#
+# KiCad python module for interpreting generic netlists which can be used
+# to generate Bills of materials, etc.
+#
+# Remember these files use UTF8 encoding
+#
+# No string formatting is used on purpose as the only string formatting that
+# is current compatible with python 2.4+ to 3.0+ is the '%' method, and that
+# is due to be deprecated in 3.0+ soon
+#
+
+"""
+    @package
+    Helper module for interpreting generic netlist and build custom
+    bom generators or netlists in foreign format
+"""
+
+
+from __future__ import print_function
+import sys
+import xml.sax as sax
+import re
+import pdb
+import string
+
+#-----<Configure>----------------------------------------------------------------
+
+# excluded_fields is a list of regular expressions.  If any one matches a field
+# from either a component or a libpart, then that will not be included as a
+# column in the BOM.  Otherwise all columns from all used libparts and components
+# will be unionized and will appear.  Some fields are impossible to blacklist, such
+# as Ref, Value, Footprint, and Datasheet.  Additionally Qty and Item are supplied
+# unconditionally as columns, and may not be removed.
+excluded_fields = [
+    #'Price@1000'
+    ]
+
+
+# You may exlude components from the BOM by either:
+#
+# 1) adding a custom field named "Installed" to your components and filling it
+# with a value of "NU" (Normally Uninstalled).
+# See netlist.getInterestingComponents(), or
+#
+# 2) blacklisting it in any of the three following lists:
+
+
+# regular expressions which match component 'Reference' fields of components that
+# are to be excluded from the BOM.
+excluded_references = [
+    'TP[0-9]+'              # all test points
+    ]
+
+
+# regular expressions which match component 'Value' fields of components that
+# are to be excluded from the BOM.
+excluded_values = [
+    'MOUNTHOLE',
+    'SCOPETEST',
+    'MOUNT_HOLE',
+    'SOLDER_BRIDGE.*'
+    ]
+
+
+# regular expressions which match component 'Footprint' fields of components that
+# are to be excluded from the BOM.
+excluded_footprints = [
+    #'MOUNTHOLE'
+    ]
+
+#-----</Configure>---------------------------------------------------------------
+
+
+class xmlElement():
+    """xml element which can represent all nodes of the netlist tree.  It can be
+    used to easily generate various output formats by propogating format
+    requests to children recursively.
+    """
+    def __init__(self, name, parent=None):
+        self.name = name
+        self.attributes = {}
+        self.parent = parent
+        self.chars = ""
+        self.children = []
+
+    def __str__(self):
+        """String representation of this netlist element
+
+        """
+        return self.name + "[" + self.chars + "]" + " attr_count:" + str(len(self.attributes))
+
+    def formatXML(self, nestLevel=0, amChild=False):
+        """Return this element formatted as XML
+
+        Keywords:
+        nestLevel -- increases by one for each level of nesting.
+        amChild -- If set to True, the start of document is not returned.
+
+        """
+        s = ""
+
+        indent = ""
+        for i in range(nestLevel):
+            indent += "    "
+
+        if not amChild:
+            s = "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n"
+
+        s += indent + "<" + self.name
+        for a in self.attributes:
+            s += " " + a + "=\"" + self.attributes[a] + "\""
+
+        if (len(self.chars) == 0) and (len(self.children) == 0):
+            s += "/>"
+        else:
+            s += ">" + self.chars
+
+        for c in self.children:
+            s += "\n"
+            s += c.formatXML(nestLevel+1, True)
+
+        if (len(self.children) > 0):
+            s += "\n" + indent
+
+        if (len(self.children) > 0) or (len(self.chars) > 0):
+            s += "</" + self.name + ">"
+
+        return s
+
+    def formatHTML(self, amChild=False):
+        """Return this element formatted as HTML
+
+        Keywords:
+        amChild -- If set to True, the start of document is not returned
+
+        """
+        s = ""
+
+        if not amChild:
+            s = """<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+                "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+                <html xmlns="http://www.w3.org/1999/xhtml">
+                <head>
+                <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
+                <title></title>
+                </head>
+                <body>
+                <table>
+                """
+
+        s += "<tr><td><b>" + self.name + "</b><br>" + self.chars + "</td><td><ul>"
+        for a in self.attributes:
+            s += "<li>" + a + " = " + self.attributes[a] + "</li>"
+
+        s += "</ul></td></tr>\n"
+
+        for c in self.children:
+            s += c.formatHTML(True)
+
+        if not amChild:
+            s += """</table>
+                </body>
+                </html>"""
+
+        return s
+
+    def addAttribute(self, attr, value):
+        """Add an attribute to this element"""
+        if type(value) != str: value = value.encode('utf-8')
+        self.attributes[attr] = value
+
+    def setAttribute(self, attr, value):
+        """Set an attributes value - in fact does the same thing as add
+        attribute
+
+        """
+        self.attributes[attr] = value
+
+    def setChars(self, chars):
+        """Set the characters for this element"""
+        self.chars = chars
+
+    def addChars(self, chars):
+        """Add characters (textual value) to this element"""
+        self.chars += chars
+
+    def addChild(self, child):
+        """Add a child element to this element"""
+        self.children.append(child)
+        return self.children[len(self.children) - 1]
+
+    def getParent(self):
+        """Get the parent of this element (Could be None)"""
+        return self.parent
+
+    def getChild(self, name):
+        """Returns the first child element named 'name'
+
+        Keywords:
+        name -- The name of the child element to return"""
+        for child in self.children:
+            if child.name == name:
+                return child
+        return None
+
+    def getChildren(self, name=None):
+        if name:
+            # return _all_ children named "name"
+            ret = []
+            for child in self.children:
+                if child.name == name:
+                    ret.append(child)
+            return ret
+        else:
+            return self.children
+
+    def get(self, elemName, attribute="", attrmatch=""):
+        """Return the text data for either an attribute or an xmlElement
+        """
+        if (self.name == elemName):
+            if attribute != "":
+                try:
+                    if attrmatch != "":
+                        if self.attributes[attribute] == attrmatch:
+                            ret = self.chars
+                            if type(ret) != str: ret = ret.encode('utf-8')
+                            return ret
+                    else:
+                        ret = self.attributes[attribute]
+                        if type(ret) != str: ret = ret.encode('utf-8')
+                        return ret
+                except AttributeError:
+                    ret = ""
+                    if type(ret) != str: ret = ret.encode('utf-8')
+                    return ret
+            else:
+                ret = self.chars
+                if type(ret) != str: ret = ret.encode('utf-8')
+                return ret
+
+        for child in self.children:
+            ret = child.get(elemName, attribute, attrmatch)
+            if ret != "":
+                if type(ret) != str: ret = ret.encode('utf-8')
+                return ret
+
+        ret = ""
+        if type(ret) != str: ret = ret.encode('utf-8')
+        return ret
+
+
+
+class libpart():
+    """Class for a library part, aka 'libpart' in the xml netlist file.
+    (Components in eeschema are instantiated from library parts.)
+    This part class is implemented by wrapping an xmlElement with accessors.
+    This xmlElement instance is held in field 'element'.
+    """
+    def __init__(self, xml_element):
+        #
+        self.element = xml_element
+
+    #def __str__(self):
+        # simply print the xmlElement associated with this part
+        #return str(self.element)
+
+    def getLibName(self):
+        return self.element.get("libpart", "lib")
+
+    def getPartName(self):
+        return self.element.get("libpart", "part")
+
+    def getDescription(self):
+        return self.element.get("description")
+
+    def getField(self, name):
+        return self.element.get("field", "name", name)
+
+    def getFieldNames(self):
+        """Return a list of field names in play for this libpart.
+        """
+        fieldNames = []
+        fields = self.element.getChild('fields')
+        if fields:
+            for f in fields.getChildren():
+                fieldNames.append( f.get('field','name') )
+        return fieldNames
+
+    def getDatasheet(self):
+        return self.getField("Datasheet")
+
+    def getFootprint(self):
+        return self.getField("Footprint")
+
+    def getAliases(self):
+        """Return a list of aliases or None"""
+        aliases = self.element.getChild("aliases")
+        if aliases:
+            ret = []
+            children = aliases.getChildren()
+            # grab the text out of each child:
+            for child in children:
+                ret.append( child.get("alias") )
+            return ret
+        return None
+
+
+class comp():
+    """Class for a component, aka 'comp' in the xml netlist file.
+    This component class is implemented by wrapping an xmlElement instance
+    with accessors.  The xmlElement is held in field 'element'.
+    """
+
+    def __init__(self, xml_element):
+        self.element = xml_element
+        self.libpart = None
+
+        # Set to true when this component is included in a component group
+        self.grouped = False
+
+    def __eq__(self, other):
+        """ Equivalency operator, remember this can be easily overloaded
+            2 components are equivalent ( i.e. can be grouped
+            if they have same value and same footprint
+
+            Override the component equivalence operator must be done before
+            loading the netlist, otherwise all components will have the original
+            equivalency operator.
+
+            You have to define a comparison module (for instance named myEqu)
+            and add the line;
+                kicad_netlist_reader.comp.__eq__ = myEqu
+            in your bom generator script before calling the netliste reader by something like:
+                net = kicad_netlist_reader.netlist(sys.argv[1])
+        """
+        result = False
+        if self.getValue() == other.getValue():
+            if self.getFootprint() == other.getFootprint():
+                if self.getRef().rstrip(string.digits) == other.getRef().rstrip(string.digits):
+                    result = True
+        return result
+
+    def setLibPart(self, part):
+        self.libpart = part
+
+    def getLibPart(self):
+        return self.libpart
+
+    def getPartName(self):
+        return self.element.get("libsource", "part")
+
+    def getLibName(self):
+        return self.element.get("libsource", "lib")
+
+    def setValue(self, value):
+        """Set the value of this component"""
+        v = self.element.getChild("value")
+        if v:
+            v.setChars(value)
+
+    def getValue(self):
+        return self.element.get("value")
+
+    def getField(self, name, libraryToo=True):
+        """Return the value of a field named name. The component is first
+        checked for the field, and then the components library part is checked
+        for the field. If the field doesn't exist in either, an empty string is
+        returned
+
+        Keywords:
+        name -- The name of the field to return the value for
+        libraryToo --   look in the libpart's fields for the same name if not found
+                        in component itself
+        """
+
+        field = self.element.get("field", "name", name)
+        if field == "" and libraryToo and self.libpart:
+            field = self.libpart.getField(name)
+        return field
+
+    def getFieldNames(self):
+        """Return a list of field names in play for this component.  Mandatory
+        fields are not included, and they are: Value, Footprint, Datasheet, Ref.
+        The netlist format only includes fields with non-empty values.  So if a field
+        is empty, it will not be present in the returned list.
+        """
+        fieldNames = []
+        fields = self.element.getChild('fields')
+        if fields:
+            for f in fields.getChildren():
+                fieldNames.append( f.get('field','name') )
+        return fieldNames
+
+    def getRef(self):
+        return self.element.get("comp", "ref")
+
+    def getFootprint(self, libraryToo=True):
+        ret = self.element.get("footprint")
+        if ret == "" and libraryToo and self.libpart:
+            ret = self.libpart.getFootprint()
+        return ret
+
+    def getDatasheet(self, libraryToo=True):
+        ret = self.element.get("datasheet")
+        if ret == "" and libraryToo and self.libpart:
+            ret = self.libpart.getDatasheet()
+        return ret
+
+    def getTimestamp(self):
+        return self.element.get("tstamp")
+
+    def getDescription(self):
+        return self.element.get("libsource", "description")
+
+
+class netlist():
+    """ Kicad generic netlist class. Generally loaded from a kicad generic
+    netlist file. Includes several helper functions to ease BOM creating
+    scripts
+
+    """
+    def __init__(self, fname=""):
+        """Initialiser for the genericNetlist class
+
+        Keywords:
+        fname -- The name of the generic netlist file to open (Optional)
+
+        """
+        self.design = None
+        self.components = []
+        self.libparts = []
+        self.libraries = []
+        self.nets = []
+
+        # The entire tree is loaded into self.tree
+        self.tree = []
+
+        self._curr_element = None
+
+        # component blacklist regexs, made from exluded_* above.
+        self.excluded_references = []
+        self.excluded_values = []
+        self.excluded_footprints = []
+
+        if fname != "":
+            self.load(fname)
+
+    def addChars(self, content):
+        """Add characters to the current element"""
+        self._curr_element.addChars(content)
+
+    def addElement(self, name):
+        """Add a new kicad generic element to the list"""
+        if self._curr_element == None:
+            self.tree = xmlElement(name)
+            self._curr_element = self.tree
+        else:
+            self._curr_element = self._curr_element.addChild(
+                xmlElement(name, self._curr_element))
+
+        # If this element is a component, add it to the components list
+        if self._curr_element.name == "comp":
+            self.components.append(comp(self._curr_element))
+
+        # Assign the design element
+        if self._curr_element.name == "design":
+            self.design = self._curr_element
+
+        # If this element is a library part, add it to the parts list
+        if self._curr_element.name == "libpart":
+            self.libparts.append(libpart(self._curr_element))
+
+        # If this element is a net, add it to the nets list
+        if self._curr_element.name == "net":
+            self.nets.append(self._curr_element)
+
+        # If this element is a library, add it to the libraries list
+        if self._curr_element.name == "library":
+            self.libraries.append(self._curr_element)
+
+        return self._curr_element
+
+    def endDocument(self):
+        """Called when the netlist document has been fully parsed"""
+        # When the document is complete, the library parts must be linked to
+        # the components as they are seperate in the tree so as not to
+        # duplicate library part information for every component
+        for c in self.components:
+            for p in self.libparts:
+                if p.getLibName() == c.getLibName():
+                    if p.getPartName() == c.getPartName():
+                        c.setLibPart(p)
+                        break
+                    else:
+                        aliases = p.getAliases()
+                        if aliases and self.aliasMatch( c.getPartName(), aliases ):
+                            c.setLibPart(p)
+                            break;
+
+            if not c.getLibPart():
+                print( 'missing libpart for ref:', c.getRef(), c.getPartName(), c.getLibName() )
+
+
+    def aliasMatch(self, partName, aliasList):
+        for alias in aliasList:
+            if partName == alias:
+                return True
+        return False
+
+    def endElement(self):
+        """End the current element and switch to its parent"""
+        self._curr_element = self._curr_element.getParent()
+
+    def getDate(self):
+        """Return the date + time string generated by the tree creation tool"""
+        return self.design.get("date")
+
+    def getSource(self):
+        """Return the source string for the design"""
+        return self.design.get("source")
+
+    def getTool(self):
+        """Return the tool string which was used to create the netlist tree"""
+        return self.design.get("tool")
+
+    def gatherComponentFieldUnion(self, components=None):
+        """Gather the complete 'set' of unique component fields, fields found in any component.
+        """
+        if not components:
+            components=self.components
+
+        s = set()
+        for c in components:
+            s.update( c.getFieldNames() )
+
+        # omit anything matching any regex in excluded_fields
+        ret = set()
+        for field in s:
+            exclude = False
+            for rex in excluded_fields:
+                if re.match( rex, field ):
+                    exclude = True
+                    break
+            if not exclude:
+                ret.add(field)
+
+        return ret       # this is a python 'set'
+
+    def gatherLibPartFieldUnion(self):
+        """Gather the complete 'set' of part fields, fields found in any part.
+        """
+        s = set()
+        for p in self.libparts:
+            s.update( p.getFieldNames() )
+
+        # omit anything matching any regex in excluded_fields
+        ret = set()
+        for field in s:
+            exclude = False
+            for rex in excluded_fields:
+                if re.match( rex, field ):
+                    exclude = True
+                    break
+            if not exclude:
+                ret.add(field)
+
+        return ret       # this is a python 'set'
+
+    def getInterestingComponents(self):
+        """Return a subset of all components, those that should show up in the BOM.
+        Omit those that should not, by consulting the blacklists:
+        excluded_values, excluded_refs, and excluded_footprints, which hold one
+        or more regular expressions.  If any of the the regular expressions match
+        the corresponding field's value in a component, then the component is exluded.
+        """
+
+        # pre-compile all the regex expressions:
+        del self.excluded_references[:]
+        del self.excluded_values[:]
+        del self.excluded_footprints[:]
+
+        for rex in excluded_references:
+            self.excluded_references.append( re.compile( rex ) )
+
+        for rex in excluded_values:
+            self.excluded_values.append( re.compile( rex ) )
+
+        for rex in excluded_footprints:
+            self.excluded_footprints.append( re.compile( rex ) )
+
+        # the subset of components to return, considered as "interesting".
+        ret = []
+
+        # run each component thru a series of tests, if it passes all, then add it
+        # to the interesting list 'ret'.
+        for c in self.components:
+            exclude = False
+            if not exclude:
+                for refs in self.excluded_references:
+                    if refs.match(c.getRef()):
+                        exclude = True
+                        break;
+            if not exclude:
+                for vals in self.excluded_values:
+                    if vals.match(c.getValue()):
+                        exclude = True
+                        break;
+            if not exclude:
+                for mods in self.excluded_footprints:
+                    if mods.match(c.getFootprint()):
+                        exclude = True
+                        break;
+
+            if not exclude:
+                # This is a fairly personal way to flag DNS (Do Not Stuff).  NU for
+                # me means Normally Uninstalled.  You can 'or in' another expression here.
+                if c.getField( "Installed" ) == 'NU':
+                    exclude = True
+
+            if not exclude:
+                ret.append(c)
+
+        # The key to sort the components in the BOM
+        # This sorts using a natural sorting order (e.g. 100 after 99), and if it wasn't used
+        # the normal sort would place 100 before 99 since it only would look at the first digit.
+        def sortKey( str ):
+            return [ int(t) if t.isdigit() else t.lower()
+                    for t in re.split( '(\d+)', str ) ]
+
+        ret.sort(key=lambda g: sortKey(g.getRef()))
+
+        return ret
+
+
+    def groupComponents(self, components = None):
+        """Return a list of component lists. Components are grouped together
+        when the value, library and part identifiers match.
+
+        Keywords:
+        components -- is a list of components, typically an interesting subset
+        of all components, or None.  If None, then all components are looked at.
+        """
+        if not components:
+            components = self.components
+
+        groups = []
+
+        # Make sure to start off will all components ungrouped to begin with
+        for c in components:
+            c.grouped = False
+
+        # Group components based on the value, library and part identifiers
+        for c in components:
+            if c.grouped == False:
+                c.grouped = True
+                newgroup = []
+                newgroup.append(c)
+
+                # Check every other ungrouped component against this component
+                # and add to the group as necessary
+                for ci in components:
+                    if ci.grouped == False and ci == c:
+                        newgroup.append(ci)
+                        ci.grouped = True
+
+                # Add the new component group to the groups list
+                groups.append(newgroup)
+
+        # The key to sort the components in the BOM
+        # This sorts using a natural sorting order (e.g. 100 after 99), and if it wasn't used
+        # the normal sort would place 100 before 99 since it only would look at the first digit.
+        def sortKey( str ):
+            return [ int(t) if t.isdigit() else t.lower()
+                    for t in re.split( '(\d+)', str ) ]
+
+        for g in groups:
+            #g = sorted(g, key=lambda g: sortKey(g.getRef()))
+            g.sort(key=lambda g: sortKey(g.getRef()))
+
+        # Finally, sort the groups to order the references alphabetically
+        groups.sort(key=lambda group: sortKey(group[0].getRef()))
+
+        return groups
+
+    def getGroupField(self, group, field):
+        """Return the whatever is known about the given field by consulting each
+        component in the group.  If any of them know something about the property/field,
+        then return that first non-blank value.
+        """
+        for c in group:
+            ret = c.getField(field, False)
+            if ret != '':
+                return ret
+
+        libpart = group[0].getLibPart()
+        if not libpart:
+            return ''
+
+        return libpart.getField(field)
+
+    def getGroupFootprint(self, group):
+        """Return the whatever is known about the Footprint by consulting each
+        component in the group.  If any of them know something about the Footprint,
+        then return that first non-blank value.
+        """
+        for c in group:
+            ret = c.getFootprint()
+            if ret != "":
+                return ret
+        return group[0].getLibPart().getFootprint()
+
+    def getGroupDatasheet(self, group):
+        """Return the whatever is known about the Datasheet by consulting each
+        component in the group.  If any of them know something about the Datasheet,
+        then return that first non-blank value.
+        """
+        for c in group:
+            ret = c.getDatasheet()
+            if ret != "":
+                return ret
+
+        if len(group) > 0:
+            return group[0].getLibPart().getDatasheet()
+        else:
+            print("NULL!")
+        return ''
+
+    def formatXML(self):
+        """Return the whole netlist formatted in XML"""
+        return self.tree.formatXML()
+
+    def formatHTML(self):
+        """Return the whole netlist formatted in HTML"""
+        return self.tree.formatHTML()
+
+    def load(self, fname):
+        """Load a kicad generic netlist
+
+        Keywords:
+        fname -- The name of the generic netlist file to open
+
+        """
+        try:
+            self._reader = sax.make_parser()
+            self._reader.setContentHandler(_gNetReader(self))
+            self._reader.parse(fname)
+        except IOError as e:
+            print( __file__, ":", e, file=sys.stderr )
+            sys.exit(-1)
+
+
+
+class _gNetReader(sax.handler.ContentHandler):
+    """SAX kicad generic netlist content handler - passes most of the work back
+    to the 'netlist' class which builds a complete tree in RAM for the design
+
+    """
+    def __init__(self, aParent):
+        self.parent = aParent
+
+    def startElement(self, name, attrs):
+        """Start of a new XML element event"""
+        element = self.parent.addElement(name)
+
+        for name in attrs.getNames():
+            element.addAttribute(name, attrs.getValue(name))
+
+    def endElement(self, name):
+        self.parent.endElement()
+
+    def characters(self, content):
+        # Ignore erroneous white space - ignoreableWhitespace does not get rid
+        # of the need for this!
+        if not content.isspace():
+            self.parent.addChars(content)
+
+    def endDocument(self):
+        """End of the XML document event"""
+        self.parent.endDocument()