(kicad_sch (version 20230121) (generator eeschema)

  (uuid 30e30bdf-50e5-46a8-92c7-0e280cceabe8)

  (paper "A")

  (title_block
    (title "Kudzu")
    (date "2023-09-26")
    (rev "1")
    (company "Copyright 2023 The Pigweed Authors")
  )

  (lib_symbols
    (symbol "Device:R_Small" (pin_numbers hide) (pin_names (offset 0.254) hide) (in_bom yes) (on_board yes)
      (property "Reference" "R" (at 0.762 0.508 0)
        (effects (font (size 1.27 1.27)) (justify left))
      )
      (property "Value" "R_Small" (at 0.762 -1.016 0)
        (effects (font (size 1.27 1.27)) (justify left))
      )
      (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" "R resistor" (at 0 0 0)
        (effects (font (size 1.27 1.27)) hide)
      )
      (property "ki_description" "Resistor, small symbol" (at 0 0 0)
        (effects (font (size 1.27 1.27)) hide)
      )
      (property "ki_fp_filters" "R_*" (at 0 0 0)
        (effects (font (size 1.27 1.27)) hide)
      )
      (symbol "R_Small_0_1"
        (rectangle (start -0.762 1.778) (end 0.762 -1.778)
          (stroke (width 0.2032) (type default))
          (fill (type none))
        )
      )
      (symbol "R_Small_1_1"
        (pin passive line (at 0 2.54 270) (length 0.762)
          (name "~" (effects (font (size 1.27 1.27))))
          (number "1" (effects (font (size 1.27 1.27))))
        )
        (pin passive line (at 0 -2.54 90) (length 0.762)
          (name "~" (effects (font (size 1.27 1.27))))
          (number "2" (effects (font (size 1.27 1.27))))
        )
      )
    )
    (symbol "power:GND" (power) (pin_names (offset 0)) (in_bom yes) (on_board yes)
      (property "Reference" "#PWR" (at 0 -6.35 0)
        (effects (font (size 1.27 1.27)) hide)
      )
      (property "Value" "GND" (at 0 -3.81 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 \"GND\" , ground" (at 0 0 0)
        (effects (font (size 1.27 1.27)) hide)
      )
      (symbol "GND_0_1"
        (polyline
          (pts
            (xy 0 0)
            (xy 0 -1.27)
            (xy 1.27 -1.27)
            (xy 0 -2.54)
            (xy -1.27 -1.27)
            (xy 0 -1.27)
          )
          (stroke (width 0) (type default))
          (fill (type none))
        )
      )
      (symbol "GND_1_1"
        (pin power_in line (at 0 0 270) (length 0) hide
          (name "GND" (effects (font (size 1.27 1.27))))
          (number "1" (effects (font (size 1.27 1.27))))
        )
      )
    )
  )


  (wire (pts (xy 147.32 130.81) (xy 147.32 133.35))
    (stroke (width 0) (type default))
    (uuid 23c3c060-4629-45f2-84d8-28df47c5a203)
  )
  (wire (pts (xy 142.24 130.81) (xy 142.24 133.35))
    (stroke (width 0) (type default))
    (uuid 3dfbe5fb-b9f3-4d6b-8f6c-5a301e6ff507)
  )
  (wire (pts (xy 142.24 138.43) (xy 142.24 140.97))
    (stroke (width 0) (type default))
    (uuid 5bde78b7-7862-4bcc-a5aa-3e056a0fda0f)
  )
  (wire (pts (xy 132.08 130.81) (xy 132.08 133.35))
    (stroke (width 0) (type default))
    (uuid 814fc637-16da-4b28-b321-78713233c188)
  )
  (wire (pts (xy 132.08 138.43) (xy 132.08 140.97))
    (stroke (width 0) (type default))
    (uuid 9145cca3-e715-4688-89b0-1574f9cffa58)
  )
  (wire (pts (xy 147.32 138.43) (xy 147.32 140.97))
    (stroke (width 0) (type default))
    (uuid c814e47e-fce5-40df-9ba9-b9f7b94d9d06)
  )
  (wire (pts (xy 137.16 130.81) (xy 137.16 133.35))
    (stroke (width 0) (type default))
    (uuid ce843d52-dd94-4e7d-91bc-429780e56bcf)
  )
  (wire (pts (xy 137.16 138.43) (xy 137.16 140.97))
    (stroke (width 0) (type default))
    (uuid e4f4c87d-ed49-44fa-bb7a-64585ccff801)
  )

  (text "Enable GPIO pullups to sample BOARD_ID\n" (at 120.65 151.13 0)
    (effects (font (size 1.27 1.27)) (justify left bottom))
    (uuid feaf13bc-a40c-499a-b294-5ffd59783fe1)
  )

  (global_label "BOARD_ID2" (shape input) (at 142.24 130.81 90) (fields_autoplaced)
    (effects (font (size 1.27 1.27)) (justify left))
    (uuid 45062b2f-8c43-497c-9048-6178d7e8fc7b)
    (property "Intersheetrefs" "${INTERSHEET_REFS}" (at 142.24 117.5438 90)
      (effects (font (size 1.27 1.27)) (justify left) hide)
    )
  )
  (global_label "BOARD_ID1" (shape input) (at 137.16 130.81 90) (fields_autoplaced)
    (effects (font (size 1.27 1.27)) (justify left))
    (uuid 69c53882-8f6c-492b-8491-7bdfef0739fd)
    (property "Intersheetrefs" "${INTERSHEET_REFS}" (at 137.16 117.5438 90)
      (effects (font (size 1.27 1.27)) (justify left) hide)
    )
  )
  (global_label "BOARD_ID3" (shape input) (at 147.32 130.81 90) (fields_autoplaced)
    (effects (font (size 1.27 1.27)) (justify left))
    (uuid 83b8038c-959e-4103-90ca-109aad579d37)
    (property "Intersheetrefs" "${INTERSHEET_REFS}" (at 147.32 117.5438 90)
      (effects (font (size 1.27 1.27)) (justify left) hide)
    )
  )
  (global_label "BOARD_ID0" (shape input) (at 132.08 130.81 90) (fields_autoplaced)
    (effects (font (size 1.27 1.27)) (justify left))
    (uuid a0a3a242-cc92-4820-9aba-363f53fc025d)
    (property "Intersheetrefs" "${INTERSHEET_REFS}" (at 132.08 117.5438 90)
      (effects (font (size 1.27 1.27)) (justify left) hide)
    )
  )

  (symbol (lib_id "Device:R_Small") (at 132.08 135.89 180) (unit 1)
    (in_bom yes) (on_board yes) (dnp no)
    (uuid 03e1fd30-4c42-4e0e-a4b8-9ed5c54efd53)
    (property "Reference" "R25" (at 133.35 132.08 90)
      (effects (font (size 1.27 1.27)))
    )
    (property "Value" "0" (at 133.35 138.43 90)
      (effects (font (size 1.27 1.27)))
    )
    (property "Footprint" "Resistor_SMD:R_0603_1608Metric" (at 132.08 135.89 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Datasheet" "~" (at 132.08 135.89 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Price @ 10" "0.01320" (at 132.08 135.89 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Price @ 25" "0.01000" (at 132.08 135.89 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "DigiKey PN" "13-AC0402FR-070RLTR-ND" (at 132.08 135.89 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (pin "1" (uuid 76155c9b-de0b-4728-9647-d48f6a66c7d7))
    (pin "2" (uuid b2668148-5109-4dbf-9d00-3501b17d2980))
    (instances
      (project "kudzu"
        (path "/30e30bdf-50e5-46a8-92c7-0e280cceabe8"
          (reference "R25") (unit 1)
        )
        (path "/30e30bdf-50e5-46a8-92c7-0e280cceabe8/162828de-0fc8-48f2-95ca-16f35e12e8ad"
          (reference "R31") (unit 1)
        )
      )
    )
  )

  (symbol (lib_id "power:GND") (at 142.24 140.97 0) (unit 1)
    (in_bom yes) (on_board yes) (dnp no) (fields_autoplaced)
    (uuid 25532b33-4f56-4383-9acb-1f350d2e1205)
    (property "Reference" "#PWR089" (at 142.24 147.32 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Value" "GND" (at 142.24 146.05 0)
      (effects (font (size 1.27 1.27)))
    )
    (property "Footprint" "" (at 142.24 140.97 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Datasheet" "" (at 142.24 140.97 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (pin "1" (uuid 98147c6b-a4f6-443b-9549-536ea8268c5d))
    (instances
      (project "kudzu"
        (path "/30e30bdf-50e5-46a8-92c7-0e280cceabe8"
          (reference "#PWR089") (unit 1)
        )
        (path "/30e30bdf-50e5-46a8-92c7-0e280cceabe8/162828de-0fc8-48f2-95ca-16f35e12e8ad"
          (reference "#PWR087") (unit 1)
        )
      )
    )
  )

  (symbol (lib_id "power:GND") (at 132.08 140.97 0) (unit 1)
    (in_bom yes) (on_board yes) (dnp no) (fields_autoplaced)
    (uuid 4624ea4a-8f6d-4b7b-b8e8-6648166df3e0)
    (property "Reference" "#PWR085" (at 132.08 147.32 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Value" "GND" (at 132.08 146.05 0)
      (effects (font (size 1.27 1.27)))
    )
    (property "Footprint" "" (at 132.08 140.97 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Datasheet" "" (at 132.08 140.97 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (pin "1" (uuid f285cda0-18ce-4f74-93c9-98436e5263b5))
    (instances
      (project "kudzu"
        (path "/30e30bdf-50e5-46a8-92c7-0e280cceabe8"
          (reference "#PWR085") (unit 1)
        )
        (path "/30e30bdf-50e5-46a8-92c7-0e280cceabe8/162828de-0fc8-48f2-95ca-16f35e12e8ad"
          (reference "#PWR091") (unit 1)
        )
      )
    )
  )

  (symbol (lib_id "power:GND") (at 137.16 140.97 0) (unit 1)
    (in_bom yes) (on_board yes) (dnp no) (fields_autoplaced)
    (uuid 53ad1861-c371-4a1a-93de-0450fa1f1548)
    (property "Reference" "#PWR087" (at 137.16 147.32 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Value" "GND" (at 137.16 146.05 0)
      (effects (font (size 1.27 1.27)))
    )
    (property "Footprint" "" (at 137.16 140.97 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Datasheet" "" (at 137.16 140.97 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (pin "1" (uuid 2b90f7f1-a8b6-4cf5-9002-04acfc4271e2))
    (instances
      (project "kudzu"
        (path "/30e30bdf-50e5-46a8-92c7-0e280cceabe8"
          (reference "#PWR087") (unit 1)
        )
        (path "/30e30bdf-50e5-46a8-92c7-0e280cceabe8/162828de-0fc8-48f2-95ca-16f35e12e8ad"
          (reference "#PWR089") (unit 1)
        )
      )
    )
  )

  (symbol (lib_id "Device:R_Small") (at 142.24 135.89 180) (unit 1)
    (in_bom yes) (on_board yes) (dnp no)
    (uuid 64f8d000-7391-448a-8ab0-23c8dfedc2ea)
    (property "Reference" "R29" (at 143.51 132.08 90)
      (effects (font (size 1.27 1.27)))
    )
    (property "Value" "0" (at 143.51 138.43 90)
      (effects (font (size 1.27 1.27)))
    )
    (property "Footprint" "Resistor_SMD:R_0603_1608Metric" (at 142.24 135.89 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Datasheet" "~" (at 142.24 135.89 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Price @ 10" "0.01320" (at 142.24 135.89 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Price @ 25" "0.01000" (at 142.24 135.89 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "DigiKey PN" "13-AC0402FR-070RLTR-ND" (at 142.24 135.89 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (pin "1" (uuid b62bc4ca-7a15-4856-a228-126e7a135e16))
    (pin "2" (uuid a8dcb17d-5b07-46d2-807d-137f064aa347))
    (instances
      (project "kudzu"
        (path "/30e30bdf-50e5-46a8-92c7-0e280cceabe8"
          (reference "R29") (unit 1)
        )
        (path "/30e30bdf-50e5-46a8-92c7-0e280cceabe8/162828de-0fc8-48f2-95ca-16f35e12e8ad"
          (reference "R27") (unit 1)
        )
      )
    )
  )

  (symbol (lib_id "Device:R_Small") (at 147.32 135.89 180) (unit 1)
    (in_bom yes) (on_board yes) (dnp no)
    (uuid 747b3ed8-f9bd-4080-87d8-561788b4d42f)
    (property "Reference" "R31" (at 148.59 132.08 90)
      (effects (font (size 1.27 1.27)))
    )
    (property "Value" "0" (at 148.59 138.43 90)
      (effects (font (size 1.27 1.27)))
    )
    (property "Footprint" "Resistor_SMD:R_0603_1608Metric" (at 147.32 135.89 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Datasheet" "~" (at 147.32 135.89 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Price @ 10" "0.01320" (at 147.32 135.89 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Price @ 25" "0.01000" (at 147.32 135.89 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "DigiKey PN" "13-AC0402FR-070RLTR-ND" (at 147.32 135.89 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (pin "1" (uuid a909c998-7669-468d-b2aa-dd8a3d037aaf))
    (pin "2" (uuid ebda1b73-31b4-42eb-bc14-3a074613f091))
    (instances
      (project "kudzu"
        (path "/30e30bdf-50e5-46a8-92c7-0e280cceabe8"
          (reference "R31") (unit 1)
        )
        (path "/30e30bdf-50e5-46a8-92c7-0e280cceabe8/162828de-0fc8-48f2-95ca-16f35e12e8ad"
          (reference "R24") (unit 1)
        )
      )
    )
  )

  (symbol (lib_id "Device:R_Small") (at 137.16 135.89 180) (unit 1)
    (in_bom yes) (on_board yes) (dnp no)
    (uuid c7c9d592-d275-4d3f-a330-c3f0a05233f8)
    (property "Reference" "R27" (at 138.43 132.08 90)
      (effects (font (size 1.27 1.27)))
    )
    (property "Value" "0" (at 138.43 138.43 90)
      (effects (font (size 1.27 1.27)))
    )
    (property "Footprint" "Resistor_SMD:R_0603_1608Metric" (at 137.16 135.89 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Datasheet" "~" (at 137.16 135.89 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Price @ 10" "0.01320" (at 137.16 135.89 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Price @ 25" "0.01000" (at 137.16 135.89 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "DigiKey PN" "13-AC0402FR-070RLTR-ND" (at 137.16 135.89 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (pin "1" (uuid b4596702-7aea-4d2e-a0ce-085aac16f10c))
    (pin "2" (uuid e246d29b-f034-4ac4-b59b-22635325df08))
    (instances
      (project "kudzu"
        (path "/30e30bdf-50e5-46a8-92c7-0e280cceabe8"
          (reference "R27") (unit 1)
        )
        (path "/30e30bdf-50e5-46a8-92c7-0e280cceabe8/162828de-0fc8-48f2-95ca-16f35e12e8ad"
          (reference "R29") (unit 1)
        )
      )
    )
  )

  (symbol (lib_id "power:GND") (at 147.32 140.97 0) (unit 1)
    (in_bom yes) (on_board yes) (dnp no) (fields_autoplaced)
    (uuid e577416c-9c5f-4ec3-bcfd-cc770ad2b335)
    (property "Reference" "#PWR091" (at 147.32 147.32 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Value" "GND" (at 147.32 146.05 0)
      (effects (font (size 1.27 1.27)))
    )
    (property "Footprint" "" (at 147.32 140.97 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Datasheet" "" (at 147.32 140.97 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (pin "1" (uuid 02af59e1-1d44-4d87-a79b-83c9da51928d))
    (instances
      (project "kudzu"
        (path "/30e30bdf-50e5-46a8-92c7-0e280cceabe8"
          (reference "#PWR091") (unit 1)
        )
        (path "/30e30bdf-50e5-46a8-92c7-0e280cceabe8/162828de-0fc8-48f2-95ca-16f35e12e8ad"
          (reference "#PWR084") (unit 1)
        )
      )
    )
  )

  (sheet (at 114.3 57.15) (size 46.99 40.64) (fields_autoplaced)
    (stroke (width 0.1524) (type solid))
    (fill (color 0 0 0 0.0000))
    (uuid 162828de-0fc8-48f2-95ca-16f35e12e8ad)
    (property "Sheetname" "ux" (at 114.3 56.4384 0)
      (effects (font (size 1.27 1.27)) (justify left bottom))
    )
    (property "Sheetfile" "ux.kicad_sch" (at 114.3 98.3746 0)
      (effects (font (size 1.27 1.27)) (justify left top))
    )
    (instances
      (project "kudzu"
        (path "/30e30bdf-50e5-46a8-92c7-0e280cceabe8" (page "4"))
      )
    )
  )

  (sheet (at 63.5 57.15) (size 46.99 40.64) (fields_autoplaced)
    (stroke (width 0.1524) (type solid))
    (fill (color 0 0 0 0.0000))
    (uuid 25d24ea5-31a5-40ab-afee-5209d35e3063)
    (property "Sheetname" "RP2040 and Debug" (at 63.5 56.4384 0)
      (effects (font (size 1.27 1.27)) (justify left bottom))
    )
    (property "Sheetfile" "rp2040.kicad_sch" (at 63.5 98.3746 0)
      (effects (font (size 1.27 1.27)) (justify left top))
    )
    (instances
      (project "kudzu"
        (path "/30e30bdf-50e5-46a8-92c7-0e280cceabe8" (page "2"))
      )
    )
  )

  (sheet (at 13.97 173.99) (size 25.4 25.4) (fields_autoplaced)
    (stroke (width 0.1524) (type solid))
    (fill (color 0 0 0 0.0000))
    (uuid 65c0778d-43c9-4131-8c9d-6725be8f315f)
    (property "Sheetname" "misc" (at 13.97 173.2784 0)
      (effects (font (size 1.27 1.27)) (justify left bottom))
    )
    (property "Sheetfile" "misc.kicad_sch" (at 13.97 199.9746 0)
      (effects (font (size 1.27 1.27)) (justify left top))
    )
    (instances
      (project "kudzu"
        (path "/30e30bdf-50e5-46a8-92c7-0e280cceabe8" (page "5"))
      )
    )
  )

  (sheet (at 163.83 57.15) (size 46.99 40.64) (fields_autoplaced)
    (stroke (width 0.1524) (type solid))
    (fill (color 0 0 0 0.0000))
    (uuid 947fe22b-a740-4b36-aa9b-7334b6ab9f8c)
    (property "Sheetname" "power" (at 163.83 56.4384 0)
      (effects (font (size 1.27 1.27)) (justify left bottom))
    )
    (property "Sheetfile" "power.kicad_sch" (at 163.83 98.3746 0)
      (effects (font (size 1.27 1.27)) (justify left top))
    )
    (instances
      (project "kudzu"
        (path "/30e30bdf-50e5-46a8-92c7-0e280cceabe8" (page "3"))
      )
    )
  )

  (sheet_instances
    (path "/" (page "1"))
  )
)
