(kicad_sch (version 20230121) (generator eeschema)

  (uuid 36b03bd1-14b2-47b4-bbab-79267bd25a80)

  (paper "A4")

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

  (lib_symbols
    (symbol "Connector:Conn_ARM_JTAG_SWD_10" (pin_names (offset 1.016)) (in_bom yes) (on_board yes)
      (property "Reference" "J" (at -2.54 16.51 0)
        (effects (font (size 1.27 1.27)) (justify right))
      )
      (property "Value" "Conn_ARM_JTAG_SWD_10" (at -2.54 13.97 0)
        (effects (font (size 1.27 1.27)) (justify right bottom))
      )
      (property "Footprint" "" (at 0 0 0)
        (effects (font (size 1.27 1.27)) hide)
      )
      (property "Datasheet" "http://infocenter.arm.com/help/topic/com.arm.doc.ddi0314h/DDI0314H_coresight_components_trm.pdf" (at -8.89 -31.75 90)
        (effects (font (size 1.27 1.27)) hide)
      )
      (property "ki_keywords" "Cortex Debug Connector ARM SWD JTAG" (at 0 0 0)
        (effects (font (size 1.27 1.27)) hide)
      )
      (property "ki_description" "Cortex Debug Connector, standard ARM Cortex-M SWD and JTAG interface" (at 0 0 0)
        (effects (font (size 1.27 1.27)) hide)
      )
      (property "ki_fp_filters" "PinHeader?2x05?P1.27mm*" (at 0 0 0)
        (effects (font (size 1.27 1.27)) hide)
      )
      (symbol "Conn_ARM_JTAG_SWD_10_0_1"
        (rectangle (start -10.16 12.7) (end 10.16 -12.7)
          (stroke (width 0.254) (type default))
          (fill (type background))
        )
        (rectangle (start -2.794 -12.7) (end -2.286 -11.684)
          (stroke (width 0) (type default))
          (fill (type none))
        )
        (rectangle (start -0.254 -12.7) (end 0.254 -11.684)
          (stroke (width 0) (type default))
          (fill (type none))
        )
        (rectangle (start -0.254 12.7) (end 0.254 11.684)
          (stroke (width 0) (type default))
          (fill (type none))
        )
        (rectangle (start 9.144 2.286) (end 10.16 2.794)
          (stroke (width 0) (type default))
          (fill (type none))
        )
        (rectangle (start 10.16 -2.794) (end 9.144 -2.286)
          (stroke (width 0) (type default))
          (fill (type none))
        )
        (rectangle (start 10.16 -0.254) (end 9.144 0.254)
          (stroke (width 0) (type default))
          (fill (type none))
        )
        (rectangle (start 10.16 7.874) (end 9.144 7.366)
          (stroke (width 0) (type default))
          (fill (type none))
        )
      )
      (symbol "Conn_ARM_JTAG_SWD_10_1_1"
        (rectangle (start 9.144 -5.334) (end 10.16 -4.826)
          (stroke (width 0) (type default))
          (fill (type none))
        )
        (pin power_in line (at 0 15.24 270) (length 2.54)
          (name "VTref" (effects (font (size 1.27 1.27))))
          (number "1" (effects (font (size 1.27 1.27))))
        )
        (pin open_collector line (at 12.7 7.62 180) (length 2.54)
          (name "~{RESET}" (effects (font (size 1.27 1.27))))
          (number "10" (effects (font (size 1.27 1.27))))
        )
        (pin bidirectional line (at 12.7 0 180) (length 2.54)
          (name "SWDIO/TMS" (effects (font (size 1.27 1.27))))
          (number "2" (effects (font (size 1.27 1.27))))
        )
        (pin power_in line (at 0 -15.24 90) (length 2.54)
          (name "GND" (effects (font (size 1.27 1.27))))
          (number "3" (effects (font (size 1.27 1.27))))
        )
        (pin output line (at 12.7 2.54 180) (length 2.54)
          (name "SWDCLK/TCK" (effects (font (size 1.27 1.27))))
          (number "4" (effects (font (size 1.27 1.27))))
        )
        (pin passive line (at 0 -15.24 90) (length 2.54) hide
          (name "GND" (effects (font (size 1.27 1.27))))
          (number "5" (effects (font (size 1.27 1.27))))
        )
        (pin input line (at 12.7 -2.54 180) (length 2.54)
          (name "SWO/TDO" (effects (font (size 1.27 1.27))))
          (number "6" (effects (font (size 1.27 1.27))))
        )
        (pin no_connect line (at -10.16 0 0) (length 2.54) hide
          (name "KEY" (effects (font (size 1.27 1.27))))
          (number "7" (effects (font (size 1.27 1.27))))
        )
        (pin output line (at 12.7 -5.08 180) (length 2.54)
          (name "NC/TDI" (effects (font (size 1.27 1.27))))
          (number "8" (effects (font (size 1.27 1.27))))
        )
        (pin passive line (at -2.54 -15.24 90) (length 2.54)
          (name "GNDDetect" (effects (font (size 1.27 1.27))))
          (number "9" (effects (font (size 1.27 1.27))))
        )
      )
    )
    (symbol "Connector:Conn_ARM_SWD_TagConnect_TC2030-NL" (in_bom no) (on_board yes)
      (property "Reference" "J" (at 2.54 11.43 0)
        (effects (font (size 1.27 1.27)))
      )
      (property "Value" "Conn_ARM_SWD_TagConnect_TC2030-NL" (at 2.54 8.89 0)
        (effects (font (size 1.27 1.27)))
      )
      (property "Footprint" "Connector:Tag-Connect_TC2030-IDC-NL_2x03_P1.27mm_Vertical" (at 0 -17.78 0)
        (effects (font (size 1.27 1.27)) hide)
      )
      (property "Datasheet" "https://www.tag-connect.com/wp-content/uploads/bsk-pdf-manager/TC2030-CTX_1.pdf" (at 0 -15.24 0)
        (effects (font (size 1.27 1.27)) hide)
      )
      (property "ki_keywords" "Cortex Debug Connector ARM SWD JTAG" (at 0 0 0)
        (effects (font (size 1.27 1.27)) hide)
      )
      (property "ki_description" "Tag-Connect ARM Cortex SWD JTAG connector, 6 pin, no legs" (at 0 0 0)
        (effects (font (size 1.27 1.27)) hide)
      )
      (property "ki_fp_filters" "*TC2030*" (at 0 0 0)
        (effects (font (size 1.27 1.27)) hide)
      )
      (symbol "Conn_ARM_SWD_TagConnect_TC2030-NL_0_0"
        (pin power_in line (at -2.54 10.16 270) (length 2.54)
          (name "VCC" (effects (font (size 1.27 1.27))))
          (number "1" (effects (font (size 1.27 1.27))))
        )
        (pin bidirectional line (at 7.62 -2.54 180) (length 2.54)
          (name "SWDIO" (effects (font (size 1.27 1.27))))
          (number "2" (effects (font (size 1.27 1.27))))
          (alternate "TMS" bidirectional line)
        )
        (pin open_collector line (at 7.62 5.08 180) (length 2.54)
          (name "~{RESET}" (effects (font (size 1.27 1.27))))
          (number "3" (effects (font (size 1.27 1.27))))
        )
        (pin output line (at 7.62 0 180) (length 2.54)
          (name "SWCLK" (effects (font (size 1.27 1.27))))
          (number "4" (effects (font (size 1.27 1.27))))
          (alternate "TCK" output line)
        )
        (pin power_in line (at -2.54 -10.16 90) (length 2.54)
          (name "GND" (effects (font (size 1.27 1.27))))
          (number "5" (effects (font (size 1.27 1.27))))
        )
        (pin input line (at 7.62 -5.08 180) (length 2.54)
          (name "SWO" (effects (font (size 1.27 1.27))))
          (number "6" (effects (font (size 1.27 1.27))))
          (alternate "TDO" input line)
        )
      )
      (symbol "Conn_ARM_SWD_TagConnect_TC2030-NL_0_1"
        (rectangle (start -5.08 7.62) (end 5.08 -7.62)
          (stroke (width 0) (type default))
          (fill (type background))
        )
      )
    )
    (symbol "Connector:TestPoint" (pin_numbers hide) (pin_names (offset 0.762) hide) (in_bom yes) (on_board yes)
      (property "Reference" "TP" (at 0 6.858 0)
        (effects (font (size 1.27 1.27)))
      )
      (property "Value" "TestPoint" (at 0 5.08 0)
        (effects (font (size 1.27 1.27)))
      )
      (property "Footprint" "" (at 5.08 0 0)
        (effects (font (size 1.27 1.27)) hide)
      )
      (property "Datasheet" "~" (at 5.08 0 0)
        (effects (font (size 1.27 1.27)) hide)
      )
      (property "ki_keywords" "test point tp" (at 0 0 0)
        (effects (font (size 1.27 1.27)) hide)
      )
      (property "ki_description" "test point" (at 0 0 0)
        (effects (font (size 1.27 1.27)) hide)
      )
      (property "ki_fp_filters" "Pin* Test*" (at 0 0 0)
        (effects (font (size 1.27 1.27)) hide)
      )
      (symbol "TestPoint_0_1"
        (circle (center 0 3.302) (radius 0.762)
          (stroke (width 0) (type default))
          (fill (type none))
        )
      )
      (symbol "TestPoint_1_1"
        (pin passive line (at 0 0 90) (length 2.54)
          (name "1" (effects (font (size 1.27 1.27))))
          (number "1" (effects (font (size 1.27 1.27))))
        )
      )
    )
    (symbol "Connector:USB_C_Receptacle_USB2.0" (pin_names (offset 1.016)) (in_bom yes) (on_board yes)
      (property "Reference" "J" (at -10.16 19.05 0)
        (effects (font (size 1.27 1.27)) (justify left))
      )
      (property "Value" "USB_C_Receptacle_USB2.0" (at 19.05 19.05 0)
        (effects (font (size 1.27 1.27)) (justify right))
      )
      (property "Footprint" "" (at 3.81 0 0)
        (effects (font (size 1.27 1.27)) hide)
      )
      (property "Datasheet" "https://www.usb.org/sites/default/files/documents/usb_type-c.zip" (at 3.81 0 0)
        (effects (font (size 1.27 1.27)) hide)
      )
      (property "ki_keywords" "usb universal serial bus type-C USB2.0" (at 0 0 0)
        (effects (font (size 1.27 1.27)) hide)
      )
      (property "ki_description" "USB 2.0-only Type-C Receptacle connector" (at 0 0 0)
        (effects (font (size 1.27 1.27)) hide)
      )
      (property "ki_fp_filters" "USB*C*Receptacle*" (at 0 0 0)
        (effects (font (size 1.27 1.27)) hide)
      )
      (symbol "USB_C_Receptacle_USB2.0_0_0"
        (rectangle (start -0.254 -17.78) (end 0.254 -16.764)
          (stroke (width 0) (type default))
          (fill (type none))
        )
        (rectangle (start 10.16 -14.986) (end 9.144 -15.494)
          (stroke (width 0) (type default))
          (fill (type none))
        )
        (rectangle (start 10.16 -12.446) (end 9.144 -12.954)
          (stroke (width 0) (type default))
          (fill (type none))
        )
        (rectangle (start 10.16 -4.826) (end 9.144 -5.334)
          (stroke (width 0) (type default))
          (fill (type none))
        )
        (rectangle (start 10.16 -2.286) (end 9.144 -2.794)
          (stroke (width 0) (type default))
          (fill (type none))
        )
        (rectangle (start 10.16 0.254) (end 9.144 -0.254)
          (stroke (width 0) (type default))
          (fill (type none))
        )
        (rectangle (start 10.16 2.794) (end 9.144 2.286)
          (stroke (width 0) (type default))
          (fill (type none))
        )
        (rectangle (start 10.16 7.874) (end 9.144 7.366)
          (stroke (width 0) (type default))
          (fill (type none))
        )
        (rectangle (start 10.16 10.414) (end 9.144 9.906)
          (stroke (width 0) (type default))
          (fill (type none))
        )
        (rectangle (start 10.16 15.494) (end 9.144 14.986)
          (stroke (width 0) (type default))
          (fill (type none))
        )
      )
      (symbol "USB_C_Receptacle_USB2.0_0_1"
        (rectangle (start -10.16 17.78) (end 10.16 -17.78)
          (stroke (width 0.254) (type default))
          (fill (type background))
        )
        (arc (start -8.89 -3.81) (mid -6.985 -5.7067) (end -5.08 -3.81)
          (stroke (width 0.508) (type default))
          (fill (type none))
        )
        (arc (start -7.62 -3.81) (mid -6.985 -4.4423) (end -6.35 -3.81)
          (stroke (width 0.254) (type default))
          (fill (type none))
        )
        (arc (start -7.62 -3.81) (mid -6.985 -4.4423) (end -6.35 -3.81)
          (stroke (width 0.254) (type default))
          (fill (type outline))
        )
        (rectangle (start -7.62 -3.81) (end -6.35 3.81)
          (stroke (width 0.254) (type default))
          (fill (type outline))
        )
        (arc (start -6.35 3.81) (mid -6.985 4.4423) (end -7.62 3.81)
          (stroke (width 0.254) (type default))
          (fill (type none))
        )
        (arc (start -6.35 3.81) (mid -6.985 4.4423) (end -7.62 3.81)
          (stroke (width 0.254) (type default))
          (fill (type outline))
        )
        (arc (start -5.08 3.81) (mid -6.985 5.7067) (end -8.89 3.81)
          (stroke (width 0.508) (type default))
          (fill (type none))
        )
        (circle (center -2.54 1.143) (radius 0.635)
          (stroke (width 0.254) (type default))
          (fill (type outline))
        )
        (circle (center 0 -5.842) (radius 1.27)
          (stroke (width 0) (type default))
          (fill (type outline))
        )
        (polyline
          (pts
            (xy -8.89 -3.81)
            (xy -8.89 3.81)
          )
          (stroke (width 0.508) (type default))
          (fill (type none))
        )
        (polyline
          (pts
            (xy -5.08 3.81)
            (xy -5.08 -3.81)
          )
          (stroke (width 0.508) (type default))
          (fill (type none))
        )
        (polyline
          (pts
            (xy 0 -5.842)
            (xy 0 4.318)
          )
          (stroke (width 0.508) (type default))
          (fill (type none))
        )
        (polyline
          (pts
            (xy 0 -3.302)
            (xy -2.54 -0.762)
            (xy -2.54 0.508)
          )
          (stroke (width 0.508) (type default))
          (fill (type none))
        )
        (polyline
          (pts
            (xy 0 -2.032)
            (xy 2.54 0.508)
            (xy 2.54 1.778)
          )
          (stroke (width 0.508) (type default))
          (fill (type none))
        )
        (polyline
          (pts
            (xy -1.27 4.318)
            (xy 0 6.858)
            (xy 1.27 4.318)
            (xy -1.27 4.318)
          )
          (stroke (width 0.254) (type default))
          (fill (type outline))
        )
        (rectangle (start 1.905 1.778) (end 3.175 3.048)
          (stroke (width 0.254) (type default))
          (fill (type outline))
        )
      )
      (symbol "USB_C_Receptacle_USB2.0_1_1"
        (pin passive line (at 0 -22.86 90) (length 5.08)
          (name "GND" (effects (font (size 1.27 1.27))))
          (number "A1" (effects (font (size 1.27 1.27))))
        )
        (pin passive line (at 0 -22.86 90) (length 5.08) hide
          (name "GND" (effects (font (size 1.27 1.27))))
          (number "A12" (effects (font (size 1.27 1.27))))
        )
        (pin passive line (at 15.24 15.24 180) (length 5.08)
          (name "VBUS" (effects (font (size 1.27 1.27))))
          (number "A4" (effects (font (size 1.27 1.27))))
        )
        (pin bidirectional line (at 15.24 10.16 180) (length 5.08)
          (name "CC1" (effects (font (size 1.27 1.27))))
          (number "A5" (effects (font (size 1.27 1.27))))
        )
        (pin bidirectional line (at 15.24 -2.54 180) (length 5.08)
          (name "D+" (effects (font (size 1.27 1.27))))
          (number "A6" (effects (font (size 1.27 1.27))))
        )
        (pin bidirectional line (at 15.24 2.54 180) (length 5.08)
          (name "D-" (effects (font (size 1.27 1.27))))
          (number "A7" (effects (font (size 1.27 1.27))))
        )
        (pin bidirectional line (at 15.24 -12.7 180) (length 5.08)
          (name "SBU1" (effects (font (size 1.27 1.27))))
          (number "A8" (effects (font (size 1.27 1.27))))
        )
        (pin passive line (at 15.24 15.24 180) (length 5.08) hide
          (name "VBUS" (effects (font (size 1.27 1.27))))
          (number "A9" (effects (font (size 1.27 1.27))))
        )
        (pin passive line (at 0 -22.86 90) (length 5.08) hide
          (name "GND" (effects (font (size 1.27 1.27))))
          (number "B1" (effects (font (size 1.27 1.27))))
        )
        (pin passive line (at 0 -22.86 90) (length 5.08) hide
          (name "GND" (effects (font (size 1.27 1.27))))
          (number "B12" (effects (font (size 1.27 1.27))))
        )
        (pin passive line (at 15.24 15.24 180) (length 5.08) hide
          (name "VBUS" (effects (font (size 1.27 1.27))))
          (number "B4" (effects (font (size 1.27 1.27))))
        )
        (pin bidirectional line (at 15.24 7.62 180) (length 5.08)
          (name "CC2" (effects (font (size 1.27 1.27))))
          (number "B5" (effects (font (size 1.27 1.27))))
        )
        (pin bidirectional line (at 15.24 -5.08 180) (length 5.08)
          (name "D+" (effects (font (size 1.27 1.27))))
          (number "B6" (effects (font (size 1.27 1.27))))
        )
        (pin bidirectional line (at 15.24 0 180) (length 5.08)
          (name "D-" (effects (font (size 1.27 1.27))))
          (number "B7" (effects (font (size 1.27 1.27))))
        )
        (pin bidirectional line (at 15.24 -15.24 180) (length 5.08)
          (name "SBU2" (effects (font (size 1.27 1.27))))
          (number "B8" (effects (font (size 1.27 1.27))))
        )
        (pin passive line (at 15.24 15.24 180) (length 5.08) hide
          (name "VBUS" (effects (font (size 1.27 1.27))))
          (number "B9" (effects (font (size 1.27 1.27))))
        )
        (pin passive line (at -7.62 -22.86 90) (length 5.08)
          (name "SHIELD" (effects (font (size 1.27 1.27))))
          (number "S1" (effects (font (size 1.27 1.27))))
        )
      )
    )
    (symbol "Connector_Generic:Conn_01x03" (pin_names (offset 1.016) hide) (in_bom yes) (on_board yes)
      (property "Reference" "J" (at 0 5.08 0)
        (effects (font (size 1.27 1.27)))
      )
      (property "Value" "Conn_01x03" (at 0 -5.08 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" "connector" (at 0 0 0)
        (effects (font (size 1.27 1.27)) hide)
      )
      (property "ki_description" "Generic connector, single row, 01x03, 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 "Conn_01x03_1_1"
        (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 3.81) (end 1.27 -3.81)
          (stroke (width 0.254) (type default))
          (fill (type background))
        )
        (pin passive line (at -5.08 2.54 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_2" (effects (font (size 1.27 1.27))))
          (number "2" (effects (font (size 1.27 1.27))))
        )
        (pin passive line (at -5.08 -2.54 0) (length 3.81)
          (name "Pin_3" (effects (font (size 1.27 1.27))))
          (number "3" (effects (font (size 1.27 1.27))))
        )
      )
    )
    (symbol "Device:C_Small" (pin_numbers hide) (pin_names (offset 0.254) hide) (in_bom yes) (on_board yes)
      (property "Reference" "C" (at 0.254 1.778 0)
        (effects (font (size 1.27 1.27)) (justify left))
      )
      (property "Value" "C_Small" (at 0.254 -2.032 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" "capacitor cap" (at 0 0 0)
        (effects (font (size 1.27 1.27)) hide)
      )
      (property "ki_description" "Unpolarized capacitor, small symbol" (at 0 0 0)
        (effects (font (size 1.27 1.27)) hide)
      )
      (property "ki_fp_filters" "C_*" (at 0 0 0)
        (effects (font (size 1.27 1.27)) hide)
      )
      (symbol "C_Small_0_1"
        (polyline
          (pts
            (xy -1.524 -0.508)
            (xy 1.524 -0.508)
          )
          (stroke (width 0.3302) (type default))
          (fill (type none))
        )
        (polyline
          (pts
            (xy -1.524 0.508)
            (xy 1.524 0.508)
          )
          (stroke (width 0.3048) (type default))
          (fill (type none))
        )
      )
      (symbol "C_Small_1_1"
        (pin passive line (at 0 2.54 270) (length 2.032)
          (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 2.032)
          (name "~" (effects (font (size 1.27 1.27))))
          (number "2" (effects (font (size 1.27 1.27))))
        )
      )
    )
    (symbol "Device:Crystal_GND24_Small" (pin_names (offset 1.016) hide) (in_bom yes) (on_board yes)
      (property "Reference" "Y" (at 1.27 4.445 0)
        (effects (font (size 1.27 1.27)) (justify left))
      )
      (property "Value" "Crystal_GND24_Small" (at 1.27 2.54 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" "quartz ceramic resonator oscillator" (at 0 0 0)
        (effects (font (size 1.27 1.27)) hide)
      )
      (property "ki_description" "Four pin crystal, GND on pins 2 and 4, small symbol" (at 0 0 0)
        (effects (font (size 1.27 1.27)) hide)
      )
      (property "ki_fp_filters" "Crystal*" (at 0 0 0)
        (effects (font (size 1.27 1.27)) hide)
      )
      (symbol "Crystal_GND24_Small_0_1"
        (rectangle (start -0.762 -1.524) (end 0.762 1.524)
          (stroke (width 0) (type default))
          (fill (type none))
        )
        (polyline
          (pts
            (xy -1.27 -0.762)
            (xy -1.27 0.762)
          )
          (stroke (width 0.381) (type default))
          (fill (type none))
        )
        (polyline
          (pts
            (xy 1.27 -0.762)
            (xy 1.27 0.762)
          )
          (stroke (width 0.381) (type default))
          (fill (type none))
        )
        (polyline
          (pts
            (xy -1.27 -1.27)
            (xy -1.27 -1.905)
            (xy 1.27 -1.905)
            (xy 1.27 -1.27)
          )
          (stroke (width 0) (type default))
          (fill (type none))
        )
        (polyline
          (pts
            (xy -1.27 1.27)
            (xy -1.27 1.905)
            (xy 1.27 1.905)
            (xy 1.27 1.27)
          )
          (stroke (width 0) (type default))
          (fill (type none))
        )
      )
      (symbol "Crystal_GND24_Small_1_1"
        (pin passive line (at -2.54 0 0) (length 1.27)
          (name "1" (effects (font (size 1.27 1.27))))
          (number "1" (effects (font (size 0.762 0.762))))
        )
        (pin passive line (at 0 -2.54 90) (length 0.635)
          (name "2" (effects (font (size 1.27 1.27))))
          (number "2" (effects (font (size 0.762 0.762))))
        )
        (pin passive line (at 2.54 0 180) (length 1.27)
          (name "3" (effects (font (size 1.27 1.27))))
          (number "3" (effects (font (size 0.762 0.762))))
        )
        (pin passive line (at 0 2.54 270) (length 0.635)
          (name "4" (effects (font (size 1.27 1.27))))
          (number "4" (effects (font (size 0.762 0.762))))
        )
      )
    )
    (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 "MCU_RaspberryPi:RP2040" (in_bom yes) (on_board yes)
      (property "Reference" "U" (at 17.78 45.72 0)
        (effects (font (size 1.27 1.27)))
      )
      (property "Value" "RP2040" (at 17.78 43.18 0)
        (effects (font (size 1.27 1.27)))
      )
      (property "Footprint" "Package_DFN_QFN:QFN-56-1EP_7x7mm_P0.4mm_EP3.2x3.2mm" (at 0 0 0)
        (effects (font (size 1.27 1.27)) hide)
      )
      (property "Datasheet" "https://datasheets.raspberrypi.com/rp2040/rp2040-datasheet.pdf" (at 0 0 0)
        (effects (font (size 1.27 1.27)) hide)
      )
      (property "ki_keywords" "RP2040 ARM Cortex-M0+ USB" (at 0 0 0)
        (effects (font (size 1.27 1.27)) hide)
      )
      (property "ki_description" "A microcontroller by Raspberry Pi" (at 0 0 0)
        (effects (font (size 1.27 1.27)) hide)
      )
      (property "ki_fp_filters" "QFN*1EP*7x7mm?P0.4mm*" (at 0 0 0)
        (effects (font (size 1.27 1.27)) hide)
      )
      (symbol "RP2040_0_1"
        (rectangle (start -21.59 41.91) (end 21.59 -41.91)
          (stroke (width 0.254) (type default))
          (fill (type background))
        )
      )
      (symbol "RP2040_1_1"
        (pin power_in line (at 2.54 45.72 270) (length 3.81)
          (name "IOVDD" (effects (font (size 1.27 1.27))))
          (number "1" (effects (font (size 1.27 1.27))))
        )
        (pin passive line (at 2.54 45.72 270) (length 3.81) hide
          (name "IOVDD" (effects (font (size 1.27 1.27))))
          (number "10" (effects (font (size 1.27 1.27))))
        )
        (pin bidirectional line (at 25.4 17.78 180) (length 3.81)
          (name "GPIO8" (effects (font (size 1.27 1.27))))
          (number "11" (effects (font (size 1.27 1.27))))
        )
        (pin bidirectional line (at 25.4 15.24 180) (length 3.81)
          (name "GPIO9" (effects (font (size 1.27 1.27))))
          (number "12" (effects (font (size 1.27 1.27))))
        )
        (pin bidirectional line (at 25.4 12.7 180) (length 3.81)
          (name "GPIO10" (effects (font (size 1.27 1.27))))
          (number "13" (effects (font (size 1.27 1.27))))
        )
        (pin bidirectional line (at 25.4 10.16 180) (length 3.81)
          (name "GPIO11" (effects (font (size 1.27 1.27))))
          (number "14" (effects (font (size 1.27 1.27))))
        )
        (pin bidirectional line (at 25.4 7.62 180) (length 3.81)
          (name "GPIO12" (effects (font (size 1.27 1.27))))
          (number "15" (effects (font (size 1.27 1.27))))
        )
        (pin bidirectional line (at 25.4 5.08 180) (length 3.81)
          (name "GPIO13" (effects (font (size 1.27 1.27))))
          (number "16" (effects (font (size 1.27 1.27))))
        )
        (pin bidirectional line (at 25.4 2.54 180) (length 3.81)
          (name "GPIO14" (effects (font (size 1.27 1.27))))
          (number "17" (effects (font (size 1.27 1.27))))
        )
        (pin bidirectional line (at 25.4 0 180) (length 3.81)
          (name "GPIO15" (effects (font (size 1.27 1.27))))
          (number "18" (effects (font (size 1.27 1.27))))
        )
        (pin input line (at -25.4 -38.1 0) (length 3.81)
          (name "TESTEN" (effects (font (size 1.27 1.27))))
          (number "19" (effects (font (size 1.27 1.27))))
        )
        (pin bidirectional line (at 25.4 38.1 180) (length 3.81)
          (name "GPIO0" (effects (font (size 1.27 1.27))))
          (number "2" (effects (font (size 1.27 1.27))))
        )
        (pin input line (at -25.4 -7.62 0) (length 3.81)
          (name "XIN" (effects (font (size 1.27 1.27))))
          (number "20" (effects (font (size 1.27 1.27))))
        )
        (pin passive line (at -25.4 -17.78 0) (length 3.81)
          (name "XOUT" (effects (font (size 1.27 1.27))))
          (number "21" (effects (font (size 1.27 1.27))))
        )
        (pin passive line (at 2.54 45.72 270) (length 3.81) hide
          (name "IOVDD" (effects (font (size 1.27 1.27))))
          (number "22" (effects (font (size 1.27 1.27))))
        )
        (pin power_in line (at -2.54 45.72 270) (length 3.81)
          (name "DVDD" (effects (font (size 1.27 1.27))))
          (number "23" (effects (font (size 1.27 1.27))))
        )
        (pin input line (at -25.4 -27.94 0) (length 3.81)
          (name "SWCLK" (effects (font (size 1.27 1.27))))
          (number "24" (effects (font (size 1.27 1.27))))
        )
        (pin bidirectional line (at -25.4 -30.48 0) (length 3.81)
          (name "SWD" (effects (font (size 1.27 1.27))))
          (number "25" (effects (font (size 1.27 1.27))))
        )
        (pin input line (at -25.4 38.1 0) (length 3.81)
          (name "RUN" (effects (font (size 1.27 1.27))))
          (number "26" (effects (font (size 1.27 1.27))))
        )
        (pin bidirectional line (at 25.4 -2.54 180) (length 3.81)
          (name "GPIO16" (effects (font (size 1.27 1.27))))
          (number "27" (effects (font (size 1.27 1.27))))
        )
        (pin bidirectional line (at 25.4 -5.08 180) (length 3.81)
          (name "GPIO17" (effects (font (size 1.27 1.27))))
          (number "28" (effects (font (size 1.27 1.27))))
        )
        (pin bidirectional line (at 25.4 -7.62 180) (length 3.81)
          (name "GPIO18" (effects (font (size 1.27 1.27))))
          (number "29" (effects (font (size 1.27 1.27))))
        )
        (pin bidirectional line (at 25.4 35.56 180) (length 3.81)
          (name "GPIO1" (effects (font (size 1.27 1.27))))
          (number "3" (effects (font (size 1.27 1.27))))
        )
        (pin bidirectional line (at 25.4 -10.16 180) (length 3.81)
          (name "GPIO19" (effects (font (size 1.27 1.27))))
          (number "30" (effects (font (size 1.27 1.27))))
        )
        (pin bidirectional line (at 25.4 -12.7 180) (length 3.81)
          (name "GPIO20" (effects (font (size 1.27 1.27))))
          (number "31" (effects (font (size 1.27 1.27))))
        )
        (pin bidirectional line (at 25.4 -15.24 180) (length 3.81)
          (name "GPIO21" (effects (font (size 1.27 1.27))))
          (number "32" (effects (font (size 1.27 1.27))))
        )
        (pin passive line (at 2.54 45.72 270) (length 3.81) hide
          (name "IOVDD" (effects (font (size 1.27 1.27))))
          (number "33" (effects (font (size 1.27 1.27))))
        )
        (pin bidirectional line (at 25.4 -17.78 180) (length 3.81)
          (name "GPIO22" (effects (font (size 1.27 1.27))))
          (number "34" (effects (font (size 1.27 1.27))))
        )
        (pin bidirectional line (at 25.4 -20.32 180) (length 3.81)
          (name "GPIO23" (effects (font (size 1.27 1.27))))
          (number "35" (effects (font (size 1.27 1.27))))
        )
        (pin bidirectional line (at 25.4 -22.86 180) (length 3.81)
          (name "GPIO24" (effects (font (size 1.27 1.27))))
          (number "36" (effects (font (size 1.27 1.27))))
        )
        (pin bidirectional line (at 25.4 -25.4 180) (length 3.81)
          (name "GPIO25" (effects (font (size 1.27 1.27))))
          (number "37" (effects (font (size 1.27 1.27))))
        )
        (pin bidirectional line (at 25.4 -30.48 180) (length 3.81)
          (name "GPIO26_ADC0" (effects (font (size 1.27 1.27))))
          (number "38" (effects (font (size 1.27 1.27))))
        )
        (pin bidirectional line (at 25.4 -33.02 180) (length 3.81)
          (name "GPIO27_ADC1" (effects (font (size 1.27 1.27))))
          (number "39" (effects (font (size 1.27 1.27))))
        )
        (pin bidirectional line (at 25.4 33.02 180) (length 3.81)
          (name "GPIO2" (effects (font (size 1.27 1.27))))
          (number "4" (effects (font (size 1.27 1.27))))
        )
        (pin bidirectional line (at 25.4 -35.56 180) (length 3.81)
          (name "GPIO28_ADC2" (effects (font (size 1.27 1.27))))
          (number "40" (effects (font (size 1.27 1.27))))
        )
        (pin bidirectional line (at 25.4 -38.1 180) (length 3.81)
          (name "GPIO29_ADC3" (effects (font (size 1.27 1.27))))
          (number "41" (effects (font (size 1.27 1.27))))
        )
        (pin passive line (at 2.54 45.72 270) (length 3.81) hide
          (name "IOVDD" (effects (font (size 1.27 1.27))))
          (number "42" (effects (font (size 1.27 1.27))))
        )
        (pin power_in line (at 7.62 45.72 270) (length 3.81)
          (name "ADC_AVDD" (effects (font (size 1.27 1.27))))
          (number "43" (effects (font (size 1.27 1.27))))
        )
        (pin power_in line (at 10.16 45.72 270) (length 3.81)
          (name "VREG_IN" (effects (font (size 1.27 1.27))))
          (number "44" (effects (font (size 1.27 1.27))))
        )
        (pin power_out line (at -5.08 45.72 270) (length 3.81)
          (name "VREG_VOUT" (effects (font (size 1.27 1.27))))
          (number "45" (effects (font (size 1.27 1.27))))
        )
        (pin bidirectional line (at -25.4 27.94 0) (length 3.81)
          (name "USB_DM" (effects (font (size 1.27 1.27))))
          (number "46" (effects (font (size 1.27 1.27))))
        )
        (pin bidirectional line (at -25.4 30.48 0) (length 3.81)
          (name "USB_DP" (effects (font (size 1.27 1.27))))
          (number "47" (effects (font (size 1.27 1.27))))
        )
        (pin power_in line (at 5.08 45.72 270) (length 3.81)
          (name "USB_VDD" (effects (font (size 1.27 1.27))))
          (number "48" (effects (font (size 1.27 1.27))))
        )
        (pin passive line (at 2.54 45.72 270) (length 3.81) hide
          (name "IOVDD" (effects (font (size 1.27 1.27))))
          (number "49" (effects (font (size 1.27 1.27))))
        )
        (pin bidirectional line (at 25.4 30.48 180) (length 3.81)
          (name "GPIO3" (effects (font (size 1.27 1.27))))
          (number "5" (effects (font (size 1.27 1.27))))
        )
        (pin passive line (at -2.54 45.72 270) (length 3.81) hide
          (name "DVDD" (effects (font (size 1.27 1.27))))
          (number "50" (effects (font (size 1.27 1.27))))
        )
        (pin bidirectional line (at -25.4 7.62 0) (length 3.81)
          (name "QSPI_SD3" (effects (font (size 1.27 1.27))))
          (number "51" (effects (font (size 1.27 1.27))))
        )
        (pin output line (at -25.4 5.08 0) (length 3.81)
          (name "QSPI_SCLK" (effects (font (size 1.27 1.27))))
          (number "52" (effects (font (size 1.27 1.27))))
        )
        (pin bidirectional line (at -25.4 15.24 0) (length 3.81)
          (name "QSPI_SD0" (effects (font (size 1.27 1.27))))
          (number "53" (effects (font (size 1.27 1.27))))
        )
        (pin bidirectional line (at -25.4 10.16 0) (length 3.81)
          (name "QSPI_SD2" (effects (font (size 1.27 1.27))))
          (number "54" (effects (font (size 1.27 1.27))))
        )
        (pin bidirectional line (at -25.4 12.7 0) (length 3.81)
          (name "QSPI_SD1" (effects (font (size 1.27 1.27))))
          (number "55" (effects (font (size 1.27 1.27))))
        )
        (pin bidirectional line (at -25.4 20.32 0) (length 3.81)
          (name "QSPI_SS" (effects (font (size 1.27 1.27))))
          (number "56" (effects (font (size 1.27 1.27))))
        )
        (pin power_in line (at 0 -45.72 90) (length 3.81)
          (name "GND" (effects (font (size 1.27 1.27))))
          (number "57" (effects (font (size 1.27 1.27))))
        )
        (pin bidirectional line (at 25.4 27.94 180) (length 3.81)
          (name "GPIO4" (effects (font (size 1.27 1.27))))
          (number "6" (effects (font (size 1.27 1.27))))
        )
        (pin bidirectional line (at 25.4 25.4 180) (length 3.81)
          (name "GPIO5" (effects (font (size 1.27 1.27))))
          (number "7" (effects (font (size 1.27 1.27))))
        )
        (pin bidirectional line (at 25.4 22.86 180) (length 3.81)
          (name "GPIO6" (effects (font (size 1.27 1.27))))
          (number "8" (effects (font (size 1.27 1.27))))
        )
        (pin bidirectional line (at 25.4 20.32 180) (length 3.81)
          (name "GPIO7" (effects (font (size 1.27 1.27))))
          (number "9" (effects (font (size 1.27 1.27))))
        )
      )
    )
    (symbol "Memory_Flash:W25Q32JVZP" (in_bom yes) (on_board yes)
      (property "Reference" "U" (at -6.35 11.43 0)
        (effects (font (size 1.27 1.27)))
      )
      (property "Value" "W25Q32JVZP" (at 7.62 11.43 0)
        (effects (font (size 1.27 1.27)))
      )
      (property "Footprint" "Package_SON:WSON-8-1EP_6x5mm_P1.27mm_EP3.4x4.3mm" (at 0 0 0)
        (effects (font (size 1.27 1.27)) hide)
      )
      (property "Datasheet" "http://www.winbond.com/resource-files/w25q32jv%20revg%2003272018%20plus.pdf" (at 0 -2.54 0)
        (effects (font (size 1.27 1.27)) hide)
      )
      (property "ki_keywords" "flash memory SPI" (at 0 0 0)
        (effects (font (size 1.27 1.27)) hide)
      )
      (property "ki_description" "32Mb Serial Flash Memory, Standard/Dual/Quad SPI, DFN-8" (at 0 0 0)
        (effects (font (size 1.27 1.27)) hide)
      )
      (property "ki_fp_filters" "WSON*1EP*6x5mm*P1.27mm*" (at 0 0 0)
        (effects (font (size 1.27 1.27)) hide)
      )
      (symbol "W25Q32JVZP_0_1"
        (rectangle (start -7.62 10.16) (end 7.62 -10.16)
          (stroke (width 0.254) (type default))
          (fill (type background))
        )
      )
      (symbol "W25Q32JVZP_1_1"
        (pin input line (at -10.16 7.62 0) (length 2.54)
          (name "~{CS}" (effects (font (size 1.27 1.27))))
          (number "1" (effects (font (size 1.27 1.27))))
        )
        (pin bidirectional line (at -10.16 0 0) (length 2.54)
          (name "DO(IO1)" (effects (font (size 1.27 1.27))))
          (number "2" (effects (font (size 1.27 1.27))))
        )
        (pin bidirectional line (at -10.16 -2.54 0) (length 2.54)
          (name "IO2" (effects (font (size 1.27 1.27))))
          (number "3" (effects (font (size 1.27 1.27))))
        )
        (pin power_in line (at 0 -12.7 90) (length 2.54)
          (name "GND" (effects (font (size 1.27 1.27))))
          (number "4" (effects (font (size 1.27 1.27))))
        )
        (pin bidirectional line (at -10.16 2.54 0) (length 2.54)
          (name "DI(IO0)" (effects (font (size 1.27 1.27))))
          (number "5" (effects (font (size 1.27 1.27))))
        )
        (pin input line (at -10.16 5.08 0) (length 2.54)
          (name "CLK" (effects (font (size 1.27 1.27))))
          (number "6" (effects (font (size 1.27 1.27))))
        )
        (pin bidirectional line (at -10.16 -5.08 0) (length 2.54)
          (name "IO3" (effects (font (size 1.27 1.27))))
          (number "7" (effects (font (size 1.27 1.27))))
        )
        (pin power_in line (at 0 12.7 270) (length 2.54)
          (name "VCC" (effects (font (size 1.27 1.27))))
          (number "8" (effects (font (size 1.27 1.27))))
        )
        (pin passive line (at 2.54 -12.7 90) (length 2.54)
          (name "EP" (effects (font (size 1.27 1.27))))
          (number "9" (effects (font (size 1.27 1.27))))
        )
      )
    )
    (symbol "power:+1V1" (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" "+1V1" (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 \"+1V1\"" (at 0 0 0)
        (effects (font (size 1.27 1.27)) hide)
      )
      (symbol "+1V1_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 "+1V1_1_1"
        (pin power_in line (at 0 0 90) (length 0) hide
          (name "+1V1" (effects (font (size 1.27 1.27))))
          (number "1" (effects (font (size 1.27 1.27))))
        )
      )
    )
    (symbol "power:+3V3" (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" "+3V3" (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 \"+3V3\"" (at 0 0 0)
        (effects (font (size 1.27 1.27)) hide)
      )
      (symbol "+3V3_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 "+3V3_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 "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))))
        )
      )
    )
    (symbol "power:PWR_FLAG" (power) (pin_numbers hide) (pin_names (offset 0) hide) (in_bom yes) (on_board yes)
      (property "Reference" "#FLG" (at 0 1.905 0)
        (effects (font (size 1.27 1.27)) hide)
      )
      (property "Value" "PWR_FLAG" (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" "flag power" (at 0 0 0)
        (effects (font (size 1.27 1.27)) hide)
      )
      (property "ki_description" "Special symbol for telling ERC where power comes from" (at 0 0 0)
        (effects (font (size 1.27 1.27)) hide)
      )
      (symbol "PWR_FLAG_0_0"
        (pin power_out line (at 0 0 90) (length 0)
          (name "pwr" (effects (font (size 1.27 1.27))))
          (number "1" (effects (font (size 1.27 1.27))))
        )
      )
      (symbol "PWR_FLAG_0_1"
        (polyline
          (pts
            (xy 0 0)
            (xy 0 1.27)
            (xy -1.016 1.905)
            (xy 0 2.54)
            (xy 1.016 1.905)
            (xy 0 1.27)
          )
          (stroke (width 0) (type default))
          (fill (type none))
        )
      )
    )
    (symbol "power:VBUS" (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" "VBUS" (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 \"VBUS\"" (at 0 0 0)
        (effects (font (size 1.27 1.27)) hide)
      )
      (symbol "VBUS_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 "VBUS_1_1"
        (pin power_in line (at 0 0 90) (length 0) hide
          (name "VBUS" (effects (font (size 1.27 1.27))))
          (number "1" (effects (font (size 1.27 1.27))))
        )
      )
    )
  )

  (junction (at 102.87 44.45) (diameter 0) (color 0 0 0 0)
    (uuid 00591c33-1d14-4af8-a40c-de7b216f1eb4)
  )
  (junction (at 68.58 68.58) (diameter 0) (color 0 0 0 0)
    (uuid 08534b00-0e5c-4eec-bbab-0a1853f76c16)
  )
  (junction (at 248.92 120.65) (diameter 0) (color 0 0 0 0)
    (uuid 1de93963-3064-42fb-9b6b-7ce230fe9dfd)
  )
  (junction (at 68.58 53.34) (diameter 0) (color 0 0 0 0)
    (uuid 23e0a6d7-736d-4caa-a6f9-3302fa5c34f0)
  )
  (junction (at 153.67 109.22) (diameter 0) (color 0 0 0 0)
    (uuid 27d4f5e0-ffd2-4cc3-97c4-ad2d92a83d02)
  )
  (junction (at 60.96 160.02) (diameter 0) (color 0 0 0 0)
    (uuid 29c53ccb-9593-47f1-9670-728216fbd306)
  )
  (junction (at 97.79 59.69) (diameter 0) (color 0 0 0 0)
    (uuid 2c970de9-fc94-425f-8641-d3e651029093)
  )
  (junction (at 156.21 111.76) (diameter 0) (color 0 0 0 0)
    (uuid 3b820c78-bebd-4a09-ac3f-52a07de8aa92)
  )
  (junction (at 102.87 59.69) (diameter 0) (color 0 0 0 0)
    (uuid 3feaf06f-b41c-47e2-bb60-7051d6419c55)
  )
  (junction (at 104.14 93.98) (diameter 0) (color 0 0 0 0)
    (uuid 4bae312f-b752-4bd5-9f2f-a6714c2b517d)
  )
  (junction (at 160.02 109.22) (diameter 0) (color 0 0 0 0)
    (uuid 544c0bad-0809-4faa-9502-5b053f184063)
  )
  (junction (at 248.92 105.41) (diameter 0) (color 0 0 0 0)
    (uuid 5876b416-bf83-49ff-b229-d88a6680453c)
  )
  (junction (at 118.11 59.69) (diameter 0) (color 0 0 0 0)
    (uuid 671cb084-abc4-4b6a-8ac6-849d8a4d535c)
  )
  (junction (at 118.11 44.45) (diameter 0) (color 0 0 0 0)
    (uuid 6a637867-da3b-488d-88f4-bd462f2297f9)
  )
  (junction (at 264.16 113.03) (diameter 0) (color 0 0 0 0)
    (uuid 7297e7a8-89f5-4505-ac47-565d9ef3b1a0)
  )
  (junction (at 181.61 124.46) (diameter 0) (color 0 0 0 0)
    (uuid 77e72ee9-33f7-4ec2-b5e5-c440bc3bf470)
  )
  (junction (at 57.15 104.14) (diameter 0) (color 0 0 0 0)
    (uuid 7e6b7e85-11f7-4a0d-8b39-00122119bfe1)
  )
  (junction (at 175.26 127) (diameter 0) (color 0 0 0 0)
    (uuid 7e8e83bd-0f34-4ede-8935-228358f8a3ca)
  )
  (junction (at 93.98 93.98) (diameter 0) (color 0 0 0 0)
    (uuid 834b2e2e-b806-4c39-8509-7b29283d9bb1)
  )
  (junction (at 40.64 46.99) (diameter 0) (color 0 0 0 0)
    (uuid 845e6b15-8968-478b-b746-b8493ab507b8)
  )
  (junction (at 107.95 44.45) (diameter 0) (color 0 0 0 0)
    (uuid 885fbaef-7b1a-4760-a36a-447e31c3221e)
  )
  (junction (at 248.92 123.19) (diameter 0) (color 0 0 0 0)
    (uuid 8954a86d-a6ff-4c2a-9c12-eac4893a1eb9)
  )
  (junction (at 97.79 44.45) (diameter 0) (color 0 0 0 0)
    (uuid 8a2b2563-1181-4343-b541-1bbc4330d1a9)
  )
  (junction (at 153.67 111.76) (diameter 0) (color 0 0 0 0)
    (uuid 8ac2dff5-316f-4325-b82a-4ee3bdbe3ee1)
  )
  (junction (at 107.95 59.69) (diameter 0) (color 0 0 0 0)
    (uuid 8bc0029b-f5aa-4bf1-abdf-39019a8f88b8)
  )
  (junction (at 40.64 41.91) (diameter 0) (color 0 0 0 0)
    (uuid 9affc693-f031-451f-84ea-76d5582c6f00)
  )
  (junction (at 105.41 59.69) (diameter 0) (color 0 0 0 0)
    (uuid a2d9cd34-a5b8-4d10-b80c-f83beff01ae2)
  )
  (junction (at 60.96 149.86) (diameter 0) (color 0 0 0 0)
    (uuid ba0ad3a1-8f9a-44eb-afda-4b84412ab5c9)
  )
  (junction (at 45.72 160.02) (diameter 0) (color 0 0 0 0)
    (uuid c2762feb-5fff-49c0-a4e9-5cb18937a2ed)
  )
  (junction (at 153.67 44.45) (diameter 0) (color 0 0 0 0)
    (uuid c55babb1-9de3-4f18-bfa9-c63071bbf753)
  )
  (junction (at 105.41 44.45) (diameter 0) (color 0 0 0 0)
    (uuid ca32ca29-6dd4-41e8-ab1d-6f18b0d45f47)
  )
  (junction (at 113.03 59.69) (diameter 0) (color 0 0 0 0)
    (uuid cfb537af-8051-46e6-9430-0c4a6841d672)
  )
  (junction (at 101.6 93.98) (diameter 0) (color 0 0 0 0)
    (uuid d79c7975-33b1-4c56-9081-1a651dfd8239)
  )
  (junction (at 113.03 44.45) (diameter 0) (color 0 0 0 0)
    (uuid d8205e9c-6938-4ffc-90f9-2c4afdd0f00d)
  )
  (junction (at 177.8 127) (diameter 0) (color 0 0 0 0)
    (uuid e017f8d0-2b01-4ed2-957d-65536df916a5)
  )
  (junction (at 175.26 124.46) (diameter 0) (color 0 0 0 0)
    (uuid eb715ff5-ee10-4515-aa86-552c3a00ac86)
  )
  (junction (at 153.67 59.69) (diameter 0) (color 0 0 0 0)
    (uuid f75e476c-74b6-414e-a87d-0756cb43ce06)
  )

  (no_connect (at 184.15 66.04) (uuid 1f4d3c9c-1858-497f-95b4-0c38ce56cbe1))
  (no_connect (at 199.39 53.34) (uuid 34a405c4-ba5c-4b03-b9e0-9967833e57f6))
  (no_connect (at 199.39 55.88) (uuid 54764b85-07bb-4d0e-9ea3-fb6362869932))
  (no_connect (at 25.4 67.31) (uuid 8fb9db8f-0d8f-42e9-92a6-6534ac3b5e4a))
  (no_connect (at 246.38 133.35) (uuid db235299-bd7e-4436-b78c-a316c10fb715))
  (no_connect (at 231.14 53.34) (uuid f844077a-ff4a-4069-bf46-d467580aeb38))
  (no_connect (at 246.38 135.89) (uuid f8e6673e-6b24-4b06-bdcd-59c0d4738dc0))

  (wire (pts (xy 134.62 54.61) (xy 134.62 62.23))
    (stroke (width 0) (type default))
    (uuid 018d33e7-ddb7-4389-b06b-55cfc88ba13f)
  )
  (wire (pts (xy 123.19 44.45) (xy 123.19 49.53))
    (stroke (width 0) (type default))
    (uuid 02beb379-b29d-4733-bf03-dbd1c108b656)
  )
  (wire (pts (xy 73.66 180.34) (xy 71.12 180.34))
    (stroke (width 0) (type default))
    (uuid 0337ca7b-cf30-4c41-acfa-ecf3e4a55f71)
  )
  (wire (pts (xy 124.46 149.86) (xy 130.81 149.86))
    (stroke (width 0) (type default))
    (uuid 0379344c-1d80-47e4-8a94-7c88a61c3cc0)
  )
  (wire (pts (xy 124.46 124.46) (xy 175.26 124.46))
    (stroke (width 0) (type default))
    (uuid 041b5f0c-92cf-4ad2-a5d4-060567fe9a1b)
  )
  (polyline (pts (xy 82.55 12.7) (xy 82.55 81.28))
    (stroke (width 0) (type default))
    (uuid 05273c7f-8e87-4820-aec3-f3caaff00a52)
  )

  (wire (pts (xy 124.46 134.62) (xy 130.81 134.62))
    (stroke (width 0) (type default))
    (uuid 05cec9d3-91b8-40d7-9f3f-d64d0721aed0)
  )
  (wire (pts (xy 57.15 156.21) (xy 57.15 154.94))
    (stroke (width 0) (type default))
    (uuid 06d133ef-71e0-4f0d-8cf3-7d524bdb2595)
  )
  (wire (pts (xy 62.23 134.62) (xy 73.66 134.62))
    (stroke (width 0) (type default))
    (uuid 08838d7b-ce98-4944-bd37-4030f1697ed8)
  )
  (wire (pts (xy 153.67 59.69) (xy 151.13 59.69))
    (stroke (width 0) (type default))
    (uuid 0a6186a8-bc05-41d5-892f-1bf7caffa84c)
  )
  (wire (pts (xy 66.04 63.5) (xy 66.04 68.58))
    (stroke (width 0) (type default))
    (uuid 0ba00902-f5ba-4861-bb4d-36f73d831e8d)
  )
  (wire (pts (xy 93.98 93.98) (xy 93.98 96.52))
    (stroke (width 0) (type default))
    (uuid 0bbfa135-612b-4714-94f5-a8643c5db279)
  )
  (wire (pts (xy 248.92 105.41) (xy 251.46 105.41))
    (stroke (width 0) (type default))
    (uuid 0cf97788-7a7b-4837-b143-fca2fe9f8dac)
  )
  (wire (pts (xy 113.03 54.61) (xy 113.03 59.69))
    (stroke (width 0) (type default))
    (uuid 0d41238b-473d-430d-bd87-d1694de2bd37)
  )
  (wire (pts (xy 113.03 44.45) (xy 118.11 44.45))
    (stroke (width 0) (type default))
    (uuid 10321edc-a87f-42f8-aaf4-9ee29a9bd093)
  )
  (wire (pts (xy 156.21 111.76) (xy 166.37 111.76))
    (stroke (width 0) (type default))
    (uuid 107de281-be6d-4d3f-91bd-8919612ad455)
  )
  (wire (pts (xy 38.1 49.53) (xy 54.61 49.53))
    (stroke (width 0) (type default))
    (uuid 10ba73c3-187a-4202-84bb-727aacac9d3b)
  )
  (wire (pts (xy 156.21 49.53) (xy 156.21 44.45))
    (stroke (width 0) (type default))
    (uuid 1546a57a-77fa-4d2f-b2a7-bacdf8c09ce9)
  )
  (wire (pts (xy 124.46 162.56) (xy 130.81 162.56))
    (stroke (width 0) (type default))
    (uuid 17ce49c8-d8c1-4d5a-bd39-17da44d2665d)
  )
  (wire (pts (xy 96.52 93.98) (xy 93.98 93.98))
    (stroke (width 0) (type default))
    (uuid 1a1f4f7b-60aa-4adb-87d1-4c770308401c)
  )
  (wire (pts (xy 102.87 44.45) (xy 105.41 44.45))
    (stroke (width 0) (type default))
    (uuid 1f9b45be-73e8-428c-9268-febf40c8bc5c)
  )
  (wire (pts (xy 66.04 160.02) (xy 60.96 160.02))
    (stroke (width 0) (type default))
    (uuid 20cb75ce-d711-4469-a324-466e8765d1ae)
  )
  (wire (pts (xy 93.98 91.44) (xy 93.98 93.98))
    (stroke (width 0) (type default))
    (uuid 20ef8905-7962-4d42-9140-7ee17d6a9ba5)
  )
  (wire (pts (xy 118.11 44.45) (xy 118.11 49.53))
    (stroke (width 0) (type default))
    (uuid 218600ab-ec89-4036-8378-a7d3dd131622)
  )
  (wire (pts (xy 124.46 139.7) (xy 130.81 139.7))
    (stroke (width 0) (type default))
    (uuid 237783cf-4afa-4a52-8de9-c1a341bb6b3f)
  )
  (wire (pts (xy 57.15 104.14) (xy 73.66 104.14))
    (stroke (width 0) (type default))
    (uuid 23cc0c89-d129-47c3-90c7-7b37c8a413e5)
  )
  (wire (pts (xy 231.14 50.8) (xy 243.84 50.8))
    (stroke (width 0) (type default))
    (uuid 25ffe26a-3640-4ab6-bcc2-0ae01375bc01)
  )
  (wire (pts (xy 177.8 121.92) (xy 177.8 127))
    (stroke (width 0) (type default))
    (uuid 29f02278-3134-47a0-bbfd-a5ce1207d2e0)
  )
  (wire (pts (xy 92.71 44.45) (xy 92.71 49.53))
    (stroke (width 0) (type default))
    (uuid 29f16d25-19cc-40b6-bcb8-1520041f5c67)
  )
  (wire (pts (xy 153.67 44.45) (xy 151.13 44.45))
    (stroke (width 0) (type default))
    (uuid 2d6a2087-ca05-479d-af77-09b341062efc)
  )
  (wire (pts (xy 124.46 119.38) (xy 130.81 119.38))
    (stroke (width 0) (type default))
    (uuid 2e1f8ec0-a6d7-4610-841d-9b831fac03d6)
  )
  (wire (pts (xy 151.13 59.69) (xy 151.13 54.61))
    (stroke (width 0) (type default))
    (uuid 2e899fc7-988d-487c-82b5-44200cb53eb7)
  )
  (wire (pts (xy 97.79 49.53) (xy 97.79 44.45))
    (stroke (width 0) (type default))
    (uuid 2eb5504b-99c7-4a93-a324-c5625fa09a77)
  )
  (wire (pts (xy 107.95 54.61) (xy 107.95 59.69))
    (stroke (width 0) (type default))
    (uuid 2f07cdf1-55b4-4d3a-b8a7-577c5f5b69da)
  )
  (wire (pts (xy 107.95 44.45) (xy 107.95 49.53))
    (stroke (width 0) (type default))
    (uuid 3013ac80-a555-4a43-9b99-1a5311f6ea49)
  )
  (wire (pts (xy 40.64 41.91) (xy 44.45 41.91))
    (stroke (width 0) (type default))
    (uuid 3454c89e-6bdb-4e8d-b5cd-44da14aafcb8)
  )
  (wire (pts (xy 118.11 44.45) (xy 123.19 44.45))
    (stroke (width 0) (type default))
    (uuid 34c3ac15-0df1-4323-b557-48a5a666866e)
  )
  (wire (pts (xy 153.67 109.22) (xy 160.02 109.22))
    (stroke (width 0) (type default))
    (uuid 36a78023-b2a9-4132-87ad-5437fa960b9b)
  )
  (wire (pts (xy 57.15 154.94) (xy 58.42 154.94))
    (stroke (width 0) (type default))
    (uuid 36a9f0f9-8f2c-4009-b802-cc6ee55052c0)
  )
  (wire (pts (xy 153.67 41.91) (xy 153.67 44.45))
    (stroke (width 0) (type default))
    (uuid 374f16c1-6023-4cc2-9edb-9c7040bed7d7)
  )
  (wire (pts (xy 49.53 41.91) (xy 63.5 41.91))
    (stroke (width 0) (type default))
    (uuid 38a361ac-559e-4c60-87f1-d87e42b00ab2)
  )
  (wire (pts (xy 199.39 48.26) (xy 209.55 48.26))
    (stroke (width 0) (type default))
    (uuid 38b32360-2d92-45c6-a693-29277178bfbe)
  )
  (wire (pts (xy 40.64 41.91) (xy 40.64 46.99))
    (stroke (width 0) (type default))
    (uuid 390ef02a-5d78-4d3c-a8d9-65dbffb532a4)
  )
  (wire (pts (xy 252.73 45.72) (xy 262.89 45.72))
    (stroke (width 0) (type default))
    (uuid 3aa2bab7-c802-42ea-8f55-75fe6351f8f3)
  )
  (wire (pts (xy 223.52 143.51) (xy 223.52 146.05))
    (stroke (width 0) (type default))
    (uuid 3abc1cfc-6c12-4de0-b984-440768e376d9)
  )
  (wire (pts (xy 160.02 109.22) (xy 166.37 109.22))
    (stroke (width 0) (type default))
    (uuid 3c13001f-41ca-4777-9df9-88b87a76a1e2)
  )
  (wire (pts (xy 143.51 41.91) (xy 143.51 49.53))
    (stroke (width 0) (type default))
    (uuid 3f944628-9c1f-4e6c-a799-aa030573a8de)
  )
  (wire (pts (xy 199.39 43.18) (xy 209.55 43.18))
    (stroke (width 0) (type default))
    (uuid 40544bc1-3588-40bd-8069-ec2330a5ace0)
  )
  (wire (pts (xy 124.46 137.16) (xy 130.81 137.16))
    (stroke (width 0) (type default))
    (uuid 43c5d977-d232-4277-a3db-76e3608302af)
  )
  (wire (pts (xy 124.46 121.92) (xy 130.81 121.92))
    (stroke (width 0) (type default))
    (uuid 43dd6441-7552-45ba-b24e-c025ccb1fc42)
  )
  (wire (pts (xy 124.46 106.68) (xy 130.81 106.68))
    (stroke (width 0) (type default))
    (uuid 4510a17d-1e1b-4bda-a917-748968b02af6)
  )
  (wire (pts (xy 50.8 111.76) (xy 63.5 111.76))
    (stroke (width 0) (type default))
    (uuid 451416f1-f836-4be3-9caa-93bcadf54996)
  )
  (wire (pts (xy 62.23 129.54) (xy 73.66 129.54))
    (stroke (width 0) (type default))
    (uuid 4707597f-a2ab-49ce-b960-f9e051f665c4)
  )
  (wire (pts (xy 262.89 48.26) (xy 260.35 48.26))
    (stroke (width 0) (type default))
    (uuid 4736ca44-24a3-4bfb-a598-6bbef8746ce7)
  )
  (wire (pts (xy 71.12 68.58) (xy 71.12 63.5))
    (stroke (width 0) (type default))
    (uuid 4b83a175-011e-49db-959f-3594e18e7627)
  )
  (wire (pts (xy 153.67 59.69) (xy 156.21 59.69))
    (stroke (width 0) (type default))
    (uuid 4be054c5-b7a6-474d-9984-2f838275e32f)
  )
  (wire (pts (xy 102.87 44.45) (xy 102.87 49.53))
    (stroke (width 0) (type default))
    (uuid 4d2d7d68-7a37-45ea-930b-17f48000ffe0)
  )
  (polyline (pts (xy 165.1 12.7) (xy 165.1 81.28))
    (stroke (width 0) (type default))
    (uuid 4d3bf0a9-478c-46bb-999e-42e04cdf34ea)
  )

  (wire (pts (xy 96.52 96.52) (xy 96.52 93.98))
    (stroke (width 0) (type default))
    (uuid 4d9c59db-b9a3-4598-abf5-d9efa31773e3)
  )
  (wire (pts (xy 124.46 109.22) (xy 153.67 109.22))
    (stroke (width 0) (type default))
    (uuid 4f51538b-3e56-4df3-bbe1-3410854a2670)
  )
  (polyline (pts (xy 205.74 81.28) (xy 205.74 165.1))
    (stroke (width 0) (type default))
    (uuid 4fb0e0d6-036f-47e0-ab64-ae0a946ec3a8)
  )

  (wire (pts (xy 246.38 113.03) (xy 252.73 113.03))
    (stroke (width 0) (type default))
    (uuid 506f3edb-fd32-4309-afee-a75151b2e56d)
  )
  (wire (pts (xy 220.98 35.56) (xy 220.98 38.1))
    (stroke (width 0) (type default))
    (uuid 5239e174-e74b-4dde-bb9c-9c84529f7d68)
  )
  (wire (pts (xy 62.23 137.16) (xy 73.66 137.16))
    (stroke (width 0) (type default))
    (uuid 52514492-0d8b-41a9-bb8e-a0493022330a)
  )
  (wire (pts (xy 27.94 38.1) (xy 27.94 41.91))
    (stroke (width 0) (type default))
    (uuid 55ef0981-e6d4-4b01-aef3-5d3f75c3b10a)
  )
  (wire (pts (xy 101.6 93.98) (xy 101.6 96.52))
    (stroke (width 0) (type default))
    (uuid 5681781f-71a5-4945-84c9-79ab2fbd12c0)
  )
  (wire (pts (xy 38.1 57.15) (xy 54.61 57.15))
    (stroke (width 0) (type default))
    (uuid 56c1e4c0-9733-436c-95ec-60f3b7cdf56c)
  )
  (wire (pts (xy 68.58 50.8) (xy 68.58 53.34))
    (stroke (width 0) (type default))
    (uuid 5aada9a0-3238-4e3d-a9d4-7441f23286ed)
  )
  (wire (pts (xy 124.46 144.78) (xy 130.81 144.78))
    (stroke (width 0) (type default))
    (uuid 5c391359-af37-4ba8-a497-fab0c26a62bc)
  )
  (wire (pts (xy 124.46 157.48) (xy 130.81 157.48))
    (stroke (width 0) (type default))
    (uuid 5ff2c140-6c71-46d2-937c-279236e44739)
  )
  (wire (pts (xy 246.38 105.41) (xy 248.92 105.41))
    (stroke (width 0) (type default))
    (uuid 600eaae1-bde9-46d9-b4f5-541e0e4436c4)
  )
  (wire (pts (xy 57.15 101.6) (xy 57.15 104.14))
    (stroke (width 0) (type default))
    (uuid 649ddeb0-82fe-4468-a032-ac2cb457ed58)
  )
  (wire (pts (xy 68.58 114.3) (xy 73.66 114.3))
    (stroke (width 0) (type default))
    (uuid 6572ca3f-7bc5-4fc3-837e-faab47dcffea)
  )
  (wire (pts (xy 64.77 154.94) (xy 64.77 156.21))
    (stroke (width 0) (type default))
    (uuid 662b319f-7ef1-4d5e-8eed-6ef519acc753)
  )
  (wire (pts (xy 97.79 44.45) (xy 92.71 44.45))
    (stroke (width 0) (type default))
    (uuid 66b33871-4306-4b8b-bf36-c0ee2f63eec0)
  )
  (wire (pts (xy 124.46 116.84) (xy 130.81 116.84))
    (stroke (width 0) (type default))
    (uuid 670aafdc-15b1-4a7c-9b79-7ea321221010)
  )
  (wire (pts (xy 106.68 96.52) (xy 106.68 93.98))
    (stroke (width 0) (type default))
    (uuid 68b6a711-8e1d-4713-b7d7-db94d8278cf1)
  )
  (wire (pts (xy 124.46 147.32) (xy 130.81 147.32))
    (stroke (width 0) (type default))
    (uuid 6b4e7db6-8a8f-46e0-b4ef-b12ac7e57bad)
  )
  (wire (pts (xy 27.94 67.31) (xy 27.94 69.85))
    (stroke (width 0) (type default))
    (uuid 6b5e9513-8b5c-4c81-805d-e2bd696126fc)
  )
  (wire (pts (xy 248.92 118.11) (xy 248.92 120.65))
    (stroke (width 0) (type default))
    (uuid 6c8b74d8-ac28-4976-875b-be63fee97d04)
  )
  (wire (pts (xy 248.92 123.19) (xy 248.92 125.73))
    (stroke (width 0) (type default))
    (uuid 6d4eca09-9e08-4b19-b1f8-8a48da40fb11)
  )
  (wire (pts (xy 107.95 59.69) (xy 113.03 59.69))
    (stroke (width 0) (type default))
    (uuid 6d714851-4794-41d8-8355-64faac420e7d)
  )
  (wire (pts (xy 199.39 50.8) (xy 209.55 50.8))
    (stroke (width 0) (type default))
    (uuid 6d93b2bc-576a-45f4-ad99-8fb033e0a4ad)
  )
  (wire (pts (xy 104.14 96.52) (xy 104.14 93.98))
    (stroke (width 0) (type default))
    (uuid 6f21e92d-d042-4549-8192-55c4ae80372e)
  )
  (wire (pts (xy 181.61 121.92) (xy 181.61 124.46))
    (stroke (width 0) (type default))
    (uuid 6fb8aa39-e348-4f7a-84ac-4b762e063100)
  )
  (wire (pts (xy 153.67 111.76) (xy 156.21 111.76))
    (stroke (width 0) (type default))
    (uuid 6fe50ffd-1321-453c-ac23-bfd46e6ca111)
  )
  (wire (pts (xy 105.41 41.91) (xy 105.41 44.45))
    (stroke (width 0) (type default))
    (uuid 736c5926-9c0d-4ffb-a20e-7342a639a7f1)
  )
  (wire (pts (xy 151.13 44.45) (xy 151.13 49.53))
    (stroke (width 0) (type default))
    (uuid 73c859cd-5b92-424a-a72e-13dfe55d90f2)
  )
  (wire (pts (xy 109.22 91.44) (xy 109.22 96.52))
    (stroke (width 0) (type default))
    (uuid 73ce6abd-597a-4847-97cd-dd4ab45958e2)
  )
  (wire (pts (xy 45.72 160.02) (xy 45.72 162.56))
    (stroke (width 0) (type default))
    (uuid 74a487f2-5106-4828-bb73-31927b3c4a17)
  )
  (wire (pts (xy 264.16 113.03) (xy 264.16 115.57))
    (stroke (width 0) (type default))
    (uuid 76e3cbb5-af92-43b8-acca-885bcf31fc3b)
  )
  (wire (pts (xy 134.62 41.91) (xy 134.62 49.53))
    (stroke (width 0) (type default))
    (uuid 76eff05c-7c47-44a0-9613-a9bfb25381e7)
  )
  (wire (pts (xy 124.46 152.4) (xy 130.81 152.4))
    (stroke (width 0) (type default))
    (uuid 7725f727-1326-47ed-8cca-2de8878e23a5)
  )
  (wire (pts (xy 38.1 46.99) (xy 40.64 46.99))
    (stroke (width 0) (type default))
    (uuid 7824f4ef-9555-4de2-b720-422151e521c9)
  )
  (wire (pts (xy 45.72 149.86) (xy 50.8 149.86))
    (stroke (width 0) (type default))
    (uuid 7d2ee461-c6ba-4bb7-991b-25bef7de8c51)
  )
  (wire (pts (xy 60.96 149.86) (xy 60.96 152.4))
    (stroke (width 0) (type default))
    (uuid 7e637131-5149-4912-84aa-5d9113ced701)
  )
  (wire (pts (xy 62.23 132.08) (xy 73.66 132.08))
    (stroke (width 0) (type default))
    (uuid 7e8089ee-5f6b-4432-a1c7-0beb07dae6b2)
  )
  (wire (pts (xy 123.19 54.61) (xy 123.19 59.69))
    (stroke (width 0) (type default))
    (uuid 7e8d1058-d6c6-4247-969a-1c5311e9e0d7)
  )
  (wire (pts (xy 124.46 167.64) (xy 130.81 167.64))
    (stroke (width 0) (type default))
    (uuid 81d88c33-c1ef-476c-8447-efb95ab802bb)
  )
  (wire (pts (xy 257.81 113.03) (xy 264.16 113.03))
    (stroke (width 0) (type default))
    (uuid 82e4ef6b-a030-461d-ad9a-804adbe29830)
  )
  (wire (pts (xy 105.41 59.69) (xy 107.95 59.69))
    (stroke (width 0) (type default))
    (uuid 837f95db-cfed-4286-8508-c1aa1e9ea29a)
  )
  (wire (pts (xy 231.14 43.18) (xy 243.84 43.18))
    (stroke (width 0) (type default))
    (uuid 849db03f-9fa1-4c76-b58a-869ee2a82116)
  )
  (wire (pts (xy 248.92 120.65) (xy 246.38 120.65))
    (stroke (width 0) (type default))
    (uuid 8564d43c-2699-4505-af3a-e9e6091af447)
  )
  (wire (pts (xy 38.1 54.61) (xy 54.61 54.61))
    (stroke (width 0) (type default))
    (uuid 863f739e-7d28-4263-ab6f-3f73a4469310)
  )
  (wire (pts (xy 71.12 53.34) (xy 71.12 58.42))
    (stroke (width 0) (type default))
    (uuid 8654c084-6d3d-4810-b4e7-854e53ba98af)
  )
  (wire (pts (xy 181.61 124.46) (xy 187.96 124.46))
    (stroke (width 0) (type default))
    (uuid 865b898a-557f-4e97-83f1-eb1f6fde087f)
  )
  (wire (pts (xy 62.23 127) (xy 73.66 127))
    (stroke (width 0) (type default))
    (uuid 8713bc33-a1f8-4608-a2b3-11d02da8753e)
  )
  (wire (pts (xy 107.95 44.45) (xy 113.03 44.45))
    (stroke (width 0) (type default))
    (uuid 8855db78-9a23-46f6-b8c7-e953d308b8c9)
  )
  (wire (pts (xy 63.5 172.72) (xy 73.66 172.72))
    (stroke (width 0) (type default))
    (uuid 88da4d4c-4607-400c-b2da-c147d338220f)
  )
  (wire (pts (xy 53.34 104.14) (xy 57.15 104.14))
    (stroke (width 0) (type default))
    (uuid 8a6f6a4b-1485-4fce-87fb-b87d65bda8c8)
  )
  (wire (pts (xy 160.02 106.68) (xy 160.02 109.22))
    (stroke (width 0) (type default))
    (uuid 8c910015-8566-405b-b9a0-3a7567f5cf3e)
  )
  (wire (pts (xy 97.79 59.69) (xy 102.87 59.69))
    (stroke (width 0) (type default))
    (uuid 8dd537e7-b38b-420b-a3d4-937c5b9a8070)
  )
  (wire (pts (xy 68.58 53.34) (xy 71.12 53.34))
    (stroke (width 0) (type default))
    (uuid 8e1dfb1f-2ebb-4dbc-a79c-309990aac9c3)
  )
  (wire (pts (xy 257.81 110.49) (xy 264.16 110.49))
    (stroke (width 0) (type default))
    (uuid 8e2677af-e75d-4044-b253-a7da4b03f57f)
  )
  (wire (pts (xy 175.26 124.46) (xy 181.61 124.46))
    (stroke (width 0) (type default))
    (uuid 8ff4bde8-9db1-482e-b502-e276dae3bb2a)
  )
  (wire (pts (xy 102.87 59.69) (xy 105.41 59.69))
    (stroke (width 0) (type default))
    (uuid 9242f0a4-6b8a-42fe-996d-058ac66a34d1)
  )
  (wire (pts (xy 57.15 93.98) (xy 57.15 96.52))
    (stroke (width 0) (type default))
    (uuid 92a6f0c1-1c58-4091-8254-764ce80f6da4)
  )
  (wire (pts (xy 60.96 157.48) (xy 60.96 160.02))
    (stroke (width 0) (type default))
    (uuid 935f46b3-0b45-4ef7-8003-c3810cddb0d7)
  )
  (wire (pts (xy 40.64 38.1) (xy 40.64 41.91))
    (stroke (width 0) (type default))
    (uuid 940a22e5-47fc-4c0e-b422-586c47e353a4)
  )
  (wire (pts (xy 66.04 58.42) (xy 66.04 53.34))
    (stroke (width 0) (type default))
    (uuid 94a8802e-2ab1-40cc-8042-4baf028ecfcb)
  )
  (wire (pts (xy 40.64 30.48) (xy 40.64 33.02))
    (stroke (width 0) (type default))
    (uuid 94cfd0eb-9f95-4d9a-af66-60e8acce0d41)
  )
  (wire (pts (xy 68.58 68.58) (xy 68.58 71.12))
    (stroke (width 0) (type default))
    (uuid 95e41a08-8bb7-42e3-947d-56cf55764594)
  )
  (wire (pts (xy 186.69 66.04) (xy 186.69 68.58))
    (stroke (width 0) (type default))
    (uuid 960bbd20-4f21-4de6-8609-8cc98c611f76)
  )
  (wire (pts (xy 66.04 68.58) (xy 68.58 68.58))
    (stroke (width 0) (type default))
    (uuid 97e14525-0196-4451-bfef-4ea458ea1a74)
  )
  (wire (pts (xy 124.46 111.76) (xy 153.67 111.76))
    (stroke (width 0) (type default))
    (uuid 991a2e94-5e7d-44f2-a47e-4149d5616a61)
  )
  (wire (pts (xy 38.1 59.69) (xy 54.61 59.69))
    (stroke (width 0) (type default))
    (uuid 9a4a972b-61e6-4e83-9b19-eb1333ec4bde)
  )
  (wire (pts (xy 99.06 187.96) (xy 99.06 190.5))
    (stroke (width 0) (type default))
    (uuid 9abf66ed-9e8f-4346-89f9-3ed19b135dbb)
  )
  (wire (pts (xy 124.46 177.8) (xy 130.81 177.8))
    (stroke (width 0) (type default))
    (uuid 9f529fb4-7b51-49c2-942f-c68ba6dcf23d)
  )
  (wire (pts (xy 124.46 160.02) (xy 130.81 160.02))
    (stroke (width 0) (type default))
    (uuid a0a99825-fd1c-4fdc-806c-eb66aa73ddc6)
  )
  (wire (pts (xy 102.87 54.61) (xy 102.87 59.69))
    (stroke (width 0) (type default))
    (uuid a36bf448-442b-4507-8b06-ee2b898caa40)
  )
  (wire (pts (xy 55.88 160.02) (xy 60.96 160.02))
    (stroke (width 0) (type default))
    (uuid a591008c-eea5-4186-9b07-0a9d2693a9a5)
  )
  (wire (pts (xy 156.21 99.06) (xy 156.21 101.6))
    (stroke (width 0) (type default))
    (uuid a5e2890c-e8b8-479f-9ca8-43fe665c857b)
  )
  (wire (pts (xy 63.5 170.18) (xy 73.66 170.18))
    (stroke (width 0) (type default))
    (uuid a5fc5954-bd3a-464c-ad04-430a3e0c5c53)
  )
  (wire (pts (xy 220.98 58.42) (xy 220.98 60.96))
    (stroke (width 0) (type default))
    (uuid a7f07f06-5988-478b-8ec8-5b2941e8fd34)
  )
  (wire (pts (xy 246.38 110.49) (xy 252.73 110.49))
    (stroke (width 0) (type default))
    (uuid a842ed49-b637-4e5e-8289-950a7da28b4d)
  )
  (wire (pts (xy 124.46 154.94) (xy 130.81 154.94))
    (stroke (width 0) (type default))
    (uuid a873ddeb-b9ee-4381-90d7-32863d5c2357)
  )
  (wire (pts (xy 62.23 121.92) (xy 73.66 121.92))
    (stroke (width 0) (type default))
    (uuid a8d39e0e-dfdf-4092-afdd-fd71e2018c3a)
  )
  (wire (pts (xy 124.46 165.1) (xy 130.81 165.1))
    (stroke (width 0) (type default))
    (uuid a97c7b88-273b-448e-b2e8-1c9f41993add)
  )
  (wire (pts (xy 68.58 68.58) (xy 71.12 68.58))
    (stroke (width 0) (type default))
    (uuid ac9de699-afa2-45be-b34f-3710d1aefeae)
  )
  (wire (pts (xy 104.14 93.98) (xy 101.6 93.98))
    (stroke (width 0) (type default))
    (uuid ae4bc2ce-8d43-427e-ab22-86eaba4e70d5)
  )
  (wire (pts (xy 124.46 175.26) (xy 130.81 175.26))
    (stroke (width 0) (type default))
    (uuid ae58ddd9-be2d-43dc-a4aa-e9c982c80f1e)
  )
  (wire (pts (xy 92.71 59.69) (xy 97.79 59.69))
    (stroke (width 0) (type default))
    (uuid aef61638-b370-4536-8878-69e59256fe67)
  )
  (wire (pts (xy 40.64 46.99) (xy 54.61 46.99))
    (stroke (width 0) (type default))
    (uuid af153f8e-5a2a-40d2-8478-4b8036b907da)
  )
  (wire (pts (xy 92.71 54.61) (xy 92.71 59.69))
    (stroke (width 0) (type default))
    (uuid b03abd51-1777-44fc-88d8-03607e708af8)
  )
  (wire (pts (xy 153.67 59.69) (xy 153.67 62.23))
    (stroke (width 0) (type default))
    (uuid b10db4d9-3bfa-484f-ba40-89d74937c51a)
  )
  (wire (pts (xy 260.35 48.26) (xy 260.35 50.8))
    (stroke (width 0) (type default))
    (uuid b1cd36b7-9d1d-4d8d-bc55-ea4185cd3778)
  )
  (wire (pts (xy 124.46 104.14) (xy 130.81 104.14))
    (stroke (width 0) (type default))
    (uuid b4dc0da1-7101-4690-a367-c882057e38a0)
  )
  (wire (pts (xy 248.92 120.65) (xy 259.08 120.65))
    (stroke (width 0) (type default))
    (uuid bbf5f042-4b8b-4a3d-ac54-3991ecc06923)
  )
  (wire (pts (xy 124.46 180.34) (xy 130.81 180.34))
    (stroke (width 0) (type default))
    (uuid bdf206a5-d648-4b2a-a1b6-7412c192c068)
  )
  (wire (pts (xy 55.88 149.86) (xy 60.96 149.86))
    (stroke (width 0) (type default))
    (uuid c2d19d83-c9b4-46bd-8435-0584f630164d)
  )
  (wire (pts (xy 177.8 114.3) (xy 177.8 116.84))
    (stroke (width 0) (type default))
    (uuid c3cfed1d-2773-40ef-b8f1-6c6baf75adb1)
  )
  (wire (pts (xy 186.69 33.02) (xy 186.69 35.56))
    (stroke (width 0) (type default))
    (uuid c623a8b9-00c8-411f-a380-b394911faff6)
  )
  (wire (pts (xy 177.8 127) (xy 187.96 127))
    (stroke (width 0) (type default))
    (uuid c9532668-34d9-44a3-8477-61b79842509a)
  )
  (wire (pts (xy 124.46 132.08) (xy 130.81 132.08))
    (stroke (width 0) (type default))
    (uuid c96cff21-0037-4745-9223-ebc6a918d5fa)
  )
  (wire (pts (xy 264.16 110.49) (xy 264.16 113.03))
    (stroke (width 0) (type default))
    (uuid c98c184c-477f-4d32-ad57-ad3490b13119)
  )
  (wire (pts (xy 246.38 118.11) (xy 248.92 118.11))
    (stroke (width 0) (type default))
    (uuid ce4d3eff-c162-49ff-86cf-6f26b8f2fb9d)
  )
  (wire (pts (xy 156.21 44.45) (xy 153.67 44.45))
    (stroke (width 0) (type default))
    (uuid d12aa157-0054-4ae9-aa8a-ccecd581203d)
  )
  (wire (pts (xy 246.38 123.19) (xy 248.92 123.19))
    (stroke (width 0) (type default))
    (uuid d3d6799a-d615-48da-91e5-8dd1d83adf40)
  )
  (wire (pts (xy 97.79 54.61) (xy 97.79 59.69))
    (stroke (width 0) (type default))
    (uuid d3f7b8e2-41be-45a8-a96c-17e77f07ad0c)
  )
  (wire (pts (xy 248.92 123.19) (xy 259.08 123.19))
    (stroke (width 0) (type default))
    (uuid d6383ac1-1936-4436-93a2-bb7763a1e5be)
  )
  (wire (pts (xy 50.8 160.02) (xy 45.72 160.02))
    (stroke (width 0) (type default))
    (uuid d6971aed-0ca1-4614-a00c-c2f8457f57e9)
  )
  (wire (pts (xy 66.04 53.34) (xy 68.58 53.34))
    (stroke (width 0) (type default))
    (uuid d7f01b26-9b06-4805-8e5b-741db06cd986)
  )
  (wire (pts (xy 124.46 129.54) (xy 130.81 129.54))
    (stroke (width 0) (type default))
    (uuid d9ec84ff-16ac-41df-8c9d-32be02c7b704)
  )
  (wire (pts (xy 143.51 54.61) (xy 143.51 62.23))
    (stroke (width 0) (type default))
    (uuid dc6c698b-eb09-4e06-a988-bd6c50f03af0)
  )
  (wire (pts (xy 124.46 114.3) (xy 130.81 114.3))
    (stroke (width 0) (type default))
    (uuid dc6d1c19-6fef-491a-8a27-e07a98336b8c)
  )
  (wire (pts (xy 181.61 114.3) (xy 181.61 116.84))
    (stroke (width 0) (type default))
    (uuid dca5e827-a718-453d-b9ed-8f379a01a5cb)
  )
  (wire (pts (xy 73.66 149.86) (xy 60.96 149.86))
    (stroke (width 0) (type default))
    (uuid dce39a1c-2c64-44c3-81e2-32d80916bb7f)
  )
  (wire (pts (xy 118.11 54.61) (xy 118.11 59.69))
    (stroke (width 0) (type default))
    (uuid ddde36c0-214f-4bcc-bb05-6dcb694e31e9)
  )
  (wire (pts (xy 71.12 180.34) (xy 71.12 182.88))
    (stroke (width 0) (type default))
    (uuid df82aed0-e5bd-432a-9b7b-c56790e13a7d)
  )
  (wire (pts (xy 248.92 125.73) (xy 246.38 125.73))
    (stroke (width 0) (type default))
    (uuid e606bd51-c8d5-44cb-9661-887e258c43ca)
  )
  (wire (pts (xy 50.8 114.3) (xy 63.5 114.3))
    (stroke (width 0) (type default))
    (uuid e62d0e72-ce27-4dbd-9ece-9ac6ee8dc3a1)
  )
  (wire (pts (xy 175.26 127) (xy 177.8 127))
    (stroke (width 0) (type default))
    (uuid e7f1e63a-8113-4408-8c4d-12e038c2be66)
  )
  (wire (pts (xy 68.58 111.76) (xy 73.66 111.76))
    (stroke (width 0) (type default))
    (uuid e8a82b97-5040-40fa-8c09-71382049cf87)
  )
  (wire (pts (xy 63.5 154.94) (xy 64.77 154.94))
    (stroke (width 0) (type default))
    (uuid e93813d6-210e-4b4d-9767-036770e225c0)
  )
  (wire (pts (xy 105.41 59.69) (xy 105.41 62.23))
    (stroke (width 0) (type default))
    (uuid e94f866f-b127-4e24-9096-96ae0e6879bf)
  )
  (wire (pts (xy 156.21 59.69) (xy 156.21 54.61))
    (stroke (width 0) (type default))
    (uuid ea0e25d7-c154-43bb-81a6-ee827ae57489)
  )
  (wire (pts (xy 38.1 52.07) (xy 54.61 52.07))
    (stroke (width 0) (type default))
    (uuid ea89ac3c-0659-4657-80d5-c7f99633000e)
  )
  (wire (pts (xy 106.68 93.98) (xy 104.14 93.98))
    (stroke (width 0) (type default))
    (uuid eaee4cd4-a29b-422c-be83-79e8a18cfe3f)
  )
  (wire (pts (xy 105.41 44.45) (xy 107.95 44.45))
    (stroke (width 0) (type default))
    (uuid ec1ef9b0-611a-4139-8778-aaf40d4ce2e1)
  )
  (wire (pts (xy 248.92 102.87) (xy 248.92 105.41))
    (stroke (width 0) (type default))
    (uuid ee54cd41-94b6-4af8-990f-9e3ccc0eecb1)
  )
  (wire (pts (xy 45.72 149.86) (xy 45.72 160.02))
    (stroke (width 0) (type default))
    (uuid ef09c6e2-e938-4ec6-9e3a-185fe3e91229)
  )
  (wire (pts (xy 124.46 142.24) (xy 130.81 142.24))
    (stroke (width 0) (type default))
    (uuid ef2331cf-6672-4199-88fb-ef7845c773a6)
  )
  (wire (pts (xy 124.46 127) (xy 175.26 127))
    (stroke (width 0) (type default))
    (uuid efa10dba-f413-4ac2-a693-ee6aedc441dc)
  )
  (wire (pts (xy 113.03 59.69) (xy 118.11 59.69))
    (stroke (width 0) (type default))
    (uuid f048eb41-0271-4e3c-8d74-6002777443cc)
  )
  (wire (pts (xy 101.6 91.44) (xy 101.6 93.98))
    (stroke (width 0) (type default))
    (uuid f549336d-a654-4cd4-8eb4-1472ec8496c9)
  )
  (wire (pts (xy 97.79 44.45) (xy 102.87 44.45))
    (stroke (width 0) (type default))
    (uuid f5a7d8f5-ac45-4bfe-a2ec-7b8c04490aa2)
  )
  (wire (pts (xy 156.21 106.68) (xy 156.21 111.76))
    (stroke (width 0) (type default))
    (uuid f71ec013-8fa1-468d-a906-f6691401cbe1)
  )
  (wire (pts (xy 231.14 48.26) (xy 243.84 48.26))
    (stroke (width 0) (type default))
    (uuid f81347b6-abb4-4d40-a8b1-0b9aa7a65d4b)
  )
  (wire (pts (xy 252.73 43.18) (xy 262.89 43.18))
    (stroke (width 0) (type default))
    (uuid f83e7bd9-3d71-46f4-9832-104c3d81058c)
  )
  (wire (pts (xy 73.66 160.02) (xy 71.12 160.02))
    (stroke (width 0) (type default))
    (uuid f970cb24-7802-4718-8045-7c8ecac9ef90)
  )
  (wire (pts (xy 231.14 143.51) (xy 231.14 146.05))
    (stroke (width 0) (type default))
    (uuid fb70a99c-a603-4934-af00-da20f6091310)
  )
  (wire (pts (xy 118.11 59.69) (xy 123.19 59.69))
    (stroke (width 0) (type default))
    (uuid fbeb82d7-9652-43eb-a9c5-ac2c5c97d83b)
  )
  (polyline (pts (xy 12.7 81.28) (xy 284.48 81.28))
    (stroke (width 0) (type default))
    (uuid fdc0d6d5-6b7a-49d9-a6e1-4b21d0303583)
  )

  (wire (pts (xy 124.46 172.72) (xy 130.81 172.72))
    (stroke (width 0) (type default))
    (uuid fdf59ab8-afec-4991-b236-628e44961050)
  )
  (wire (pts (xy 160.02 99.06) (xy 160.02 101.6))
    (stroke (width 0) (type default))
    (uuid fe28f077-fbc4-4ef0-b986-a0fb8fb96473)
  )
  (wire (pts (xy 113.03 44.45) (xy 113.03 49.53))
    (stroke (width 0) (type default))
    (uuid ffcceec2-b815-4e90-a358-eab28acf60a9)
  )

  (text "Debug\n" (at 220.98 19.05 0)
    (effects (font (size 3 3)) (justify left bottom))
    (uuid 00b81961-eb3b-4bfb-8eb3-427902827da5)
  )
  (text "RP2040 Decaps\n" (at 113.03 19.05 0)
    (effects (font (size 3 3)) (justify left bottom))
    (uuid 08ad9473-a264-4519-b76c-692cceabdba0)
  )
  (text "RP2040 Flash" (at 22.86 19.05 0)
    (effects (font (size 3 3)) (justify left bottom))
    (uuid 1a4d7556-aa1d-451a-aacb-d80e7aef9eed)
  )
  (text "Pullup not needed by\nchosen flash part\n" (at 43.18 36.83 0)
    (effects (font (size 1.27 1.27)) (justify left bottom))
    (uuid aa31a5f9-e331-47af-95f9-fa88de8191eb)
  )
  (text "RP2040\n" (at 21.59 88.9 0)
    (effects (font (size 3 3)) (justify left bottom))
    (uuid b64c7155-22b4-4576-bd70-00a69d2e85bc)
  )
  (text "VREG_IN\n" (at 132.08 62.23 90)
    (effects (font (size 1.27 1.27)) (justify left bottom))
    (uuid c9090563-3640-42a7-bc03-c7411066be1a)
  )
  (text "PICO uses 2.2 uF.\nHardware design guide uses 1 uF."
    (at 111.76 76.2 0)
    (effects (font (size 1.27 1.27)) (justify left bottom))
    (uuid d281f28a-1bfd-43e2-a23f-ce99775d9fbd)
  )
  (text "VREG_OUT\n" (at 140.97 62.23 90)
    (effects (font (size 1.27 1.27)) (justify left bottom))
    (uuid dc941166-1a40-4ece-b3f5-16395b62ac8c)
  )
  (text "TODO: Tune passives for XTAL\n" (at 48.26 165.1 0)
    (effects (font (size 1.27 1.27)) (justify left bottom))
    (uuid de83017d-a50f-4b09-8883-9e30fb7d5c3b)
  )
  (text "IOVDD" (at 91.44 54.61 90)
    (effects (font (size 1.27 1.27)) (justify right bottom))
    (uuid e53b9b8a-138f-49fc-9ad4-3fe7a5018be7)
  )
  (text "DVDD" (at 149.86 58.42 90)
    (effects (font (size 1.27 1.27)) (justify left bottom))
    (uuid ed27a7fb-4df5-4e27-9c45-512c1ea19ea7)
  )
  (text "USB" (at 238.76 88.9 0)
    (effects (font (size 3 3)) (justify left bottom))
    (uuid ef3c423c-ea6d-4e9b-bfb1-4cee42be4d54)
  )

  (label "QSPI_SD3" (at 54.61 59.69 180) (fields_autoplaced)
    (effects (font (size 1.27 1.27)) (justify right bottom))
    (uuid 0be7bd5a-efbc-48cb-a9ba-c409f59b8930)
  )
  (label "QSPI_SD1" (at 62.23 129.54 0) (fields_autoplaced)
    (effects (font (size 1.27 1.27)) (justify left bottom))
    (uuid 1f3a03de-8315-42c4-82d7-57508982ad14)
  )
  (label "SWDIO" (at 243.84 50.8 180) (fields_autoplaced)
    (effects (font (size 1.27 1.27)) (justify right bottom))
    (uuid 34d7a1f1-4db5-476f-8fad-c56749c24d50)
  )
  (label "UART_RX" (at 252.73 45.72 0) (fields_autoplaced)
    (effects (font (size 1.27 1.27)) (justify left bottom))
    (uuid 3ec09fd3-e48d-4e1b-9aea-b81912b30a3d)
  )
  (label "QSPI_SD2" (at 62.23 132.08 0) (fields_autoplaced)
    (effects (font (size 1.27 1.27)) (justify left bottom))
    (uuid 3f2e3825-6481-4c8f-a9cf-2d265ca9c61d)
  )
  (label "USBD_P" (at 50.8 111.76 0) (fields_autoplaced)
    (effects (font (size 1.27 1.27)) (justify left bottom))
    (uuid 4bec6725-79e3-4c28-80ac-cc997743fd72)
  )
  (label "USBD_N" (at 50.8 114.3 0) (fields_autoplaced)
    (effects (font (size 1.27 1.27)) (justify left bottom))
    (uuid 4e435f94-65f0-446b-bcbe-31126abc0287)
  )
  (label "QSPI_SD0" (at 62.23 127 0) (fields_autoplaced)
    (effects (font (size 1.27 1.27)) (justify left bottom))
    (uuid 4fa5f3f3-55f1-444a-93fb-39259ccb662b)
  )
  (label "SWCLK" (at 243.84 48.26 180) (fields_autoplaced)
    (effects (font (size 1.27 1.27)) (justify right bottom))
    (uuid 50af6a2b-14a1-4cfd-8a79-eb32a491671e)
  )
  (label "USB_BOOT_N" (at 63.5 41.91 180) (fields_autoplaced)
    (effects (font (size 1.27 1.27)) (justify right bottom))
    (uuid 52a5761e-cdbf-477a-acd0-4b918e492531)
  )
  (label "UART_TX" (at 252.73 43.18 0) (fields_autoplaced)
    (effects (font (size 1.27 1.27)) (justify left bottom))
    (uuid 5c364673-76b7-4123-9109-db9849255768)
  )
  (label "RESET_N" (at 62.23 104.14 0) (fields_autoplaced)
    (effects (font (size 1.27 1.27)) (justify left bottom))
    (uuid 5edda507-5038-46d4-abb9-ff1979e52228)
  )
  (label "SWCLK" (at 209.55 48.26 180) (fields_autoplaced)
    (effects (font (size 1.27 1.27)) (justify right bottom))
    (uuid 621f3cba-9e1d-4e18-9e2f-311c1fdcd1ff)
  )
  (label "SWCLK" (at 63.5 170.18 0) (fields_autoplaced)
    (effects (font (size 1.27 1.27)) (justify left bottom))
    (uuid 75eac18e-d664-412e-8f7b-723f2d3fe181)
  )
  (label "QSPI_SD2" (at 54.61 57.15 180) (fields_autoplaced)
    (effects (font (size 1.27 1.27)) (justify right bottom))
    (uuid 82569ed7-92e2-47ae-ab39-c4b25ed9a0dc)
  )
  (label "QSPI_SD3" (at 62.23 134.62 0) (fields_autoplaced)
    (effects (font (size 1.27 1.27)) (justify left bottom))
    (uuid a488c73c-85e6-4273-a4f9-17cab25a6e18)
  )
  (label "USBD_N" (at 259.08 120.65 180) (fields_autoplaced)
    (effects (font (size 1.27 1.27)) (justify right bottom))
    (uuid a57e07ef-aec4-454f-88c6-5802e02b241e)
  )
  (label "QSPI_CS_N" (at 54.61 46.99 180) (fields_autoplaced)
    (effects (font (size 1.27 1.27)) (justify right bottom))
    (uuid b802aea0-9bf0-4a3f-a06c-26aa7122fc66)
  )
  (label "SWDIO" (at 209.55 50.8 180) (fields_autoplaced)
    (effects (font (size 1.27 1.27)) (justify right bottom))
    (uuid bbd5df03-5735-4311-83c8-46746c929b01)
  )
  (label "QSPI_CS_N" (at 62.23 121.92 0) (fields_autoplaced)
    (effects (font (size 1.27 1.27)) (justify left bottom))
    (uuid c0174a29-18e1-4a17-9773-545a5a835fe6)
  )
  (label "SWDIO" (at 63.5 172.72 0) (fields_autoplaced)
    (effects (font (size 1.27 1.27)) (justify left bottom))
    (uuid cc08f859-b1e3-4037-959f-0c62853de5f0)
  )
  (label "QSPI_SD0" (at 54.61 52.07 180) (fields_autoplaced)
    (effects (font (size 1.27 1.27)) (justify right bottom))
    (uuid ce6a722f-3e6f-4a7b-9a5c-d448a68ca49d)
  )
  (label "QSPI_CLK" (at 54.61 49.53 180) (fields_autoplaced)
    (effects (font (size 1.27 1.27)) (justify right bottom))
    (uuid d75d5555-b67a-4886-82b4-9271448ec972)
  )
  (label "RESET_N" (at 243.84 43.18 180) (fields_autoplaced)
    (effects (font (size 1.27 1.27)) (justify right bottom))
    (uuid d96f3a83-c32c-43be-a5d6-f26c8a2ec547)
  )
  (label "QSPI_SD1" (at 54.61 54.61 180) (fields_autoplaced)
    (effects (font (size 1.27 1.27)) (justify right bottom))
    (uuid dabcaaf9-3f2c-49cf-81b1-d0759efcd2de)
  )
  (label "RESET_N" (at 209.55 43.18 180) (fields_autoplaced)
    (effects (font (size 1.27 1.27)) (justify right bottom))
    (uuid e59f9ab8-f2fd-4d32-8584-4098245cab0e)
  )
  (label "USBD_P" (at 259.08 123.19 180) (fields_autoplaced)
    (effects (font (size 1.27 1.27)) (justify right bottom))
    (uuid ecc43977-0e67-4494-876c-b7a49f1afa1a)
  )
  (label "QSPI_CLK" (at 62.23 137.16 0) (fields_autoplaced)
    (effects (font (size 1.27 1.27)) (justify left bottom))
    (uuid fcffac34-9220-4566-a697-b39722629058)
  )

  (global_label "STATUS_B" (shape input) (at 130.81 167.64 0) (fields_autoplaced)
    (effects (font (size 1.27 1.27)) (justify left))
    (uuid 0c107d7a-f367-4083-b026-3c115c914c51)
    (property "Intersheetrefs" "${INTERSHEET_REFS}" (at 142.8061 167.64 0)
      (effects (font (size 1.27 1.27)) (justify left) hide)
    )
  )
  (global_label "C3_RESET_N" (shape input) (at 130.81 157.48 0) (fields_autoplaced)
    (effects (font (size 1.27 1.27)) (justify left))
    (uuid 16c9b938-dd55-451d-a13d-04d62ea124be)
    (property "Intersheetrefs" "${INTERSHEET_REFS}" (at 145.2855 157.48 0)
      (effects (font (size 1.27 1.27)) (justify left) hide)
    )
  )
  (global_label "IO_INT_N" (shape input) (at 130.81 132.08 0) (fields_autoplaced)
    (effects (font (size 1.27 1.27)) (justify left))
    (uuid 1cc70ae6-3743-4aa7-a466-4e3dbd7ca4e2)
    (property "Intersheetrefs" "${INTERSHEET_REFS}" (at 141.8991 132.08 0)
      (effects (font (size 1.27 1.27)) (justify left) hide)
    )
  )
  (global_label "RP2040_SPI_CLK" (shape input) (at 130.81 172.72 0) (fields_autoplaced)
    (effects (font (size 1.27 1.27)) (justify left))
    (uuid 2a2f1be3-44a8-4d3e-8578-dc5b04936cd1)
    (property "Intersheetrefs" "${INTERSHEET_REFS}" (at 149.7608 172.72 0)
      (effects (font (size 1.27 1.27)) (justify left) hide)
    )
  )
  (global_label "AUDIO_SD" (shape input) (at 130.81 114.3 0) (fields_autoplaced)
    (effects (font (size 1.27 1.27)) (justify left))
    (uuid 3b9a4477-f291-432f-8500-210854596bd8)
    (property "Intersheetrefs" "${INTERSHEET_REFS}" (at 142.8667 114.3 0)
      (effects (font (size 1.27 1.27)) (justify left) hide)
    )
  )
  (global_label "AUDIO_LRCLK" (shape input) (at 130.81 121.92 0) (fields_autoplaced)
    (effects (font (size 1.27 1.27)) (justify left))
    (uuid 3df6d1ba-3fd5-4e4d-8c30-f2fa7824d80a)
    (property "Intersheetrefs" "${INTERSHEET_REFS}" (at 146.2534 121.92 0)
      (effects (font (size 1.27 1.27)) (justify left) hide)
    )
  )
  (global_label "IO_RESET_N" (shape input) (at 130.81 129.54 0) (fields_autoplaced)
    (effects (font (size 1.27 1.27)) (justify left))
    (uuid 40bd2b73-1c5f-435c-9701-6255ed3ba716)
    (property "Intersheetrefs" "${INTERSHEET_REFS}" (at 144.7413 129.54 0)
      (effects (font (size 1.27 1.27)) (justify left) hide)
    )
  )
  (global_label "AUDIO_DATA" (shape input) (at 130.81 116.84 0) (fields_autoplaced)
    (effects (font (size 1.27 1.27)) (justify left))
    (uuid 4fee6dab-f8d9-4039-b450-653e152fa48c)
    (property "Intersheetrefs" "${INTERSHEET_REFS}" (at 144.802 116.84 0)
      (effects (font (size 1.27 1.27)) (justify left) hide)
    )
  )
  (global_label "USB_BOOT_N" (shape input) (at 63.5 41.91 0) (fields_autoplaced)
    (effects (font (size 1.27 1.27)) (justify left))
    (uuid 72d01db7-d053-4e15-9552-5f607bd17423)
    (property "Intersheetrefs" "${INTERSHEET_REFS}" (at 78.4595 41.91 0)
      (effects (font (size 1.27 1.27)) (justify left) hide)
    )
  )
  (global_label "DISP_D_C" (shape input) (at 130.81 154.94 0) (fields_autoplaced)
    (effects (font (size 1.27 1.27)) (justify left))
    (uuid 73271d5a-91b0-45ee-8898-70e1d9fd5175)
    (property "Intersheetrefs" "${INTERSHEET_REFS}" (at 142.6247 154.94 0)
      (effects (font (size 1.27 1.27)) (justify left) hide)
    )
  )
  (global_label "SENSOR_SCL" (shape input) (at 187.96 127 0) (fields_autoplaced)
    (effects (font (size 1.27 1.27)) (justify left))
    (uuid 75d9329e-b4d2-46e7-9aa4-1ea0259c38f8)
    (property "Intersheetrefs" "${INTERSHEET_REFS}" (at 202.9194 127 0)
      (effects (font (size 1.27 1.27)) (justify left) hide)
    )
  )
  (global_label "DISP_CS_N" (shape input) (at 130.81 147.32 0) (fields_autoplaced)
    (effects (font (size 1.27 1.27)) (justify left))
    (uuid 8054fd09-aa7e-4171-a831-b0dce3bd1152)
    (property "Intersheetrefs" "${INTERSHEET_REFS}" (at 143.8947 147.32 0)
      (effects (font (size 1.27 1.27)) (justify left) hide)
    )
  )
  (global_label "DISP_CLK" (shape input) (at 130.81 149.86 0) (fields_autoplaced)
    (effects (font (size 1.27 1.27)) (justify left))
    (uuid 8684c543-5d14-4666-b08a-8af1ec89c625)
    (property "Intersheetrefs" "${INTERSHEET_REFS}" (at 142.6852 149.86 0)
      (effects (font (size 1.27 1.27)) (justify left) hide)
    )
  )
  (global_label "DISP_SDI" (shape input) (at 130.81 152.4 0) (fields_autoplaced)
    (effects (font (size 1.27 1.27)) (justify left))
    (uuid 8888a4ac-9c78-4d48-89a0-f769efabcc59)
    (property "Intersheetrefs" "${INTERSHEET_REFS}" (at 142.2014 152.4 0)
      (effects (font (size 1.27 1.27)) (justify left) hide)
    )
  )
  (global_label "RP2040_SPI_CS" (shape input) (at 130.81 180.34 0) (fields_autoplaced)
    (effects (font (size 1.27 1.27)) (justify left))
    (uuid 8d599a41-c393-408b-b5fe-f7491790c0bb)
    (property "Intersheetrefs" "${INTERSHEET_REFS}" (at 148.6722 180.34 0)
      (effects (font (size 1.27 1.27)) (justify left) hide)
    )
  )
  (global_label "DISP_FMARK" (shape input) (at 130.81 144.78 0) (fields_autoplaced)
    (effects (font (size 1.27 1.27)) (justify left))
    (uuid 8ed84f41-3271-449b-966a-f19d1e46eba8)
    (property "Intersheetrefs" "${INTERSHEET_REFS}" (at 145.2857 144.78 0)
      (effects (font (size 1.27 1.27)) (justify left) hide)
    )
  )
  (global_label "GAUGE_ALERT_N" (shape input) (at 130.81 139.7 0) (fields_autoplaced)
    (effects (font (size 1.27 1.27)) (justify left))
    (uuid 8f1d55e4-dabe-4b5b-8dea-4e4299809bac)
    (property "Intersheetrefs" "${INTERSHEET_REFS}" (at 148.6723 139.7 0)
      (effects (font (size 1.27 1.27)) (justify left) hide)
    )
  )
  (global_label "IMU_FSYNC" (shape input) (at 130.81 137.16 0) (fields_autoplaced)
    (effects (font (size 1.27 1.27)) (justify left))
    (uuid 934e9871-f67c-43ce-90f1-dc43adefa356)
    (property "Intersheetrefs" "${INTERSHEET_REFS}" (at 144.1367 137.16 0)
      (effects (font (size 1.27 1.27)) (justify left) hide)
    )
  )
  (global_label "TOUCH_IRQ" (shape input) (at 130.81 160.02 0) (fields_autoplaced)
    (effects (font (size 1.27 1.27)) (justify left))
    (uuid 96fee976-99ee-4198-b514-7e62236c3f11)
    (property "Intersheetrefs" "${INTERSHEET_REFS}" (at 144.1972 160.02 0)
      (effects (font (size 1.27 1.27)) (justify left) hide)
    )
  )
  (global_label "IO_SDA" (shape input) (at 166.37 109.22 0) (fields_autoplaced)
    (effects (font (size 1.27 1.27)) (justify left))
    (uuid 9c2f4aeb-ff5c-417d-86b4-1ff82f0cc608)
    (property "Intersheetrefs" "${INTERSHEET_REFS}" (at 175.8262 109.22 0)
      (effects (font (size 1.27 1.27)) (justify left) hide)
    )
  )
  (global_label "DISP_BACKLIGHT" (shape input) (at 130.81 142.24 0) (fields_autoplaced)
    (effects (font (size 1.27 1.27)) (justify left))
    (uuid a9ef5b6b-00e8-4ea0-ba07-e0dc306d3b32)
    (property "Intersheetrefs" "${INTERSHEET_REFS}" (at 149.2167 142.24 0)
      (effects (font (size 1.27 1.27)) (justify left) hide)
    )
  )
  (global_label "IO_SCL" (shape input) (at 166.37 111.76 0) (fields_autoplaced)
    (effects (font (size 1.27 1.27)) (justify left))
    (uuid ae812313-c3e6-4771-bedb-4f0f87b01987)
    (property "Intersheetrefs" "${INTERSHEET_REFS}" (at 175.7657 111.76 0)
      (effects (font (size 1.27 1.27)) (justify left) hide)
    )
  )
  (global_label "UART_RX" (shape input) (at 130.81 106.68 0) (fields_autoplaced)
    (effects (font (size 1.27 1.27)) (justify left))
    (uuid b5abcec0-65a7-406d-a260-82a2edac4551)
    (property "Intersheetrefs" "${INTERSHEET_REFS}" (at 141.899 106.68 0)
      (effects (font (size 1.27 1.27)) (justify left) hide)
    )
  )
  (global_label "RESET_N" (shape input) (at 53.34 104.14 180) (fields_autoplaced)
    (effects (font (size 1.27 1.27)) (justify right))
    (uuid b672abf6-bb1d-484c-ae6d-d61b97e88f33)
    (property "Intersheetrefs" "${INTERSHEET_REFS}" (at 42.3116 104.14 0)
      (effects (font (size 1.27 1.27)) (justify right) hide)
    )
  )
  (global_label "SENSOR_SDA" (shape input) (at 187.96 124.46 0) (fields_autoplaced)
    (effects (font (size 1.27 1.27)) (justify left))
    (uuid bbb20d68-9c09-40b2-98ca-b0fb0953fcd9)
    (property "Intersheetrefs" "${INTERSHEET_REFS}" (at 202.9799 124.46 0)
      (effects (font (size 1.27 1.27)) (justify left) hide)
    )
  )
  (global_label "UART_TX" (shape input) (at 130.81 104.14 0) (fields_autoplaced)
    (effects (font (size 1.27 1.27)) (justify left))
    (uuid cd7a5f2d-ba36-4d58-bd42-3e8695154fa1)
    (property "Intersheetrefs" "${INTERSHEET_REFS}" (at 141.5966 104.14 0)
      (effects (font (size 1.27 1.27)) (justify left) hide)
    )
  )
  (global_label "RP2040_SPI_DO" (shape input) (at 130.81 175.26 0) (fields_autoplaced)
    (effects (font (size 1.27 1.27)) (justify left))
    (uuid ce4bf138-391a-43ad-9266-73de202983f4)
    (property "Intersheetrefs" "${INTERSHEET_REFS}" (at 148.7932 175.26 0)
      (effects (font (size 1.27 1.27)) (justify left) hide)
    )
  )
  (global_label "AUDIO_BCLK" (shape input) (at 130.81 119.38 0) (fields_autoplaced)
    (effects (font (size 1.27 1.27)) (justify left))
    (uuid e7982300-a043-4bd2-a03f-a2075ff655e4)
    (property "Intersheetrefs" "${INTERSHEET_REFS}" (at 145.2253 119.38 0)
      (effects (font (size 1.27 1.27)) (justify left) hide)
    )
  )
  (global_label "STATUS_G" (shape input) (at 130.81 165.1 0) (fields_autoplaced)
    (effects (font (size 1.27 1.27)) (justify left))
    (uuid e9ed3467-b08d-452f-949d-2f47e0394518)
    (property "Intersheetrefs" "${INTERSHEET_REFS}" (at 142.8061 165.1 0)
      (effects (font (size 1.27 1.27)) (justify left) hide)
    )
  )
  (global_label "IMU_INT2" (shape input) (at 130.81 134.62 0) (fields_autoplaced)
    (effects (font (size 1.27 1.27)) (justify left))
    (uuid f79ea4cc-ffcf-496f-a009-18d93a5b1f35)
    (property "Intersheetrefs" "${INTERSHEET_REFS}" (at 142.2619 134.62 0)
      (effects (font (size 1.27 1.27)) (justify left) hide)
    )
  )
  (global_label "STATUS_R" (shape input) (at 130.81 162.56 0) (fields_autoplaced)
    (effects (font (size 1.27 1.27)) (justify left))
    (uuid f7c20df8-8161-4b7a-a7a2-f64e4dcb46ba)
    (property "Intersheetrefs" "${INTERSHEET_REFS}" (at 142.8061 162.56 0)
      (effects (font (size 1.27 1.27)) (justify left) hide)
    )
  )
  (global_label "RP2040_SPI_DI" (shape input) (at 130.81 177.8 0) (fields_autoplaced)
    (effects (font (size 1.27 1.27)) (justify left))
    (uuid fd0724e3-146d-49d4-8002-2a611594f4d2)
    (property "Intersheetrefs" "${INTERSHEET_REFS}" (at 148.0675 177.8 0)
      (effects (font (size 1.27 1.27)) (justify left) hide)
    )
  )

  (symbol (lib_id "power:+3V3") (at 134.62 41.91 0) (unit 1)
    (in_bom yes) (on_board yes) (dnp no) (fields_autoplaced)
    (uuid 015e2789-a1e0-4aeb-bfe3-b83c7f5f3158)
    (property "Reference" "#PWR018" (at 134.62 45.72 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Value" "+3V3" (at 134.62 36.83 0)
      (effects (font (size 1.27 1.27)))
    )
    (property "Footprint" "" (at 134.62 41.91 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Datasheet" "" (at 134.62 41.91 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (pin "1" (uuid a04a5a23-08ca-44ef-a6d2-71c058790602))
    (instances
      (project "kudzu"
        (path "/30e30bdf-50e5-46a8-92c7-0e280cceabe8"
          (reference "#PWR018") (unit 1)
        )
        (path "/30e30bdf-50e5-46a8-92c7-0e280cceabe8/25d24ea5-31a5-40ab-afee-5209d35e3063"
          (reference "#PWR019") (unit 1)
        )
      )
    )
  )

  (symbol (lib_id "power:+3V3") (at 177.8 114.3 0) (unit 1)
    (in_bom yes) (on_board yes) (dnp no)
    (uuid 07d39b96-94ba-4859-9791-cfe4a4f6b00a)
    (property "Reference" "#PWR060" (at 177.8 118.11 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Value" "+3V3" (at 177.8 109.22 90)
      (effects (font (size 1.27 1.27)))
    )
    (property "Footprint" "" (at 177.8 114.3 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Datasheet" "" (at 177.8 114.3 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (pin "1" (uuid 60298e07-36c6-4406-b6f4-b72815f49248))
    (instances
      (project "kudzu"
        (path "/30e30bdf-50e5-46a8-92c7-0e280cceabe8"
          (reference "#PWR060") (unit 1)
        )
        (path "/30e30bdf-50e5-46a8-92c7-0e280cceabe8/25d24ea5-31a5-40ab-afee-5209d35e3063"
          (reference "#PWR023") (unit 1)
        )
      )
    )
  )

  (symbol (lib_id "power:GND") (at 68.58 71.12 0) (unit 1)
    (in_bom yes) (on_board yes) (dnp no) (fields_autoplaced)
    (uuid 09a891b4-a507-44a2-9d34-1316879b3c2d)
    (property "Reference" "#PWR014" (at 68.58 77.47 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Value" "GND" (at 68.58 76.2 0)
      (effects (font (size 1.27 1.27)))
    )
    (property "Footprint" "" (at 68.58 71.12 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Datasheet" "" (at 68.58 71.12 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (pin "1" (uuid 373c08a3-3857-4d30-a5cd-608df2de5a4c))
    (instances
      (project "kudzu"
        (path "/30e30bdf-50e5-46a8-92c7-0e280cceabe8"
          (reference "#PWR014") (unit 1)
        )
        (path "/30e30bdf-50e5-46a8-92c7-0e280cceabe8/25d24ea5-31a5-40ab-afee-5209d35e3063"
          (reference "#PWR0101") (unit 1)
        )
      )
    )
  )

  (symbol (lib_id "power:+3V3") (at 186.69 33.02 0) (unit 1)
    (in_bom yes) (on_board yes) (dnp no) (fields_autoplaced)
    (uuid 1b1ff62b-22d0-4564-aa1e-775029741b99)
    (property "Reference" "#PWR018" (at 186.69 36.83 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Value" "+3V3" (at 186.69 27.94 0)
      (effects (font (size 1.27 1.27)))
    )
    (property "Footprint" "" (at 186.69 33.02 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Datasheet" "" (at 186.69 33.02 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (pin "1" (uuid 969f6e97-b791-4fdc-9a76-0505ef7cb9ac))
    (instances
      (project "kudzu"
        (path "/30e30bdf-50e5-46a8-92c7-0e280cceabe8"
          (reference "#PWR018") (unit 1)
        )
        (path "/30e30bdf-50e5-46a8-92c7-0e280cceabe8/25d24ea5-31a5-40ab-afee-5209d35e3063"
          (reference "#PWR07") (unit 1)
        )
      )
    )
  )

  (symbol (lib_id "power:GND") (at 264.16 115.57 0) (unit 1)
    (in_bom yes) (on_board yes) (dnp no) (fields_autoplaced)
    (uuid 1e49a3c4-9725-4c9b-85f9-e5824f830429)
    (property "Reference" "#PWR067" (at 264.16 121.92 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Value" "GND" (at 264.16 120.65 0)
      (effects (font (size 1.27 1.27)))
    )
    (property "Footprint" "" (at 264.16 115.57 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Datasheet" "" (at 264.16 115.57 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (pin "1" (uuid 8b140921-db25-4fa3-bef9-5c9ef1101b89))
    (instances
      (project "kudzu"
        (path "/30e30bdf-50e5-46a8-92c7-0e280cceabe8"
          (reference "#PWR067") (unit 1)
        )
        (path "/30e30bdf-50e5-46a8-92c7-0e280cceabe8/25d24ea5-31a5-40ab-afee-5209d35e3063"
          (reference "#PWR067") (unit 1)
        )
      )
    )
  )

  (symbol (lib_id "Device:C_Small") (at 92.71 52.07 0) (unit 1)
    (in_bom yes) (on_board yes) (dnp no)
    (uuid 1f77eef7-4f77-4bda-830b-68e488188b06)
    (property "Reference" "C3" (at 93.98 55.88 90)
      (effects (font (size 1.27 1.27)) (justify left))
    )
    (property "Value" "100nF" (at 91.44 50.8 90)
      (effects (font (size 1.27 1.27)) (justify left))
    )
    (property "Footprint" "Capacitor_SMD:C_0603_1608Metric" (at 92.71 52.07 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Datasheet" "~" (at 92.71 52.07 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Price @ 10" "0.01200" (at 92.71 52.07 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Price @ 25" "0.00856" (at 92.71 52.07 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "DigiKey PN" "1276-1000-2-ND" (at 92.71 52.07 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (pin "1" (uuid e25b211d-1d59-4869-be37-af64125f79a8))
    (pin "2" (uuid d7d127d5-c0ae-40b3-a755-4adc5ea11e69))
    (instances
      (project "kudzu"
        (path "/30e30bdf-50e5-46a8-92c7-0e280cceabe8"
          (reference "C3") (unit 1)
        )
        (path "/30e30bdf-50e5-46a8-92c7-0e280cceabe8/25d24ea5-31a5-40ab-afee-5209d35e3063"
          (reference "C3") (unit 1)
        )
      )
    )
  )

  (symbol (lib_id "Device:R_Small") (at 68.58 160.02 90) (unit 1)
    (in_bom yes) (on_board yes) (dnp no)
    (uuid 1fefc9e3-7068-4710-8b41-92193e0bbb42)
    (property "Reference" "R5" (at 64.77 161.29 90)
      (effects (font (size 1.27 1.27)))
    )
    (property "Value" "1K" (at 72.39 161.29 90)
      (effects (font (size 1.27 1.27)))
    )
    (property "Footprint" "Resistor_SMD:R_0603_1608Metric" (at 68.58 160.02 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Datasheet" "~" (at 68.58 160.02 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Price @ 10" "0.01400" (at 68.58 160.02 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Price @ 25" "0.00860" (at 68.58 160.02 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "DigiKey PN" "RMCF0603FT1K00TR-ND" (at 68.58 160.02 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (pin "1" (uuid 622a294f-ad8e-4fa8-b7ca-3f455e262de4))
    (pin "2" (uuid 25918452-1d86-4a79-bf36-18dab7180fa4))
    (instances
      (project "kudzu"
        (path "/30e30bdf-50e5-46a8-92c7-0e280cceabe8"
          (reference "R5") (unit 1)
        )
        (path "/30e30bdf-50e5-46a8-92c7-0e280cceabe8/25d24ea5-31a5-40ab-afee-5209d35e3063"
          (reference "R5") (unit 1)
        )
      )
    )
  )

  (symbol (lib_id "power:+3V3") (at 57.15 93.98 0) (unit 1)
    (in_bom yes) (on_board yes) (dnp no) (fields_autoplaced)
    (uuid 23050293-d9c5-4d8e-b658-8c8eaa8bbb26)
    (property "Reference" "#PWR017" (at 57.15 97.79 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Value" "+3V3" (at 57.15 88.9 0)
      (effects (font (size 1.27 1.27)))
    )
    (property "Footprint" "" (at 57.15 93.98 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Datasheet" "" (at 57.15 93.98 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (pin "1" (uuid 8b8dee1e-c3cf-412e-81f8-08a4b232a5d0))
    (instances
      (project "kudzu"
        (path "/30e30bdf-50e5-46a8-92c7-0e280cceabe8"
          (reference "#PWR017") (unit 1)
        )
        (path "/30e30bdf-50e5-46a8-92c7-0e280cceabe8/25d24ea5-31a5-40ab-afee-5209d35e3063"
          (reference "#PWR086") (unit 1)
        )
      )
    )
  )

  (symbol (lib_id "power:+3V3") (at 40.64 30.48 0) (unit 1)
    (in_bom yes) (on_board yes) (dnp no) (fields_autoplaced)
    (uuid 24025910-a493-4b72-9c4a-ecad341398a7)
    (property "Reference" "#PWR05" (at 40.64 34.29 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Value" "+3V3" (at 40.64 25.4 0)
      (effects (font (size 1.27 1.27)))
    )
    (property "Footprint" "" (at 40.64 30.48 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Datasheet" "" (at 40.64 30.48 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (pin "1" (uuid af113b9d-e60f-432f-b071-7ce6bb44c068))
    (instances
      (project "kudzu"
        (path "/30e30bdf-50e5-46a8-92c7-0e280cceabe8"
          (reference "#PWR05") (unit 1)
        )
        (path "/30e30bdf-50e5-46a8-92c7-0e280cceabe8/25d24ea5-31a5-40ab-afee-5209d35e3063"
          (reference "#PWR011") (unit 1)
        )
      )
    )
  )

  (symbol (lib_id "power:GND") (at 153.67 62.23 0) (unit 1)
    (in_bom yes) (on_board yes) (dnp no) (fields_autoplaced)
    (uuid 25fb82d4-23a1-43a8-9dc1-27272a76f9e2)
    (property "Reference" "#PWR024" (at 153.67 68.58 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Value" "GND" (at 153.67 67.31 0)
      (effects (font (size 1.27 1.27)))
    )
    (property "Footprint" "" (at 153.67 62.23 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Datasheet" "" (at 153.67 62.23 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (pin "1" (uuid e3d7077f-aeac-4b5d-9930-fce1eda658ac))
    (instances
      (project "kudzu"
        (path "/30e30bdf-50e5-46a8-92c7-0e280cceabe8"
          (reference "#PWR024") (unit 1)
        )
        (path "/30e30bdf-50e5-46a8-92c7-0e280cceabe8/25d24ea5-31a5-40ab-afee-5209d35e3063"
          (reference "#PWR078") (unit 1)
        )
      )
    )
  )

  (symbol (lib_id "Connector:TestPoint") (at 175.26 124.46 0) (unit 1)
    (in_bom yes) (on_board yes) (dnp no)
    (uuid 27c64b7b-ac60-4f1c-9611-79cdf299e556)
    (property "Reference" "TP18" (at 175.26 118.11 90)
      (effects (font (size 1.27 1.27)))
    )
    (property "Value" "SENSOR_SDA" (at 177.8 121.158 90)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Footprint" "TestPoint:TestPoint_Pad_D1.0mm" (at 180.34 124.46 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Datasheet" "~" (at 180.34 124.46 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Price @ 10" "" (at 175.26 124.46 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Price @ 25" "" (at 175.26 124.46 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (pin "1" (uuid 55fa9872-0931-4e61-b9d2-703eef08e9b9))
    (instances
      (project "kudzu"
        (path "/30e30bdf-50e5-46a8-92c7-0e280cceabe8"
          (reference "TP18") (unit 1)
        )
        (path "/30e30bdf-50e5-46a8-92c7-0e280cceabe8/25d24ea5-31a5-40ab-afee-5209d35e3063"
          (reference "TP18") (unit 1)
        )
      )
    )
  )

  (symbol (lib_id "power:GND") (at 220.98 60.96 0) (unit 1)
    (in_bom yes) (on_board yes) (dnp no) (fields_autoplaced)
    (uuid 2804f3bd-144b-4fe3-9685-e907e2deb3de)
    (property "Reference" "#PWR08" (at 220.98 67.31 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Value" "GND" (at 220.98 66.04 0)
      (effects (font (size 1.27 1.27)))
    )
    (property "Footprint" "" (at 220.98 60.96 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Datasheet" "" (at 220.98 60.96 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (pin "1" (uuid 09c7521f-6b44-43ad-84dd-b0cf377d8f9e))
    (instances
      (project "kudzu"
        (path "/30e30bdf-50e5-46a8-92c7-0e280cceabe8"
          (reference "#PWR08") (unit 1)
        )
        (path "/30e30bdf-50e5-46a8-92c7-0e280cceabe8/25d24ea5-31a5-40ab-afee-5209d35e3063"
          (reference "#PWR010") (unit 1)
        )
      )
    )
  )

  (symbol (lib_id "power:GND") (at 260.35 50.8 0) (unit 1)
    (in_bom yes) (on_board yes) (dnp no) (fields_autoplaced)
    (uuid 2e942984-6b4b-4d5c-ba38-1df6a5f0e18d)
    (property "Reference" "#PWR056" (at 260.35 57.15 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Value" "GND" (at 260.35 55.88 0)
      (effects (font (size 1.27 1.27)))
    )
    (property "Footprint" "" (at 260.35 50.8 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Datasheet" "" (at 260.35 50.8 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (pin "1" (uuid cdde094d-6fc8-4648-952a-5c5f6d5f8eef))
    (instances
      (project "kudzu"
        (path "/30e30bdf-50e5-46a8-92c7-0e280cceabe8"
          (reference "#PWR056") (unit 1)
        )
        (path "/30e30bdf-50e5-46a8-92c7-0e280cceabe8/25d24ea5-31a5-40ab-afee-5209d35e3063"
          (reference "#PWR056") (unit 1)
        )
      )
    )
  )

  (symbol (lib_id "Device:C_Small") (at 118.11 52.07 0) (unit 1)
    (in_bom yes) (on_board yes) (dnp no)
    (uuid 3411fd49-6308-4f83-950f-00a428479ad0)
    (property "Reference" "C8" (at 119.38 55.88 90)
      (effects (font (size 1.27 1.27)) (justify left))
    )
    (property "Value" "100nF" (at 116.84 50.8 90)
      (effects (font (size 1.27 1.27)) (justify left))
    )
    (property "Footprint" "Capacitor_SMD:C_0603_1608Metric" (at 118.11 52.07 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Datasheet" "~" (at 118.11 52.07 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Price @ 10" "0.01200" (at 118.11 52.07 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Price @ 25" "0.00856" (at 118.11 52.07 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "DigiKey PN" "1276-1000-2-ND" (at 118.11 52.07 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (pin "1" (uuid 5d694b2c-258e-4d43-b658-46fa13271f35))
    (pin "2" (uuid 834d5153-e159-44c0-b4e3-09583dd66221))
    (instances
      (project "kudzu"
        (path "/30e30bdf-50e5-46a8-92c7-0e280cceabe8"
          (reference "C8") (unit 1)
        )
        (path "/30e30bdf-50e5-46a8-92c7-0e280cceabe8/25d24ea5-31a5-40ab-afee-5209d35e3063"
          (reference "C8") (unit 1)
        )
      )
    )
  )

  (symbol (lib_id "Device:C_Small") (at 71.12 60.96 0) (unit 1)
    (in_bom yes) (on_board yes) (dnp no)
    (uuid 3517872d-ffb3-45db-ad29-9eeb96dea8bf)
    (property "Reference" "C8" (at 72.39 64.77 90)
      (effects (font (size 1.27 1.27)) (justify left))
    )
    (property "Value" "100nF" (at 69.85 59.69 90)
      (effects (font (size 1.27 1.27)) (justify left))
    )
    (property "Footprint" "Capacitor_SMD:C_0603_1608Metric" (at 71.12 60.96 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Datasheet" "~" (at 71.12 60.96 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Price @ 10" "0.01200" (at 71.12 60.96 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Price @ 25" "0.00856" (at 71.12 60.96 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "DigiKey PN" "1276-1000-2-ND" (at 71.12 60.96 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (pin "1" (uuid 9eca019a-6a5e-4e36-881f-9046745a1bd9))
    (pin "2" (uuid 4dc79c12-4dff-4f6f-b6bc-02c1d4fff019))
    (instances
      (project "kudzu"
        (path "/30e30bdf-50e5-46a8-92c7-0e280cceabe8"
          (reference "C8") (unit 1)
        )
        (path "/30e30bdf-50e5-46a8-92c7-0e280cceabe8/25d24ea5-31a5-40ab-afee-5209d35e3063"
          (reference "C28") (unit 1)
        )
      )
    )
  )

  (symbol (lib_id "power:GND") (at 186.69 68.58 0) (unit 1)
    (in_bom yes) (on_board yes) (dnp no) (fields_autoplaced)
    (uuid 368df5b3-c55d-40f2-b1dc-e445ba7f947b)
    (property "Reference" "#PWR010" (at 186.69 74.93 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Value" "GND" (at 186.69 73.66 0)
      (effects (font (size 1.27 1.27)))
    )
    (property "Footprint" "" (at 186.69 68.58 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Datasheet" "" (at 186.69 68.58 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (pin "1" (uuid b247478a-5632-4ea4-9e8c-e8ce402b8e6e))
    (instances
      (project "kudzu"
        (path "/30e30bdf-50e5-46a8-92c7-0e280cceabe8"
          (reference "#PWR010") (unit 1)
        )
        (path "/30e30bdf-50e5-46a8-92c7-0e280cceabe8/25d24ea5-31a5-40ab-afee-5209d35e3063"
          (reference "#PWR08") (unit 1)
        )
      )
    )
  )

  (symbol (lib_id "Device:C_Small") (at 107.95 52.07 0) (unit 1)
    (in_bom yes) (on_board yes) (dnp no)
    (uuid 38ac7f5d-1fab-45a4-b75f-d178d9348608)
    (property "Reference" "C6" (at 109.22 55.88 90)
      (effects (font (size 1.27 1.27)) (justify left))
    )
    (property "Value" "100nF" (at 106.68 50.8 90)
      (effects (font (size 1.27 1.27)) (justify left))
    )
    (property "Footprint" "Capacitor_SMD:C_0603_1608Metric" (at 107.95 52.07 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Datasheet" "~" (at 107.95 52.07 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Price @ 10" "0.01200" (at 107.95 52.07 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Price @ 25" "0.00856" (at 107.95 52.07 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "DigiKey PN" "1276-1000-2-ND" (at 107.95 52.07 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (pin "1" (uuid bf6a7857-f5a0-4aab-a589-f843d39574a1))
    (pin "2" (uuid 10b971d5-688c-43bd-ae66-e87e6405ab26))
    (instances
      (project "kudzu"
        (path "/30e30bdf-50e5-46a8-92c7-0e280cceabe8"
          (reference "C6") (unit 1)
        )
        (path "/30e30bdf-50e5-46a8-92c7-0e280cceabe8/25d24ea5-31a5-40ab-afee-5209d35e3063"
          (reference "C6") (unit 1)
        )
      )
    )
  )

  (symbol (lib_id "power:GND") (at 45.72 162.56 0) (unit 1)
    (in_bom yes) (on_board yes) (dnp no) (fields_autoplaced)
    (uuid 39c19788-7f59-480e-bf95-270c77416905)
    (property "Reference" "#PWR011" (at 45.72 168.91 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Value" "GND" (at 45.72 167.64 0)
      (effects (font (size 1.27 1.27)))
    )
    (property "Footprint" "" (at 45.72 162.56 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Datasheet" "" (at 45.72 162.56 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (pin "1" (uuid bcd3b6d6-4eed-4607-88d4-ee52de97bd45))
    (instances
      (project "kudzu"
        (path "/30e30bdf-50e5-46a8-92c7-0e280cceabe8"
          (reference "#PWR011") (unit 1)
        )
        (path "/30e30bdf-50e5-46a8-92c7-0e280cceabe8/25d24ea5-31a5-40ab-afee-5209d35e3063"
          (reference "#PWR05") (unit 1)
        )
      )
    )
  )

  (symbol (lib_id "power:+3V3") (at 101.6 91.44 0) (unit 1)
    (in_bom yes) (on_board yes) (dnp no) (fields_autoplaced)
    (uuid 3b0b4864-9c7a-4c18-a581-c00d613a4d75)
    (property "Reference" "#PWR017" (at 101.6 95.25 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Value" "+3V3" (at 101.6 86.36 0)
      (effects (font (size 1.27 1.27)))
    )
    (property "Footprint" "" (at 101.6 91.44 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Datasheet" "" (at 101.6 91.44 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (pin "1" (uuid 9aed1f37-88c2-48d9-8de3-f3419bd3d85d))
    (instances
      (project "kudzu"
        (path "/30e30bdf-50e5-46a8-92c7-0e280cceabe8"
          (reference "#PWR017") (unit 1)
        )
        (path "/30e30bdf-50e5-46a8-92c7-0e280cceabe8/25d24ea5-31a5-40ab-afee-5209d35e3063"
          (reference "#PWR015") (unit 1)
        )
      )
    )
  )

  (symbol (lib_id "power:VBUS") (at 248.92 102.87 0) (unit 1)
    (in_bom yes) (on_board yes) (dnp no) (fields_autoplaced)
    (uuid 3d068c27-a2e0-4fc2-b9d5-1320c872b36a)
    (property "Reference" "#PWR06" (at 248.92 106.68 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Value" "VBUS" (at 248.92 97.79 0)
      (effects (font (size 1.27 1.27)))
    )
    (property "Footprint" "" (at 248.92 102.87 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Datasheet" "" (at 248.92 102.87 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (pin "1" (uuid a85a9e52-1ebb-496a-adb0-7405bfd6a91f))
    (instances
      (project "kudzu"
        (path "/30e30bdf-50e5-46a8-92c7-0e280cceabe8"
          (reference "#PWR06") (unit 1)
        )
        (path "/30e30bdf-50e5-46a8-92c7-0e280cceabe8/25d24ea5-31a5-40ab-afee-5209d35e3063"
          (reference "#PWR06") (unit 1)
        )
      )
    )
  )

  (symbol (lib_id "power:+1V1") (at 93.98 91.44 0) (unit 1)
    (in_bom yes) (on_board yes) (dnp no)
    (uuid 43b3d040-d235-4694-b7e6-50a27789f60d)
    (property "Reference" "#PWR015" (at 93.98 95.25 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Value" "+1V1" (at 93.98 86.36 0)
      (effects (font (size 1.27 1.27)))
    )
    (property "Footprint" "" (at 93.98 91.44 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Datasheet" "" (at 93.98 91.44 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (pin "1" (uuid 5186e41f-5719-4ab3-9e7d-2e919675aed5))
    (instances
      (project "kudzu"
        (path "/30e30bdf-50e5-46a8-92c7-0e280cceabe8"
          (reference "#PWR015") (unit 1)
        )
        (path "/30e30bdf-50e5-46a8-92c7-0e280cceabe8/25d24ea5-31a5-40ab-afee-5209d35e3063"
          (reference "#PWR013") (unit 1)
        )
      )
    )
  )

  (symbol (lib_id "Device:R_Small") (at 66.04 114.3 90) (unit 1)
    (in_bom yes) (on_board yes) (dnp no)
    (uuid 47dcf66d-7427-4f89-b836-eca46842a15a)
    (property "Reference" "R4" (at 62.23 115.57 90)
      (effects (font (size 1.27 1.27)))
    )
    (property "Value" "27R" (at 69.85 115.57 90)
      (effects (font (size 1.27 1.27)))
    )
    (property "Footprint" "Resistor_SMD:R_0603_1608Metric" (at 66.04 114.3 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Datasheet" "~" (at 66.04 114.3 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Price @ 10" "0.01800" (at 66.04 114.3 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Price @ 25" "0.01060" (at 66.04 114.3 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "DigiKey PN" "311-27.0HRTR-ND" (at 66.04 114.3 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (pin "1" (uuid bb9c1852-104a-4b3b-8249-ce1b2e482044))
    (pin "2" (uuid 61fb09c5-29ec-438e-a1f1-70f7d3e18037))
    (instances
      (project "kudzu"
        (path "/30e30bdf-50e5-46a8-92c7-0e280cceabe8"
          (reference "R4") (unit 1)
        )
        (path "/30e30bdf-50e5-46a8-92c7-0e280cceabe8/25d24ea5-31a5-40ab-afee-5209d35e3063"
          (reference "R4") (unit 1)
        )
      )
    )
  )

  (symbol (lib_id "Device:C_Small") (at 113.03 52.07 0) (unit 1)
    (in_bom yes) (on_board yes) (dnp no)
    (uuid 4a568900-b383-4e38-a177-83e04bc80b94)
    (property "Reference" "C7" (at 114.3 55.88 90)
      (effects (font (size 1.27 1.27)) (justify left))
    )
    (property "Value" "100nF" (at 111.76 50.8 90)
      (effects (font (size 1.27 1.27)) (justify left))
    )
    (property "Footprint" "Capacitor_SMD:C_0603_1608Metric" (at 113.03 52.07 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Datasheet" "~" (at 113.03 52.07 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Price @ 10" "0.01200" (at 113.03 52.07 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Price @ 25" "0.00856" (at 113.03 52.07 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "DigiKey PN" "1276-1000-2-ND" (at 113.03 52.07 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (pin "1" (uuid 91823722-5da3-4384-ba59-21d9780e8fbc))
    (pin "2" (uuid 8bbeccc5-fe0f-4c46-a460-56a84453b6dd))
    (instances
      (project "kudzu"
        (path "/30e30bdf-50e5-46a8-92c7-0e280cceabe8"
          (reference "C7") (unit 1)
        )
        (path "/30e30bdf-50e5-46a8-92c7-0e280cceabe8/25d24ea5-31a5-40ab-afee-5209d35e3063"
          (reference "C7") (unit 1)
        )
      )
    )
  )

  (symbol (lib_id "power:+3V3") (at 109.22 91.44 0) (unit 1)
    (in_bom yes) (on_board yes) (dnp no) (fields_autoplaced)
    (uuid 4c6c0554-17ad-4fcc-bf4c-404d4736c181)
    (property "Reference" "#PWR020" (at 109.22 95.25 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Value" "+3V3" (at 109.22 86.36 0)
      (effects (font (size 1.27 1.27)))
    )
    (property "Footprint" "" (at 109.22 91.44 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Datasheet" "" (at 109.22 91.44 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (pin "1" (uuid 8f33a64f-cd3c-427b-a0a4-19f0bf4dfc5c))
    (instances
      (project "kudzu"
        (path "/30e30bdf-50e5-46a8-92c7-0e280cceabe8"
          (reference "#PWR020") (unit 1)
        )
        (path "/30e30bdf-50e5-46a8-92c7-0e280cceabe8/25d24ea5-31a5-40ab-afee-5209d35e3063"
          (reference "#PWR016") (unit 1)
        )
      )
    )
  )

  (symbol (lib_id "Device:C_Small") (at 53.34 160.02 90) (unit 1)
    (in_bom yes) (on_board yes) (dnp no)
    (uuid 4e5f9a6a-1438-44ff-9850-bac000fad512)
    (property "Reference" "C2" (at 52.07 161.29 90)
      (effects (font (size 1.27 1.27)) (justify left))
    )
    (property "Value" "27pF" (at 59.69 161.29 90)
      (effects (font (size 1.27 1.27)) (justify left))
    )
    (property "Footprint" "Capacitor_SMD:C_0603_1608Metric" (at 53.34 160.02 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Datasheet" "~" (at 53.34 160.02 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Price @ 10" "0.03400" (at 53.34 160.02 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Price @ 25" "0.01880" (at 53.34 160.02 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "DigiKey PN" "13-CC0603JPNPO9BN270CT-ND" (at 53.34 160.02 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (pin "1" (uuid 6397dcb2-8d6f-46da-94ea-9f93afa3fcda))
    (pin "2" (uuid ef5b0a39-1d50-4479-95e0-d571d5830d91))
    (instances
      (project "kudzu"
        (path "/30e30bdf-50e5-46a8-92c7-0e280cceabe8"
          (reference "C2") (unit 1)
        )
        (path "/30e30bdf-50e5-46a8-92c7-0e280cceabe8/25d24ea5-31a5-40ab-afee-5209d35e3063"
          (reference "C2") (unit 1)
        )
      )
    )
  )

  (symbol (lib_id "Device:R_Small") (at 255.27 113.03 90) (unit 1)
    (in_bom yes) (on_board yes) (dnp no)
    (uuid 53305ac5-a02b-43c1-a259-1b891ed63b1a)
    (property "Reference" "R17" (at 251.46 114.3 90)
      (effects (font (size 1.27 1.27)))
    )
    (property "Value" "5.1K" (at 259.08 114.3 90)
      (effects (font (size 1.27 1.27)))
    )
    (property "Footprint" "Resistor_SMD:R_0603_1608Metric" (at 255.27 113.03 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Datasheet" "~" (at 255.27 113.03 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Price @ 10" "0.01800" (at 255.27 113.03 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Price @ 25" "0.01060" (at 255.27 113.03 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "DigiKey PN" "311-5.10KHRTR-ND" (at 255.27 113.03 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (pin "1" (uuid ec3b8ed0-7734-4d23-af42-1fb56822b23d))
    (pin "2" (uuid 172d320b-c543-49ab-9a9c-8fdd3538fb78))
    (instances
      (project "kudzu"
        (path "/30e30bdf-50e5-46a8-92c7-0e280cceabe8"
          (reference "R17") (unit 1)
        )
        (path "/30e30bdf-50e5-46a8-92c7-0e280cceabe8/25d24ea5-31a5-40ab-afee-5209d35e3063"
          (reference "R17") (unit 1)
        )
      )
    )
  )

  (symbol (lib_id "Device:R_Small") (at 255.27 110.49 90) (unit 1)
    (in_bom yes) (on_board yes) (dnp no)
    (uuid 597138fe-ebcf-4dc0-82b3-40ee4c6000fd)
    (property "Reference" "R16" (at 251.46 111.76 90)
      (effects (font (size 1.27 1.27)))
    )
    (property "Value" "5.1K" (at 259.08 111.76 90)
      (effects (font (size 1.27 1.27)))
    )
    (property "Footprint" "Resistor_SMD:R_0603_1608Metric" (at 255.27 110.49 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Datasheet" "~" (at 255.27 110.49 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Price @ 10" "0.01800" (at 255.27 110.49 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Price @ 25" "0.01060" (at 255.27 110.49 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "DigiKey PN" "311-5.10KHRTR-ND" (at 255.27 110.49 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (pin "1" (uuid 0ea34c0a-f6c2-49d1-882c-b8ff5c8d49da))
    (pin "2" (uuid 8365362f-c87b-44d9-bf40-32c7867369c6))
    (instances
      (project "kudzu"
        (path "/30e30bdf-50e5-46a8-92c7-0e280cceabe8"
          (reference "R16") (unit 1)
        )
        (path "/30e30bdf-50e5-46a8-92c7-0e280cceabe8/25d24ea5-31a5-40ab-afee-5209d35e3063"
          (reference "R16") (unit 1)
        )
      )
    )
  )

  (symbol (lib_id "power:+3V3") (at 156.21 99.06 0) (unit 1)
    (in_bom yes) (on_board yes) (dnp no)
    (uuid 5cb37136-ce5b-4c58-b915-8e62fa06d912)
    (property "Reference" "#PWR077" (at 156.21 102.87 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Value" "+3V3" (at 156.21 93.98 90)
      (effects (font (size 1.27 1.27)))
    )
    (property "Footprint" "" (at 156.21 99.06 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Datasheet" "" (at 156.21 99.06 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (pin "1" (uuid 1f3e440c-9aff-4131-81f1-127bd7ef285b))
    (instances
      (project "kudzu"
        (path "/30e30bdf-50e5-46a8-92c7-0e280cceabe8"
          (reference "#PWR077") (unit 1)
        )
        (path "/30e30bdf-50e5-46a8-92c7-0e280cceabe8/25d24ea5-31a5-40ab-afee-5209d35e3063"
          (reference "#PWR024") (unit 1)
        )
      )
    )
  )

  (symbol (lib_id "Connector:USB_C_Receptacle_USB2.0") (at 231.14 120.65 0) (unit 1)
    (in_bom yes) (on_board yes) (dnp no) (fields_autoplaced)
    (uuid 654fa53c-4eee-4528-83c8-a71265e47cd5)
    (property "Reference" "J1" (at 231.14 97.79 0)
      (effects (font (size 1.27 1.27)))
    )
    (property "Value" "USB_C_Receptacle_USB2.0" (at 231.14 100.33 0)
      (effects (font (size 1.27 1.27)))
    )
    (property "Footprint" "Connector_USB:USB_C_Receptacle_GCT_USB4105-xx-A_16P_TopMnt_Horizontal" (at 234.95 120.65 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Datasheet" "https://www.usb.org/sites/default/files/documents/usb_type-c.zip" (at 234.95 120.65 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "DigiKey PN" "2073-USB4105-GF-ATR-ND" (at 231.14 120.65 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Price @ 10" "0.68800" (at 231.14 120.65 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Price @ 25" "0.66000" (at 231.14 120.65 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (pin "A1" (uuid 54523726-b642-44db-8ab2-58ea66b09136))
    (pin "A12" (uuid 4fce0ee6-58f5-48f6-b434-a03a8b7b2b18))
    (pin "A4" (uuid 14c7eaf9-0963-4c15-a0ab-4285fa521050))
    (pin "A5" (uuid 4ae8899c-e4ae-40c1-807f-1c135315a4ad))
    (pin "A6" (uuid d3d32221-53cb-4e8a-87f4-09a830b442eb))
    (pin "A7" (uuid 2c5f174c-6baf-4acf-ab69-c65cde8dbbc7))
    (pin "A8" (uuid 1f585f80-fe5c-4078-8e6a-d031fcd39750))
    (pin "A9" (uuid dba827c8-2311-4e78-8162-dc1dfeefecaa))
    (pin "B1" (uuid 4b243bdf-c7e1-474c-a219-bbf4932a0d92))
    (pin "B12" (uuid 92821d5e-02bd-46c7-a12b-b76a4c6cab94))
    (pin "B4" (uuid c2821b8e-517d-4f66-9227-2f4f4c135c6b))
    (pin "B5" (uuid 79d01e29-e433-4144-97ca-bcafa45384e4))
    (pin "B6" (uuid a1279590-0111-4c5c-b2cd-c1b6d7a9039b))
    (pin "B7" (uuid ac9d8159-2fea-4291-aa1a-1dfc9eecd87b))
    (pin "B8" (uuid 5125bf37-a7f0-4a29-aa40-d1b90aa0c569))
    (pin "B9" (uuid 8cad52fa-f109-4019-b931-47dd15eb7f2c))
    (pin "S1" (uuid ef0bddb5-f094-435f-b5f1-bfe869dcb6bc))
    (instances
      (project "kudzu"
        (path "/30e30bdf-50e5-46a8-92c7-0e280cceabe8"
          (reference "J1") (unit 1)
        )
        (path "/30e30bdf-50e5-46a8-92c7-0e280cceabe8/25d24ea5-31a5-40ab-afee-5209d35e3063"
          (reference "J1") (unit 1)
        )
      )
    )
  )

  (symbol (lib_id "Device:C_Small") (at 134.62 52.07 0) (unit 1)
    (in_bom yes) (on_board yes) (dnp no)
    (uuid 67b0358a-ea35-4092-930a-6b75e2b49467)
    (property "Reference" "C9" (at 135.89 55.88 90)
      (effects (font (size 1.27 1.27)) (justify left))
    )
    (property "Value" "2.2uF" (at 133.35 50.8 90)
      (effects (font (size 1.27 1.27)) (justify left))
    )
    (property "Footprint" "Capacitor_SMD:C_0603_1608Metric" (at 134.62 52.07 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Datasheet" "~" (at 134.62 52.07 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Price @ 10" "0.03460" (at 134.62 52.07 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Price @ 25" "0.02830" (at 134.62 52.07 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "DigiKey PN" "1276-1040-2-ND" (at 134.62 52.07 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (pin "1" (uuid 4e1925dc-5147-449c-960a-08db70810bf5))
    (pin "2" (uuid 7bbfd1db-f8df-4542-87de-0ab2e07a12ad))
    (instances
      (project "kudzu"
        (path "/30e30bdf-50e5-46a8-92c7-0e280cceabe8"
          (reference "C9") (unit 1)
        )
        (path "/30e30bdf-50e5-46a8-92c7-0e280cceabe8/25d24ea5-31a5-40ab-afee-5209d35e3063"
          (reference "C9") (unit 1)
        )
      )
    )
  )

  (symbol (lib_id "Device:Crystal_GND24_Small") (at 60.96 154.94 90) (unit 1)
    (in_bom yes) (on_board yes) (dnp no)
    (uuid 6cad436c-d32d-40e7-8418-92e8f6b8cd7a)
    (property "Reference" "Y1" (at 63.5 151.13 90)
      (effects (font (size 1.27 1.27)) (justify right))
    )
    (property "Value" "12 MHz" (at 64.77 153.67 90)
      (effects (font (size 1.27 1.27)) (justify right))
    )
    (property "Footprint" "Crystal:Crystal_SMD_3225-4Pin_3.2x2.5mm" (at 60.96 154.94 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Datasheet" "~" (at 60.96 154.94 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Price @ 10" "0.19500" (at 60.96 154.94 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Price @ 25" "0.17580" (at 60.96 154.94 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "DigiKey PN" "2151-RH100-12.000-12-1010-EXT-TRCT-ND" (at 60.96 154.94 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (pin "1" (uuid 96f7f6fe-a047-43e0-800e-f20a779fd6b2))
    (pin "2" (uuid b2dc213c-3755-47cd-bca8-ca844bfaaab0))
    (pin "3" (uuid 5ad23e27-9379-43ea-8b58-95f947a9a1f9))
    (pin "4" (uuid d3f06a4b-3708-40ad-b5c3-26f71d81eabc))
    (instances
      (project "kudzu"
        (path "/30e30bdf-50e5-46a8-92c7-0e280cceabe8"
          (reference "Y1") (unit 1)
        )
        (path "/30e30bdf-50e5-46a8-92c7-0e280cceabe8/25d24ea5-31a5-40ab-afee-5209d35e3063"
          (reference "Y1") (unit 1)
        )
      )
    )
  )

  (symbol (lib_id "power:+3V3") (at 160.02 99.06 0) (unit 1)
    (in_bom yes) (on_board yes) (dnp no)
    (uuid 70a1243a-5e71-46cb-9487-324953c6be40)
    (property "Reference" "#PWR078" (at 160.02 102.87 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Value" "+3V3" (at 160.02 93.98 90)
      (effects (font (size 1.27 1.27)))
    )
    (property "Footprint" "" (at 160.02 99.06 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Datasheet" "" (at 160.02 99.06 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (pin "1" (uuid 08d492a1-e962-4eef-aa34-b1b92982cb34))
    (instances
      (project "kudzu"
        (path "/30e30bdf-50e5-46a8-92c7-0e280cceabe8"
          (reference "#PWR078") (unit 1)
        )
        (path "/30e30bdf-50e5-46a8-92c7-0e280cceabe8/25d24ea5-31a5-40ab-afee-5209d35e3063"
          (reference "#PWR060") (unit 1)
        )
      )
    )
  )

  (symbol (lib_id "Connector:Conn_ARM_JTAG_SWD_10") (at 186.69 50.8 0) (unit 1)
    (in_bom yes) (on_board yes) (dnp yes)
    (uuid 7245a8db-0efa-4f05-b53a-a62f7c99f06d)
    (property "Reference" "J2" (at 194.31 35.56 0)
      (effects (font (size 1.27 1.27)) (justify right))
    )
    (property "Value" "ARM 10 Pin SWD" (at 205.74 66.04 0)
      (effects (font (size 1.27 1.27)) (justify right))
    )
    (property "Footprint" "Connector_PinHeader_1.27mm:PinHeader_2x05_P1.27mm_Vertical_SMD" (at 186.69 50.8 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Datasheet" "http://infocenter.arm.com/help/topic/com.arm.doc.ddi0314h/DDI0314H_coresight_components_trm.pdf" (at 177.8 82.55 90)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Price @ 10" "" (at 186.69 50.8 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Price @ 25" "" (at 186.69 50.8 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (pin "1" (uuid 85d616d0-743a-4c29-a476-18bbe03c53c6))
    (pin "10" (uuid c2be1820-e0d1-4923-8034-455b496feef9))
    (pin "2" (uuid ba91467f-f61e-4653-8818-9cddd5a07470))
    (pin "3" (uuid cabae0bb-cdec-4d19-80e6-1b94b86e9755))
    (pin "4" (uuid 45d023b4-d34a-426a-b0e0-c28064991751))
    (pin "5" (uuid b5c39e8f-397c-48cb-baa9-e91347b99569))
    (pin "6" (uuid b290b7ba-1506-496f-8ca9-5ad5e1b1e650))
    (pin "7" (uuid 33f0af18-997a-493a-adff-876ad192368e))
    (pin "8" (uuid 391c043f-2a4b-4f87-b5fc-2c3e5462f9ff))
    (pin "9" (uuid 712f973a-2f87-4996-a40a-4e5e2ecd2880))
    (instances
      (project "kudzu"
        (path "/30e30bdf-50e5-46a8-92c7-0e280cceabe8"
          (reference "J2") (unit 1)
        )
        (path "/30e30bdf-50e5-46a8-92c7-0e280cceabe8/25d24ea5-31a5-40ab-afee-5209d35e3063"
          (reference "J2") (unit 1)
        )
      )
    )
  )

  (symbol (lib_id "Connector:TestPoint") (at 175.26 127 180) (unit 1)
    (in_bom yes) (on_board yes) (dnp no)
    (uuid 7400a278-df34-4084-844d-23f8f020dadb)
    (property "Reference" "TP17" (at 175.26 133.35 90)
      (effects (font (size 1.27 1.27)))
    )
    (property "Value" "SENSOR_SCL" (at 172.72 130.302 90)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Footprint" "TestPoint:TestPoint_Pad_D1.0mm" (at 170.18 127 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Datasheet" "~" (at 170.18 127 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Price @ 10" "" (at 175.26 127 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Price @ 25" "" (at 175.26 127 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (pin "1" (uuid cfcd373b-a9c3-496b-9b90-ec5bce08e2b4))
    (instances
      (project "kudzu"
        (path "/30e30bdf-50e5-46a8-92c7-0e280cceabe8"
          (reference "TP17") (unit 1)
        )
        (path "/30e30bdf-50e5-46a8-92c7-0e280cceabe8/25d24ea5-31a5-40ab-afee-5209d35e3063"
          (reference "TP17") (unit 1)
        )
      )
    )
  )

  (symbol (lib_id "power:GND") (at 134.62 62.23 0) (unit 1)
    (in_bom yes) (on_board yes) (dnp no) (fields_autoplaced)
    (uuid 7651e5cd-ce36-4f9d-be5a-1a2fdd249435)
    (property "Reference" "#PWR019" (at 134.62 68.58 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Value" "GND" (at 134.62 67.31 0)
      (effects (font (size 1.27 1.27)))
    )
    (property "Footprint" "" (at 134.62 62.23 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Datasheet" "" (at 134.62 62.23 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (pin "1" (uuid 0f96c8a5-fc11-4999-8e96-4683b94104eb))
    (instances
      (project "kudzu"
        (path "/30e30bdf-50e5-46a8-92c7-0e280cceabe8"
          (reference "#PWR019") (unit 1)
        )
        (path "/30e30bdf-50e5-46a8-92c7-0e280cceabe8/25d24ea5-31a5-40ab-afee-5209d35e3063"
          (reference "#PWR020") (unit 1)
        )
      )
    )
  )

  (symbol (lib_id "Device:C_Small") (at 143.51 52.07 0) (unit 1)
    (in_bom yes) (on_board yes) (dnp no)
    (uuid 76e5e4e3-1c95-4191-89be-929835ee55d9)
    (property "Reference" "C10" (at 144.78 55.88 90)
      (effects (font (size 1.27 1.27)) (justify left))
    )
    (property "Value" "2.2uF" (at 142.24 50.8 90)
      (effects (font (size 1.27 1.27)) (justify left))
    )
    (property "Footprint" "Capacitor_SMD:C_0603_1608Metric" (at 143.51 52.07 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Datasheet" "~" (at 143.51 52.07 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Price @ 10" "0.03460" (at 143.51 52.07 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Price @ 25" "0.02830" (at 143.51 52.07 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "DigiKey PN" "1276-1040-2-ND" (at 143.51 52.07 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (pin "1" (uuid 50bc58f2-e52a-4e3a-88c0-615ae0bc509d))
    (pin "2" (uuid 8b9d7231-4cf6-46af-936e-d61107aa4c7e))
    (instances
      (project "kudzu"
        (path "/30e30bdf-50e5-46a8-92c7-0e280cceabe8"
          (reference "C10") (unit 1)
        )
        (path "/30e30bdf-50e5-46a8-92c7-0e280cceabe8/25d24ea5-31a5-40ab-afee-5209d35e3063"
          (reference "C10") (unit 1)
        )
      )
    )
  )

  (symbol (lib_id "Device:C_Small") (at 151.13 52.07 0) (unit 1)
    (in_bom yes) (on_board yes) (dnp no)
    (uuid 773f8557-2950-40c3-bde3-b8e5eb36d61e)
    (property "Reference" "C11" (at 152.4 55.88 90)
      (effects (font (size 1.27 1.27)) (justify left))
    )
    (property "Value" "100nF" (at 149.86 50.8 90)
      (effects (font (size 1.27 1.27)) (justify left))
    )
    (property "Footprint" "Capacitor_SMD:C_0603_1608Metric" (at 151.13 52.07 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Datasheet" "~" (at 151.13 52.07 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Price @ 10" "0.01200" (at 151.13 52.07 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Price @ 25" "0.00856" (at 151.13 52.07 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "DigiKey PN" "1276-1000-2-ND" (at 151.13 52.07 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (pin "1" (uuid a5ee7f72-7b06-4b15-937d-62e7de791ef0))
    (pin "2" (uuid 9da42716-ee41-486c-8d39-60d7cb61ac7b))
    (instances
      (project "kudzu"
        (path "/30e30bdf-50e5-46a8-92c7-0e280cceabe8"
          (reference "C11") (unit 1)
        )
        (path "/30e30bdf-50e5-46a8-92c7-0e280cceabe8/25d24ea5-31a5-40ab-afee-5209d35e3063"
          (reference "C11") (unit 1)
        )
      )
    )
  )

  (symbol (lib_id "Device:C_Small") (at 53.34 149.86 90) (unit 1)
    (in_bom yes) (on_board yes) (dnp no)
    (uuid 7e6f04dd-61af-4da0-a9ae-84aa13d32f36)
    (property "Reference" "C1" (at 52.07 151.13 90)
      (effects (font (size 1.27 1.27)) (justify left))
    )
    (property "Value" "27pF" (at 59.69 151.13 90)
      (effects (font (size 1.27 1.27)) (justify left))
    )
    (property "Footprint" "Capacitor_SMD:C_0603_1608Metric" (at 53.34 149.86 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Datasheet" "~" (at 53.34 149.86 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Price @ 10" "0.03400" (at 53.34 149.86 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Price @ 25" "0.01880" (at 53.34 149.86 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "DigiKey PN" "13-CC0603JPNPO9BN270CT-ND" (at 53.34 149.86 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (pin "1" (uuid e3534b27-de5c-451b-9c13-346f0ba4d608))
    (pin "2" (uuid daf06406-74b7-4fb9-a299-55dd8ef0fb38))
    (instances
      (project "kudzu"
        (path "/30e30bdf-50e5-46a8-92c7-0e280cceabe8"
          (reference "C1") (unit 1)
        )
        (path "/30e30bdf-50e5-46a8-92c7-0e280cceabe8/25d24ea5-31a5-40ab-afee-5209d35e3063"
          (reference "C1") (unit 1)
        )
      )
    )
  )

  (symbol (lib_id "Connector:TestPoint") (at 153.67 111.76 180) (unit 1)
    (in_bom yes) (on_board yes) (dnp no)
    (uuid 8444d27b-ada4-48b4-b2ab-744d7445b1ce)
    (property "Reference" "TP19" (at 153.67 118.11 90)
      (effects (font (size 1.27 1.27)))
    )
    (property "Value" "IO_SCL" (at 151.13 115.062 90)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Footprint" "TestPoint:TestPoint_Pad_D1.0mm" (at 148.59 111.76 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Datasheet" "~" (at 148.59 111.76 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Price @ 10" "" (at 153.67 111.76 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Price @ 25" "" (at 153.67 111.76 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (pin "1" (uuid 2c71febc-2598-4b59-bc38-d77e41038387))
    (instances
      (project "kudzu"
        (path "/30e30bdf-50e5-46a8-92c7-0e280cceabe8"
          (reference "TP19") (unit 1)
        )
        (path "/30e30bdf-50e5-46a8-92c7-0e280cceabe8/25d24ea5-31a5-40ab-afee-5209d35e3063"
          (reference "TP19") (unit 1)
        )
      )
    )
  )

  (symbol (lib_id "Connector:Conn_ARM_SWD_TagConnect_TC2030-NL") (at 223.52 48.26 0) (unit 1)
    (in_bom no) (on_board yes) (dnp no)
    (uuid 8e2e2020-f251-4e51-8618-385151ea88a2)
    (property "Reference" "J3" (at 227.33 38.1 0)
      (effects (font (size 1.27 1.27)) (justify right))
    )
    (property "Value" "6 Pin Tag Connect" (at 240.03 58.42 0)
      (effects (font (size 1.27 1.27)) (justify right))
    )
    (property "Footprint" "Connector:Tag-Connect_TC2030-IDC-NL_2x03_P1.27mm_Vertical" (at 223.52 66.04 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Datasheet" "https://www.tag-connect.com/wp-content/uploads/bsk-pdf-manager/TC2030-CTX_1.pdf" (at 223.52 63.5 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Price @ 10" "" (at 223.52 48.26 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Price @ 25" "" (at 223.52 48.26 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (pin "1" (uuid fe0ffd14-6dac-4800-81ae-44cac06823e3))
    (pin "2" (uuid 50139efe-fb26-47d8-880b-c485ddcbe38a))
    (pin "3" (uuid 86627219-262d-4534-9d40-deca7b820b69))
    (pin "4" (uuid 54ebba68-f638-4160-b2d1-aba689570dfc))
    (pin "5" (uuid 0982f6cd-1d27-4421-8c0d-2e37631afbf6))
    (pin "6" (uuid 1413e7f1-8507-4cd3-b107-ad457a45ed27))
    (instances
      (project "kudzu"
        (path "/30e30bdf-50e5-46a8-92c7-0e280cceabe8"
          (reference "J3") (unit 1)
        )
        (path "/30e30bdf-50e5-46a8-92c7-0e280cceabe8/25d24ea5-31a5-40ab-afee-5209d35e3063"
          (reference "J3") (unit 1)
        )
      )
    )
  )

  (symbol (lib_id "Device:R_Small") (at 160.02 104.14 180) (unit 1)
    (in_bom yes) (on_board yes) (dnp no)
    (uuid 8e451ae7-16c0-45e2-a25c-d5bf6fec9c37)
    (property "Reference" "R20" (at 161.29 100.33 90)
      (effects (font (size 1.27 1.27)))
    )
    (property "Value" "3.3K" (at 161.29 106.68 90)
      (effects (font (size 1.27 1.27)))
    )
    (property "Footprint" "Resistor_SMD:R_0603_1608Metric" (at 160.02 104.14 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Datasheet" "~" (at 160.02 104.14 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Price @ 10" "0.01800" (at 160.02 104.14 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Price @ 25" "0.01060" (at 160.02 104.14 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "DigiKey PN" "311-3.30KHRTR-ND" (at 160.02 104.14 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (pin "1" (uuid 07c28dae-34a2-4925-a3f9-f1a98b5f7e8c))
    (pin "2" (uuid bb501ea0-1dec-4073-87be-242001d257b4))
    (instances
      (project "kudzu"
        (path "/30e30bdf-50e5-46a8-92c7-0e280cceabe8"
          (reference "R20") (unit 1)
        )
        (path "/30e30bdf-50e5-46a8-92c7-0e280cceabe8/25d24ea5-31a5-40ab-afee-5209d35e3063"
          (reference "R20") (unit 1)
        )
      )
    )
  )

  (symbol (lib_id "power:+1V1") (at 153.67 41.91 0) (unit 1)
    (in_bom yes) (on_board yes) (dnp no)
    (uuid 98ed7bdd-9f73-4328-a18d-69d2422bac9e)
    (property "Reference" "#PWR023" (at 153.67 45.72 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Value" "+1V1" (at 153.67 36.83 0)
      (effects (font (size 1.27 1.27)))
    )
    (property "Footprint" "" (at 153.67 41.91 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Datasheet" "" (at 153.67 41.91 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (pin "1" (uuid 524c1b6a-22d0-4912-acf5-6ce258d98e3c))
    (instances
      (project "kudzu"
        (path "/30e30bdf-50e5-46a8-92c7-0e280cceabe8"
          (reference "#PWR023") (unit 1)
        )
        (path "/30e30bdf-50e5-46a8-92c7-0e280cceabe8/25d24ea5-31a5-40ab-afee-5209d35e3063"
          (reference "#PWR077") (unit 1)
        )
      )
    )
  )

  (symbol (lib_id "power:GND") (at 143.51 62.23 0) (unit 1)
    (in_bom yes) (on_board yes) (dnp no) (fields_autoplaced)
    (uuid 9ce0f6e7-fdcc-44f9-8ba2-040fb7073db6)
    (property "Reference" "#PWR022" (at 143.51 68.58 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Value" "GND" (at 143.51 67.31 0)
      (effects (font (size 1.27 1.27)))
    )
    (property "Footprint" "" (at 143.51 62.23 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Datasheet" "" (at 143.51 62.23 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (pin "1" (uuid d470d709-7a0b-4905-b590-f33be0ab02ed))
    (instances
      (project "kudzu"
        (path "/30e30bdf-50e5-46a8-92c7-0e280cceabe8"
          (reference "#PWR022") (unit 1)
        )
        (path "/30e30bdf-50e5-46a8-92c7-0e280cceabe8/25d24ea5-31a5-40ab-afee-5209d35e3063"
          (reference "#PWR022") (unit 1)
        )
      )
    )
  )

  (symbol (lib_id "power:GND") (at 27.94 69.85 0) (unit 1)
    (in_bom yes) (on_board yes) (dnp no) (fields_autoplaced)
    (uuid a0b26ec8-b6f0-4faf-99cd-6093a21645fc)
    (property "Reference" "#PWR04" (at 27.94 76.2 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Value" "GND" (at 27.94 74.93 0)
      (effects (font (size 1.27 1.27)))
    )
    (property "Footprint" "" (at 27.94 69.85 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Datasheet" "" (at 27.94 69.85 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (pin "1" (uuid 8f8c7dcb-b9de-4253-a65a-4ccd478d5940))
    (instances
      (project "kudzu"
        (path "/30e30bdf-50e5-46a8-92c7-0e280cceabe8"
          (reference "#PWR04") (unit 1)
        )
        (path "/30e30bdf-50e5-46a8-92c7-0e280cceabe8/25d24ea5-31a5-40ab-afee-5209d35e3063"
          (reference "#PWR04") (unit 1)
        )
      )
    )
  )

  (symbol (lib_id "Device:R_Small") (at 57.15 99.06 180) (unit 1)
    (in_bom yes) (on_board yes) (dnp no)
    (uuid a2338452-0f03-41ac-b497-7f4878e4dc43)
    (property "Reference" "R7" (at 54.61 96.52 0)
      (effects (font (size 1.27 1.27)))
    )
    (property "Value" "10K" (at 54.61 102.87 0)
      (effects (font (size 1.27 1.27)))
    )
    (property "Footprint" "Resistor_SMD:R_0603_1608Metric" (at 57.15 99.06 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Datasheet" "~" (at 57.15 99.06 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Price @ 10" "0.03240" (at 57.15 99.06 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Price @ 25" "0.02380" (at 57.15 99.06 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "DigiKey PN" "RNCP0603FTD10K0TR-ND" (at 57.15 99.06 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (pin "1" (uuid 440e1b9a-a308-45dc-a5e0-e9ab85f08b39))
    (pin "2" (uuid 3fca2f51-8e48-4c83-bb00-6bb2338ad8cd))
    (instances
      (project "kudzu"
        (path "/30e30bdf-50e5-46a8-92c7-0e280cceabe8"
          (reference "R7") (unit 1)
        )
        (path "/30e30bdf-50e5-46a8-92c7-0e280cceabe8/947fe22b-a740-4b36-aa9b-7334b6ab9f8c"
          (reference "R7") (unit 1)
        )
        (path "/30e30bdf-50e5-46a8-92c7-0e280cceabe8/25d24ea5-31a5-40ab-afee-5209d35e3063"
          (reference "R10") (unit 1)
        )
      )
    )
  )

  (symbol (lib_id "Device:C_Small") (at 97.79 52.07 0) (unit 1)
    (in_bom yes) (on_board yes) (dnp no)
    (uuid a6345488-775c-452e-bbd3-075fea29b0b5)
    (property "Reference" "C4" (at 99.06 55.88 90)
      (effects (font (size 1.27 1.27)) (justify left))
    )
    (property "Value" "100nF" (at 96.52 50.8 90)
      (effects (font (size 1.27 1.27)) (justify left))
    )
    (property "Footprint" "Capacitor_SMD:C_0603_1608Metric" (at 97.79 52.07 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Datasheet" "~" (at 97.79 52.07 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Price @ 10" "0.01200" (at 97.79 52.07 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Price @ 25" "0.00856" (at 97.79 52.07 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "DigiKey PN" "1276-1000-2-ND" (at 97.79 52.07 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (pin "1" (uuid a2c79009-03f5-411e-83bf-e1e902a15465))
    (pin "2" (uuid a3cf0de1-ca1d-4f93-aff2-0630079786a4))
    (instances
      (project "kudzu"
        (path "/30e30bdf-50e5-46a8-92c7-0e280cceabe8"
          (reference "C4") (unit 1)
        )
        (path "/30e30bdf-50e5-46a8-92c7-0e280cceabe8/25d24ea5-31a5-40ab-afee-5209d35e3063"
          (reference "C4") (unit 1)
        )
      )
    )
  )

  (symbol (lib_id "power:PWR_FLAG") (at 251.46 105.41 270) (unit 1)
    (in_bom yes) (on_board yes) (dnp no) (fields_autoplaced)
    (uuid a772437c-4db1-403b-95e1-daf83c5d5919)
    (property "Reference" "#FLG04" (at 253.365 105.41 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Value" "PWR_FLAG" (at 255.27 105.41 90)
      (effects (font (size 1.27 1.27)) (justify left))
    )
    (property "Footprint" "" (at 251.46 105.41 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Datasheet" "~" (at 251.46 105.41 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (pin "1" (uuid 5b275b2e-949c-4af1-bc8a-4947e36696b3))
    (instances
      (project "kudzu"
        (path "/30e30bdf-50e5-46a8-92c7-0e280cceabe8/25d24ea5-31a5-40ab-afee-5209d35e3063"
          (reference "#FLG04") (unit 1)
        )
      )
    )
  )

  (symbol (lib_id "power:+3V3") (at 27.94 38.1 0) (unit 1)
    (in_bom yes) (on_board yes) (dnp no) (fields_autoplaced)
    (uuid aa05a71c-59de-4f00-b5a8-881eb38195ee)
    (property "Reference" "#PWR03" (at 27.94 41.91 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Value" "+3V3" (at 27.94 33.02 0)
      (effects (font (size 1.27 1.27)))
    )
    (property "Footprint" "" (at 27.94 38.1 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Datasheet" "" (at 27.94 38.1 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (pin "1" (uuid cbc72682-a83d-480d-a3ca-f1b42e1f068f))
    (instances
      (project "kudzu"
        (path "/30e30bdf-50e5-46a8-92c7-0e280cceabe8"
          (reference "#PWR03") (unit 1)
        )
        (path "/30e30bdf-50e5-46a8-92c7-0e280cceabe8/25d24ea5-31a5-40ab-afee-5209d35e3063"
          (reference "#PWR03") (unit 1)
        )
      )
    )
  )

  (symbol (lib_id "power:+3V3") (at 68.58 50.8 0) (unit 1)
    (in_bom yes) (on_board yes) (dnp no) (fields_autoplaced)
    (uuid aaf23924-5b41-4aea-93e5-124ef3be3622)
    (property "Reference" "#PWR013" (at 68.58 54.61 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Value" "+3V3" (at 68.58 45.72 0)
      (effects (font (size 1.27 1.27)))
    )
    (property "Footprint" "" (at 68.58 50.8 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Datasheet" "" (at 68.58 50.8 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (pin "1" (uuid 4fb07682-0db7-4407-86be-47e112eed72d))
    (instances
      (project "kudzu"
        (path "/30e30bdf-50e5-46a8-92c7-0e280cceabe8"
          (reference "#PWR013") (unit 1)
        )
        (path "/30e30bdf-50e5-46a8-92c7-0e280cceabe8/25d24ea5-31a5-40ab-afee-5209d35e3063"
          (reference "#PWR0102") (unit 1)
        )
      )
    )
  )

  (symbol (lib_id "Memory_Flash:W25Q32JVZP") (at 27.94 54.61 0) (mirror y) (unit 1)
    (in_bom yes) (on_board yes) (dnp no)
    (uuid ac945013-79d8-4dff-a807-8292c38a0aab)
    (property "Reference" "U1" (at 19.05 53.34 0)
      (effects (font (size 1.27 1.27)) (justify left))
    )
    (property "Value" "W25Q128JVPIQ" (at 44.45 67.31 0)
      (effects (font (size 1.27 1.27)) (justify left))
    )
    (property "Footprint" "Package_SON:WSON-8-1EP_6x5mm_P1.27mm_EP3.4x4.3mm" (at 27.94 54.61 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Datasheet" "http://www.winbond.com/resource-files/w25q32jv%20revg%2003272018%20plus.pdf" (at 27.94 57.15 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "DigiKey PN" "W25Q128JVPIQ-ND" (at 27.94 54.61 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Price @ 10" "1.53200" (at 27.94 54.61 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Price @ 25" "1.49080" (at 27.94 54.61 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (pin "1" (uuid e0cf726f-a2e9-4079-a4f3-b23669cc9468))
    (pin "2" (uuid 9db7dc39-3ebc-46ac-81a3-12eea63763e6))
    (pin "3" (uuid 40d69b1b-80e7-4d82-b994-26f6a3360f2c))
    (pin "4" (uuid 952a78ed-882f-44a3-a474-a5d216e6877c))
    (pin "5" (uuid 918aa200-fc6e-404a-84fa-118f1784922d))
    (pin "6" (uuid 2e07eeb8-4f8c-4923-a3bc-2ca204e1a15f))
    (pin "7" (uuid a766a5d4-5559-4481-a313-ad8d65d85d6d))
    (pin "8" (uuid 0bcaa029-e9b8-426a-bcec-7ee6391d3beb))
    (pin "9" (uuid 2857dddc-b3a5-4d48-ba53-4b11d4d8e459))
    (instances
      (project "kudzu"
        (path "/30e30bdf-50e5-46a8-92c7-0e280cceabe8"
          (reference "U1") (unit 1)
        )
        (path "/30e30bdf-50e5-46a8-92c7-0e280cceabe8/25d24ea5-31a5-40ab-afee-5209d35e3063"
          (reference "U1") (unit 1)
        )
      )
    )
  )

  (symbol (lib_id "power:GND") (at 223.52 146.05 0) (unit 1)
    (in_bom yes) (on_board yes) (dnp no) (fields_autoplaced)
    (uuid af6838cd-83f5-4013-be88-81a6b8471223)
    (property "Reference" "#PWR01" (at 223.52 152.4 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Value" "GND" (at 223.52 151.13 0)
      (effects (font (size 1.27 1.27)))
    )
    (property "Footprint" "" (at 223.52 146.05 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Datasheet" "" (at 223.52 146.05 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (pin "1" (uuid c48995fc-4e3d-49c0-aea0-6c23049a3d17))
    (instances
      (project "kudzu"
        (path "/30e30bdf-50e5-46a8-92c7-0e280cceabe8"
          (reference "#PWR01") (unit 1)
        )
        (path "/30e30bdf-50e5-46a8-92c7-0e280cceabe8/25d24ea5-31a5-40ab-afee-5209d35e3063"
          (reference "#PWR01") (unit 1)
        )
      )
    )
  )

  (symbol (lib_id "power:GND") (at 57.15 156.21 0) (unit 1)
    (in_bom yes) (on_board yes) (dnp no)
    (uuid b0ffaae4-797f-4297-a114-6076da7cc47e)
    (property "Reference" "#PWR011" (at 57.15 162.56 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Value" "GND" (at 54.61 156.21 0)
      (effects (font (size 1.27 1.27)))
    )
    (property "Footprint" "" (at 57.15 156.21 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Datasheet" "" (at 57.15 156.21 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (pin "1" (uuid 8289b0b7-83ae-46e2-9e41-99419fde9fc9))
    (instances
      (project "kudzu"
        (path "/30e30bdf-50e5-46a8-92c7-0e280cceabe8"
          (reference "#PWR011") (unit 1)
        )
        (path "/30e30bdf-50e5-46a8-92c7-0e280cceabe8/25d24ea5-31a5-40ab-afee-5209d35e3063"
          (reference "#PWR090") (unit 1)
        )
      )
    )
  )

  (symbol (lib_id "power:+3V3") (at 105.41 41.91 0) (unit 1)
    (in_bom yes) (on_board yes) (dnp no) (fields_autoplaced)
    (uuid b33c70ca-426e-40d0-b55b-77f8d9890b99)
    (property "Reference" "#PWR013" (at 105.41 45.72 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Value" "+3V3" (at 105.41 36.83 0)
      (effects (font (size 1.27 1.27)))
    )
    (property "Footprint" "" (at 105.41 41.91 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Datasheet" "" (at 105.41 41.91 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (pin "1" (uuid f553e489-3d67-4761-bc49-3ce7da0a9237))
    (instances
      (project "kudzu"
        (path "/30e30bdf-50e5-46a8-92c7-0e280cceabe8"
          (reference "#PWR013") (unit 1)
        )
        (path "/30e30bdf-50e5-46a8-92c7-0e280cceabe8/25d24ea5-31a5-40ab-afee-5209d35e3063"
          (reference "#PWR017") (unit 1)
        )
      )
    )
  )

  (symbol (lib_id "Device:R_Small") (at 40.64 35.56 180) (unit 1)
    (in_bom yes) (on_board yes) (dnp yes)
    (uuid b574064f-9a9c-4a5a-854c-61c87bccc18a)
    (property "Reference" "R1" (at 41.91 39.37 90)
      (effects (font (size 1.27 1.27)))
    )
    (property "Value" "10K" (at 41.91 31.75 90)
      (effects (font (size 1.27 1.27)))
    )
    (property "Footprint" "Resistor_SMD:R_0603_1608Metric" (at 40.64 35.56 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Datasheet" "~" (at 40.64 35.56 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Price @ 10" "0.03240" (at 40.64 35.56 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Price @ 25" "0.02380" (at 40.64 35.56 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "DigiKey PN" "RNCP0603FTD10K0TR-ND" (at 40.64 35.56 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (pin "1" (uuid 8b1bbe93-0919-4542-9178-df25c46da616))
    (pin "2" (uuid 5eed6ec4-1821-4c44-af64-16477840f78e))
    (instances
      (project "kudzu"
        (path "/30e30bdf-50e5-46a8-92c7-0e280cceabe8"
          (reference "R1") (unit 1)
        )
        (path "/30e30bdf-50e5-46a8-92c7-0e280cceabe8/25d24ea5-31a5-40ab-afee-5209d35e3063"
          (reference "R1") (unit 1)
        )
      )
    )
  )

  (symbol (lib_id "Device:R_Small") (at 156.21 104.14 180) (unit 1)
    (in_bom yes) (on_board yes) (dnp no)
    (uuid b5eee20d-a87d-4c76-b1b3-09508e4ed67d)
    (property "Reference" "R19" (at 157.48 100.33 90)
      (effects (font (size 1.27 1.27)))
    )
    (property "Value" "3.3K" (at 157.48 106.68 90)
      (effects (font (size 1.27 1.27)))
    )
    (property "Footprint" "Resistor_SMD:R_0603_1608Metric" (at 156.21 104.14 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Datasheet" "~" (at 156.21 104.14 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Price @ 10" "0.01800" (at 156.21 104.14 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Price @ 25" "0.01060" (at 156.21 104.14 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "DigiKey PN" "311-3.30KHRTR-ND" (at 156.21 104.14 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (pin "1" (uuid ef655c0f-16cd-4b7f-8b71-cf86918bc203))
    (pin "2" (uuid 9903f9e5-6635-4b9f-963d-a953572d3c01))
    (instances
      (project "kudzu"
        (path "/30e30bdf-50e5-46a8-92c7-0e280cceabe8"
          (reference "R19") (unit 1)
        )
        (path "/30e30bdf-50e5-46a8-92c7-0e280cceabe8/25d24ea5-31a5-40ab-afee-5209d35e3063"
          (reference "R15") (unit 1)
        )
      )
    )
  )

  (symbol (lib_id "power:GND") (at 231.14 146.05 0) (unit 1)
    (in_bom yes) (on_board yes) (dnp no) (fields_autoplaced)
    (uuid ba8b71c4-4a45-4bed-99dd-26efbcc7eab2)
    (property "Reference" "#PWR02" (at 231.14 152.4 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Value" "GND" (at 231.14 151.13 0)
      (effects (font (size 1.27 1.27)))
    )
    (property "Footprint" "" (at 231.14 146.05 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Datasheet" "" (at 231.14 146.05 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (pin "1" (uuid 08c36dd8-bc99-48d0-a3a5-91e09b39dabf))
    (instances
      (project "kudzu"
        (path "/30e30bdf-50e5-46a8-92c7-0e280cceabe8"
          (reference "#PWR02") (unit 1)
        )
        (path "/30e30bdf-50e5-46a8-92c7-0e280cceabe8/25d24ea5-31a5-40ab-afee-5209d35e3063"
          (reference "#PWR02") (unit 1)
        )
      )
    )
  )

  (symbol (lib_id "Connector_Generic:Conn_01x03") (at 267.97 45.72 0) (mirror x) (unit 1)
    (in_bom yes) (on_board yes) (dnp no)
    (uuid c54e313b-cde9-4d00-bce5-33d1737a08d5)
    (property "Reference" "J6" (at 270.51 46.99 0)
      (effects (font (size 1.27 1.27)) (justify left))
    )
    (property "Value" "Conn_01x03" (at 270.51 44.45 0)
      (effects (font (size 1.27 1.27)) (justify left))
    )
    (property "Footprint" "Connector_Harwin:Harwin_M20-89003xx_1x03_P2.54mm_Horizontal" (at 267.97 45.72 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Datasheet" "~" (at 267.97 45.72 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Price @ 10" "0.47600" (at 267.97 45.72 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Price @ 25" "0.47600" (at 267.97 45.72 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "DigiKey PN" "952-3264-ND" (at 267.97 45.72 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (pin "1" (uuid 1d06b930-1758-45b0-aa95-1e75958b8271))
    (pin "2" (uuid 83efcc1d-6097-4289-9794-3b7d54bb53f7))
    (pin "3" (uuid 96b360da-ee68-4be6-bf85-bb2e4756fa5b))
    (instances
      (project "kudzu"
        (path "/30e30bdf-50e5-46a8-92c7-0e280cceabe8"
          (reference "J6") (unit 1)
        )
        (path "/30e30bdf-50e5-46a8-92c7-0e280cceabe8/25d24ea5-31a5-40ab-afee-5209d35e3063"
          (reference "J6") (unit 1)
        )
      )
    )
  )

  (symbol (lib_id "MCU_RaspberryPi:RP2040") (at 99.06 142.24 0) (unit 1)
    (in_bom yes) (on_board yes) (dnp no)
    (uuid c819aef7-e113-4b0f-a382-ba2e11d94bfe)
    (property "Reference" "U2" (at 101.2541 186.69 0)
      (effects (font (size 1.27 1.27)) (justify left))
    )
    (property "Value" "RP2040" (at 101.2541 189.23 0)
      (effects (font (size 1.27 1.27)) (justify left))
    )
    (property "Footprint" "Package_DFN_QFN:QFN-56-1EP_7x7mm_P0.4mm_EP3.2x3.2mm" (at 99.06 142.24 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Datasheet" "https://datasheets.raspberrypi.com/rp2040/rp2040-datasheet.pdf" (at 99.06 142.24 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "DigiKey PN" "2648-SC0914(13)TR-ND" (at 99.06 142.24 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Price @ 10" "0.70" (at 99.06 142.24 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Price @ 25" "0.70" (at 99.06 142.24 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (pin "1" (uuid 8aa06548-f018-430f-b2e4-f5bdcca1557b))
    (pin "10" (uuid bb0b4cca-da6f-4343-807d-b1e1004941fc))
    (pin "11" (uuid 345339b9-658e-40ea-b4a6-8ce008e37873))
    (pin "12" (uuid 25d0552d-1465-4dcb-a856-ad19ca1fef9b))
    (pin "13" (uuid c51bf0f8-8878-4950-9cb6-21b933d2e49a))
    (pin "14" (uuid d915d607-b1bc-4998-b6de-5af6386904ef))
    (pin "15" (uuid 19d32ad9-e764-4cab-b672-e304b857fd6e))
    (pin "16" (uuid 57633b49-866e-4b51-a8d6-f81bdb9e2f95))
    (pin "17" (uuid 2da909c3-8dca-4c44-9d4c-a9181d80a38b))
    (pin "18" (uuid ec4e4220-6969-4ce0-a344-36985bf12adb))
    (pin "19" (uuid b9006220-0c3a-466e-b1d7-fe510cdf6745))
    (pin "2" (uuid fc139fa9-9a91-4062-b15c-2504fa1897d7))
    (pin "20" (uuid d77a3ebe-e00b-4d1c-beb3-3fae9dfc0e68))
    (pin "21" (uuid fe949bfc-c4c8-4e09-b1c9-89009781be99))
    (pin "22" (uuid beccd23a-6749-4646-b708-636218015f98))
    (pin "23" (uuid 022a6153-ba41-4e30-8d09-80ea8ea36482))
    (pin "24" (uuid 6e84660c-66ad-41b6-b704-69cdc405e7be))
    (pin "25" (uuid edff2d02-1311-49f9-9dee-03d8474e0fd6))
    (pin "26" (uuid 7a468aa5-c478-4d2d-a4d0-62da02d5c376))
    (pin "27" (uuid abb873c5-8e6a-4682-9532-f51ad1d19d76))
    (pin "28" (uuid b7ae2654-5dce-414d-80f8-72f5b4c24236))
    (pin "29" (uuid 6165cc2f-4be9-4c76-ba98-3c538b54c45f))
    (pin "3" (uuid 99fd81ce-6a91-4c35-89dd-9374a1a30a11))
    (pin "30" (uuid 671b8984-0773-4063-b410-479b271c637e))
    (pin "31" (uuid 0655b6b3-54c7-4ada-abdd-aef5eb5fd1bd))
    (pin "32" (uuid 44293d92-fc41-4156-988c-baf0082be402))
    (pin "33" (uuid b7762f33-9bd5-4343-97b1-09f562196fde))
    (pin "34" (uuid 7fe69d23-0124-4b14-83e2-0f6f02aecd02))
    (pin "35" (uuid 9b8ce408-4040-42e1-999e-af6a248995c3))
    (pin "36" (uuid 9d13980f-35dc-4ce7-9773-30e9a732fb6b))
    (pin "37" (uuid 4f6892ce-a7fa-4074-aa7a-bcc3afb83c88))
    (pin "38" (uuid 73b57ac1-5602-4434-8681-2c0fa17adc06))
    (pin "39" (uuid dcf63fb5-9b1e-4384-8e2e-9b8a3d63cf0f))
    (pin "4" (uuid 59506c32-80e3-443a-b7f1-dec1101e8fef))
    (pin "40" (uuid c04d1537-58b2-45b9-963a-a9af55ff75ec))
    (pin "41" (uuid 16cb3aa4-80be-46b9-a0c6-0dea6b9745f0))
    (pin "42" (uuid fad42a1f-9c5d-4494-b25d-8fd5170a9823))
    (pin "43" (uuid c2665d7b-7169-442d-b932-906672ea722c))
    (pin "44" (uuid 5dca2477-9471-495f-985b-8e26b937e6a3))
    (pin "45" (uuid 0e9d11d0-61f8-4384-a7d5-59f8d5c99aac))
    (pin "46" (uuid 092a623a-7ff4-4495-80d5-b7a140c9ca06))
    (pin "47" (uuid f8ed8763-8e89-4299-bd9a-c22ca6cdb1b7))
    (pin "48" (uuid 0f81093a-02ac-474e-afbe-baf31d0df8b3))
    (pin "49" (uuid 14dd056c-fafd-47c5-9edf-397a239cec24))
    (pin "5" (uuid 498f3cba-d9c4-4b2e-8c92-65ee610bc209))
    (pin "50" (uuid 77199596-2f9e-4621-8503-78d70bf2dd29))
    (pin "51" (uuid cf6f6c6a-2d36-43aa-83e7-234f761cf7a7))
    (pin "52" (uuid 2dc86271-74d3-46e0-95ce-3d99406d8450))
    (pin "53" (uuid bb2a1d15-a6e9-4696-bd49-94fb659ed4cf))
    (pin "54" (uuid f72266d5-07c7-4d09-a7ee-9d1137a9ab03))
    (pin "55" (uuid ad536051-1596-49b0-9fcf-1d9d95a293e2))
    (pin "56" (uuid bc6a3810-ec6b-4b47-ad3a-1a9c619db9db))
    (pin "57" (uuid 3e96112a-4e36-43a3-b542-3f5ee5702571))
    (pin "6" (uuid 2f0b768c-e5c1-466c-8617-d4f1f93642d4))
    (pin "7" (uuid d1ed763f-c858-4700-ac46-d4584479f805))
    (pin "8" (uuid bab98835-53b3-4720-910f-230047e5aa88))
    (pin "9" (uuid 2320aa5c-4f61-433b-a420-307864130c29))
    (instances
      (project "kudzu"
        (path "/30e30bdf-50e5-46a8-92c7-0e280cceabe8"
          (reference "U2") (unit 1)
        )
        (path "/30e30bdf-50e5-46a8-92c7-0e280cceabe8/25d24ea5-31a5-40ab-afee-5209d35e3063"
          (reference "U2") (unit 1)
        )
      )
    )
  )

  (symbol (lib_id "power:+3V3") (at 181.61 114.3 0) (unit 1)
    (in_bom yes) (on_board yes) (dnp no)
    (uuid cacc119c-7e87-4b44-9587-1d791802abec)
    (property "Reference" "#PWR059" (at 181.61 118.11 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Value" "+3V3" (at 181.61 109.22 90)
      (effects (font (size 1.27 1.27)))
    )
    (property "Footprint" "" (at 181.61 114.3 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Datasheet" "" (at 181.61 114.3 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (pin "1" (uuid 08aa8000-ba3f-4dbd-919c-a909c156160f))
    (instances
      (project "kudzu"
        (path "/30e30bdf-50e5-46a8-92c7-0e280cceabe8"
          (reference "#PWR059") (unit 1)
        )
        (path "/30e30bdf-50e5-46a8-92c7-0e280cceabe8/25d24ea5-31a5-40ab-afee-5209d35e3063"
          (reference "#PWR059") (unit 1)
        )
      )
    )
  )

  (symbol (lib_id "power:GND") (at 64.77 156.21 0) (unit 1)
    (in_bom yes) (on_board yes) (dnp no)
    (uuid ccb4dd54-cbee-4f31-b05c-a435203219be)
    (property "Reference" "#PWR011" (at 64.77 162.56 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Value" "GND" (at 67.31 156.21 0)
      (effects (font (size 1.27 1.27)))
    )
    (property "Footprint" "" (at 64.77 156.21 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Datasheet" "" (at 64.77 156.21 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (pin "1" (uuid a7c86084-e9fd-49d8-b9e4-7ad6a60d9db0))
    (instances
      (project "kudzu"
        (path "/30e30bdf-50e5-46a8-92c7-0e280cceabe8"
          (reference "#PWR011") (unit 1)
        )
        (path "/30e30bdf-50e5-46a8-92c7-0e280cceabe8/25d24ea5-31a5-40ab-afee-5209d35e3063"
          (reference "#PWR092") (unit 1)
        )
      )
    )
  )

  (symbol (lib_id "Device:C_Small") (at 123.19 52.07 0) (unit 1)
    (in_bom yes) (on_board yes) (dnp no)
    (uuid cedf23c8-d195-4bb5-b99d-cb9e52ee36d6)
    (property "Reference" "C8" (at 124.46 55.88 90)
      (effects (font (size 1.27 1.27)) (justify left))
    )
    (property "Value" "100nF" (at 121.92 50.8 90)
      (effects (font (size 1.27 1.27)) (justify left))
    )
    (property "Footprint" "Capacitor_SMD:C_0603_1608Metric" (at 123.19 52.07 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Datasheet" "~" (at 123.19 52.07 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Price @ 10" "0.01200" (at 123.19 52.07 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Price @ 25" "0.00856" (at 123.19 52.07 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "DigiKey PN" "1276-1000-2-ND" (at 123.19 52.07 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (pin "1" (uuid 779ebc44-0c8a-4ab0-81e8-f7c57de95c54))
    (pin "2" (uuid 4c1d04ea-4293-4986-b2a3-e3d6a9a44447))
    (instances
      (project "kudzu"
        (path "/30e30bdf-50e5-46a8-92c7-0e280cceabe8"
          (reference "C8") (unit 1)
        )
        (path "/30e30bdf-50e5-46a8-92c7-0e280cceabe8/25d24ea5-31a5-40ab-afee-5209d35e3063"
          (reference "C25") (unit 1)
        )
      )
    )
  )

  (symbol (lib_id "power:GND") (at 105.41 62.23 0) (unit 1)
    (in_bom yes) (on_board yes) (dnp no) (fields_autoplaced)
    (uuid d836f4f9-6eca-4ab4-9de8-6dcdcf9a11f3)
    (property "Reference" "#PWR014" (at 105.41 68.58 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Value" "GND" (at 105.41 67.31 0)
      (effects (font (size 1.27 1.27)))
    )
    (property "Footprint" "" (at 105.41 62.23 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Datasheet" "" (at 105.41 62.23 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (pin "1" (uuid a44c7cb2-2554-4022-bf13-167b4d68dbd1))
    (instances
      (project "kudzu"
        (path "/30e30bdf-50e5-46a8-92c7-0e280cceabe8"
          (reference "#PWR014") (unit 1)
        )
        (path "/30e30bdf-50e5-46a8-92c7-0e280cceabe8/25d24ea5-31a5-40ab-afee-5209d35e3063"
          (reference "#PWR018") (unit 1)
        )
      )
    )
  )

  (symbol (lib_id "Device:C_Small") (at 66.04 60.96 0) (unit 1)
    (in_bom yes) (on_board yes) (dnp no)
    (uuid dce930fa-af6f-4643-92f7-e0c05132a22d)
    (property "Reference" "C9" (at 67.31 64.77 90)
      (effects (font (size 1.27 1.27)) (justify left))
    )
    (property "Value" "2.2uF" (at 64.77 59.69 90)
      (effects (font (size 1.27 1.27)) (justify left))
    )
    (property "Footprint" "Capacitor_SMD:C_0603_1608Metric" (at 66.04 60.96 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Datasheet" "~" (at 66.04 60.96 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Price @ 10" "0.03460" (at 66.04 60.96 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Price @ 25" "0.02830" (at 66.04 60.96 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "DigiKey PN" "1276-1040-2-ND" (at 66.04 60.96 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (pin "1" (uuid a4d7ad10-45d6-443f-843d-6b84b592ba5a))
    (pin "2" (uuid e95c6621-142f-4053-905f-f62c4b1f4254))
    (instances
      (project "kudzu"
        (path "/30e30bdf-50e5-46a8-92c7-0e280cceabe8"
          (reference "C9") (unit 1)
        )
        (path "/30e30bdf-50e5-46a8-92c7-0e280cceabe8/25d24ea5-31a5-40ab-afee-5209d35e3063"
          (reference "C27") (unit 1)
        )
      )
    )
  )

  (symbol (lib_id "power:+1V1") (at 143.51 41.91 0) (unit 1)
    (in_bom yes) (on_board yes) (dnp no)
    (uuid dd78689d-b6ed-4c8d-a678-bed198df6eec)
    (property "Reference" "#PWR021" (at 143.51 45.72 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Value" "+1V1" (at 143.51 36.83 0)
      (effects (font (size 1.27 1.27)))
    )
    (property "Footprint" "" (at 143.51 41.91 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Datasheet" "" (at 143.51 41.91 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (pin "1" (uuid 7d7eb51d-0582-4f51-990a-591a9e17504a))
    (instances
      (project "kudzu"
        (path "/30e30bdf-50e5-46a8-92c7-0e280cceabe8"
          (reference "#PWR021") (unit 1)
        )
        (path "/30e30bdf-50e5-46a8-92c7-0e280cceabe8/25d24ea5-31a5-40ab-afee-5209d35e3063"
          (reference "#PWR021") (unit 1)
        )
      )
    )
  )

  (symbol (lib_id "power:+3V3") (at 220.98 35.56 0) (unit 1)
    (in_bom yes) (on_board yes) (dnp no) (fields_autoplaced)
    (uuid e19abc2b-1b0e-4a2b-a64c-bf2749b98314)
    (property "Reference" "#PWR018" (at 220.98 39.37 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Value" "+3V3" (at 220.98 30.48 0)
      (effects (font (size 1.27 1.27)))
    )
    (property "Footprint" "" (at 220.98 35.56 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Datasheet" "" (at 220.98 35.56 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (pin "1" (uuid 550723f1-9aea-4054-8209-74f34895830e))
    (instances
      (project "kudzu"
        (path "/30e30bdf-50e5-46a8-92c7-0e280cceabe8"
          (reference "#PWR018") (unit 1)
        )
        (path "/30e30bdf-50e5-46a8-92c7-0e280cceabe8/25d24ea5-31a5-40ab-afee-5209d35e3063"
          (reference "#PWR09") (unit 1)
        )
      )
    )
  )

  (symbol (lib_id "power:GND") (at 99.06 190.5 0) (unit 1)
    (in_bom yes) (on_board yes) (dnp no) (fields_autoplaced)
    (uuid e299e73c-a401-40ee-a7cb-afdfcf37439d)
    (property "Reference" "#PWR016" (at 99.06 196.85 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Value" "GND" (at 99.06 195.58 0)
      (effects (font (size 1.27 1.27)))
    )
    (property "Footprint" "" (at 99.06 190.5 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Datasheet" "" (at 99.06 190.5 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (pin "1" (uuid 5fb0ed73-c847-479c-a2ad-9ea5bc0b8cba))
    (instances
      (project "kudzu"
        (path "/30e30bdf-50e5-46a8-92c7-0e280cceabe8"
          (reference "#PWR016") (unit 1)
        )
        (path "/30e30bdf-50e5-46a8-92c7-0e280cceabe8/25d24ea5-31a5-40ab-afee-5209d35e3063"
          (reference "#PWR014") (unit 1)
        )
      )
    )
  )

  (symbol (lib_id "Device:R_Small") (at 177.8 119.38 180) (unit 1)
    (in_bom yes) (on_board yes) (dnp no)
    (uuid e52f503b-21cd-4aa5-9508-d7a5153ee675)
    (property "Reference" "R15" (at 179.07 115.57 90)
      (effects (font (size 1.27 1.27)))
    )
    (property "Value" "3.3K" (at 179.07 121.92 90)
      (effects (font (size 1.27 1.27)))
    )
    (property "Footprint" "Resistor_SMD:R_0603_1608Metric" (at 177.8 119.38 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Datasheet" "~" (at 177.8 119.38 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Price @ 10" "0.01800" (at 177.8 119.38 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Price @ 25" "0.01060" (at 177.8 119.38 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "DigiKey PN" "311-3.30KHRTR-ND" (at 177.8 119.38 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (pin "1" (uuid 205f7a95-add5-4d35-8d5f-5b9c206aae6d))
    (pin "2" (uuid 1754245f-f847-41c2-9044-e3b94146f91b))
    (instances
      (project "kudzu"
        (path "/30e30bdf-50e5-46a8-92c7-0e280cceabe8"
          (reference "R15") (unit 1)
        )
        (path "/30e30bdf-50e5-46a8-92c7-0e280cceabe8/25d24ea5-31a5-40ab-afee-5209d35e3063"
          (reference "R14") (unit 1)
        )
      )
    )
  )

  (symbol (lib_id "Device:R_Small") (at 46.99 41.91 90) (unit 1)
    (in_bom yes) (on_board yes) (dnp no)
    (uuid e561f00c-7850-4094-8dfd-95bc6107ad48)
    (property "Reference" "R2" (at 43.18 43.18 90)
      (effects (font (size 1.27 1.27)))
    )
    (property "Value" "1K" (at 50.8 43.18 90)
      (effects (font (size 1.27 1.27)))
    )
    (property "Footprint" "Resistor_SMD:R_0603_1608Metric" (at 46.99 41.91 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Datasheet" "~" (at 46.99 41.91 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Price @ 10" "0.01400" (at 46.99 41.91 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Price @ 25" "0.00860" (at 46.99 41.91 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "DigiKey PN" "RMCF0603FT1K00TR-ND" (at 46.99 41.91 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (pin "1" (uuid 3e7cbcb3-ca59-4a48-b2e9-c1bdf4943e24))
    (pin "2" (uuid 7c3d5d2c-0799-4c98-9482-a17d5d343dce))
    (instances
      (project "kudzu"
        (path "/30e30bdf-50e5-46a8-92c7-0e280cceabe8"
          (reference "R2") (unit 1)
        )
        (path "/30e30bdf-50e5-46a8-92c7-0e280cceabe8/25d24ea5-31a5-40ab-afee-5209d35e3063"
          (reference "R2") (unit 1)
        )
      )
    )
  )

  (symbol (lib_id "Device:R_Small") (at 66.04 111.76 90) (unit 1)
    (in_bom yes) (on_board yes) (dnp no)
    (uuid e650e709-80be-4616-952b-683c700fd218)
    (property "Reference" "R3" (at 62.23 113.03 90)
      (effects (font (size 1.27 1.27)))
    )
    (property "Value" "27R" (at 69.85 113.03 90)
      (effects (font (size 1.27 1.27)))
    )
    (property "Footprint" "Resistor_SMD:R_0603_1608Metric" (at 66.04 111.76 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Datasheet" "~" (at 66.04 111.76 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Price @ 10" "0.01800" (at 66.04 111.76 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Price @ 25" "0.01060" (at 66.04 111.76 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "DigiKey PN" "311-27.0HRTR-ND" (at 66.04 111.76 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (pin "1" (uuid 17073ef5-b4da-43ce-b4fa-4185b3bb678c))
    (pin "2" (uuid 6df1f2bb-c68a-4eba-9cf4-e32d85aa191d))
    (instances
      (project "kudzu"
        (path "/30e30bdf-50e5-46a8-92c7-0e280cceabe8"
          (reference "R3") (unit 1)
        )
        (path "/30e30bdf-50e5-46a8-92c7-0e280cceabe8/25d24ea5-31a5-40ab-afee-5209d35e3063"
          (reference "R3") (unit 1)
        )
      )
    )
  )

  (symbol (lib_id "power:GND") (at 71.12 182.88 0) (unit 1)
    (in_bom yes) (on_board yes) (dnp no) (fields_autoplaced)
    (uuid eb72476b-bd71-4b12-a57d-78989187cc7d)
    (property "Reference" "#PWR012" (at 71.12 189.23 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Value" "GND" (at 71.12 187.96 0)
      (effects (font (size 1.27 1.27)))
    )
    (property "Footprint" "" (at 71.12 182.88 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Datasheet" "" (at 71.12 182.88 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (pin "1" (uuid 51799da1-369a-4c3e-a435-e43d92656ef7))
    (instances
      (project "kudzu"
        (path "/30e30bdf-50e5-46a8-92c7-0e280cceabe8"
          (reference "#PWR012") (unit 1)
        )
        (path "/30e30bdf-50e5-46a8-92c7-0e280cceabe8/25d24ea5-31a5-40ab-afee-5209d35e3063"
          (reference "#PWR012") (unit 1)
        )
      )
    )
  )

  (symbol (lib_id "Device:C_Small") (at 156.21 52.07 0) (unit 1)
    (in_bom yes) (on_board yes) (dnp no)
    (uuid f3e53818-ae01-4711-bccc-eae26eb6e939)
    (property "Reference" "C11" (at 157.48 55.88 90)
      (effects (font (size 1.27 1.27)) (justify left))
    )
    (property "Value" "100nF" (at 154.94 50.8 90)
      (effects (font (size 1.27 1.27)) (justify left))
    )
    (property "Footprint" "Capacitor_SMD:C_0603_1608Metric" (at 156.21 52.07 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Datasheet" "~" (at 156.21 52.07 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Price @ 10" "0.01200" (at 156.21 52.07 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Price @ 25" "0.00856" (at 156.21 52.07 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "DigiKey PN" "1276-1000-2-ND" (at 156.21 52.07 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (pin "1" (uuid 5b8bd258-233a-428e-a5f6-1e2383e585ed))
    (pin "2" (uuid 69686920-95bc-477c-a308-9963242140ce))
    (instances
      (project "kudzu"
        (path "/30e30bdf-50e5-46a8-92c7-0e280cceabe8"
          (reference "C11") (unit 1)
        )
        (path "/30e30bdf-50e5-46a8-92c7-0e280cceabe8/25d24ea5-31a5-40ab-afee-5209d35e3063"
          (reference "C26") (unit 1)
        )
      )
    )
  )

  (symbol (lib_id "Device:C_Small") (at 102.87 52.07 0) (unit 1)
    (in_bom yes) (on_board yes) (dnp no)
    (uuid fb4f53ce-aaae-41aa-a275-ee07621a7b1d)
    (property "Reference" "C5" (at 104.14 55.88 90)
      (effects (font (size 1.27 1.27)) (justify left))
    )
    (property "Value" "100nF" (at 101.6 50.8 90)
      (effects (font (size 1.27 1.27)) (justify left))
    )
    (property "Footprint" "Capacitor_SMD:C_0603_1608Metric" (at 102.87 52.07 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Datasheet" "~" (at 102.87 52.07 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Price @ 10" "0.01200" (at 102.87 52.07 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Price @ 25" "0.00856" (at 102.87 52.07 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "DigiKey PN" "1276-1000-2-ND" (at 102.87 52.07 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (pin "1" (uuid ecfafa6a-286a-48d7-86a5-c1d47716e744))
    (pin "2" (uuid f79f213e-ec8f-4ca3-8372-638a1b7d7389))
    (instances
      (project "kudzu"
        (path "/30e30bdf-50e5-46a8-92c7-0e280cceabe8"
          (reference "C5") (unit 1)
        )
        (path "/30e30bdf-50e5-46a8-92c7-0e280cceabe8/25d24ea5-31a5-40ab-afee-5209d35e3063"
          (reference "C5") (unit 1)
        )
      )
    )
  )

  (symbol (lib_id "Connector:TestPoint") (at 153.67 109.22 0) (unit 1)
    (in_bom yes) (on_board yes) (dnp no)
    (uuid fd4bfa08-6781-47ce-879e-0b68f20d98e9)
    (property "Reference" "TP20" (at 153.67 102.87 90)
      (effects (font (size 1.27 1.27)))
    )
    (property "Value" "IO_SDA" (at 156.21 105.918 90)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Footprint" "TestPoint:TestPoint_Pad_D1.0mm" (at 158.75 109.22 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Datasheet" "~" (at 158.75 109.22 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Price @ 10" "" (at 153.67 109.22 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Price @ 25" "" (at 153.67 109.22 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (pin "1" (uuid bd00128d-85d8-4f32-8fdc-c134692e190a))
    (instances
      (project "kudzu"
        (path "/30e30bdf-50e5-46a8-92c7-0e280cceabe8"
          (reference "TP20") (unit 1)
        )
        (path "/30e30bdf-50e5-46a8-92c7-0e280cceabe8/25d24ea5-31a5-40ab-afee-5209d35e3063"
          (reference "TP20") (unit 1)
        )
      )
    )
  )

  (symbol (lib_id "Device:R_Small") (at 181.61 119.38 180) (unit 1)
    (in_bom yes) (on_board yes) (dnp no)
    (uuid fe3a733e-cbc8-4729-9adc-de10bcff3304)
    (property "Reference" "R14" (at 182.88 115.57 90)
      (effects (font (size 1.27 1.27)))
    )
    (property "Value" "3.3K" (at 182.88 121.92 90)
      (effects (font (size 1.27 1.27)))
    )
    (property "Footprint" "Resistor_SMD:R_0603_1608Metric" (at 181.61 119.38 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Datasheet" "~" (at 181.61 119.38 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Price @ 10" "0.01800" (at 181.61 119.38 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Price @ 25" "0.01060" (at 181.61 119.38 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "DigiKey PN" "311-3.30KHRTR-ND" (at 181.61 119.38 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (pin "1" (uuid 655743e1-ae19-41d8-99a2-27b07b6b50ce))
    (pin "2" (uuid 4d5577b2-ac0a-4631-969f-22f5c1c1f753))
    (instances
      (project "kudzu"
        (path "/30e30bdf-50e5-46a8-92c7-0e280cceabe8"
          (reference "R14") (unit 1)
        )
        (path "/30e30bdf-50e5-46a8-92c7-0e280cceabe8/25d24ea5-31a5-40ab-afee-5209d35e3063"
          (reference "R19") (unit 1)
        )
      )
    )
  )
)
