(kicad_sch (version 20230121) (generator eeschema)

  (uuid a8f78846-d519-4738-bcdc-a3bb42fff747)

  (paper "A4")

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

  (lib_symbols
    (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_Generic:Conn_01x02" (pin_names (offset 1.016) hide) (in_bom yes) (on_board yes)
      (property "Reference" "J" (at 0 2.54 0)
        (effects (font (size 1.27 1.27)))
      )
      (property "Value" "Conn_01x02" (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, 01x02, 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_01x02_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 1.27) (end 1.27 -3.81)
          (stroke (width 0.254) (type default))
          (fill (type background))
        )
        (pin passive line (at -5.08 0 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 -2.54 0) (length 3.81)
          (name "Pin_2" (effects (font (size 1.27 1.27))))
          (number "2" (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:D_Schottky" (pin_numbers hide) (pin_names (offset 1.016) hide) (in_bom yes) (on_board yes)
      (property "Reference" "D" (at 0 2.54 0)
        (effects (font (size 1.27 1.27)))
      )
      (property "Value" "D_Schottky" (at 0 -2.54 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" "diode Schottky" (at 0 0 0)
        (effects (font (size 1.27 1.27)) hide)
      )
      (property "ki_description" "Schottky diode" (at 0 0 0)
        (effects (font (size 1.27 1.27)) hide)
      )
      (property "ki_fp_filters" "TO-???* *_Diode_* *SingleDiode* D_*" (at 0 0 0)
        (effects (font (size 1.27 1.27)) hide)
      )
      (symbol "D_Schottky_0_1"
        (polyline
          (pts
            (xy 1.27 0)
            (xy -1.27 0)
          )
          (stroke (width 0) (type default))
          (fill (type none))
        )
        (polyline
          (pts
            (xy 1.27 1.27)
            (xy 1.27 -1.27)
            (xy -1.27 0)
            (xy 1.27 1.27)
          )
          (stroke (width 0.254) (type default))
          (fill (type none))
        )
        (polyline
          (pts
            (xy -1.905 0.635)
            (xy -1.905 1.27)
            (xy -1.27 1.27)
            (xy -1.27 -1.27)
            (xy -0.635 -1.27)
            (xy -0.635 -0.635)
          )
          (stroke (width 0.254) (type default))
          (fill (type none))
        )
      )
      (symbol "D_Schottky_1_1"
        (pin passive line (at -3.81 0 0) (length 2.54)
          (name "K" (effects (font (size 1.27 1.27))))
          (number "1" (effects (font (size 1.27 1.27))))
        )
        (pin passive line (at 3.81 0 180) (length 2.54)
          (name "A" (effects (font (size 1.27 1.27))))
          (number "2" (effects (font (size 1.27 1.27))))
        )
      )
    )
    (symbol "Device:Q_NMOS_GSD" (pin_names (offset 0) hide) (in_bom yes) (on_board yes)
      (property "Reference" "Q" (at 5.08 1.27 0)
        (effects (font (size 1.27 1.27)) (justify left))
      )
      (property "Value" "Q_NMOS_GSD" (at 5.08 -1.27 0)
        (effects (font (size 1.27 1.27)) (justify left))
      )
      (property "Footprint" "" (at 5.08 2.54 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" "transistor NMOS N-MOS N-MOSFET" (at 0 0 0)
        (effects (font (size 1.27 1.27)) hide)
      )
      (property "ki_description" "N-MOSFET transistor, gate/source/drain" (at 0 0 0)
        (effects (font (size 1.27 1.27)) hide)
      )
      (symbol "Q_NMOS_GSD_0_1"
        (polyline
          (pts
            (xy 0.254 0)
            (xy -2.54 0)
          )
          (stroke (width 0) (type default))
          (fill (type none))
        )
        (polyline
          (pts
            (xy 0.254 1.905)
            (xy 0.254 -1.905)
          )
          (stroke (width 0.254) (type default))
          (fill (type none))
        )
        (polyline
          (pts
            (xy 0.762 -1.27)
            (xy 0.762 -2.286)
          )
          (stroke (width 0.254) (type default))
          (fill (type none))
        )
        (polyline
          (pts
            (xy 0.762 0.508)
            (xy 0.762 -0.508)
          )
          (stroke (width 0.254) (type default))
          (fill (type none))
        )
        (polyline
          (pts
            (xy 0.762 2.286)
            (xy 0.762 1.27)
          )
          (stroke (width 0.254) (type default))
          (fill (type none))
        )
        (polyline
          (pts
            (xy 2.54 2.54)
            (xy 2.54 1.778)
          )
          (stroke (width 0) (type default))
          (fill (type none))
        )
        (polyline
          (pts
            (xy 2.54 -2.54)
            (xy 2.54 0)
            (xy 0.762 0)
          )
          (stroke (width 0) (type default))
          (fill (type none))
        )
        (polyline
          (pts
            (xy 0.762 -1.778)
            (xy 3.302 -1.778)
            (xy 3.302 1.778)
            (xy 0.762 1.778)
          )
          (stroke (width 0) (type default))
          (fill (type none))
        )
        (polyline
          (pts
            (xy 1.016 0)
            (xy 2.032 0.381)
            (xy 2.032 -0.381)
            (xy 1.016 0)
          )
          (stroke (width 0) (type default))
          (fill (type outline))
        )
        (polyline
          (pts
            (xy 2.794 0.508)
            (xy 2.921 0.381)
            (xy 3.683 0.381)
            (xy 3.81 0.254)
          )
          (stroke (width 0) (type default))
          (fill (type none))
        )
        (polyline
          (pts
            (xy 3.302 0.381)
            (xy 2.921 -0.254)
            (xy 3.683 -0.254)
            (xy 3.302 0.381)
          )
          (stroke (width 0) (type default))
          (fill (type none))
        )
        (circle (center 1.651 0) (radius 2.794)
          (stroke (width 0.254) (type default))
          (fill (type none))
        )
        (circle (center 2.54 -1.778) (radius 0.254)
          (stroke (width 0) (type default))
          (fill (type outline))
        )
        (circle (center 2.54 1.778) (radius 0.254)
          (stroke (width 0) (type default))
          (fill (type outline))
        )
      )
      (symbol "Q_NMOS_GSD_1_1"
        (pin input line (at -5.08 0 0) (length 2.54)
          (name "G" (effects (font (size 1.27 1.27))))
          (number "1" (effects (font (size 1.27 1.27))))
        )
        (pin passive line (at 2.54 -5.08 90) (length 2.54)
          (name "S" (effects (font (size 1.27 1.27))))
          (number "2" (effects (font (size 1.27 1.27))))
        )
        (pin passive line (at 2.54 5.08 270) (length 2.54)
          (name "D" (effects (font (size 1.27 1.27))))
          (number "3" (effects (font (size 1.27 1.27))))
        )
      )
    )
    (symbol "Device:Q_PMOS_GSD" (pin_names (offset 0) hide) (in_bom yes) (on_board yes)
      (property "Reference" "Q" (at 5.08 1.27 0)
        (effects (font (size 1.27 1.27)) (justify left))
      )
      (property "Value" "Q_PMOS_GSD" (at 5.08 -1.27 0)
        (effects (font (size 1.27 1.27)) (justify left))
      )
      (property "Footprint" "" (at 5.08 2.54 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" "transistor PMOS P-MOS P-MOSFET" (at 0 0 0)
        (effects (font (size 1.27 1.27)) hide)
      )
      (property "ki_description" "P-MOSFET transistor, gate/source/drain" (at 0 0 0)
        (effects (font (size 1.27 1.27)) hide)
      )
      (symbol "Q_PMOS_GSD_0_1"
        (polyline
          (pts
            (xy 0.254 0)
            (xy -2.54 0)
          )
          (stroke (width 0) (type default))
          (fill (type none))
        )
        (polyline
          (pts
            (xy 0.254 1.905)
            (xy 0.254 -1.905)
          )
          (stroke (width 0.254) (type default))
          (fill (type none))
        )
        (polyline
          (pts
            (xy 0.762 -1.27)
            (xy 0.762 -2.286)
          )
          (stroke (width 0.254) (type default))
          (fill (type none))
        )
        (polyline
          (pts
            (xy 0.762 0.508)
            (xy 0.762 -0.508)
          )
          (stroke (width 0.254) (type default))
          (fill (type none))
        )
        (polyline
          (pts
            (xy 0.762 2.286)
            (xy 0.762 1.27)
          )
          (stroke (width 0.254) (type default))
          (fill (type none))
        )
        (polyline
          (pts
            (xy 2.54 2.54)
            (xy 2.54 1.778)
          )
          (stroke (width 0) (type default))
          (fill (type none))
        )
        (polyline
          (pts
            (xy 2.54 -2.54)
            (xy 2.54 0)
            (xy 0.762 0)
          )
          (stroke (width 0) (type default))
          (fill (type none))
        )
        (polyline
          (pts
            (xy 0.762 1.778)
            (xy 3.302 1.778)
            (xy 3.302 -1.778)
            (xy 0.762 -1.778)
          )
          (stroke (width 0) (type default))
          (fill (type none))
        )
        (polyline
          (pts
            (xy 2.286 0)
            (xy 1.27 0.381)
            (xy 1.27 -0.381)
            (xy 2.286 0)
          )
          (stroke (width 0) (type default))
          (fill (type outline))
        )
        (polyline
          (pts
            (xy 2.794 -0.508)
            (xy 2.921 -0.381)
            (xy 3.683 -0.381)
            (xy 3.81 -0.254)
          )
          (stroke (width 0) (type default))
          (fill (type none))
        )
        (polyline
          (pts
            (xy 3.302 -0.381)
            (xy 2.921 0.254)
            (xy 3.683 0.254)
            (xy 3.302 -0.381)
          )
          (stroke (width 0) (type default))
          (fill (type none))
        )
        (circle (center 1.651 0) (radius 2.794)
          (stroke (width 0.254) (type default))
          (fill (type none))
        )
        (circle (center 2.54 -1.778) (radius 0.254)
          (stroke (width 0) (type default))
          (fill (type outline))
        )
        (circle (center 2.54 1.778) (radius 0.254)
          (stroke (width 0) (type default))
          (fill (type outline))
        )
      )
      (symbol "Q_PMOS_GSD_1_1"
        (pin input line (at -5.08 0 0) (length 2.54)
          (name "G" (effects (font (size 1.27 1.27))))
          (number "1" (effects (font (size 1.27 1.27))))
        )
        (pin passive line (at 2.54 -5.08 90) (length 2.54)
          (name "S" (effects (font (size 1.27 1.27))))
          (number "2" (effects (font (size 1.27 1.27))))
        )
        (pin passive line (at 2.54 5.08 270) (length 2.54)
          (name "D" (effects (font (size 1.27 1.27))))
          (number "3" (effects (font (size 1.27 1.27))))
        )
      )
    )
    (symbol "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 "Regulator_Linear:MIC5353-3.3YMT" (in_bom yes) (on_board yes)
      (property "Reference" "U" (at -3.81 6.35 0)
        (effects (font (size 1.27 1.27)))
      )
      (property "Value" "MIC5353-3.3YMT" (at 8.89 6.35 0)
        (effects (font (size 1.27 1.27)))
      )
      (property "Footprint" "Package_DFN_QFN:MLF-6-1EP_1.6x1.6mm_P0.5mm_EP0.5x1.26mm" (at 3.81 -10.16 0)
        (effects (font (size 1.27 1.27)) hide)
      )
      (property "Datasheet" "http://ww1.microchip.com/downloads/en/DeviceDoc/mic5353.pdf" (at 6.35 2.54 0)
        (effects (font (size 1.27 1.27)) hide)
      )
      (property "ki_keywords" "Single LDO" (at 0 0 0)
        (effects (font (size 1.27 1.27)) hide)
      )
      (property "ki_description" "High-performance, single-output,  ultra-low  LDO regulator" (at 0 0 0)
        (effects (font (size 1.27 1.27)) hide)
      )
      (property "ki_fp_filters" "MLF?6?1EP*1.6x1.6mm*P0.5mm*" (at 0 0 0)
        (effects (font (size 1.27 1.27)) hide)
      )
      (symbol "MIC5353-3.3YMT_0_1"
        (rectangle (start -5.08 -5.08) (end 5.08 5.08)
          (stroke (width 0.254) (type default))
          (fill (type background))
        )
        (pin input line (at -7.62 0 0) (length 2.54)
          (name "EN" (effects (font (size 1.27 1.27))))
          (number "1" (effects (font (size 1.27 1.27))))
        )
        (pin power_in line (at 0 -7.62 90) (length 2.54)
          (name "GND" (effects (font (size 1.27 1.27))))
          (number "2" (effects (font (size 1.27 1.27))))
        )
        (pin power_in line (at -7.62 2.54 0) (length 2.54)
          (name "VIN" (effects (font (size 1.27 1.27))))
          (number "3" (effects (font (size 1.27 1.27))))
        )
        (pin power_out line (at 7.62 2.54 180) (length 2.54)
          (name "VOUT" (effects (font (size 1.27 1.27))))
          (number "4" (effects (font (size 1.27 1.27))))
        )
        (pin no_connect line (at 5.08 -2.54 180) (length 2.54) hide
          (name "NC" (effects (font (size 1.27 1.27))))
          (number "5" (effects (font (size 1.27 1.27))))
        )
        (pin passive line (at 7.62 0 180) (length 2.54)
          (name "BYP" (effects (font (size 1.27 1.27))))
          (number "6" (effects (font (size 1.27 1.27))))
        )
        (pin passive line (at 0 -7.62 90) (length 2.54) hide
          (name "GND" (effects (font (size 1.27 1.27))))
          (number "7" (effects (font (size 1.27 1.27))))
        )
      )
    )
    (symbol "Switch:SW_SPDT" (pin_names (offset 0) hide) (in_bom yes) (on_board yes)
      (property "Reference" "SW" (at 0 4.318 0)
        (effects (font (size 1.27 1.27)))
      )
      (property "Value" "SW_SPDT" (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" "switch single-pole double-throw spdt ON-ON" (at 0 0 0)
        (effects (font (size 1.27 1.27)) hide)
      )
      (property "ki_description" "Switch, single pole double throw" (at 0 0 0)
        (effects (font (size 1.27 1.27)) hide)
      )
      (symbol "SW_SPDT_0_0"
        (circle (center -2.032 0) (radius 0.508)
          (stroke (width 0) (type default))
          (fill (type none))
        )
        (circle (center 2.032 -2.54) (radius 0.508)
          (stroke (width 0) (type default))
          (fill (type none))
        )
      )
      (symbol "SW_SPDT_0_1"
        (polyline
          (pts
            (xy -1.524 0.254)
            (xy 1.651 2.286)
          )
          (stroke (width 0) (type default))
          (fill (type none))
        )
        (circle (center 2.032 2.54) (radius 0.508)
          (stroke (width 0) (type default))
          (fill (type none))
        )
      )
      (symbol "SW_SPDT_1_1"
        (pin passive line (at 5.08 2.54 180) (length 2.54)
          (name "A" (effects (font (size 1.27 1.27))))
          (number "1" (effects (font (size 1.27 1.27))))
        )
        (pin passive line (at -5.08 0 0) (length 2.54)
          (name "B" (effects (font (size 1.27 1.27))))
          (number "2" (effects (font (size 1.27 1.27))))
        )
        (pin passive line (at 5.08 -2.54 180) (length 2.54)
          (name "C" (effects (font (size 1.27 1.27))))
          (number "3" (effects (font (size 1.27 1.27))))
        )
      )
    )
    (symbol "kudzu-parts:MAX17048" (in_bom yes) (on_board yes)
      (property "Reference" "U" (at 2.54 11.43 0)
        (effects (font (size 1.27 1.27)))
      )
      (property "Value" "MAX17048" (at 0 0 0)
        (effects (font (size 1.27 1.27)))
      )
      (property "Footprint" "Package_DFN_QFN:TDFN-8-1EP_2x2mm_P0.5mm_EP0.8x1.2mm" (at 0 0 0)
        (effects (font (size 1.27 1.27)) hide)
      )
      (property "Datasheet" "https://www.analog.com/media/en/technical-documentation/data-sheets/max17048-max17049.pdf" (at 0 0 0)
        (effects (font (size 1.27 1.27)) hide)
      )
      (property "ki_keywords" "battery fuel" (at 0 0 0)
        (effects (font (size 1.27 1.27)) hide)
      )
      (property "ki_description" "3μA 1-Cell/2-Cell Fuel Gauge with ModelGauge" (at 0 0 0)
        (effects (font (size 1.27 1.27)) hide)
      )
      (property "ki_fp_filters" "TDFN*" (at 0 0 0)
        (effects (font (size 1.27 1.27)) hide)
      )
      (symbol "MAX17048_1_1"
        (rectangle (start -7.62 10.16) (end 7.62 -10.16)
          (stroke (width 0.254) (type default))
          (fill (type background))
        )
        (pin input line (at 10.16 -5.08 180) (length 2.54)
          (name "CTG" (effects (font (size 1.27 1.27))))
          (number "1" (effects (font (size 1.27 1.27))))
        )
        (pin input line (at 10.16 5.08 180) (length 2.54)
          (name "CELL" (effects (font (size 1.27 1.27))))
          (number "2" (effects (font (size 1.27 1.27))))
        )
        (pin power_in line (at 0 12.7 270) (length 2.54)
          (name "VDD" (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 output inverted (at -10.16 5.08 0) (length 2.54)
          (name "ALRT" (effects (font (size 1.27 1.27))))
          (number "5" (effects (font (size 1.27 1.27))))
        )
        (pin input line (at -10.16 2.54 0) (length 2.54)
          (name "QSTRT" (effects (font (size 1.27 1.27))))
          (number "6" (effects (font (size 1.27 1.27))))
        )
        (pin input line (at -10.16 -2.54 0) (length 2.54)
          (name "SCL" (effects (font (size 1.27 1.27))))
          (number "7" (effects (font (size 1.27 1.27))))
        )
        (pin bidirectional line (at -10.16 -5.08 0) (length 2.54)
          (name "SDA" (effects (font (size 1.27 1.27))))
          (number "8" (effects (font (size 1.27 1.27))))
        )
        (pin passive line (at 0 -12.7 90) (length 2.54) hide
          (name "GND" (effects (font (size 1.27 1.27))))
          (number "9" (effects (font (size 1.27 1.27))))
        )
      )
    )
    (symbol "kudzu-parts:MCP73831-MC" (in_bom yes) (on_board yes)
      (property "Reference" "U" (at 0 0 0)
        (effects (font (size 1.27 1.27)))
      )
      (property "Value" "MCP73831-MC" (at 0 0 0)
        (effects (font (size 1.27 1.27)))
      )
      (property "Footprint" "Package_DFN_QFN:DFN-8-1EP_3x2mm_P0.5mm_EP1.75x1.45mm" (at 0 0 0)
        (effects (font (size 1.27 1.27)) hide)
      )
      (property "Datasheet" "https://ww1.microchip.com/downloads/en/DeviceDoc/MCP73831-Family-Data-Sheet-DS20001984H.pdf" (at 0 0 0)
        (effects (font (size 1.27 1.27)) hide)
      )
      (property "ki_keywords" "lipo lion battery charger" (at 0 0 0)
        (effects (font (size 1.27 1.27)) hide)
      )
      (property "ki_description" "Miniature Single-Cell, Fully Integrated Li-Ion, Li-Polymer Charge Management Controllers" (at 0 0 0)
        (effects (font (size 1.27 1.27)) hide)
      )
      (property "ki_fp_filters" "DFN*" (at 0 0 0)
        (effects (font (size 1.27 1.27)) hide)
      )
      (symbol "MCP73831-MC_1_1"
        (rectangle (start -7.62 5.08) (end 7.62 -5.08)
          (stroke (width 0.254) (type default))
          (fill (type background))
        )
        (pin power_in line (at 0 7.62 270) (length 2.54)
          (name "VDD" (effects (font (size 1.27 1.27))))
          (number "1" (effects (font (size 1.27 1.27))))
        )
        (pin passive line (at 0 7.62 270) (length 2.54) hide
          (name "VDD" (effects (font (size 1.27 1.27))))
          (number "2" (effects (font (size 1.27 1.27))))
        )
        (pin power_out line (at 10.16 2.54 180) (length 2.54)
          (name "BATT" (effects (font (size 1.27 1.27))))
          (number "3" (effects (font (size 1.27 1.27))))
        )
        (pin passive line (at 10.16 2.54 180) (length 2.54) hide
          (name "BATT" (effects (font (size 1.27 1.27))))
          (number "4" (effects (font (size 1.27 1.27))))
        )
        (pin output line (at 10.16 -2.54 180) (length 2.54)
          (name "STAT" (effects (font (size 1.27 1.27))))
          (number "5" (effects (font (size 1.27 1.27))))
        )
        (pin power_in line (at 0 -7.62 90) (length 2.54)
          (name "VSS" (effects (font (size 1.27 1.27))))
          (number "6" (effects (font (size 1.27 1.27))))
        )
        (pin no_connect line (at -10.16 2.54 0) (length 2.54) hide
          (name "NC" (effects (font (size 1.27 1.27))))
          (number "7" (effects (font (size 1.27 1.27))))
        )
        (pin input line (at -10.16 -2.54 0) (length 2.54)
          (name "PROG" (effects (font (size 1.27 1.27))))
          (number "8" (effects (font (size 1.27 1.27))))
        )
        (pin passive line (at 0 -7.62 90) (length 2.54) hide
          (name "VSS" (effects (font (size 1.27 1.27))))
          (number "9" (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:+BATT" (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" "+BATT" (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 battery" (at 0 0 0)
        (effects (font (size 1.27 1.27)) hide)
      )
      (property "ki_description" "Power symbol creates a global label with name \"+BATT\"" (at 0 0 0)
        (effects (font (size 1.27 1.27)) hide)
      )
      (symbol "+BATT_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 "+BATT_1_1"
        (pin power_in line (at 0 0 90) (length 0) hide
          (name "+BATT" (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 67.31 154.94) (diameter 0) (color 0 0 0 0)
    (uuid 0335c868-a3ab-4feb-90f4-9a76d0c541fc)
  )
  (junction (at 81.28 165.1) (diameter 0) (color 0 0 0 0)
    (uuid 35b3b6d3-df5a-4744-96e9-234d40b8f60d)
  )
  (junction (at 93.98 154.94) (diameter 0) (color 0 0 0 0)
    (uuid 3c93ab0f-70e5-4fe0-83c7-062fe4cd00e7)
  )
  (junction (at 53.34 143.51) (diameter 0) (color 0 0 0 0)
    (uuid 3d8c2504-f4a5-49a1-8b89-1d4d4a733939)
  )
  (junction (at 73.66 165.1) (diameter 0) (color 0 0 0 0)
    (uuid 5c99b376-dba8-447a-b4e5-0c4af69954b2)
  )
  (junction (at 46.99 143.51) (diameter 0) (color 0 0 0 0)
    (uuid 607817fc-cd7a-4c09-8119-5e289eea7fd2)
  )
  (junction (at 142.24 154.94) (diameter 0) (color 0 0 0 0)
    (uuid 60e5a684-d820-41b4-a06d-97f84e532be1)
  )
  (junction (at 261.62 49.53) (diameter 0) (color 0 0 0 0)
    (uuid 848f0105-ade2-4c46-a22a-18de1fc78689)
  )
  (junction (at 111.76 154.94) (diameter 0) (color 0 0 0 0)
    (uuid 8734ad09-91bc-40dc-80d8-d1cf0c845514)
  )
  (junction (at 261.62 59.69) (diameter 0) (color 0 0 0 0)
    (uuid 9d53e90e-6df4-4390-805d-55196f93de5e)
  )
  (junction (at 41.91 53.34) (diameter 0) (color 0 0 0 0)
    (uuid a8b80570-8efb-4946-8789-95489fb1e4e7)
  )
  (junction (at 119.38 52.07) (diameter 0) (color 0 0 0 0)
    (uuid b4165e84-7f3e-41ac-b2a7-81edd16c2645)
  )
  (junction (at 104.14 154.94) (diameter 0) (color 0 0 0 0)
    (uuid c06b7d65-77e9-4c02-bac7-9f63ef64fd7c)
  )
  (junction (at 73.66 154.94) (diameter 0) (color 0 0 0 0)
    (uuid cf27e146-371d-4b00-9a7d-b32a929c9f74)
  )
  (junction (at 219.71 49.53) (diameter 0) (color 0 0 0 0)
    (uuid da164b70-25c5-442e-94f3-bf5a23545e17)
  )
  (junction (at 217.17 52.07) (diameter 0) (color 0 0 0 0)
    (uuid dc9da24d-889b-4ae6-9d7f-15c18d61619d)
  )
  (junction (at 224.79 52.07) (diameter 0) (color 0 0 0 0)
    (uuid e694d9cd-a182-40a6-9918-e0abb8a90030)
  )

  (no_connect (at 93.98 162.56) (uuid 1609b223-cd22-482c-861b-12bd2f14a904))

  (wire (pts (xy 113.03 59.69) (xy 113.03 62.23))
    (stroke (width 0) (type default))
    (uuid 064b8071-e0d6-44d6-b142-53fe28bff8c2)
  )
  (wire (pts (xy 135.89 165.1) (xy 135.89 167.64))
    (stroke (width 0) (type default))
    (uuid 0cdfeb14-6c78-479d-98d6-6d537b54bb98)
  )
  (wire (pts (xy 217.17 46.99) (xy 217.17 52.07))
    (stroke (width 0) (type default))
    (uuid 0e725460-3d9d-4ede-90be-a68b60cb7742)
  )
  (wire (pts (xy 119.38 52.07) (xy 113.03 52.07))
    (stroke (width 0) (type default))
    (uuid 1623b21e-7c86-42d4-85f1-f8512bef9b6b)
  )
  (wire (pts (xy 259.08 59.69) (xy 261.62 59.69))
    (stroke (width 0) (type default))
    (uuid 17c88bfa-52f3-4c14-9ea3-f25d87a1ab4c)
  )
  (wire (pts (xy 113.03 52.07) (xy 113.03 54.61))
    (stroke (width 0) (type default))
    (uuid 184dcaa8-2098-4636-af55-e09f35887086)
  )
  (wire (pts (xy 111.76 157.48) (xy 114.3 157.48))
    (stroke (width 0) (type default))
    (uuid 1902bcb0-70e5-4ae4-a6ba-6dd993a6c3ac)
  )
  (wire (pts (xy 46.99 152.4) (xy 46.99 156.21))
    (stroke (width 0) (type default))
    (uuid 1a99fbd7-1e17-49ff-8535-e246a5d3180c)
  )
  (wire (pts (xy 92.71 67.31) (xy 105.41 67.31))
    (stroke (width 0) (type default))
    (uuid 24bce560-da5a-4a9d-bcd6-471c4986a51a)
  )
  (wire (pts (xy 73.66 154.94) (xy 76.2 154.94))
    (stroke (width 0) (type default))
    (uuid 25149d6b-62c3-4660-8e5d-3be381167966)
  )
  (wire (pts (xy 209.55 49.53) (xy 219.71 49.53))
    (stroke (width 0) (type default))
    (uuid 26de4aa1-62e3-4131-958b-a73cf029c513)
  )
  (wire (pts (xy 86.36 154.94) (xy 93.98 154.94))
    (stroke (width 0) (type default))
    (uuid 2b918616-b0b9-4a3e-b764-b07c54ee5592)
  )
  (wire (pts (xy 142.24 154.94) (xy 142.24 160.02))
    (stroke (width 0) (type default))
    (uuid 325cb6ae-a607-4763-8f85-3f8c4fa82564)
  )
  (wire (pts (xy 113.03 72.39) (xy 113.03 74.93))
    (stroke (width 0) (type default))
    (uuid 38424333-662c-4ed2-8711-8b6ebb342894)
  )
  (wire (pts (xy 121.92 165.1) (xy 121.92 167.64))
    (stroke (width 0) (type default))
    (uuid 3f31269b-d920-4973-881e-13f018bf493a)
  )
  (wire (pts (xy 129.54 157.48) (xy 135.89 157.48))
    (stroke (width 0) (type default))
    (uuid 41daba33-0416-4224-b4d0-1d09b82b57fb)
  )
  (wire (pts (xy 46.99 143.51) (xy 46.99 138.43))
    (stroke (width 0) (type default))
    (uuid 429de6e6-7a36-40fc-9533-50e6ce4a325e)
  )
  (wire (pts (xy 132.08 57.15) (xy 132.08 62.23))
    (stroke (width 0) (type default))
    (uuid 43cdd642-c711-4293-84bb-5eacf4c9dbe8)
  )
  (wire (pts (xy 248.92 39.37) (xy 248.92 41.91))
    (stroke (width 0) (type default))
    (uuid 497bc296-89a2-4d30-be93-835e4bf6e9d4)
  )
  (wire (pts (xy 104.14 165.1) (xy 104.14 167.64))
    (stroke (width 0) (type default))
    (uuid 49e43272-03f0-46ec-9428-f9e6c34249f8)
  )
  (wire (pts (xy 53.34 143.51) (xy 46.99 143.51))
    (stroke (width 0) (type default))
    (uuid 4b731c75-5cbb-4e97-8a14-019b0aac64c5)
  )
  (wire (pts (xy 119.38 52.07) (xy 121.92 52.07))
    (stroke (width 0) (type default))
    (uuid 4e27a5d4-5595-4b1f-8b67-84222225bb6c)
  )
  (wire (pts (xy 73.66 154.94) (xy 73.66 157.48))
    (stroke (width 0) (type default))
    (uuid 53f1d308-f290-4860-a787-afd3341b6f7a)
  )
  (wire (pts (xy 67.31 148.59) (xy 67.31 154.94))
    (stroke (width 0) (type default))
    (uuid 5cf5419c-16d9-4aac-ba9f-de1ff6bbc8b2)
  )
  (wire (pts (xy 220.98 57.15) (xy 238.76 57.15))
    (stroke (width 0) (type default))
    (uuid 5fa5103a-66f2-416c-8931-ad12852dedaf)
  )
  (wire (pts (xy 111.76 154.94) (xy 111.76 157.48))
    (stroke (width 0) (type default))
    (uuid 63b6b80e-7540-44db-abb2-1a5110c6b2e7)
  )
  (wire (pts (xy 41.91 50.8) (xy 44.45 50.8))
    (stroke (width 0) (type default))
    (uuid 67ae1da8-baa5-49b2-ac4b-1d8540a3915a)
  )
  (polyline (pts (xy 12.7 97.79) (xy 283.21 97.79))
    (stroke (width 0) (type default))
    (uuid 6cac1859-8775-4f04-9e8f-c4fe5fb0fc49)
  )

  (wire (pts (xy 135.89 160.02) (xy 135.89 157.48))
    (stroke (width 0) (type default))
    (uuid 71147b83-e2ed-4c12-8613-57f0e68aaa17)
  )
  (wire (pts (xy 41.91 53.34) (xy 44.45 53.34))
    (stroke (width 0) (type default))
    (uuid 73479c10-1fb8-4503-b74e-c73fe8cf1c78)
  )
  (wire (pts (xy 144.78 44.45) (xy 144.78 46.99))
    (stroke (width 0) (type default))
    (uuid 749321c0-b1c4-40ac-a4e9-f2f59c9f4fc1)
  )
  (wire (pts (xy 53.34 143.51) (xy 59.69 143.51))
    (stroke (width 0) (type default))
    (uuid 7604a16b-ae65-4236-88c6-b931ab720d77)
  )
  (wire (pts (xy 93.98 154.94) (xy 104.14 154.94))
    (stroke (width 0) (type default))
    (uuid 768291be-116d-4ab9-ac44-11fabf269319)
  )
  (wire (pts (xy 93.98 167.64) (xy 96.52 167.64))
    (stroke (width 0) (type default))
    (uuid 76c44e43-2444-4a81-9d3d-84fe79bdc41d)
  )
  (wire (pts (xy 119.38 52.07) (xy 119.38 54.61))
    (stroke (width 0) (type default))
    (uuid 7dd01fd3-eb2b-43e4-b551-068db5b06aad)
  )
  (wire (pts (xy 219.71 49.53) (xy 238.76 49.53))
    (stroke (width 0) (type default))
    (uuid 80040d90-1a3f-4865-bd7f-ada7bdeba5e9)
  )
  (wire (pts (xy 104.14 154.94) (xy 104.14 160.02))
    (stroke (width 0) (type default))
    (uuid 9169d715-499c-4f2a-a8d8-e76ddfd443cd)
  )
  (wire (pts (xy 132.08 39.37) (xy 132.08 41.91))
    (stroke (width 0) (type default))
    (uuid 976a7804-fd2d-4d1d-887a-5ec244de18a2)
  )
  (wire (pts (xy 73.66 162.56) (xy 73.66 165.1))
    (stroke (width 0) (type default))
    (uuid 99e83ae0-2083-4346-b53e-64eb8dd0f83d)
  )
  (wire (pts (xy 219.71 46.99) (xy 219.71 49.53))
    (stroke (width 0) (type default))
    (uuid 9c1a2e65-41c9-4e18-8788-44b5ac23127d)
  )
  (wire (pts (xy 224.79 67.31) (xy 224.79 69.85))
    (stroke (width 0) (type default))
    (uuid 9cb51454-5ced-444c-9397-616cef54b4d9)
  )
  (wire (pts (xy 63.5 154.94) (xy 67.31 154.94))
    (stroke (width 0) (type default))
    (uuid 9f0f7a87-44e1-4beb-8f28-a778c843a355)
  )
  (wire (pts (xy 261.62 49.53) (xy 261.62 46.99))
    (stroke (width 0) (type default))
    (uuid 9f6d01b9-49b9-4a09-b3fc-a49fca4d03c8)
  )
  (wire (pts (xy 81.28 162.56) (xy 81.28 165.1))
    (stroke (width 0) (type default))
    (uuid 9fc4b980-1ea0-4a1f-97e6-979d6ecd5e19)
  )
  (wire (pts (xy 111.76 154.94) (xy 114.3 154.94))
    (stroke (width 0) (type default))
    (uuid a025f922-acbc-41d7-afee-6c8c593a5aaf)
  )
  (wire (pts (xy 41.91 55.88) (xy 41.91 53.34))
    (stroke (width 0) (type default))
    (uuid a0a9e0a5-dd6b-4ace-ae74-73208ed6636d)
  )
  (wire (pts (xy 81.28 165.1) (xy 83.82 165.1))
    (stroke (width 0) (type default))
    (uuid a11690a8-f10b-4e5d-9599-7361277fe717)
  )
  (wire (pts (xy 142.24 52.07) (xy 154.94 52.07))
    (stroke (width 0) (type default))
    (uuid a55cef91-ed8b-4531-b5af-252987c7b6ad)
  )
  (wire (pts (xy 261.62 49.53) (xy 261.62 52.07))
    (stroke (width 0) (type default))
    (uuid a5c3809e-783e-4c1c-a5c6-e5e1ec548521)
  )
  (wire (pts (xy 55.88 154.94) (xy 53.34 154.94))
    (stroke (width 0) (type default))
    (uuid a5c4cf3f-28bc-48bd-b789-6e89de40d804)
  )
  (wire (pts (xy 261.62 59.69) (xy 261.62 62.23))
    (stroke (width 0) (type default))
    (uuid a8ddac69-f0cd-4fa8-b384-65ebf7442a0d)
  )
  (wire (pts (xy 142.24 46.99) (xy 144.78 46.99))
    (stroke (width 0) (type default))
    (uuid b143c4fb-b995-4800-8102-b781448d5417)
  )
  (wire (pts (xy 209.55 52.07) (xy 217.17 52.07))
    (stroke (width 0) (type default))
    (uuid b40634de-68a4-4dc5-b7ed-8f8c0da1f906)
  )
  (wire (pts (xy 96.52 167.64) (xy 96.52 170.18))
    (stroke (width 0) (type default))
    (uuid b4858fbb-4e0a-4cc5-abd9-59e7504fcdb7)
  )
  (wire (pts (xy 224.79 52.07) (xy 224.79 62.23))
    (stroke (width 0) (type default))
    (uuid be9fccbb-3529-40f4-aaa1-1a481f5d14fc)
  )
  (wire (pts (xy 46.99 143.51) (xy 46.99 147.32))
    (stroke (width 0) (type default))
    (uuid c12087f6-3c6b-4571-94e9-9e5525c6051b)
  )
  (wire (pts (xy 142.24 148.59) (xy 142.24 154.94))
    (stroke (width 0) (type default))
    (uuid c608cc9f-636a-4b62-b3e7-315da4757ba2)
  )
  (wire (pts (xy 224.79 52.07) (xy 238.76 52.07))
    (stroke (width 0) (type default))
    (uuid c76eede5-9371-49b8-8b64-ee4403570387)
  )
  (wire (pts (xy 73.66 165.1) (xy 81.28 165.1))
    (stroke (width 0) (type default))
    (uuid cf64bf08-3e4f-4180-a1b7-d8f14ccacf4a)
  )
  (wire (pts (xy 39.37 53.34) (xy 41.91 53.34))
    (stroke (width 0) (type default))
    (uuid cf7046cb-fe84-4101-aeb8-c2b29042b9f9)
  )
  (wire (pts (xy 248.92 67.31) (xy 248.92 69.85))
    (stroke (width 0) (type default))
    (uuid db61389f-6da7-4abb-bc04-60d98827ca31)
  )
  (wire (pts (xy 259.08 49.53) (xy 261.62 49.53))
    (stroke (width 0) (type default))
    (uuid dc132b12-e604-4b5f-bf1f-fae7cbc0215b)
  )
  (wire (pts (xy 104.14 154.94) (xy 111.76 154.94))
    (stroke (width 0) (type default))
    (uuid dddb93df-7f38-4653-b14c-bd23d5b1bc5e)
  )
  (wire (pts (xy 54.61 165.1) (xy 73.66 165.1))
    (stroke (width 0) (type default))
    (uuid dfe60144-1884-4547-acf0-3753a832a5b7)
  )
  (wire (pts (xy 119.38 59.69) (xy 119.38 62.23))
    (stroke (width 0) (type default))
    (uuid e0ce0b01-f318-4bd2-bcb7-f6e960675ae3)
  )
  (wire (pts (xy 220.98 59.69) (xy 238.76 59.69))
    (stroke (width 0) (type default))
    (uuid e0fb981f-9cc0-4b01-b16e-986200954d5c)
  )
  (polyline (pts (xy 83.82 12.7) (xy 83.82 97.79))
    (stroke (width 0) (type default))
    (uuid e2cbf70e-03b4-4ec0-a8f1-2d0d93038b1b)
  )

  (wire (pts (xy 217.17 52.07) (xy 224.79 52.07))
    (stroke (width 0) (type default))
    (uuid e6bc756a-ad20-4c93-a88d-cdd967dd3fe1)
  )
  (wire (pts (xy 67.31 154.94) (xy 73.66 154.94))
    (stroke (width 0) (type default))
    (uuid eb08571b-d66e-4aff-b19c-640c3d12cb8e)
  )
  (wire (pts (xy 142.24 165.1) (xy 142.24 167.64))
    (stroke (width 0) (type default))
    (uuid eb6a2b02-2fa2-42a7-9e34-a39b87038b6e)
  )
  (wire (pts (xy 261.62 57.15) (xy 261.62 59.69))
    (stroke (width 0) (type default))
    (uuid ec85b144-f24b-47c6-9cda-b078a50459d7)
  )
  (wire (pts (xy 129.54 154.94) (xy 142.24 154.94))
    (stroke (width 0) (type default))
    (uuid f0085f48-b191-4d19-be54-cf8a6f557efc)
  )
  (polyline (pts (xy 186.69 12.7) (xy 186.69 97.79))
    (stroke (width 0) (type default))
    (uuid f22b862e-3d4b-43f2-9fdc-ed8599c34984)
  )

  (wire (pts (xy 93.98 152.4) (xy 93.98 154.94))
    (stroke (width 0) (type default))
    (uuid f3804ab6-0c3b-454c-9ebe-04eb4392c5bf)
  )
  (wire (pts (xy 67.31 135.89) (xy 67.31 138.43))
    (stroke (width 0) (type default))
    (uuid f7677e9a-0092-49b9-810b-67771612020c)
  )
  (wire (pts (xy 53.34 154.94) (xy 53.34 143.51))
    (stroke (width 0) (type default))
    (uuid fc1063be-969c-4452-9f98-8e3d9c03f8a7)
  )
  (wire (pts (xy 41.91 48.26) (xy 41.91 50.8))
    (stroke (width 0) (type default))
    (uuid fd9ad438-4c6e-476b-bc72-5cdee5f926d5)
  )

  (text "Charge Current Resistor:\nR (KOhms) = 1000 (V) / Charge Current (mA)\nWhile system on: 4K = 250 mA\nWhile system off: 2K = 500 mA"
    (at 113.03 30.48 0)
    (effects (font (size 1.27 1.27)) (justify left bottom))
    (uuid 4e4fd99c-152d-4d47-81f4-1b9bbcfc4e8e)
  )
  (text "Confirm that \"UP\" is on during layout.\nAdjust which side is grounded if necessary."
    (at 50.8 173.99 0)
    (effects (font (size 1.27 1.27)) (justify left bottom))
    (uuid 5119e503-f504-4fea-82b8-f0c33209eac2)
  )
  (text "Can substitute with MIC5219-3.3YML-TR" (at 102.87 140.97 0)
    (effects (font (size 1.27 1.27)) (justify left bottom))
    (uuid 8b14643f-96dd-4f52-abac-71c9a7d78864)
  )
  (text "Battery Conn." (at 30.48 20.32 0)
    (effects (font (size 3 3)) (justify left bottom))
    (uuid 8b84aac6-0bd6-4166-901b-5997328f3716)
  )
  (text "3.3V Power Supply\n" (at 58.42 107.95 0)
    (effects (font (size 3 3)) (justify left bottom))
    (uuid ac2038d8-1a05-49f5-b27c-d8705b00e246)
  )
  (text "Battery Fuel Gauge\n" (at 228.6 20.32 0)
    (effects (font (size 3 3)) (justify left bottom))
    (uuid bdf94f1d-4de7-436c-a1c1-e75786f65126)
  )
  (text "I2C Addr: 0x36" (at 241.3 24.13 0)
    (effects (font (size 1.27 1.27)) (justify left bottom))
    (uuid d0d098b1-dfe1-4c0b-bc85-355e7b98cbc6)
  )
  (text "LiPo Charging\n" (at 119.38 19.05 0)
    (effects (font (size 3 3)) (justify left bottom))
    (uuid f127fd19-e8c4-4c87-b6b3-e8754d99f1b6)
  )

  (label "POWER_SW_N" (at 54.61 165.1 0) (fields_autoplaced)
    (effects (font (size 1.27 1.27)) (justify left bottom))
    (uuid 458d7509-e75e-414f-9b37-762829b3dfd8)
  )
  (label "VSYS_ALWAYS" (at 66.04 154.94 0) (fields_autoplaced)
    (effects (font (size 1.27 1.27)) (justify left bottom))
    (uuid 4c9dd679-27b0-4fa6-8a4c-8395e2fcb414)
  )
  (label "POWER_SW_N" (at 92.71 67.31 0) (fields_autoplaced)
    (effects (font (size 1.27 1.27)) (justify left bottom))
    (uuid 57645166-c601-41c3-b57b-80eb650f566d)
  )
  (label "GAUGE_ALERT_N" (at 222.25 49.53 0) (fields_autoplaced)
    (effects (font (size 1.27 1.27)) (justify left bottom))
    (uuid 695be720-c17e-469f-9739-1151506aa44c)
  )
  (label "CHARGE_STAT" (at 154.94 52.07 180) (fields_autoplaced)
    (effects (font (size 1.27 1.27)) (justify right bottom))
    (uuid 70c21831-8875-4c76-9690-ba96d58668d3)
  )
  (label "SENSOR_SDA" (at 226.06 59.69 0) (fields_autoplaced)
    (effects (font (size 1.27 1.27)) (justify left bottom))
    (uuid 784c3adf-668c-4e4e-9e10-f9d084f4c16f)
  )
  (label "GAUGE_QSTRT" (at 222.25 52.07 0) (fields_autoplaced)
    (effects (font (size 1.27 1.27)) (justify left bottom))
    (uuid 8bfb6b23-c630-483f-a1c2-633f390a7515)
  )
  (label "VSYS" (at 97.79 154.94 0) (fields_autoplaced)
    (effects (font (size 1.27 1.27)) (justify left bottom))
    (uuid da6d9273-5382-4945-ac39-4540a1cb98fe)
  )
  (label "SENSOR_SCL" (at 226.06 57.15 0) (fields_autoplaced)
    (effects (font (size 1.27 1.27)) (justify left bottom))
    (uuid e5d0b2aa-a7ec-4807-a66c-8113d8604060)
  )

  (global_label "SENSOR_SDA" (shape input) (at 220.98 59.69 180) (fields_autoplaced)
    (effects (font (size 1.27 1.27)) (justify right))
    (uuid 367455a3-42c3-466c-b437-5adff78611d2)
    (property "Intersheetrefs" "${INTERSHEET_REFS}" (at 205.9601 59.69 0)
      (effects (font (size 1.27 1.27)) (justify right) hide)
    )
  )
  (global_label "GAUGE_ALERT_N" (shape input) (at 209.55 49.53 180) (fields_autoplaced)
    (effects (font (size 1.27 1.27)) (justify right))
    (uuid 50b05478-733a-4933-b8fb-fc5086c8a69b)
    (property "Intersheetrefs" "${INTERSHEET_REFS}" (at 191.6877 49.53 0)
      (effects (font (size 1.27 1.27)) (justify right) hide)
    )
  )
  (global_label "SENSOR_SCL" (shape input) (at 220.98 57.15 180) (fields_autoplaced)
    (effects (font (size 1.27 1.27)) (justify right))
    (uuid 6ae13583-6985-403b-abd5-ba4e8927a178)
    (property "Intersheetrefs" "${INTERSHEET_REFS}" (at 206.0206 57.15 0)
      (effects (font (size 1.27 1.27)) (justify right) hide)
    )
  )
  (global_label "GAUGE_QSTRT" (shape input) (at 209.55 52.07 180) (fields_autoplaced)
    (effects (font (size 1.27 1.27)) (justify right))
    (uuid dde6b00a-0a05-427f-839e-73f6fa72e534)
    (property "Intersheetrefs" "${INTERSHEET_REFS}" (at 193.7439 52.07 0)
      (effects (font (size 1.27 1.27)) (justify right) hide)
    )
  )
  (global_label "CHARGE_STAT" (shape input) (at 154.94 52.07 0) (fields_autoplaced)
    (effects (font (size 1.27 1.27)) (justify left))
    (uuid fa2b7102-abb9-4fc8-ad51-bd7309eebd01)
    (property "Intersheetrefs" "${INTERSHEET_REFS}" (at 170.5042 52.07 0)
      (effects (font (size 1.27 1.27)) (justify left) hide)
    )
  )

  (symbol (lib_id "Device:D_Schottky") (at 59.69 154.94 180) (unit 1)
    (in_bom yes) (on_board yes) (dnp no) (fields_autoplaced)
    (uuid 0382ea1c-de48-4e5b-a267-3c17a12aef90)
    (property "Reference" "D2" (at 60.0075 148.59 0)
      (effects (font (size 1.27 1.27)))
    )
    (property "Value" "D_Schottky" (at 60.0075 151.13 0)
      (effects (font (size 1.27 1.27)))
    )
    (property "Footprint" "Diode_SMD:D_SOD-123" (at 59.69 154.94 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Datasheet" "~" (at 59.69 154.94 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Price @ 10" "0.16400" (at 59.69 154.94 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Price @ 25" "0.16400" (at 59.69 154.94 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "DigiKey PN" "4786-B5819WCT-ND" (at 59.69 154.94 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (pin "1" (uuid b11714be-3aab-40c3-9ecb-712584bc13ac))
    (pin "2" (uuid 0b671b61-5604-45c2-b6e8-435fd98b4cc4))
    (instances
      (project "kudzu"
        (path "/30e30bdf-50e5-46a8-92c7-0e280cceabe8"
          (reference "D2") (unit 1)
        )
        (path "/30e30bdf-50e5-46a8-92c7-0e280cceabe8/947fe22b-a740-4b36-aa9b-7334b6ab9f8c"
          (reference "D2") (unit 1)
        )
      )
    )
  )

  (symbol (lib_id "power:GND") (at 46.99 156.21 0) (unit 1)
    (in_bom yes) (on_board yes) (dnp no) (fields_autoplaced)
    (uuid 1331f5da-b0c2-4c64-b2a9-4da9a7c1b3e0)
    (property "Reference" "#PWR040" (at 46.99 162.56 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Value" "GND" (at 46.99 161.29 0)
      (effects (font (size 1.27 1.27)))
    )
    (property "Footprint" "" (at 46.99 156.21 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Datasheet" "" (at 46.99 156.21 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (pin "1" (uuid 6f89dfb2-3ab7-4455-a27a-ea9df3503ab8))
    (instances
      (project "kudzu"
        (path "/30e30bdf-50e5-46a8-92c7-0e280cceabe8"
          (reference "#PWR040") (unit 1)
        )
        (path "/30e30bdf-50e5-46a8-92c7-0e280cceabe8/947fe22b-a740-4b36-aa9b-7334b6ab9f8c"
          (reference "#PWR040") (unit 1)
        )
      )
    )
  )

  (symbol (lib_id "power:GND") (at 142.24 167.64 0) (unit 1)
    (in_bom yes) (on_board yes) (dnp no) (fields_autoplaced)
    (uuid 1bbb9943-1802-4081-b0fc-2469d9a95012)
    (property "Reference" "#PWR050" (at 142.24 173.99 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Value" "GND" (at 142.24 172.72 0)
      (effects (font (size 1.27 1.27)))
    )
    (property "Footprint" "" (at 142.24 167.64 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Datasheet" "" (at 142.24 167.64 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (pin "1" (uuid be4561c2-2845-4828-b711-b1b6e4aecfed))
    (instances
      (project "kudzu"
        (path "/30e30bdf-50e5-46a8-92c7-0e280cceabe8"
          (reference "#PWR050") (unit 1)
        )
        (path "/30e30bdf-50e5-46a8-92c7-0e280cceabe8/947fe22b-a740-4b36-aa9b-7334b6ab9f8c"
          (reference "#PWR050") (unit 1)
        )
      )
    )
  )

  (symbol (lib_id "Device:R_Small") (at 73.66 160.02 180) (unit 1)
    (in_bom yes) (on_board yes) (dnp no)
    (uuid 1dc869fb-8d09-45bd-8736-ce8065d089e5)
    (property "Reference" "R7" (at 71.12 157.48 0)
      (effects (font (size 1.27 1.27)))
    )
    (property "Value" "10K" (at 71.12 163.83 0)
      (effects (font (size 1.27 1.27)))
    )
    (property "Footprint" "Resistor_SMD:R_0603_1608Metric" (at 73.66 160.02 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Datasheet" "~" (at 73.66 160.02 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Price @ 10" "0.03240" (at 73.66 160.02 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Price @ 25" "0.02380" (at 73.66 160.02 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "DigiKey PN" "RNCP0603FTD10K0TR-ND" (at 73.66 160.02 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (pin "1" (uuid beb31a2c-9a71-4ffc-b762-4a405aa5a4e5))
    (pin "2" (uuid 49c22335-3a85-45ec-bf2f-21b0227ae4b1))
    (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 "R38") (unit 1)
        )
      )
    )
  )

  (symbol (lib_id "power:+3V3") (at 142.24 148.59 0) (unit 1)
    (in_bom yes) (on_board yes) (dnp no) (fields_autoplaced)
    (uuid 2505d623-8852-4d50-a152-031bc88ed1f0)
    (property "Reference" "#PWR049" (at 142.24 152.4 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Value" "+3V3" (at 142.24 143.51 0)
      (effects (font (size 1.27 1.27)))
    )
    (property "Footprint" "" (at 142.24 148.59 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Datasheet" "" (at 142.24 148.59 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (pin "1" (uuid 1a2239a6-ba86-4164-ad16-34dbbe9a5556))
    (instances
      (project "kudzu"
        (path "/30e30bdf-50e5-46a8-92c7-0e280cceabe8"
          (reference "#PWR049") (unit 1)
        )
        (path "/30e30bdf-50e5-46a8-92c7-0e280cceabe8/947fe22b-a740-4b36-aa9b-7334b6ab9f8c"
          (reference "#PWR049") (unit 1)
        )
      )
    )
  )

  (symbol (lib_id "Device:Q_PMOS_GSD") (at 81.28 157.48 270) (mirror x) (unit 1)
    (in_bom yes) (on_board yes) (dnp no)
    (uuid 279e75ea-6593-4512-b3a8-55bc6c28aa1f)
    (property "Reference" "Q1" (at 81.28 148.59 90)
      (effects (font (size 1.27 1.27)))
    )
    (property "Value" "Q_PMOS_GSD" (at 81.28 151.13 90)
      (effects (font (size 1.27 1.27)))
    )
    (property "Footprint" "Package_TO_SOT_SMD:SOT-23-3" (at 83.82 152.4 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Datasheet" "~" (at 81.28 157.48 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Price @ 10" "0.36000" (at 81.28 157.48 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Price @ 25" "0.36000" (at 81.28 157.48 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "DigiKey PN" "31-DMG3415UQ-7CT-ND" (at 81.28 157.48 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (pin "1" (uuid 1045e73f-a696-4730-8f83-b2e6557d2b6d))
    (pin "2" (uuid f0c137eb-c5ca-4614-99e5-89df6a01fa67))
    (pin "3" (uuid a56521e8-a754-44d2-8cf8-ecaee213d738))
    (instances
      (project "kudzu"
        (path "/30e30bdf-50e5-46a8-92c7-0e280cceabe8"
          (reference "Q1") (unit 1)
        )
        (path "/30e30bdf-50e5-46a8-92c7-0e280cceabe8/947fe22b-a740-4b36-aa9b-7334b6ab9f8c"
          (reference "Q2") (unit 1)
        )
      )
    )
  )

  (symbol (lib_id "Device:Q_PMOS_GSD") (at 64.77 143.51 0) (unit 1)
    (in_bom yes) (on_board yes) (dnp no) (fields_autoplaced)
    (uuid 32f03591-ca70-468b-aa02-df07a009527c)
    (property "Reference" "Q1" (at 71.12 142.24 0)
      (effects (font (size 1.27 1.27)) (justify left))
    )
    (property "Value" "Q_PMOS_GSD" (at 69.85 144.78 0)
      (effects (font (size 1.27 1.27)) (justify left))
    )
    (property "Footprint" "Package_TO_SOT_SMD:SOT-23-3" (at 69.85 140.97 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Datasheet" "~" (at 64.77 143.51 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Price @ 10" "0.36000" (at 64.77 143.51 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Price @ 25" "0.36000" (at 64.77 143.51 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "DigiKey PN" "31-DMG3415UQ-7CT-ND" (at 64.77 143.51 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (pin "1" (uuid 2408c063-9fea-4927-a5ec-8cabe874e0f8))
    (pin "2" (uuid cfd365ec-b5a8-426b-899e-b5e91cad9e63))
    (pin "3" (uuid 288ba8ba-819e-4877-b30f-ef98d2d63cc5))
    (instances
      (project "kudzu"
        (path "/30e30bdf-50e5-46a8-92c7-0e280cceabe8"
          (reference "Q1") (unit 1)
        )
        (path "/30e30bdf-50e5-46a8-92c7-0e280cceabe8/947fe22b-a740-4b36-aa9b-7334b6ab9f8c"
          (reference "Q1") (unit 1)
        )
      )
    )
  )

  (symbol (lib_id "kudzu-parts:MCP73831-MC") (at 132.08 49.53 0) (unit 1)
    (in_bom yes) (on_board yes) (dnp no)
    (uuid 375d4653-bd5c-4ede-9f33-25bce314386c)
    (property "Reference" "U5" (at 134.62 43.18 0)
      (effects (font (size 1.27 1.27)) (justify left))
    )
    (property "Value" "MCP73831-MC" (at 134.62 57.15 0)
      (effects (font (size 1.27 1.27)) (justify left))
    )
    (property "Footprint" "Package_DFN_QFN:DFN-8-1EP_3x2mm_P0.5mm_EP1.75x1.45mm" (at 132.08 49.53 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Datasheet" "https://ww1.microchip.com/downloads/en/DeviceDoc/MCP73831-Family-Data-Sheet-DS20001984H.pdf" (at 132.08 49.53 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "DigiKey PN" "MCP73831T-2ACI/MCCT-ND" (at 132.08 49.53 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Price @ 10" "0.79000" (at 132.08 49.53 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Price @ 25" "0.65000" (at 132.08 49.53 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (pin "1" (uuid b7d7f688-cf19-48ed-abf3-4762d6ec665a))
    (pin "2" (uuid e8e32d35-1b4e-45da-b58d-aad01f8f7c86))
    (pin "3" (uuid 3c155b26-d933-4d9f-b61b-812f4e9b3cd3))
    (pin "4" (uuid a711ef99-1842-42ab-9942-7986049ce87c))
    (pin "5" (uuid ae07580e-34e2-46a1-bd28-62f6ed9405a4))
    (pin "6" (uuid f6afbd4d-aeac-45ce-90e1-79549343b277))
    (pin "7" (uuid b7272035-54f7-4f94-9849-802f038d775b))
    (pin "8" (uuid bfb45f80-54b7-4d29-aa61-75ce880bfc01))
    (pin "9" (uuid d7526a98-c4f1-4e45-bd21-556b8c72697f))
    (instances
      (project "kudzu"
        (path "/30e30bdf-50e5-46a8-92c7-0e280cceabe8/947fe22b-a740-4b36-aa9b-7334b6ab9f8c"
          (reference "U5") (unit 1)
        )
      )
    )
  )

  (symbol (lib_id "Connector:TestPoint") (at 219.71 46.99 0) (unit 1)
    (in_bom yes) (on_board yes) (dnp no)
    (uuid 37d3390f-8a3d-4253-92eb-1510b8bdb53e)
    (property "Reference" "TP10" (at 219.71 40.64 90)
      (effects (font (size 1.27 1.27)))
    )
    (property "Value" "GAUGE_ALERT_N" (at 222.25 43.688 90)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Footprint" "TestPoint:TestPoint_Pad_D1.0mm" (at 224.79 46.99 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Datasheet" "~" (at 224.79 46.99 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Price @ 10" "" (at 219.71 46.99 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Price @ 25" "" (at 219.71 46.99 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (pin "1" (uuid ccb448ef-12d0-43e9-8fb9-68fad2698473))
    (instances
      (project "kudzu"
        (path "/30e30bdf-50e5-46a8-92c7-0e280cceabe8"
          (reference "TP10") (unit 1)
        )
        (path "/30e30bdf-50e5-46a8-92c7-0e280cceabe8/162828de-0fc8-48f2-95ca-16f35e12e8ad"
          (reference "TP10") (unit 1)
        )
        (path "/30e30bdf-50e5-46a8-92c7-0e280cceabe8/947fe22b-a740-4b36-aa9b-7334b6ab9f8c"
          (reference "TP27") (unit 1)
        )
      )
    )
  )

  (symbol (lib_id "Switch:SW_SPDT") (at 88.9 165.1 0) (unit 1)
    (in_bom yes) (on_board yes) (dnp no) (fields_autoplaced)
    (uuid 3bf510a4-34f9-4d1f-bb4a-c6d8eb58d9ce)
    (property "Reference" "SW12" (at 88.9 157.48 0)
      (effects (font (size 1.27 1.27)))
    )
    (property "Value" "SW_SPDT" (at 88.9 160.02 0)
      (effects (font (size 1.27 1.27)))
    )
    (property "Footprint" "Button_Switch_SMD:SW_SPDT_CK-JS102011SAQN" (at 88.9 165.1 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Datasheet" "~" (at 88.9 165.1 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "DigiKey PN" "401-1999-1-ND" (at 88.9 165.1 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Price @ 10" "0.68300" (at 88.9 165.1 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Price @ 25" "0.65640" (at 88.9 165.1 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (pin "1" (uuid 0be03b6f-e4e5-4f5d-82c7-e6133478a397))
    (pin "2" (uuid 96728ea1-de3a-49c8-8468-3dfadd080701))
    (pin "3" (uuid d810a94e-32b1-4bd0-a942-319ece36edfc))
    (instances
      (project "kudzu"
        (path "/30e30bdf-50e5-46a8-92c7-0e280cceabe8/947fe22b-a740-4b36-aa9b-7334b6ab9f8c"
          (reference "SW12") (unit 1)
        )
      )
    )
  )

  (symbol (lib_id "power:+BATT") (at 67.31 135.89 0) (unit 1)
    (in_bom yes) (on_board yes) (dnp no) (fields_autoplaced)
    (uuid 4099afd4-f45f-4932-9463-026a5c6dea64)
    (property "Reference" "#PWR044" (at 67.31 139.7 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Value" "+BATT" (at 67.31 130.81 0)
      (effects (font (size 1.27 1.27)))
    )
    (property "Footprint" "" (at 67.31 135.89 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Datasheet" "" (at 67.31 135.89 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (pin "1" (uuid 08413122-099f-4bd8-a445-69b73f6d912a))
    (instances
      (project "kudzu"
        (path "/30e30bdf-50e5-46a8-92c7-0e280cceabe8"
          (reference "#PWR044") (unit 1)
        )
        (path "/30e30bdf-50e5-46a8-92c7-0e280cceabe8/947fe22b-a740-4b36-aa9b-7334b6ab9f8c"
          (reference "#PWR044") (unit 1)
        )
      )
    )
  )

  (symbol (lib_id "power:GND") (at 135.89 167.64 0) (unit 1)
    (in_bom yes) (on_board yes) (dnp no) (fields_autoplaced)
    (uuid 4f12eb22-916f-4e3f-9d7a-caa95339aba8)
    (property "Reference" "#PWR048" (at 135.89 173.99 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Value" "GND" (at 135.89 172.72 0)
      (effects (font (size 1.27 1.27)))
    )
    (property "Footprint" "" (at 135.89 167.64 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Datasheet" "" (at 135.89 167.64 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (pin "1" (uuid 0121e804-5b89-4492-bfe0-5d2da59a67b2))
    (instances
      (project "kudzu"
        (path "/30e30bdf-50e5-46a8-92c7-0e280cceabe8"
          (reference "#PWR048") (unit 1)
        )
        (path "/30e30bdf-50e5-46a8-92c7-0e280cceabe8/947fe22b-a740-4b36-aa9b-7334b6ab9f8c"
          (reference "#PWR048") (unit 1)
        )
      )
    )
  )

  (symbol (lib_id "Device:R_Small") (at 119.38 57.15 180) (unit 1)
    (in_bom yes) (on_board yes) (dnp no)
    (uuid 4f99770d-3368-4a78-b53b-ab5a45d0568a)
    (property "Reference" "R6" (at 120.65 60.96 90)
      (effects (font (size 1.27 1.27)))
    )
    (property "Value" "4.02K 1%" (at 120.65 53.34 90)
      (effects (font (size 1.27 1.27)))
    )
    (property "Footprint" "Resistor_SMD:R_0603_1608Metric" (at 119.38 57.15 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Datasheet" "~" (at 119.38 57.15 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Price @ 10" "0.01800" (at 119.38 57.15 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Price @ 25" "0.01060" (at 119.38 57.15 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "DigiKey PN" "311-4.02KHRTR-ND" (at 119.38 57.15 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (pin "1" (uuid be6f5d26-1d52-474c-8c3d-ad54722142af))
    (pin "2" (uuid ecae3582-335c-4ae1-98ea-0fdc5550bf9d))
    (instances
      (project "kudzu"
        (path "/30e30bdf-50e5-46a8-92c7-0e280cceabe8"
          (reference "R6") (unit 1)
        )
        (path "/30e30bdf-50e5-46a8-92c7-0e280cceabe8/947fe22b-a740-4b36-aa9b-7334b6ab9f8c"
          (reference "R6") (unit 1)
        )
      )
    )
  )

  (symbol (lib_id "Device:R_Small") (at 46.99 149.86 180) (unit 1)
    (in_bom yes) (on_board yes) (dnp no)
    (uuid 5361adf1-ffa7-4576-aee2-37b99db2c923)
    (property "Reference" "R8" (at 48.26 153.67 90)
      (effects (font (size 1.27 1.27)))
    )
    (property "Value" "10K" (at 48.26 146.05 90)
      (effects (font (size 1.27 1.27)))
    )
    (property "Footprint" "Resistor_SMD:R_0603_1608Metric" (at 46.99 149.86 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Datasheet" "~" (at 46.99 149.86 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Price @ 10" "0.03240" (at 46.99 149.86 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Price @ 25" "0.02380" (at 46.99 149.86 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "DigiKey PN" "RNCP0603FTD10K0TR-ND" (at 46.99 149.86 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (pin "1" (uuid 392b9646-a476-4807-a10a-18902c517086))
    (pin "2" (uuid 7a576eb5-123c-420a-aff0-7930e4fc7e80))
    (instances
      (project "kudzu"
        (path "/30e30bdf-50e5-46a8-92c7-0e280cceabe8"
          (reference "R8") (unit 1)
        )
        (path "/30e30bdf-50e5-46a8-92c7-0e280cceabe8/947fe22b-a740-4b36-aa9b-7334b6ab9f8c"
          (reference "R8") (unit 1)
        )
      )
    )
  )

  (symbol (lib_id "Device:C_Small") (at 104.14 162.56 0) (unit 1)
    (in_bom yes) (on_board yes) (dnp no)
    (uuid 60cb3edb-9c58-4269-b39c-9ac554ea7dd9)
    (property "Reference" "C13" (at 105.41 167.64 90)
      (effects (font (size 1.27 1.27)) (justify left))
    )
    (property "Value" "1uF" (at 102.87 161.29 90)
      (effects (font (size 1.27 1.27)) (justify left))
    )
    (property "Footprint" "Capacitor_SMD:C_0603_1608Metric" (at 104.14 162.56 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Datasheet" "~" (at 104.14 162.56 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Price @ 10" "0.03100" (at 104.14 162.56 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Price @ 25" "" (at 104.14 162.56 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "DigiKey PN" "1276-1102-2-ND" (at 104.14 162.56 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (pin "1" (uuid 0fa231a0-66cd-49a9-b21e-249c18d2d8f2))
    (pin "2" (uuid 2c54f8e8-bb64-4dc6-ba93-4801ad2249a7))
    (instances
      (project "kudzu"
        (path "/30e30bdf-50e5-46a8-92c7-0e280cceabe8"
          (reference "C13") (unit 1)
        )
        (path "/30e30bdf-50e5-46a8-92c7-0e280cceabe8/947fe22b-a740-4b36-aa9b-7334b6ab9f8c"
          (reference "C13") (unit 1)
        )
      )
    )
  )

  (symbol (lib_id "power:GND") (at 104.14 167.64 0) (unit 1)
    (in_bom yes) (on_board yes) (dnp no) (fields_autoplaced)
    (uuid 673f8c3a-50e8-4128-a2eb-759998fb7982)
    (property "Reference" "#PWR045" (at 104.14 173.99 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Value" "GND" (at 104.14 172.72 0)
      (effects (font (size 1.27 1.27)))
    )
    (property "Footprint" "" (at 104.14 167.64 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Datasheet" "" (at 104.14 167.64 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (pin "1" (uuid afa04cd0-606c-4603-b8e7-8eae7f70d996))
    (instances
      (project "kudzu"
        (path "/30e30bdf-50e5-46a8-92c7-0e280cceabe8"
          (reference "#PWR045") (unit 1)
        )
        (path "/30e30bdf-50e5-46a8-92c7-0e280cceabe8/947fe22b-a740-4b36-aa9b-7334b6ab9f8c"
          (reference "#PWR045") (unit 1)
        )
      )
    )
  )

  (symbol (lib_id "Connector_Generic:Conn_01x02") (at 49.53 50.8 0) (unit 1)
    (in_bom yes) (on_board yes) (dnp no) (fields_autoplaced)
    (uuid 6b35c38b-ce5f-4822-b1b7-3fb859e25cf2)
    (property "Reference" "J4" (at 52.07 50.8 0)
      (effects (font (size 1.27 1.27)) (justify left))
    )
    (property "Value" "Conn_01x02" (at 52.07 53.34 0)
      (effects (font (size 1.27 1.27)) (justify left) hide)
    )
    (property "Footprint" "KudzuLibrary:JST_PH_S2B-PH-SM_1x02_P2.00mm_Horizontal" (at 49.53 50.8 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Datasheet" "~" (at 49.53 50.8 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Price @ 10" "0.50300" (at 49.53 50.8 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Price @ 25" "0.50300" (at 49.53 50.8 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "DigiKey PN" "455-S2B-PH-SM4-TBCT-ND" (at 49.53 50.8 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (pin "1" (uuid 68fbc35f-4a87-4234-87de-22508143a04f))
    (pin "2" (uuid a6bfa589-596b-4f3c-a40b-a2cdefaf9e06))
    (instances
      (project "kudzu"
        (path "/30e30bdf-50e5-46a8-92c7-0e280cceabe8"
          (reference "J4") (unit 1)
        )
        (path "/30e30bdf-50e5-46a8-92c7-0e280cceabe8/947fe22b-a740-4b36-aa9b-7334b6ab9f8c"
          (reference "J4") (unit 1)
        )
      )
    )
  )

  (symbol (lib_id "power:GND") (at 224.79 69.85 0) (unit 1)
    (in_bom yes) (on_board yes) (dnp no) (fields_autoplaced)
    (uuid 71d25046-a22d-4b1b-9157-3fdb083414c9)
    (property "Reference" "#PWR032" (at 224.79 76.2 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Value" "GND" (at 224.79 74.93 0)
      (effects (font (size 1.27 1.27)))
    )
    (property "Footprint" "" (at 224.79 69.85 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Datasheet" "" (at 224.79 69.85 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (pin "1" (uuid 82276a39-39ec-4758-8c6e-3ea29e0f25e3))
    (instances
      (project "kudzu"
        (path "/30e30bdf-50e5-46a8-92c7-0e280cceabe8"
          (reference "#PWR032") (unit 1)
        )
        (path "/30e30bdf-50e5-46a8-92c7-0e280cceabe8/947fe22b-a740-4b36-aa9b-7334b6ab9f8c"
          (reference "#PWR032") (unit 1)
        )
      )
    )
  )

  (symbol (lib_id "power:+BATT") (at 248.92 39.37 0) (unit 1)
    (in_bom yes) (on_board yes) (dnp no) (fields_autoplaced)
    (uuid 748bea8f-3807-4939-8f25-aee3a405462a)
    (property "Reference" "#PWR033" (at 248.92 43.18 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Value" "+BATT" (at 248.92 34.29 0)
      (effects (font (size 1.27 1.27)))
    )
    (property "Footprint" "" (at 248.92 39.37 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Datasheet" "" (at 248.92 39.37 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (pin "1" (uuid 7eb858ec-95af-42e7-aae9-0807bb37ede1))
    (instances
      (project "kudzu"
        (path "/30e30bdf-50e5-46a8-92c7-0e280cceabe8"
          (reference "#PWR033") (unit 1)
        )
        (path "/30e30bdf-50e5-46a8-92c7-0e280cceabe8/947fe22b-a740-4b36-aa9b-7334b6ab9f8c"
          (reference "#PWR033") (unit 1)
        )
      )
    )
  )

  (symbol (lib_id "Device:R_Small") (at 224.79 64.77 180) (unit 1)
    (in_bom yes) (on_board yes) (dnp no)
    (uuid 82b8ed7b-b573-4db0-9bbf-13b416eab363)
    (property "Reference" "R7" (at 222.25 62.23 0)
      (effects (font (size 1.27 1.27)))
    )
    (property "Value" "10K" (at 222.25 68.58 0)
      (effects (font (size 1.27 1.27)))
    )
    (property "Footprint" "Resistor_SMD:R_0603_1608Metric" (at 224.79 64.77 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Datasheet" "~" (at 224.79 64.77 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Price @ 10" "0.03240" (at 224.79 64.77 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Price @ 25" "0.02380" (at 224.79 64.77 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "DigiKey PN" "RNCP0603FTD10K0TR-ND" (at 224.79 64.77 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (pin "1" (uuid 27e950a9-4a44-4241-866d-ec354c2eae39))
    (pin "2" (uuid 29d09f0a-f00c-49b2-a93d-12e78d5fa41f))
    (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)
        )
      )
    )
  )

  (symbol (lib_id "Device:R_Small") (at 113.03 57.15 180) (unit 1)
    (in_bom yes) (on_board yes) (dnp no)
    (uuid 8e7d78df-2edc-4a46-b232-b2fd01fa8c3d)
    (property "Reference" "R6" (at 114.3 60.96 90)
      (effects (font (size 1.27 1.27)))
    )
    (property "Value" "4.02K 1%" (at 114.3 53.34 90)
      (effects (font (size 1.27 1.27)))
    )
    (property "Footprint" "Resistor_SMD:R_0603_1608Metric" (at 113.03 57.15 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Datasheet" "~" (at 113.03 57.15 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Price @ 10" "0.01800" (at 113.03 57.15 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Price @ 25" "0.01060" (at 113.03 57.15 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "DigiKey PN" "311-4.02KHRTR-ND" (at 113.03 57.15 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (pin "1" (uuid 6cc39171-3659-4b3d-af29-565f087d8c18))
    (pin "2" (uuid 224e4a8c-bf0a-461b-b663-f53a7097aace))
    (instances
      (project "kudzu"
        (path "/30e30bdf-50e5-46a8-92c7-0e280cceabe8"
          (reference "R6") (unit 1)
        )
        (path "/30e30bdf-50e5-46a8-92c7-0e280cceabe8/947fe22b-a740-4b36-aa9b-7334b6ab9f8c"
          (reference "R24") (unit 1)
        )
      )
    )
  )

  (symbol (lib_id "power:VBUS") (at 46.99 138.43 0) (unit 1)
    (in_bom yes) (on_board yes) (dnp no) (fields_autoplaced)
    (uuid 8ece6af4-1855-469f-95de-308ccc0d57aa)
    (property "Reference" "#PWR039" (at 46.99 142.24 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Value" "VBUS" (at 46.99 133.35 0)
      (effects (font (size 1.27 1.27)))
    )
    (property "Footprint" "" (at 46.99 138.43 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Datasheet" "" (at 46.99 138.43 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (pin "1" (uuid d6997c97-2d9e-49f8-b2c7-e7c558c595a9))
    (instances
      (project "kudzu"
        (path "/30e30bdf-50e5-46a8-92c7-0e280cceabe8"
          (reference "#PWR039") (unit 1)
        )
        (path "/30e30bdf-50e5-46a8-92c7-0e280cceabe8/947fe22b-a740-4b36-aa9b-7334b6ab9f8c"
          (reference "#PWR039") (unit 1)
        )
      )
    )
  )

  (symbol (lib_id "power:GND") (at 121.92 167.64 0) (unit 1)
    (in_bom yes) (on_board yes) (dnp no) (fields_autoplaced)
    (uuid 946371ec-844b-4a11-93b1-e542bbdc72a6)
    (property "Reference" "#PWR047" (at 121.92 173.99 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Value" "GND" (at 121.92 172.72 0)
      (effects (font (size 1.27 1.27)))
    )
    (property "Footprint" "" (at 121.92 167.64 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Datasheet" "" (at 121.92 167.64 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (pin "1" (uuid 4e6573b4-416f-431e-9cd9-4c327ecd5109))
    (instances
      (project "kudzu"
        (path "/30e30bdf-50e5-46a8-92c7-0e280cceabe8"
          (reference "#PWR047") (unit 1)
        )
        (path "/30e30bdf-50e5-46a8-92c7-0e280cceabe8/947fe22b-a740-4b36-aa9b-7334b6ab9f8c"
          (reference "#PWR047") (unit 1)
        )
      )
    )
  )

  (symbol (lib_id "power:GND") (at 113.03 74.93 0) (unit 1)
    (in_bom yes) (on_board yes) (dnp no) (fields_autoplaced)
    (uuid 97d33435-37ef-43ac-a73e-61a79cb5cfb4)
    (property "Reference" "#PWR027" (at 113.03 81.28 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Value" "GND" (at 113.03 80.01 0)
      (effects (font (size 1.27 1.27)))
    )
    (property "Footprint" "" (at 113.03 74.93 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Datasheet" "" (at 113.03 74.93 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (pin "1" (uuid 3d05e196-1a1e-4afa-b5e0-3f6159d72608))
    (instances
      (project "kudzu"
        (path "/30e30bdf-50e5-46a8-92c7-0e280cceabe8"
          (reference "#PWR027") (unit 1)
        )
        (path "/30e30bdf-50e5-46a8-92c7-0e280cceabe8/947fe22b-a740-4b36-aa9b-7334b6ab9f8c"
          (reference "#PWR042") (unit 1)
        )
      )
    )
  )

  (symbol (lib_id "power:VBUS") (at 132.08 39.37 0) (unit 1)
    (in_bom yes) (on_board yes) (dnp no) (fields_autoplaced)
    (uuid 994171de-1069-439a-9ba7-6b7be420decd)
    (property "Reference" "#PWR028" (at 132.08 43.18 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Value" "VBUS" (at 132.08 34.29 0)
      (effects (font (size 1.27 1.27)))
    )
    (property "Footprint" "" (at 132.08 39.37 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Datasheet" "" (at 132.08 39.37 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (pin "1" (uuid ef1cf77a-38c3-41ac-83ce-0de376e27f9e))
    (instances
      (project "kudzu"
        (path "/30e30bdf-50e5-46a8-92c7-0e280cceabe8"
          (reference "#PWR028") (unit 1)
        )
        (path "/30e30bdf-50e5-46a8-92c7-0e280cceabe8/947fe22b-a740-4b36-aa9b-7334b6ab9f8c"
          (reference "#PWR028") (unit 1)
        )
      )
    )
  )

  (symbol (lib_id "kudzu-parts:MAX17048") (at 248.92 54.61 0) (unit 1)
    (in_bom yes) (on_board yes) (dnp no)
    (uuid 9beb9ac8-60bc-4b20-84a7-efbec2d322ea)
    (property "Reference" "U4" (at 252.73 43.18 0)
      (effects (font (size 1.27 1.27)) (justify left))
    )
    (property "Value" "MAX17048" (at 236.22 43.18 0)
      (effects (font (size 1.27 1.27)) (justify left))
    )
    (property "Footprint" "Package_DFN_QFN:TDFN-8-1EP_2x2mm_P0.5mm_EP0.8x1.2mm" (at 248.92 54.61 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Datasheet" "https://www.analog.com/media/en/technical-documentation/data-sheets/max17048-max17049.pdf" (at 248.92 54.61 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Price @ 10" "3.03900" (at 248.92 54.61 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Price @ 25" "2.87280" (at 248.92 54.61 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "DigiKey PN" "MAX17048G+T10TR-ND" (at 248.92 54.61 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (pin "1" (uuid bc332df0-0a3e-44d7-9f4d-ccfb19f02c53))
    (pin "2" (uuid aaa89004-d2a8-4985-bb86-ed38a58057c8))
    (pin "3" (uuid d78bc39b-0d6c-45d2-a119-2da83946113a))
    (pin "4" (uuid 84f0be81-a526-4117-8ebe-48d554638cb7))
    (pin "5" (uuid 9c11a145-70c1-47f2-af54-43a25e4f8fd2))
    (pin "6" (uuid eb63fe9e-9ea9-4ff6-9079-5a15ce97dc77))
    (pin "7" (uuid 25232e22-cbc5-4d7a-bd25-b7b8ff3a8e3f))
    (pin "8" (uuid a60f5ab3-ec5e-419e-9628-71e982010447))
    (pin "9" (uuid 6805bc6c-64c4-4b0a-b255-b82689562360))
    (instances
      (project "kudzu"
        (path "/30e30bdf-50e5-46a8-92c7-0e280cceabe8"
          (reference "U4") (unit 1)
        )
        (path "/30e30bdf-50e5-46a8-92c7-0e280cceabe8/947fe22b-a740-4b36-aa9b-7334b6ab9f8c"
          (reference "U4") (unit 1)
        )
      )
    )
  )

  (symbol (lib_id "power:PWR_FLAG") (at 93.98 152.4 0) (unit 1)
    (in_bom yes) (on_board yes) (dnp no) (fields_autoplaced)
    (uuid ab3aeb8f-7cb4-45b2-8930-32b99a2f2c83)
    (property "Reference" "#FLG03" (at 93.98 150.495 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Value" "PWR_FLAG" (at 93.98 147.32 0)
      (effects (font (size 1.27 1.27)))
    )
    (property "Footprint" "" (at 93.98 152.4 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Datasheet" "~" (at 93.98 152.4 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (pin "1" (uuid 70f99f5b-475a-4854-b4ec-322789342598))
    (instances
      (project "kudzu"
        (path "/30e30bdf-50e5-46a8-92c7-0e280cceabe8/947fe22b-a740-4b36-aa9b-7334b6ab9f8c"
          (reference "#FLG03") (unit 1)
        )
      )
    )
  )

  (symbol (lib_id "Device:C_Small") (at 142.24 162.56 0) (unit 1)
    (in_bom yes) (on_board yes) (dnp no)
    (uuid af3c0167-41e6-4a01-8eee-e4a5189baf5d)
    (property "Reference" "C15" (at 143.51 167.64 90)
      (effects (font (size 1.27 1.27)) (justify left))
    )
    (property "Value" "2.2uF" (at 143.51 161.29 90)
      (effects (font (size 1.27 1.27)) (justify left))
    )
    (property "Footprint" "Capacitor_SMD:C_0603_1608Metric" (at 142.24 162.56 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Datasheet" "~" (at 142.24 162.56 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Price @ 10" "0.03460" (at 142.24 162.56 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Price @ 25" "0.02830" (at 142.24 162.56 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "DigiKey PN" "1276-1040-2-ND" (at 142.24 162.56 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (pin "1" (uuid 34b24e51-8dbd-4d69-ad39-c42535d4c2e2))
    (pin "2" (uuid c2b035e0-60f7-419b-9962-2ecadbbc159f))
    (instances
      (project "kudzu"
        (path "/30e30bdf-50e5-46a8-92c7-0e280cceabe8"
          (reference "C15") (unit 1)
        )
        (path "/30e30bdf-50e5-46a8-92c7-0e280cceabe8/947fe22b-a740-4b36-aa9b-7334b6ab9f8c"
          (reference "C15") (unit 1)
        )
      )
    )
  )

  (symbol (lib_id "Device:C_Small") (at 261.62 54.61 180) (unit 1)
    (in_bom yes) (on_board yes) (dnp no)
    (uuid b4665b60-db3d-4b72-aab5-94d77c7a43ce)
    (property "Reference" "C12" (at 266.7 52.07 0)
      (effects (font (size 1.27 1.27)) (justify left))
    )
    (property "Value" "100nF" (at 269.24 57.15 0)
      (effects (font (size 1.27 1.27)) (justify left))
    )
    (property "Footprint" "Capacitor_SMD:C_0603_1608Metric" (at 261.62 54.61 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Datasheet" "~" (at 261.62 54.61 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Price @ 10" "0.01200" (at 261.62 54.61 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Price @ 25" "0.00856" (at 261.62 54.61 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "DigiKey PN" "1276-1000-2-ND" (at 261.62 54.61 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (pin "1" (uuid ee8e04da-9571-49a6-8372-30f1823e8627))
    (pin "2" (uuid 2acc6ee9-2b23-487e-bed2-a167e0d2074e))
    (instances
      (project "kudzu"
        (path "/30e30bdf-50e5-46a8-92c7-0e280cceabe8"
          (reference "C12") (unit 1)
        )
        (path "/30e30bdf-50e5-46a8-92c7-0e280cceabe8/947fe22b-a740-4b36-aa9b-7334b6ab9f8c"
          (reference "C12") (unit 1)
        )
      )
    )
  )

  (symbol (lib_id "power:+BATT") (at 144.78 44.45 0) (unit 1)
    (in_bom yes) (on_board yes) (dnp no) (fields_autoplaced)
    (uuid b5afde32-a080-4476-95e9-939dfea98b57)
    (property "Reference" "#PWR030" (at 144.78 48.26 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Value" "+BATT" (at 144.78 39.37 0)
      (effects (font (size 1.27 1.27)))
    )
    (property "Footprint" "" (at 144.78 44.45 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Datasheet" "" (at 144.78 44.45 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (pin "1" (uuid b4a5d850-a579-4b36-92f1-743d4b263b59))
    (instances
      (project "kudzu"
        (path "/30e30bdf-50e5-46a8-92c7-0e280cceabe8"
          (reference "#PWR030") (unit 1)
        )
        (path "/30e30bdf-50e5-46a8-92c7-0e280cceabe8/947fe22b-a740-4b36-aa9b-7334b6ab9f8c"
          (reference "#PWR030") (unit 1)
        )
      )
    )
  )

  (symbol (lib_id "power:GND") (at 261.62 62.23 0) (unit 1)
    (in_bom yes) (on_board yes) (dnp no) (fields_autoplaced)
    (uuid c6333ad9-9f01-419f-bd7f-3f1eddb8b3fa)
    (property "Reference" "#PWR036" (at 261.62 68.58 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Value" "GND" (at 261.62 67.31 0)
      (effects (font (size 1.27 1.27)))
    )
    (property "Footprint" "" (at 261.62 62.23 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Datasheet" "" (at 261.62 62.23 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (pin "1" (uuid df1e2f33-819d-4cce-86c4-b442179db190))
    (instances
      (project "kudzu"
        (path "/30e30bdf-50e5-46a8-92c7-0e280cceabe8"
          (reference "#PWR036") (unit 1)
        )
        (path "/30e30bdf-50e5-46a8-92c7-0e280cceabe8/947fe22b-a740-4b36-aa9b-7334b6ab9f8c"
          (reference "#PWR036") (unit 1)
        )
      )
    )
  )

  (symbol (lib_id "power:GND") (at 41.91 55.88 0) (unit 1)
    (in_bom yes) (on_board yes) (dnp no) (fields_autoplaced)
    (uuid ca2dc195-14b0-44de-8f8a-12d21dedf878)
    (property "Reference" "#PWR026" (at 41.91 62.23 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Value" "GND" (at 41.91 60.96 0)
      (effects (font (size 1.27 1.27)))
    )
    (property "Footprint" "" (at 41.91 55.88 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Datasheet" "" (at 41.91 55.88 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (pin "1" (uuid a2ec6b3c-5456-42e6-a324-dab5b6fa9760))
    (instances
      (project "kudzu"
        (path "/30e30bdf-50e5-46a8-92c7-0e280cceabe8"
          (reference "#PWR026") (unit 1)
        )
        (path "/30e30bdf-50e5-46a8-92c7-0e280cceabe8/947fe22b-a740-4b36-aa9b-7334b6ab9f8c"
          (reference "#PWR026") (unit 1)
        )
      )
    )
  )

  (symbol (lib_id "Regulator_Linear:MIC5353-3.3YMT") (at 121.92 157.48 0) (unit 1)
    (in_bom no) (on_board yes) (dnp no)
    (uuid d3270ae2-9852-4af0-82a9-699349c6d5cb)
    (property "Reference" "U6" (at 121.92 147.32 0)
      (effects (font (size 1.27 1.27)))
    )
    (property "Value" "MIC5353-3.3YMT" (at 127 149.86 0)
      (effects (font (size 1.27 1.27)))
    )
    (property "Footprint" "Package_DFN_QFN:MLF-6-1EP_1.6x1.6mm_P0.5mm_EP0.5x1.26mm" (at 125.73 167.64 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Datasheet" "http://ww1.microchip.com/downloads/en/DeviceDoc/mic5353.pdf" (at 128.27 154.94 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "DigiKey PN" "576-3680-2-ND" (at 121.92 157.48 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Price @ 10" "0.46000" (at 121.92 157.48 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Price @ 25" "0.37000" (at 121.92 157.48 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (pin "1" (uuid f69ddef3-4d59-4983-9b6e-0eba8928eed2))
    (pin "2" (uuid b5aef18c-8115-41d0-a754-e060a08cde24))
    (pin "3" (uuid 09395654-838d-4bdb-a154-32697c752dd7))
    (pin "4" (uuid 5dd2e4ec-0c5f-49ca-ace3-51f207906134))
    (pin "5" (uuid 1529f9c5-f24b-46e9-83a0-0535ff62b287))
    (pin "6" (uuid 5538cb60-214c-44df-b5ac-008ad06aeb14))
    (pin "7" (uuid 7bc74ee0-912e-482e-a7ea-954c4a0bd1e5))
    (instances
      (project "kudzu"
        (path "/30e30bdf-50e5-46a8-92c7-0e280cceabe8"
          (reference "U6") (unit 1)
        )
        (path "/30e30bdf-50e5-46a8-92c7-0e280cceabe8/947fe22b-a740-4b36-aa9b-7334b6ab9f8c"
          (reference "U6") (unit 1)
        )
      )
    )
  )

  (symbol (lib_id "power:+BATT") (at 41.91 48.26 0) (unit 1)
    (in_bom yes) (on_board yes) (dnp no) (fields_autoplaced)
    (uuid d6a39f6a-11c3-4bc7-b057-05644c02f38e)
    (property "Reference" "#PWR025" (at 41.91 52.07 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Value" "+BATT" (at 41.91 43.18 0)
      (effects (font (size 1.27 1.27)))
    )
    (property "Footprint" "" (at 41.91 48.26 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Datasheet" "" (at 41.91 48.26 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (pin "1" (uuid 384cada2-b19d-4465-8597-12346a4a6b27))
    (instances
      (project "kudzu"
        (path "/30e30bdf-50e5-46a8-92c7-0e280cceabe8"
          (reference "#PWR025") (unit 1)
        )
        (path "/30e30bdf-50e5-46a8-92c7-0e280cceabe8/947fe22b-a740-4b36-aa9b-7334b6ab9f8c"
          (reference "#PWR025") (unit 1)
        )
      )
    )
  )

  (symbol (lib_id "power:GND") (at 119.38 62.23 0) (unit 1)
    (in_bom yes) (on_board yes) (dnp no) (fields_autoplaced)
    (uuid dadcc948-d67e-41e3-bdea-ec7ecc32c7a8)
    (property "Reference" "#PWR027" (at 119.38 68.58 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Value" "GND" (at 119.38 67.31 0)
      (effects (font (size 1.27 1.27)))
    )
    (property "Footprint" "" (at 119.38 62.23 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Datasheet" "" (at 119.38 62.23 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (pin "1" (uuid 78d81aea-8c15-4aba-92a1-6b049af5c135))
    (instances
      (project "kudzu"
        (path "/30e30bdf-50e5-46a8-92c7-0e280cceabe8"
          (reference "#PWR027") (unit 1)
        )
        (path "/30e30bdf-50e5-46a8-92c7-0e280cceabe8/947fe22b-a740-4b36-aa9b-7334b6ab9f8c"
          (reference "#PWR027") (unit 1)
        )
      )
    )
  )

  (symbol (lib_id "Device:Q_NMOS_GSD") (at 110.49 67.31 0) (unit 1)
    (in_bom yes) (on_board yes) (dnp no)
    (uuid dce33980-ce8c-4186-aaf8-44d359b884f0)
    (property "Reference" "Q3" (at 109.22 72.39 0)
      (effects (font (size 1.27 1.27)) (justify left))
    )
    (property "Value" "Q_NMOS_GSD" (at 100.33 63.5 0)
      (effects (font (size 1.27 1.27)) (justify left))
    )
    (property "Footprint" "Package_TO_SOT_SMD:SOT-23-3" (at 115.57 64.77 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Datasheet" "~" (at 110.49 67.31 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "DigiKey PN" "2N7002-FDICT-ND" (at 110.49 67.31 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Price @ 10" "0.17900" (at 110.49 67.31 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Price @ 25" "0.17900" (at 110.49 67.31 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (pin "1" (uuid a6da7132-0e4d-460c-8af0-618143d55ad7))
    (pin "2" (uuid 3b74f548-4605-4e39-8197-1375055b160f))
    (pin "3" (uuid f1f40f0a-561c-46b0-bc1e-5c72874f2ed0))
    (instances
      (project "kudzu"
        (path "/30e30bdf-50e5-46a8-92c7-0e280cceabe8/947fe22b-a740-4b36-aa9b-7334b6ab9f8c"
          (reference "Q3") (unit 1)
        )
      )
    )
  )

  (symbol (lib_id "Device:C_Small") (at 135.89 162.56 0) (unit 1)
    (in_bom yes) (on_board yes) (dnp no)
    (uuid e00544a8-64fd-4e9d-87d3-515e8bc8e8b7)
    (property "Reference" "C14" (at 137.16 167.64 90)
      (effects (font (size 1.27 1.27)) (justify left))
    )
    (property "Value" "100nF" (at 137.16 161.29 90)
      (effects (font (size 1.27 1.27)) (justify left))
    )
    (property "Footprint" "Capacitor_SMD:C_0603_1608Metric" (at 135.89 162.56 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Datasheet" "~" (at 135.89 162.56 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Price @ 10" "0.01200" (at 135.89 162.56 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Price @ 25" "0.00856" (at 135.89 162.56 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "DigiKey PN" "1276-1000-2-ND" (at 135.89 162.56 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (pin "1" (uuid 309ed88f-49be-441d-b2f5-9df8f76ac4b4))
    (pin "2" (uuid af96e8cc-f678-4822-b1f5-e265e7f319dc))
    (instances
      (project "kudzu"
        (path "/30e30bdf-50e5-46a8-92c7-0e280cceabe8"
          (reference "C14") (unit 1)
        )
        (path "/30e30bdf-50e5-46a8-92c7-0e280cceabe8/947fe22b-a740-4b36-aa9b-7334b6ab9f8c"
          (reference "C14") (unit 1)
        )
      )
    )
  )

  (symbol (lib_id "power:GND") (at 248.92 69.85 0) (unit 1)
    (in_bom yes) (on_board yes) (dnp no) (fields_autoplaced)
    (uuid e043322f-e0fa-4028-b445-7fdc98771130)
    (property "Reference" "#PWR034" (at 248.92 76.2 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Value" "GND" (at 248.92 74.93 0)
      (effects (font (size 1.27 1.27)))
    )
    (property "Footprint" "" (at 248.92 69.85 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Datasheet" "" (at 248.92 69.85 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (pin "1" (uuid 1fc6f6e4-78fb-4ab5-b48a-dacf4bf38f1e))
    (instances
      (project "kudzu"
        (path "/30e30bdf-50e5-46a8-92c7-0e280cceabe8"
          (reference "#PWR034") (unit 1)
        )
        (path "/30e30bdf-50e5-46a8-92c7-0e280cceabe8/947fe22b-a740-4b36-aa9b-7334b6ab9f8c"
          (reference "#PWR034") (unit 1)
        )
      )
    )
  )

  (symbol (lib_id "power:GND") (at 132.08 62.23 0) (unit 1)
    (in_bom yes) (on_board yes) (dnp no) (fields_autoplaced)
    (uuid ea375343-3498-4701-ae66-4393fc733286)
    (property "Reference" "#PWR029" (at 132.08 68.58 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Value" "GND" (at 132.08 67.31 0)
      (effects (font (size 1.27 1.27)))
    )
    (property "Footprint" "" (at 132.08 62.23 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Datasheet" "" (at 132.08 62.23 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (pin "1" (uuid 839d99e4-ecc8-4dc2-90a6-48b6e8204cc1))
    (instances
      (project "kudzu"
        (path "/30e30bdf-50e5-46a8-92c7-0e280cceabe8"
          (reference "#PWR029") (unit 1)
        )
        (path "/30e30bdf-50e5-46a8-92c7-0e280cceabe8/947fe22b-a740-4b36-aa9b-7334b6ab9f8c"
          (reference "#PWR029") (unit 1)
        )
      )
    )
  )

  (symbol (lib_id "power:GND") (at 96.52 170.18 0) (unit 1)
    (in_bom yes) (on_board yes) (dnp no) (fields_autoplaced)
    (uuid efc90c39-afd0-43ea-b1f3-fd7e4c3ed054)
    (property "Reference" "#PWR045" (at 96.52 176.53 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Value" "GND" (at 96.52 175.26 0)
      (effects (font (size 1.27 1.27)))
    )
    (property "Footprint" "" (at 96.52 170.18 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Datasheet" "" (at 96.52 170.18 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (pin "1" (uuid 3e00a8e4-cd3b-4142-acd0-c1c21ceb6a66))
    (instances
      (project "kudzu"
        (path "/30e30bdf-50e5-46a8-92c7-0e280cceabe8"
          (reference "#PWR045") (unit 1)
        )
        (path "/30e30bdf-50e5-46a8-92c7-0e280cceabe8/947fe22b-a740-4b36-aa9b-7334b6ab9f8c"
          (reference "#PWR099") (unit 1)
        )
      )
    )
  )

  (symbol (lib_id "Connector:TestPoint") (at 217.17 46.99 0) (unit 1)
    (in_bom yes) (on_board yes) (dnp no)
    (uuid f30a722a-540c-4e8c-82dc-6834c2e3cd4b)
    (property "Reference" "TP10" (at 217.17 40.64 90)
      (effects (font (size 1.27 1.27)))
    )
    (property "Value" "GAUGE_QSTRT" (at 219.71 43.688 90)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Footprint" "TestPoint:TestPoint_Pad_D1.0mm" (at 222.25 46.99 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Datasheet" "~" (at 222.25 46.99 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Price @ 10" "" (at 217.17 46.99 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Price @ 25" "" (at 217.17 46.99 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (pin "1" (uuid 26a1a550-1e73-408b-8229-27362c7dabaa))
    (instances
      (project "kudzu"
        (path "/30e30bdf-50e5-46a8-92c7-0e280cceabe8"
          (reference "TP10") (unit 1)
        )
        (path "/30e30bdf-50e5-46a8-92c7-0e280cceabe8/162828de-0fc8-48f2-95ca-16f35e12e8ad"
          (reference "TP10") (unit 1)
        )
        (path "/30e30bdf-50e5-46a8-92c7-0e280cceabe8/947fe22b-a740-4b36-aa9b-7334b6ab9f8c"
          (reference "TP28") (unit 1)
        )
      )
    )
  )

  (symbol (lib_id "power:PWR_FLAG") (at 39.37 53.34 90) (unit 1)
    (in_bom yes) (on_board yes) (dnp no) (fields_autoplaced)
    (uuid f4686241-73fb-4daf-9e3d-b51e564a17bb)
    (property "Reference" "#FLG01" (at 37.465 53.34 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Value" "PWR_FLAG" (at 35.56 53.34 90)
      (effects (font (size 1.27 1.27)) (justify left))
    )
    (property "Footprint" "" (at 39.37 53.34 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Datasheet" "~" (at 39.37 53.34 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (pin "1" (uuid 9b0a02e1-8025-46ea-8724-d32cd30d4f9c))
    (instances
      (project "kudzu"
        (path "/30e30bdf-50e5-46a8-92c7-0e280cceabe8/947fe22b-a740-4b36-aa9b-7334b6ab9f8c"
          (reference "#FLG01") (unit 1)
        )
      )
    )
  )

  (symbol (lib_id "power:+BATT") (at 261.62 46.99 0) (unit 1)
    (in_bom yes) (on_board yes) (dnp no) (fields_autoplaced)
    (uuid fb71358f-63cb-4b67-8c1d-a05077c35c6c)
    (property "Reference" "#PWR035" (at 261.62 50.8 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Value" "+BATT" (at 261.62 41.91 0)
      (effects (font (size 1.27 1.27)))
    )
    (property "Footprint" "" (at 261.62 46.99 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Datasheet" "" (at 261.62 46.99 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (pin "1" (uuid 380a9332-adad-49e2-b41c-fc7d58488a69))
    (instances
      (project "kudzu"
        (path "/30e30bdf-50e5-46a8-92c7-0e280cceabe8"
          (reference "#PWR035") (unit 1)
        )
        (path "/30e30bdf-50e5-46a8-92c7-0e280cceabe8/947fe22b-a740-4b36-aa9b-7334b6ab9f8c"
          (reference "#PWR035") (unit 1)
        )
      )
    )
  )
)
