(kicad_sch (version 20230121) (generator eeschema)

  (uuid cd1638d7-a21c-46cd-b552-8c548df7c506)

  (paper "A4")

  (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:USB_B_Micro" (pin_names (offset 1.016)) (in_bom yes) (on_board yes)
      (property "Reference" "J" (at -5.08 11.43 0)
        (effects (font (size 1.27 1.27)) (justify left))
      )
      (property "Value" "USB_B_Micro" (at -5.08 8.89 0)
        (effects (font (size 1.27 1.27)) (justify left))
      )
      (property "Footprint" "" (at 3.81 -1.27 0)
        (effects (font (size 1.27 1.27)) hide)
      )
      (property "Datasheet" "~" (at 3.81 -1.27 0)
        (effects (font (size 1.27 1.27)) hide)
      )
      (property "ki_keywords" "connector USB micro" (at 0 0 0)
        (effects (font (size 1.27 1.27)) hide)
      )
      (property "ki_description" "USB Micro Type B connector" (at 0 0 0)
        (effects (font (size 1.27 1.27)) hide)
      )
      (property "ki_fp_filters" "USB*" (at 0 0 0)
        (effects (font (size 1.27 1.27)) hide)
      )
      (symbol "USB_B_Micro_0_1"
        (rectangle (start -5.08 -7.62) (end 5.08 7.62)
          (stroke (width 0.254) (type default))
          (fill (type background))
        )
        (circle (center -3.81 2.159) (radius 0.635)
          (stroke (width 0.254) (type default))
          (fill (type outline))
        )
        (circle (center -0.635 3.429) (radius 0.381)
          (stroke (width 0.254) (type default))
          (fill (type outline))
        )
        (rectangle (start -0.127 -7.62) (end 0.127 -6.858)
          (stroke (width 0) (type default))
          (fill (type none))
        )
        (polyline
          (pts
            (xy -1.905 2.159)
            (xy 0.635 2.159)
          )
          (stroke (width 0.254) (type default))
          (fill (type none))
        )
        (polyline
          (pts
            (xy -3.175 2.159)
            (xy -2.54 2.159)
            (xy -1.27 3.429)
            (xy -0.635 3.429)
          )
          (stroke (width 0.254) (type default))
          (fill (type none))
        )
        (polyline
          (pts
            (xy -2.54 2.159)
            (xy -1.905 2.159)
            (xy -1.27 0.889)
            (xy 0 0.889)
          )
          (stroke (width 0.254) (type default))
          (fill (type none))
        )
        (polyline
          (pts
            (xy 0.635 2.794)
            (xy 0.635 1.524)
            (xy 1.905 2.159)
            (xy 0.635 2.794)
          )
          (stroke (width 0.254) (type default))
          (fill (type outline))
        )
        (polyline
          (pts
            (xy -4.318 5.588)
            (xy -1.778 5.588)
            (xy -2.032 4.826)
            (xy -4.064 4.826)
            (xy -4.318 5.588)
          )
          (stroke (width 0) (type default))
          (fill (type outline))
        )
        (polyline
          (pts
            (xy -4.699 5.842)
            (xy -4.699 5.588)
            (xy -4.445 4.826)
            (xy -4.445 4.572)
            (xy -1.651 4.572)
            (xy -1.651 4.826)
            (xy -1.397 5.588)
            (xy -1.397 5.842)
            (xy -4.699 5.842)
          )
          (stroke (width 0) (type default))
          (fill (type none))
        )
        (rectangle (start 0.254 1.27) (end -0.508 0.508)
          (stroke (width 0.254) (type default))
          (fill (type outline))
        )
        (rectangle (start 5.08 -5.207) (end 4.318 -4.953)
          (stroke (width 0) (type default))
          (fill (type none))
        )
        (rectangle (start 5.08 -2.667) (end 4.318 -2.413)
          (stroke (width 0) (type default))
          (fill (type none))
        )
        (rectangle (start 5.08 -0.127) (end 4.318 0.127)
          (stroke (width 0) (type default))
          (fill (type none))
        )
        (rectangle (start 5.08 4.953) (end 4.318 5.207)
          (stroke (width 0) (type default))
          (fill (type none))
        )
      )
      (symbol "USB_B_Micro_1_1"
        (pin power_out line (at 7.62 5.08 180) (length 2.54)
          (name "VBUS" (effects (font (size 1.27 1.27))))
          (number "1" (effects (font (size 1.27 1.27))))
        )
        (pin bidirectional line (at 7.62 -2.54 180) (length 2.54)
          (name "D-" (effects (font (size 1.27 1.27))))
          (number "2" (effects (font (size 1.27 1.27))))
        )
        (pin bidirectional line (at 7.62 0 180) (length 2.54)
          (name "D+" (effects (font (size 1.27 1.27))))
          (number "3" (effects (font (size 1.27 1.27))))
        )
        (pin passive line (at 7.62 -5.08 180) (length 2.54)
          (name "ID" (effects (font (size 1.27 1.27))))
          (number "4" (effects (font (size 1.27 1.27))))
        )
        (pin power_out line (at 0 -10.16 90) (length 2.54)
          (name "GND" (effects (font (size 1.27 1.27))))
          (number "5" (effects (font (size 1.27 1.27))))
        )
        (pin passive line (at -2.54 -10.16 90) (length 2.54)
          (name "Shield" (effects (font (size 1.27 1.27))))
          (number "6" (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:LED_Small" (pin_numbers hide) (pin_names (offset 0.254) hide) (in_bom yes) (on_board yes)
      (property "Reference" "D" (at -1.27 3.175 0)
        (effects (font (size 1.27 1.27)) (justify left))
      )
      (property "Value" "LED_Small" (at -4.445 -2.54 0)
        (effects (font (size 1.27 1.27)) (justify left))
      )
      (property "Footprint" "" (at 0 0 90)
        (effects (font (size 1.27 1.27)) hide)
      )
      (property "Datasheet" "~" (at 0 0 90)
        (effects (font (size 1.27 1.27)) hide)
      )
      (property "ki_keywords" "LED diode light-emitting-diode" (at 0 0 0)
        (effects (font (size 1.27 1.27)) hide)
      )
      (property "ki_description" "Light emitting diode, small symbol" (at 0 0 0)
        (effects (font (size 1.27 1.27)) hide)
      )
      (property "ki_fp_filters" "LED* LED_SMD:* LED_THT:*" (at 0 0 0)
        (effects (font (size 1.27 1.27)) hide)
      )
      (symbol "LED_Small_0_1"
        (polyline
          (pts
            (xy -0.762 -1.016)
            (xy -0.762 1.016)
          )
          (stroke (width 0.254) (type default))
          (fill (type none))
        )
        (polyline
          (pts
            (xy 1.016 0)
            (xy -0.762 0)
          )
          (stroke (width 0) (type default))
          (fill (type none))
        )
        (polyline
          (pts
            (xy 0.762 -1.016)
            (xy -0.762 0)
            (xy 0.762 1.016)
            (xy 0.762 -1.016)
          )
          (stroke (width 0.254) (type default))
          (fill (type none))
        )
        (polyline
          (pts
            (xy 0 0.762)
            (xy -0.508 1.27)
            (xy -0.254 1.27)
            (xy -0.508 1.27)
            (xy -0.508 1.016)
          )
          (stroke (width 0) (type default))
          (fill (type none))
        )
        (polyline
          (pts
            (xy 0.508 1.27)
            (xy 0 1.778)
            (xy 0.254 1.778)
            (xy 0 1.778)
            (xy 0 1.524)
          )
          (stroke (width 0) (type default))
          (fill (type none))
        )
      )
      (symbol "LED_Small_1_1"
        (pin passive line (at -2.54 0 0) (length 1.778)
          (name "K" (effects (font (size 1.27 1.27))))
          (number "1" (effects (font (size 1.27 1.27))))
        )
        (pin passive line (at 2.54 0 180) (length 1.778)
          (name "A" (effects (font (size 1.27 1.27))))
          (number "2" (effects (font (size 1.27 1.27))))
        )
      )
    )
    (symbol "Device:L_Small" (pin_numbers hide) (pin_names (offset 0.254) hide) (in_bom yes) (on_board yes)
      (property "Reference" "L" (at 0.762 1.016 0)
        (effects (font (size 1.27 1.27)) (justify left))
      )
      (property "Value" "L_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" "inductor choke coil reactor magnetic" (at 0 0 0)
        (effects (font (size 1.27 1.27)) hide)
      )
      (property "ki_description" "Inductor, small symbol" (at 0 0 0)
        (effects (font (size 1.27 1.27)) hide)
      )
      (property "ki_fp_filters" "Choke_* *Coil* Inductor_* L_*" (at 0 0 0)
        (effects (font (size 1.27 1.27)) hide)
      )
      (symbol "L_Small_0_1"
        (arc (start 0 -2.032) (mid 0.5058 -1.524) (end 0 -1.016)
          (stroke (width 0) (type default))
          (fill (type none))
        )
        (arc (start 0 -1.016) (mid 0.5058 -0.508) (end 0 0)
          (stroke (width 0) (type default))
          (fill (type none))
        )
        (arc (start 0 0) (mid 0.5058 0.508) (end 0 1.016)
          (stroke (width 0) (type default))
          (fill (type none))
        )
        (arc (start 0 1.016) (mid 0.5058 1.524) (end 0 2.032)
          (stroke (width 0) (type default))
          (fill (type none))
        )
      )
      (symbol "L_Small_1_1"
        (pin passive line (at 0 2.54 270) (length 0.508)
          (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.508)
          (name "~" (effects (font (size 1.27 1.27))))
          (number "2" (effects (font (size 1.27 1.27))))
        )
      )
    )
    (symbol "Device:R_Small_US" (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_US" (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 US 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_US_1_1"
        (polyline
          (pts
            (xy 0 0)
            (xy 1.016 -0.381)
            (xy 0 -0.762)
            (xy -1.016 -1.143)
            (xy 0 -1.524)
          )
          (stroke (width 0) (type default))
          (fill (type none))
        )
        (polyline
          (pts
            (xy 0 1.524)
            (xy 1.016 1.143)
            (xy 0 0.762)
            (xy -1.016 0.381)
            (xy 0 0)
          )
          (stroke (width 0) (type default))
          (fill (type none))
        )
        (pin passive line (at 0 2.54 270) (length 1.016)
          (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 1.016)
          (name "~" (effects (font (size 1.27 1.27))))
          (number "2" (effects (font (size 1.27 1.27))))
        )
      )
    )
    (symbol "Power_Management:LT3030IFE#TRPBF" (in_bom yes) (on_board yes)
      (property "Reference" "IC1" (at 17.78 6.35 0)
        (effects (font (size 1.27 1.27)))
      )
      (property "Value" "LT3030IFE#TRPBF" (at 17.78 3.81 0)
        (effects (font (size 1.27 1.27)))
      )
      (property "Footprint" "SOP65P640X120-21N" (at 31.75 -94.92 0)
        (effects (font (size 1.27 1.27)) (justify left top) hide)
      )
      (property "Datasheet" "https://www.arrow.com/en/products/lt3030ifetrpbf/analog-devices" (at 31.75 -194.92 0)
        (effects (font (size 1.27 1.27)) (justify left top) hide)
      )
      (property "Height" "1.2" (at 31.75 -394.92 0)
        (effects (font (size 1.27 1.27)) (justify left top) hide)
      )
      (property "Manufacturer_Name" "Analog Devices" (at 31.75 -494.92 0)
        (effects (font (size 1.27 1.27)) (justify left top) hide)
      )
      (property "Manufacturer_Part_Number" "LT3030IFE#TRPBF" (at 31.75 -594.92 0)
        (effects (font (size 1.27 1.27)) (justify left top) hide)
      )
      (property "Mouser Part Number" "584-LT3030IFE#TRPBF" (at 31.75 -694.92 0)
        (effects (font (size 1.27 1.27)) (justify left top) hide)
      )
      (property "Mouser Price/Stock" "https://www.mouser.co.uk/ProductDetail/Analog-Devices/LT3030IFETRPBF?qs=ytflclh7QUXTXXkDLGRUDQ%3D%3D" (at 31.75 -794.92 0)
        (effects (font (size 1.27 1.27)) (justify left top) hide)
      )
      (property "Arrow Part Number" "LT3030IFE#TRPBF" (at 31.75 -894.92 0)
        (effects (font (size 1.27 1.27)) (justify left top) hide)
      )
      (property "Arrow Price/Stock" "https://www.arrow.com/en/products/lt3030ifetrpbf/analog-devices?region=nac" (at 31.75 -994.92 0)
        (effects (font (size 1.27 1.27)) (justify left top) hide)
      )
      (property "ki_description" "Dual 750mA/250mA Low Dropout, Low Noise, Micropower Linear Regulator" (at 0 0 0)
        (effects (font (size 1.27 1.27)) hide)
      )
      (symbol "LT3030IFE#TRPBF_1_1"
        (rectangle (start 5.08 2.54) (end 30.48 -40.64)
          (stroke (width 0.254) (type default))
          (fill (type background))
        )
        (pin passive line (at 35.56 -11.43 180) (length 5.08)
          (name "ADJ1" (effects (font (size 1.27 1.27))))
          (number "1" (effects (font (size 1.27 1.27))))
        )
        (pin passive line (at 35.56 -30.48 180) (length 5.08)
          (name "ADJ2" (effects (font (size 1.27 1.27))))
          (number "10" (effects (font (size 1.27 1.27))))
        )
        (pin passive line (at 0 -15.24 0) (length 5.08)
          (name "~{SHDN2}" (effects (font (size 1.27 1.27))))
          (number "11" (effects (font (size 1.27 1.27))))
        )
        (pin passive line (at 0 -22.86 0) (length 5.08)
          (name "PWRGD2" (effects (font (size 1.27 1.27))))
          (number "12" (effects (font (size 1.27 1.27))))
        )
        (pin passive line (at 0 -1.27 0) (length 5.08)
          (name "IN2_1" (effects (font (size 1.27 1.27))))
          (number "13" (effects (font (size 1.27 1.27))))
        )
        (pin passive line (at 0 -3.81 0) (length 5.08)
          (name "IN2_2" (effects (font (size 1.27 1.27))))
          (number "14" (effects (font (size 1.27 1.27))))
        )
        (pin passive line (at 0 -34.29 0) (length 5.08)
          (name "GND_3" (effects (font (size 1.27 1.27))))
          (number "15" (effects (font (size 1.27 1.27))))
        )
        (pin passive line (at 0 -36.83 0) (length 5.08)
          (name "GND_4" (effects (font (size 1.27 1.27))))
          (number "16" (effects (font (size 1.27 1.27))))
        )
        (pin passive line (at 0 -6.35 0) (length 5.08)
          (name "IN1_1" (effects (font (size 1.27 1.27))))
          (number "17" (effects (font (size 1.27 1.27))))
        )
        (pin passive line (at 0 -8.89 0) (length 5.08)
          (name "IN1_2" (effects (font (size 1.27 1.27))))
          (number "18" (effects (font (size 1.27 1.27))))
        )
        (pin passive line (at 0 -20.32 0) (length 5.08)
          (name "PWRGD1" (effects (font (size 1.27 1.27))))
          (number "19" (effects (font (size 1.27 1.27))))
        )
        (pin passive line (at 35.56 -6.35 180) (length 5.08)
          (name "BYP1" (effects (font (size 1.27 1.27))))
          (number "2" (effects (font (size 1.27 1.27))))
        )
        (pin passive line (at 0 -12.7 0) (length 5.08)
          (name "~{SHDN1}" (effects (font (size 1.27 1.27))))
          (number "20" (effects (font (size 1.27 1.27))))
        )
        (pin passive line (at 17.78 -45.72 90) (length 5.08)
          (name "GND_5" (effects (font (size 1.27 1.27))))
          (number "21" (effects (font (size 1.27 1.27))))
        )
        (pin passive line (at 35.56 -2.54 180) (length 5.08)
          (name "OUT1_1" (effects (font (size 1.27 1.27))))
          (number "3" (effects (font (size 1.27 1.27))))
        )
        (pin passive line (at 35.56 0 180) (length 5.08)
          (name "OUT1_2" (effects (font (size 1.27 1.27))))
          (number "4" (effects (font (size 1.27 1.27))))
        )
        (pin passive line (at 20.32 -45.72 90) (length 5.08)
          (name "GND_1" (effects (font (size 1.27 1.27))))
          (number "5" (effects (font (size 1.27 1.27))))
        )
        (pin passive line (at 22.86 -45.72 90) (length 5.08)
          (name "GND_2" (effects (font (size 1.27 1.27))))
          (number "6" (effects (font (size 1.27 1.27))))
        )
        (pin passive line (at 35.56 -21.59 180) (length 5.08)
          (name "OUT2_1" (effects (font (size 1.27 1.27))))
          (number "7" (effects (font (size 1.27 1.27))))
        )
        (pin passive line (at 35.56 -19.05 180) (length 5.08)
          (name "OUT2_2" (effects (font (size 1.27 1.27))))
          (number "8" (effects (font (size 1.27 1.27))))
        )
        (pin passive line (at 35.56 -25.4 180) (length 5.08)
          (name "BYP2" (effects (font (size 1.27 1.27))))
          (number "9" (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: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))))
        )
      )
    )
    (symbol "power:VCC_GONK" (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" "VCC_GONK" (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 \"VCC\"" (at 0 0 0)
        (effects (font (size 1.27 1.27)) hide)
      )
      (symbol "VCC_GONK_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 "VCC_GONK_1_1"
        (pin power_in line (at 0 0 90) (length 0) hide
          (name "VCC" (effects (font (size 1.27 1.27))))
          (number "1" (effects (font (size 1.27 1.27))))
        )
      )
    )
    (symbol "power:VCC_GONK_1.2" (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" "VCC_GONK_1.2" (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 \"VCC\"" (at 0 0 0)
        (effects (font (size 1.27 1.27)) hide)
      )
      (symbol "VCC_GONK_1.2_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 "VCC_GONK_1.2_1_1"
        (pin power_in line (at 0 0 90) (length 0) hide
          (name "VCC" (effects (font (size 1.27 1.27))))
          (number "1" (effects (font (size 1.27 1.27))))
        )
      )
    )
  )

  (junction (at 121.92 43.18) (diameter 0) (color 0 0 0 0)
    (uuid 061b1665-ed79-42fc-9c6f-b6c41a137b6c)
  )
  (junction (at 64.77 59.69) (diameter 0) (color 0 0 0 0)
    (uuid 120c69ad-21e8-41fb-8296-a4e645d57c18)
  )
  (junction (at 124.46 109.22) (diameter 0) (color 0 0 0 0)
    (uuid 1c2aa70f-b904-4877-ab75-8a5186f23ded)
  )
  (junction (at 166.37 109.22) (diameter 0) (color 0 0 0 0)
    (uuid 1c95d185-08f0-4908-8ed4-da227e222c31)
  )
  (junction (at 69.85 118.11) (diameter 0) (color 0 0 0 0)
    (uuid 26f938da-c281-4bfe-af9c-9a6a194e77ac)
  )
  (junction (at 104.14 157.48) (diameter 0) (color 0 0 0 0)
    (uuid 2ae37202-fac8-4b6a-a12e-1b6814226882)
  )
  (junction (at 139.7 128.27) (diameter 0) (color 0 0 0 0)
    (uuid 2dc75616-bdeb-44eb-ad38-8ad592eee6e9)
  )
  (junction (at 139.7 139.7) (diameter 0) (color 0 0 0 0)
    (uuid 34aedf65-bc46-4240-881c-c0a6259f188a)
  )
  (junction (at 128.27 43.18) (diameter 0) (color 0 0 0 0)
    (uuid 38245822-0973-42d4-b765-2fbae1d8a69f)
  )
  (junction (at 121.92 58.42) (diameter 0) (color 0 0 0 0)
    (uuid 40839293-ddaf-4789-8ed6-2effaeff9015)
  )
  (junction (at 130.81 128.27) (diameter 0) (color 0 0 0 0)
    (uuid 44641c8f-e7ea-41f9-97bb-4b65855b516c)
  )
  (junction (at 130.81 109.22) (diameter 0) (color 0 0 0 0)
    (uuid 448bb07b-ec0b-401d-b951-2f1fd583dd64)
  )
  (junction (at 69.85 113.03) (diameter 0) (color 0 0 0 0)
    (uuid 4a4e1606-5ceb-47ad-ae02-9fed5f9c10b5)
  )
  (junction (at 78.74 53.34) (diameter 0) (color 0 0 0 0)
    (uuid 4ca7b205-8f5e-4037-9511-9d6aca3e5807)
  )
  (junction (at 124.46 128.27) (diameter 0) (color 0 0 0 0)
    (uuid 6910727c-8297-41cd-b3b0-0fa7eefe2a86)
  )
  (junction (at 135.89 109.22) (diameter 0) (color 0 0 0 0)
    (uuid 6cb0ffa1-f7a0-4e21-910c-1a847dd688af)
  )
  (junction (at 135.89 120.65) (diameter 0) (color 0 0 0 0)
    (uuid 825b7fe3-d1b8-4533-9e3c-7fcce5a2a4bd)
  )
  (junction (at 147.32 109.22) (diameter 0) (color 0 0 0 0)
    (uuid 88515047-63c0-46c0-a5ce-94aa4180dc7c)
  )
  (junction (at 170.18 109.22) (diameter 0) (color 0 0 0 0)
    (uuid 8cbfb2ee-3a09-43dc-9f32-94ba54aff634)
  )
  (junction (at 93.98 157.48) (diameter 0) (color 0 0 0 0)
    (uuid 8f8cc8b2-ebb3-41c4-8213-3a168949b190)
  )
  (junction (at 147.32 120.65) (diameter 0) (color 0 0 0 0)
    (uuid 9174ec63-04a1-4029-91cc-1ab530899aaa)
  )
  (junction (at 69.85 121.92) (diameter 0) (color 0 0 0 0)
    (uuid 94415576-f89b-4471-88c1-0e815af47925)
  )
  (junction (at 156.21 120.65) (diameter 0) (color 0 0 0 0)
    (uuid 9d9fd081-00d8-4830-a7cf-62576fa9aec6)
  )
  (junction (at 69.85 129.54) (diameter 0) (color 0 0 0 0)
    (uuid a3fde5bd-b256-498f-89a6-49e1b4b8b842)
  )
  (junction (at 78.74 59.69) (diameter 0) (color 0 0 0 0)
    (uuid a45f4529-c20b-4d76-b1c9-2080faaa16e3)
  )
  (junction (at 69.85 115.57) (diameter 0) (color 0 0 0 0)
    (uuid afd16266-cf0f-4020-94fd-160863ba2057)
  )
  (junction (at 106.68 157.48) (diameter 0) (color 0 0 0 0)
    (uuid b376edea-15dd-4844-b269-70030a7bdaf1)
  )
  (junction (at 156.21 109.22) (diameter 0) (color 0 0 0 0)
    (uuid b9236724-8651-4abe-a48c-d2672574e75e)
  )
  (junction (at 69.85 110.49) (diameter 0) (color 0 0 0 0)
    (uuid bad5b2e0-267e-4ec1-9021-de1d88782f79)
  )
  (junction (at 85.09 146.05) (diameter 0) (color 0 0 0 0)
    (uuid bc4f8107-71b4-4364-b414-ca084aadcba3)
  )
  (junction (at 69.85 124.46) (diameter 0) (color 0 0 0 0)
    (uuid c943f12f-12bf-4674-b44b-de351825eec1)
  )
  (junction (at 148.59 128.27) (diameter 0) (color 0 0 0 0)
    (uuid d84efc9e-9e79-4850-8f6b-840c04412b79)
  )
  (junction (at 59.69 110.49) (diameter 0) (color 0 0 0 0)
    (uuid ff53d4fe-b523-40ba-bb69-77eba2ae27fb)
  )

  (no_connect (at 62.23 58.42) (uuid 140de9ec-e8aa-45dc-a239-7fa3557ee720))

  (wire (pts (xy 156.21 111.76) (xy 156.21 109.22))
    (stroke (width 0) (type default))
    (uuid 0121773d-1ff9-4f69-83a2-e7fe0245d0fd)
  )
  (wire (pts (xy 148.59 135.89) (xy 148.59 139.7))
    (stroke (width 0) (type default))
    (uuid 057eeb2a-4388-490c-b4ab-906c01bd3c17)
  )
  (wire (pts (xy 59.69 119.38) (xy 59.69 123.19))
    (stroke (width 0) (type default))
    (uuid 072369fc-c555-4b16-84bf-58834c84c4d7)
  )
  (wire (pts (xy 76.2 59.69) (xy 78.74 59.69))
    (stroke (width 0) (type default))
    (uuid 0c9a7bb5-26a4-418f-afb5-387677827bc6)
  )
  (wire (pts (xy 109.22 154.94) (xy 109.22 157.48))
    (stroke (width 0) (type default))
    (uuid 0cf56f1c-2003-4767-b88f-b56868d8662b)
  )
  (wire (pts (xy 128.27 50.8) (xy 128.27 52.07))
    (stroke (width 0) (type default))
    (uuid 0d7f4faf-c2ec-40ed-80d4-e0650583d7b1)
  )
  (wire (pts (xy 166.37 109.22) (xy 170.18 109.22))
    (stroke (width 0) (type default))
    (uuid 0dd7fe14-55f3-448a-903d-a88de747e28b)
  )
  (wire (pts (xy 147.32 120.65) (xy 143.51 120.65))
    (stroke (width 0) (type default))
    (uuid 1017011d-faa5-4d00-842e-44733af89825)
  )
  (wire (pts (xy 104.14 157.48) (xy 106.68 157.48))
    (stroke (width 0) (type default))
    (uuid 115173bf-3874-44d6-bf1c-f0e75f971542)
  )
  (wire (pts (xy 82.55 58.42) (xy 82.55 59.69))
    (stroke (width 0) (type default))
    (uuid 12f607fa-c09f-4666-b070-7c439e2d3836)
  )
  (wire (pts (xy 128.27 43.18) (xy 128.27 45.72))
    (stroke (width 0) (type default))
    (uuid 1401f005-a2f2-4d17-902b-54321aeffe95)
  )
  (wire (pts (xy 129.54 134.62) (xy 130.81 134.62))
    (stroke (width 0) (type default))
    (uuid 1417d01d-b712-419b-81b6-19a355dfc8a1)
  )
  (wire (pts (xy 85.09 157.48) (xy 85.09 146.05))
    (stroke (width 0) (type default))
    (uuid 15320b5d-b44e-4184-8412-ed387a479afa)
  )
  (wire (pts (xy 69.85 124.46) (xy 69.85 129.54))
    (stroke (width 0) (type default))
    (uuid 1646f361-8937-48a9-89a6-127b92080321)
  )
  (wire (pts (xy 156.21 120.65) (xy 147.32 120.65))
    (stroke (width 0) (type default))
    (uuid 1789a297-fc73-48c8-8d25-ac8049a2c1e2)
  )
  (wire (pts (xy 121.92 134.62) (xy 124.46 134.62))
    (stroke (width 0) (type default))
    (uuid 19f97a30-8c8a-432a-bf8b-b3b1c7ddbd4d)
  )
  (wire (pts (xy 156.21 109.22) (xy 166.37 109.22))
    (stroke (width 0) (type default))
    (uuid 1a840ed1-49f0-4c8a-ac51-94d843bcad0d)
  )
  (wire (pts (xy 72.39 50.8) (xy 91.44 50.8))
    (stroke (width 0) (type default))
    (uuid 1cee2c8f-fc3a-47a9-bc50-35178bbcf294)
  )
  (wire (pts (xy 124.46 128.27) (xy 130.81 128.27))
    (stroke (width 0) (type default))
    (uuid 1f19cff3-0365-45b5-bbc9-3fa6187da3c0)
  )
  (wire (pts (xy 128.27 58.42) (xy 121.92 58.42))
    (stroke (width 0) (type default))
    (uuid 215f3f28-ffd5-478d-afea-215b860a6dfc)
  )
  (wire (pts (xy 69.85 124.46) (xy 86.36 124.46))
    (stroke (width 0) (type default))
    (uuid 21f98aef-809a-45ba-936e-4145f5be0960)
  )
  (wire (pts (xy 69.85 118.11) (xy 86.36 118.11))
    (stroke (width 0) (type default))
    (uuid 22ef0f54-856c-43b1-95d4-8151c981ff54)
  )
  (wire (pts (xy 106.68 157.48) (xy 109.22 157.48))
    (stroke (width 0) (type default))
    (uuid 27eb755c-bebd-4eb1-b53c-eb045cd5189f)
  )
  (wire (pts (xy 139.7 139.7) (xy 139.7 142.24))
    (stroke (width 0) (type default))
    (uuid 29339b58-251b-4ac3-ab68-dd8a6123d15d)
  )
  (wire (pts (xy 69.85 113.03) (xy 69.85 115.57))
    (stroke (width 0) (type default))
    (uuid 2d1fd356-bc62-4df5-8a91-e445cc1833f9)
  )
  (wire (pts (xy 139.7 130.81) (xy 139.7 128.27))
    (stroke (width 0) (type default))
    (uuid 30320c3f-c1c3-4483-87f6-9ebbcd2b975f)
  )
  (wire (pts (xy 128.27 39.37) (xy 128.27 43.18))
    (stroke (width 0) (type default))
    (uuid 39113f09-d5fc-4c67-be40-7e3b35425271)
  )
  (wire (pts (xy 69.85 110.49) (xy 86.36 110.49))
    (stroke (width 0) (type default))
    (uuid 3ada2c73-e941-47aa-b4c6-8e1aed13d969)
  )
  (wire (pts (xy 69.85 129.54) (xy 72.39 129.54))
    (stroke (width 0) (type default))
    (uuid 3fa71edf-e3b8-46ac-aec8-ec8611a7f08b)
  )
  (wire (pts (xy 64.77 59.69) (xy 64.77 62.23))
    (stroke (width 0) (type default))
    (uuid 44895a5c-f263-49e9-8a38-d1afb78beef0)
  )
  (wire (pts (xy 147.32 116.84) (xy 147.32 120.65))
    (stroke (width 0) (type default))
    (uuid 48f7a78d-8fe9-46a9-be1d-92a0ac14c8d6)
  )
  (wire (pts (xy 85.09 157.48) (xy 93.98 157.48))
    (stroke (width 0) (type default))
    (uuid 4d2dc478-ef0d-4163-9f56-87dfd7d41e8c)
  )
  (wire (pts (xy 83.82 43.18) (xy 121.92 43.18))
    (stroke (width 0) (type default))
    (uuid 4f55bb77-7c23-4ec2-a8b7-a9ebc9bd5b01)
  )
  (wire (pts (xy 130.81 128.27) (xy 139.7 128.27))
    (stroke (width 0) (type default))
    (uuid 4f7f7e78-81b9-44a4-8ff4-3a707e6b6d0a)
  )
  (wire (pts (xy 139.7 128.27) (xy 148.59 128.27))
    (stroke (width 0) (type default))
    (uuid 4fd3bf2a-5f62-4092-ba5f-427e3d5db104)
  )
  (wire (pts (xy 69.85 115.57) (xy 86.36 115.57))
    (stroke (width 0) (type default))
    (uuid 51d82858-eb5f-46d1-a949-ea59ff530e5e)
  )
  (wire (pts (xy 69.85 118.11) (xy 69.85 121.92))
    (stroke (width 0) (type default))
    (uuid 53115feb-35ff-45ac-b6bb-0a80f72f47f3)
  )
  (wire (pts (xy 55.88 109.22) (xy 55.88 110.49))
    (stroke (width 0) (type default))
    (uuid 55495e0b-3923-4d29-9ca3-bd228338e483)
  )
  (wire (pts (xy 138.43 120.65) (xy 135.89 120.65))
    (stroke (width 0) (type default))
    (uuid 55f33a64-1519-4b54-a4b8-3c34f69328e6)
  )
  (wire (pts (xy 69.85 121.92) (xy 86.36 121.92))
    (stroke (width 0) (type default))
    (uuid 56770963-8279-4bfe-b7fe-9e653ffa8f2a)
  )
  (wire (pts (xy 85.09 146.05) (xy 85.09 143.51))
    (stroke (width 0) (type default))
    (uuid 59f80bac-11d1-4564-90c6-688d4e6313ae)
  )
  (wire (pts (xy 69.85 121.92) (xy 69.85 124.46))
    (stroke (width 0) (type default))
    (uuid 5b1a6be0-46ce-47d9-a61d-fdf4372eb90e)
  )
  (wire (pts (xy 147.32 120.65) (xy 147.32 123.19))
    (stroke (width 0) (type default))
    (uuid 5f186e14-a29f-49b3-92d3-fc5fca6420ed)
  )
  (wire (pts (xy 77.47 132.08) (xy 86.36 132.08))
    (stroke (width 0) (type default))
    (uuid 5fe84171-c360-47f4-95ef-1ced3f9ba1d9)
  )
  (wire (pts (xy 156.21 116.84) (xy 156.21 120.65))
    (stroke (width 0) (type default))
    (uuid 64e82776-396d-400f-8f7a-5b22179e06fc)
  )
  (wire (pts (xy 64.77 59.69) (xy 71.12 59.69))
    (stroke (width 0) (type default))
    (uuid 67b70a2e-f44c-402c-b351-b83c8e6c6fa1)
  )
  (wire (pts (xy 121.92 43.18) (xy 121.92 46.99))
    (stroke (width 0) (type default))
    (uuid 684b5f48-bac6-4f4e-b680-f8a18371a3b2)
  )
  (wire (pts (xy 64.77 58.42) (xy 64.77 59.69))
    (stroke (width 0) (type default))
    (uuid 6beded6d-8303-4f75-af91-993789f99bda)
  )
  (wire (pts (xy 139.7 135.89) (xy 139.7 139.7))
    (stroke (width 0) (type default))
    (uuid 6cd89d8a-7768-42b0-9bf6-b945a69584d1)
  )
  (wire (pts (xy 121.92 58.42) (xy 121.92 60.96))
    (stroke (width 0) (type default))
    (uuid 721dbe18-8fab-40a0-bbb0-7c70ca77fe7f)
  )
  (wire (pts (xy 121.92 52.07) (xy 121.92 58.42))
    (stroke (width 0) (type default))
    (uuid 74072f39-c7e8-4b5e-aafc-c5ff35d9e22a)
  )
  (wire (pts (xy 72.39 53.34) (xy 78.74 53.34))
    (stroke (width 0) (type default))
    (uuid 7ab11b01-2fba-4d87-a756-0935cd375917)
  )
  (wire (pts (xy 135.89 109.22) (xy 135.89 111.76))
    (stroke (width 0) (type default))
    (uuid 7fc4486a-e870-42eb-b1e7-87ac0edcbf2a)
  )
  (wire (pts (xy 124.46 109.22) (xy 130.81 109.22))
    (stroke (width 0) (type default))
    (uuid 81076d91-068f-4365-a1b8-4ce511659e13)
  )
  (wire (pts (xy 147.32 109.22) (xy 135.89 109.22))
    (stroke (width 0) (type default))
    (uuid 81401333-f97a-4a88-a6d0-1c42d784da74)
  )
  (wire (pts (xy 121.92 130.81) (xy 124.46 130.81))
    (stroke (width 0) (type default))
    (uuid 81c7ddff-1f0e-4ec1-8cd8-d7092999fbcc)
  )
  (wire (pts (xy 170.18 109.22) (xy 175.26 109.22))
    (stroke (width 0) (type default))
    (uuid 82cffeff-8933-40e5-8504-8779a0002a45)
  )
  (wire (pts (xy 135.89 116.84) (xy 135.89 120.65))
    (stroke (width 0) (type default))
    (uuid 85dcea65-eca1-474b-a5ed-873f3ee1ecc1)
  )
  (wire (pts (xy 59.69 110.49) (xy 59.69 114.3))
    (stroke (width 0) (type default))
    (uuid 8cafc79b-bed7-40f9-b4d1-7ed73455a6c8)
  )
  (wire (pts (xy 121.92 128.27) (xy 124.46 128.27))
    (stroke (width 0) (type default))
    (uuid 90533b09-8313-43d4-adc8-a2c87764e671)
  )
  (wire (pts (xy 55.88 110.49) (xy 59.69 110.49))
    (stroke (width 0) (type default))
    (uuid 9475043a-6757-426c-83af-56736a052203)
  )
  (wire (pts (xy 148.59 128.27) (xy 157.48 128.27))
    (stroke (width 0) (type default))
    (uuid 97ba4bd9-eca8-4bb2-874d-b6e9219ad987)
  )
  (wire (pts (xy 130.81 134.62) (xy 130.81 128.27))
    (stroke (width 0) (type default))
    (uuid 9b021302-66ae-47e9-8988-de51c763cdd3)
  )
  (wire (pts (xy 124.46 111.76) (xy 121.92 111.76))
    (stroke (width 0) (type default))
    (uuid 9f46fff8-8ef4-463d-94b6-e77279fb5406)
  )
  (wire (pts (xy 166.37 120.65) (xy 156.21 120.65))
    (stroke (width 0) (type default))
    (uuid a4e7b1e9-63ac-476d-9f67-7a50bcdda2cf)
  )
  (wire (pts (xy 82.55 59.69) (xy 78.74 59.69))
    (stroke (width 0) (type default))
    (uuid a57f1271-08a4-4b95-a151-8b5d8ec40925)
  )
  (wire (pts (xy 128.27 57.15) (xy 128.27 58.42))
    (stroke (width 0) (type default))
    (uuid a9f5b58d-448f-477d-9d5a-d501d6bc7463)
  )
  (wire (pts (xy 106.68 154.94) (xy 106.68 157.48))
    (stroke (width 0) (type default))
    (uuid ad003499-2afa-48eb-a6de-594bad6d9669)
  )
  (wire (pts (xy 69.85 115.57) (xy 69.85 118.11))
    (stroke (width 0) (type default))
    (uuid ae169e6c-ef35-4657-adad-f2c46bbd67c7)
  )
  (wire (pts (xy 166.37 116.84) (xy 166.37 120.65))
    (stroke (width 0) (type default))
    (uuid b03c6f2d-68c4-40a0-8d7b-36b97201a135)
  )
  (wire (pts (xy 121.92 120.65) (xy 135.89 120.65))
    (stroke (width 0) (type default))
    (uuid b0c6b8f4-b716-48d7-8439-f1b70922a79e)
  )
  (wire (pts (xy 121.92 139.7) (xy 139.7 139.7))
    (stroke (width 0) (type default))
    (uuid b0e8ed68-81c3-4ae1-81a2-7894fef80f47)
  )
  (wire (pts (xy 121.92 115.57) (xy 124.46 115.57))
    (stroke (width 0) (type default))
    (uuid b258b92c-bd70-420f-bb08-dd0d3a4f7114)
  )
  (wire (pts (xy 93.98 157.48) (xy 104.14 157.48))
    (stroke (width 0) (type default))
    (uuid b279bbac-adef-4cc9-8c84-95b1d004b7ab)
  )
  (wire (pts (xy 69.85 129.54) (xy 69.85 132.08))
    (stroke (width 0) (type default))
    (uuid b34c71a6-e95c-4824-be63-3217322ad670)
  )
  (wire (pts (xy 78.74 53.34) (xy 78.74 59.69))
    (stroke (width 0) (type default))
    (uuid b3807608-1b32-4908-94f6-9e0a60a0d37a)
  )
  (wire (pts (xy 59.69 110.49) (xy 69.85 110.49))
    (stroke (width 0) (type default))
    (uuid b52e175e-41e0-4815-8223-769a6f55755e)
  )
  (wire (pts (xy 77.47 129.54) (xy 86.36 129.54))
    (stroke (width 0) (type default))
    (uuid b56e4ca2-792f-4f2f-a563-da061c3c180c)
  )
  (wire (pts (xy 148.59 130.81) (xy 148.59 128.27))
    (stroke (width 0) (type default))
    (uuid b5fe0a5e-f8bb-43eb-b828-94ff9bd8042f)
  )
  (wire (pts (xy 69.85 113.03) (xy 86.36 113.03))
    (stroke (width 0) (type default))
    (uuid b8f4fe8d-1f9f-436d-b959-f6363a26a83e)
  )
  (wire (pts (xy 121.92 109.22) (xy 124.46 109.22))
    (stroke (width 0) (type default))
    (uuid bcbdea95-7154-45c7-8561-8e7e5b75ef1f)
  )
  (wire (pts (xy 166.37 109.22) (xy 166.37 111.76))
    (stroke (width 0) (type default))
    (uuid bfbdab02-5b9d-4aa6-bb34-0fedcdfb1f5e)
  )
  (wire (pts (xy 130.81 109.22) (xy 135.89 109.22))
    (stroke (width 0) (type default))
    (uuid c607bf25-43f1-4fae-b094-146bf7d7e552)
  )
  (wire (pts (xy 124.46 109.22) (xy 124.46 111.76))
    (stroke (width 0) (type default))
    (uuid c6146079-3c4b-479a-a5af-2f00618651f3)
  )
  (wire (pts (xy 147.32 111.76) (xy 147.32 109.22))
    (stroke (width 0) (type default))
    (uuid c6e38686-3488-45dd-8b8d-fcf0e466e5a0)
  )
  (wire (pts (xy 104.14 154.94) (xy 104.14 157.48))
    (stroke (width 0) (type default))
    (uuid d01cd7a8-6f3d-4ec0-89b2-ce16048bbb23)
  )
  (wire (pts (xy 72.39 43.18) (xy 78.74 43.18))
    (stroke (width 0) (type default))
    (uuid d12266eb-e70d-4794-8751-3ea09c60c618)
  )
  (wire (pts (xy 148.59 139.7) (xy 139.7 139.7))
    (stroke (width 0) (type default))
    (uuid d37e5ee1-2296-4c8b-b54c-f8b17546e1fc)
  )
  (wire (pts (xy 124.46 130.81) (xy 124.46 128.27))
    (stroke (width 0) (type default))
    (uuid d63cbaca-a5a8-4f17-9f3a-24eb236ba09e)
  )
  (wire (pts (xy 78.74 53.34) (xy 82.55 53.34))
    (stroke (width 0) (type default))
    (uuid d85bf565-b3fb-4062-a5de-d76424909bd1)
  )
  (wire (pts (xy 129.54 115.57) (xy 130.81 115.57))
    (stroke (width 0) (type default))
    (uuid ea99520e-842a-40c1-b0a0-aa0f2b469b45)
  )
  (wire (pts (xy 156.21 109.22) (xy 147.32 109.22))
    (stroke (width 0) (type default))
    (uuid eaebc05f-e091-444b-81c5-c76d457c1b08)
  )
  (wire (pts (xy 85.09 146.05) (xy 86.36 146.05))
    (stroke (width 0) (type default))
    (uuid eafcc612-426a-42d2-bfe6-d33a8050332f)
  )
  (wire (pts (xy 72.39 132.08) (xy 69.85 132.08))
    (stroke (width 0) (type default))
    (uuid ee58b26b-4501-459c-97e1-f96624fc7bd0)
  )
  (wire (pts (xy 130.81 115.57) (xy 130.81 109.22))
    (stroke (width 0) (type default))
    (uuid ef4bd064-bb43-4419-95b9-14bc7de107f0)
  )
  (wire (pts (xy 72.39 48.26) (xy 91.44 48.26))
    (stroke (width 0) (type default))
    (uuid f0207df5-5165-4aec-bc54-cb30294ae779)
  )
  (wire (pts (xy 121.92 43.18) (xy 128.27 43.18))
    (stroke (width 0) (type default))
    (uuid f0f66556-57bb-435e-aeab-300ac3a50777)
  )
  (wire (pts (xy 85.09 143.51) (xy 86.36 143.51))
    (stroke (width 0) (type default))
    (uuid fac079a9-bb94-456d-9f4b-6ddd040e12ac)
  )
  (wire (pts (xy 170.18 106.68) (xy 170.18 109.22))
    (stroke (width 0) (type default))
    (uuid fce70b79-59e8-44d5-b2dd-f4b20eb72212)
  )
  (wire (pts (xy 69.85 110.49) (xy 69.85 113.03))
    (stroke (width 0) (type default))
    (uuid fee1c48b-0b37-4399-8292-b749ab7ac5f8)
  )

  (text "vbias 1.22V" (at 118.11 142.24 0)
    (effects (font (size 1.27 1.27)) (justify left bottom))
    (uuid 6fa93a9f-0146-4839-ab3b-8446d1a9ac1e)
  )
  (text "500mA 600mohm" (at 74.93 45.72 0)
    (effects (font (size 1.27 1.27)) (justify left bottom))
    (uuid 9af9efe2-f8b9-420f-a891-81702ccb0276)
  )

  (global_label "USB_D_P" (shape output) (at 91.44 48.26 0) (fields_autoplaced)
    (effects (font (size 1.27 1.27)) (justify left))
    (uuid 7bdeb1fc-0b27-48e1-873a-98fc4a02e378)
    (property "Intersheetrefs" "${INTERSHEET_REFS}" (at 102.631 48.26 0)
      (effects (font (size 1.27 1.27)) (justify left))
    )
  )
  (global_label "USB_D_N" (shape output) (at 91.44 50.8 0) (fields_autoplaced)
    (effects (font (size 1.27 1.27)) (justify left))
    (uuid b8ccc567-83b5-4551-9eb6-840c2e84db8b)
    (property "Intersheetrefs" "${INTERSHEET_REFS}" (at 102.6915 50.8 0)
      (effects (font (size 1.27 1.27)) (justify left))
    )
  )

  (symbol (lib_id "Device:C_Small") (at 59.69 116.84 0) (unit 1)
    (in_bom yes) (on_board yes) (dnp no)
    (uuid 047661d5-e1ae-474b-9d82-442872ce75a6)
    (property "Reference" "C68" (at 54.61 116.84 0)
      (effects (font (size 1.27 1.27)))
    )
    (property "Value" "22uF" (at 54.61 119.38 0)
      (effects (font (size 1.27 1.27)))
    )
    (property "Footprint" "Capacitor_SMD:C_0402_1005Metric" (at 59.69 116.84 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Datasheet" "~" (at 59.69 116.84 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (pin "1" (uuid 409679ee-9468-47ff-a205-fc43cc2c40b8))
    (pin "2" (uuid c3824e15-3908-4a67-9397-3f98c63e7197))
    (instances
      (project "Gonk"
        (path "/691887a2-ef24-4ca8-bf60-49cda5104c8f/2c0379a2-ad31-4b03-9cac-f011818129d5"
          (reference "C68") (unit 1)
        )
        (path "/691887a2-ef24-4ca8-bf60-49cda5104c8f/a3f29ee6-3b19-4f22-a75c-2f331d2e1b78"
          (reference "C71") (unit 1)
        )
      )
    )
  )

  (symbol (lib_id "Device:R_Small_US") (at 128.27 48.26 180) (unit 1)
    (in_bom yes) (on_board yes) (dnp no) (fields_autoplaced)
    (uuid 11733581-f692-4817-a3e1-a3cf96418592)
    (property "Reference" "R78" (at 130.81 47.625 0)
      (effects (font (size 1.27 1.27)) (justify right))
    )
    (property "Value" "1K" (at 130.81 50.165 0)
      (effects (font (size 1.27 1.27)) (justify right))
    )
    (property "Footprint" "Resistor_SMD:R_0402_1005Metric" (at 128.27 48.26 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Datasheet" "~" (at 128.27 48.26 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (pin "1" (uuid 031cd32e-3dcf-4f78-82c7-e1c167137731))
    (pin "2" (uuid 7b397b84-ba72-4c63-b51d-4c954360a7b9))
    (instances
      (project "Gonk"
        (path "/691887a2-ef24-4ca8-bf60-49cda5104c8f/2c0379a2-ad31-4b03-9cac-f011818129d5"
          (reference "R78") (unit 1)
        )
        (path "/691887a2-ef24-4ca8-bf60-49cda5104c8f/a3f29ee6-3b19-4f22-a75c-2f331d2e1b78"
          (reference "R78") (unit 1)
        )
      )
    )
  )

  (symbol (lib_id "Device:R_Small_US") (at 82.55 55.88 180) (unit 1)
    (in_bom yes) (on_board yes) (dnp no) (fields_autoplaced)
    (uuid 152ae90f-5f08-4de3-b6da-1af3e7a23809)
    (property "Reference" "R67" (at 85.09 55.245 0)
      (effects (font (size 1.27 1.27)) (justify right))
    )
    (property "Value" "0" (at 85.09 57.785 0)
      (effects (font (size 1.27 1.27)) (justify right))
    )
    (property "Footprint" "Resistor_SMD:R_0402_1005Metric" (at 82.55 55.88 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Datasheet" "~" (at 82.55 55.88 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (pin "1" (uuid 7fa0d18f-f069-4899-a3f6-a5e02b959415))
    (pin "2" (uuid c8e903a9-a47c-4ee2-ac20-58c3f9058313))
    (instances
      (project "Gonk"
        (path "/691887a2-ef24-4ca8-bf60-49cda5104c8f/2c0379a2-ad31-4b03-9cac-f011818129d5"
          (reference "R67") (unit 1)
        )
        (path "/691887a2-ef24-4ca8-bf60-49cda5104c8f/a3f29ee6-3b19-4f22-a75c-2f331d2e1b78"
          (reference "R67") (unit 1)
        )
      )
    )
  )

  (symbol (lib_id "power:GND") (at 147.32 123.19 0) (unit 1)
    (in_bom yes) (on_board yes) (dnp no)
    (uuid 19ae351d-98a4-4f35-940a-6daccee63a29)
    (property "Reference" "#PWR0199" (at 147.32 129.54 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Value" "GND" (at 149.86 125.73 0)
      (effects (font (size 1.27 1.27)))
    )
    (property "Footprint" "" (at 147.32 123.19 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Datasheet" "" (at 147.32 123.19 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (pin "1" (uuid bf20dc65-271c-4a6b-83a7-0d719d7e0f7b))
    (instances
      (project "Gonk"
        (path "/691887a2-ef24-4ca8-bf60-49cda5104c8f/a3f29ee6-3b19-4f22-a75c-2f331d2e1b78"
          (reference "#PWR0199") (unit 1)
        )
      )
    )
  )

  (symbol (lib_id "power:GND") (at 139.7 142.24 0) (unit 1)
    (in_bom yes) (on_board yes) (dnp no)
    (uuid 209fcb41-62f6-439b-85c9-ac1f3ebdd9d2)
    (property "Reference" "#PWR0201" (at 139.7 148.59 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Value" "GND" (at 142.24 144.78 0)
      (effects (font (size 1.27 1.27)))
    )
    (property "Footprint" "" (at 139.7 142.24 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Datasheet" "" (at 139.7 142.24 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (pin "1" (uuid f8c80685-0037-411e-9e9e-d99f3234f0f6))
    (instances
      (project "Gonk"
        (path "/691887a2-ef24-4ca8-bf60-49cda5104c8f/a3f29ee6-3b19-4f22-a75c-2f331d2e1b78"
          (reference "#PWR0201") (unit 1)
        )
      )
    )
  )

  (symbol (lib_id "power:VCC_GONK") (at 170.18 106.68 0) (unit 1)
    (in_bom yes) (on_board yes) (dnp no)
    (uuid 3e5a89c5-3e83-4847-a54a-2e208f308416)
    (property "Reference" "#PWR0200" (at 170.18 110.49 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Value" "VCC_GONK" (at 175.26 104.14 0)
      (effects (font (size 1.27 1.27)))
    )
    (property "Footprint" "" (at 170.18 106.68 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Datasheet" "" (at 170.18 106.68 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (pin "1" (uuid ff650743-732f-460a-8d12-0958b9342d11))
    (instances
      (project "Gonk"
        (path "/691887a2-ef24-4ca8-bf60-49cda5104c8f/a3f29ee6-3b19-4f22-a75c-2f331d2e1b78"
          (reference "#PWR0200") (unit 1)
        )
      )
    )
  )

  (symbol (lib_id "Device:C_Small") (at 73.66 59.69 270) (unit 1)
    (in_bom yes) (on_board yes) (dnp no)
    (uuid 43bb92fb-a9ea-41bd-b8c5-52d748088684)
    (property "Reference" "C65" (at 73.66 55.88 90)
      (effects (font (size 1.27 1.27)))
    )
    (property "Value" "0.1uF" (at 73.6536 57.15 90)
      (effects (font (size 1.27 1.27)))
    )
    (property "Footprint" "Capacitor_SMD:C_0402_1005Metric" (at 73.66 59.69 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Datasheet" "~" (at 73.66 59.69 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (pin "1" (uuid 191568df-9350-4eb6-b389-9d3d74459ed5))
    (pin "2" (uuid cfb79913-5bdf-4c9b-92cd-ae4d2188b896))
    (instances
      (project "Gonk"
        (path "/691887a2-ef24-4ca8-bf60-49cda5104c8f/2c0379a2-ad31-4b03-9cac-f011818129d5"
          (reference "C65") (unit 1)
        )
        (path "/691887a2-ef24-4ca8-bf60-49cda5104c8f/a3f29ee6-3b19-4f22-a75c-2f331d2e1b78"
          (reference "C65") (unit 1)
        )
      )
    )
  )

  (symbol (lib_id "Device:LED_Small") (at 128.27 54.61 90) (unit 1)
    (in_bom yes) (on_board yes) (dnp no) (fields_autoplaced)
    (uuid 4b0d65ac-59d1-4b0a-b74c-b82dcc8175ed)
    (property "Reference" "D1" (at 130.81 53.9115 90)
      (effects (font (size 1.27 1.27)) (justify right))
    )
    (property "Value" "LTST-C190TBKT" (at 130.81 56.4515 90)
      (effects (font (size 1.27 1.27)) (justify right))
    )
    (property "Footprint" "LED_SMD:LED_0603_1608Metric" (at 128.27 54.61 90)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Datasheet" "~" (at 128.27 54.61 90)
      (effects (font (size 1.27 1.27)) hide)
    )
    (pin "1" (uuid 70a147c1-c457-48b0-b2ee-46d99c7c6698))
    (pin "2" (uuid 06e95be9-5db4-4ea7-a536-8733c4961903))
    (instances
      (project "Gonk"
        (path "/691887a2-ef24-4ca8-bf60-49cda5104c8f/2c0379a2-ad31-4b03-9cac-f011818129d5"
          (reference "D1") (unit 1)
        )
        (path "/691887a2-ef24-4ca8-bf60-49cda5104c8f/a3f29ee6-3b19-4f22-a75c-2f331d2e1b78"
          (reference "D1") (unit 1)
        )
      )
    )
  )

  (symbol (lib_id "Device:C_Small") (at 127 134.62 90) (unit 1)
    (in_bom yes) (on_board yes) (dnp no)
    (uuid 5324920b-201e-4101-8990-93d19c9b3841)
    (property "Reference" "C68" (at 124.46 133.35 90)
      (effects (font (size 1.27 1.27)))
    )
    (property "Value" "0.01uF" (at 127.0064 137.16 90)
      (effects (font (size 1.27 1.27)))
    )
    (property "Footprint" "Capacitor_SMD:C_0402_1005Metric" (at 127 134.62 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Datasheet" "~" (at 127 134.62 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (pin "1" (uuid c2169c0f-190e-4d9b-9eca-cf83916152a1))
    (pin "2" (uuid 986048e9-7e9b-4d63-a63a-d4d9cf22672f))
    (instances
      (project "Gonk"
        (path "/691887a2-ef24-4ca8-bf60-49cda5104c8f/2c0379a2-ad31-4b03-9cac-f011818129d5"
          (reference "C68") (unit 1)
        )
        (path "/691887a2-ef24-4ca8-bf60-49cda5104c8f/a3f29ee6-3b19-4f22-a75c-2f331d2e1b78"
          (reference "C70") (unit 1)
        )
      )
    )
  )

  (symbol (lib_id "Device:L_Small") (at 81.28 43.18 90) (unit 1)
    (in_bom yes) (on_board yes) (dnp no)
    (uuid 5a10254d-2c3d-434e-a49a-5add5d4503f6)
    (property "Reference" "L8" (at 81.28 39.37 90)
      (effects (font (size 1.27 1.27)))
    )
    (property "Value" "BLM18AG601SN1D" (at 81.28 41.91 90)
      (effects (font (size 1 1)))
    )
    (property "Footprint" "Inductor_SMD:L_0603_1608Metric" (at 81.28 43.18 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Datasheet" "~" (at 81.28 43.18 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (pin "1" (uuid 3b94db87-7e0b-4fc5-aafb-847744210767))
    (pin "2" (uuid 421ffe4e-884f-420c-adfb-4a4926b25a39))
    (instances
      (project "Gonk"
        (path "/691887a2-ef24-4ca8-bf60-49cda5104c8f/2c0379a2-ad31-4b03-9cac-f011818129d5"
          (reference "L8") (unit 1)
        )
        (path "/691887a2-ef24-4ca8-bf60-49cda5104c8f/a3f29ee6-3b19-4f22-a75c-2f331d2e1b78"
          (reference "L8") (unit 1)
        )
      )
    )
  )

  (symbol (lib_id "Device:R_Small_US") (at 135.89 114.3 0) (unit 1)
    (in_bom yes) (on_board yes) (dnp no)
    (uuid 66caf691-bce6-4fc3-8770-48f5c3b6786f)
    (property "Reference" "R78" (at 138.43 113.03 0)
      (effects (font (size 1.27 1.27)))
    )
    (property "Value" "357K" (at 138.43 114.3 0)
      (effects (font (size 1.27 1.27)))
    )
    (property "Footprint" "Resistor_SMD:R_0402_1005Metric" (at 135.89 114.3 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Datasheet" "~" (at 135.89 114.3 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (pin "1" (uuid 6d78dca3-7ca3-486f-b76b-0774d2626c80))
    (pin "2" (uuid f7ac7711-cc56-4189-ac0b-05220699aaf3))
    (instances
      (project "Gonk"
        (path "/691887a2-ef24-4ca8-bf60-49cda5104c8f/2c0379a2-ad31-4b03-9cac-f011818129d5"
          (reference "R78") (unit 1)
        )
        (path "/691887a2-ef24-4ca8-bf60-49cda5104c8f/a3f29ee6-3b19-4f22-a75c-2f331d2e1b78"
          (reference "R83") (unit 1)
        )
      )
    )
  )

  (symbol (lib_id "power:GND") (at 93.98 157.48 0) (unit 1)
    (in_bom yes) (on_board yes) (dnp no) (fields_autoplaced)
    (uuid 67fc4fe1-93e6-4c8c-9c68-0458fc8c382a)
    (property "Reference" "#PWR0189" (at 93.98 163.83 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Value" "GND" (at 93.98 162.56 0)
      (effects (font (size 1.27 1.27)))
    )
    (property "Footprint" "" (at 93.98 157.48 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Datasheet" "" (at 93.98 157.48 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (pin "1" (uuid 772294ef-d849-48ab-93b1-0237c6a4440c))
    (instances
      (project "Gonk"
        (path "/691887a2-ef24-4ca8-bf60-49cda5104c8f/a3f29ee6-3b19-4f22-a75c-2f331d2e1b78"
          (reference "#PWR0189") (unit 1)
        )
      )
    )
  )

  (symbol (lib_id "Device:C_Small") (at 166.37 114.3 180) (unit 1)
    (in_bom yes) (on_board yes) (dnp no)
    (uuid 6d8b365b-8320-4c7f-b591-a883b2b04b29)
    (property "Reference" "C68" (at 168.91 113.03 0)
      (effects (font (size 1.27 1.27)))
    )
    (property "Value" "1uF" (at 170.18 115.57 0)
      (effects (font (size 1.27 1.27)))
    )
    (property "Footprint" "Capacitor_SMD:C_0402_1005Metric" (at 166.37 114.3 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Datasheet" "~" (at 166.37 114.3 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (pin "1" (uuid f90d8de6-5e96-46f7-9195-7df7907f4bf4))
    (pin "2" (uuid 96d30a6f-27b8-4a1e-a554-bb4f24f6c0ed))
    (instances
      (project "Gonk"
        (path "/691887a2-ef24-4ca8-bf60-49cda5104c8f/2c0379a2-ad31-4b03-9cac-f011818129d5"
          (reference "C68") (unit 1)
        )
        (path "/691887a2-ef24-4ca8-bf60-49cda5104c8f/a3f29ee6-3b19-4f22-a75c-2f331d2e1b78"
          (reference "C74") (unit 1)
        )
      )
    )
  )

  (symbol (lib_id "Device:R_Small_US") (at 74.93 129.54 270) (unit 1)
    (in_bom yes) (on_board yes) (dnp no)
    (uuid 8b42c382-6b48-42b1-9de9-9184df4ccc01)
    (property "Reference" "R78" (at 78.74 128.27 90)
      (effects (font (size 1.27 1.27)))
    )
    (property "Value" "1M" (at 74.93 127 90)
      (effects (font (size 1.27 1.27)))
    )
    (property "Footprint" "Resistor_SMD:R_0402_1005Metric" (at 74.93 129.54 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Datasheet" "~" (at 74.93 129.54 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (pin "1" (uuid 532061a9-57ad-4210-a71a-5d125a417616))
    (pin "2" (uuid ac442ac7-8b8d-4925-b31c-a6d11e1b944c))
    (instances
      (project "Gonk"
        (path "/691887a2-ef24-4ca8-bf60-49cda5104c8f/2c0379a2-ad31-4b03-9cac-f011818129d5"
          (reference "R78") (unit 1)
        )
        (path "/691887a2-ef24-4ca8-bf60-49cda5104c8f/a3f29ee6-3b19-4f22-a75c-2f331d2e1b78"
          (reference "R81") (unit 1)
        )
      )
    )
  )

  (symbol (lib_id "Device:C_Small") (at 127 115.57 90) (unit 1)
    (in_bom yes) (on_board yes) (dnp no)
    (uuid 8ee8dcd8-6a9c-464f-bbbb-4f14d71edb5c)
    (property "Reference" "C68" (at 124.46 114.3 90)
      (effects (font (size 1.27 1.27)))
    )
    (property "Value" "0.01uF" (at 127.0064 118.11 90)
      (effects (font (size 1.27 1.27)))
    )
    (property "Footprint" "Capacitor_SMD:C_0402_1005Metric" (at 127 115.57 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Datasheet" "~" (at 127 115.57 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (pin "1" (uuid 3b3b54ca-1600-468c-a266-95073469c8bf))
    (pin "2" (uuid 3b8aa3ba-5813-4077-942b-0701919cfc04))
    (instances
      (project "Gonk"
        (path "/691887a2-ef24-4ca8-bf60-49cda5104c8f/2c0379a2-ad31-4b03-9cac-f011818129d5"
          (reference "C68") (unit 1)
        )
        (path "/691887a2-ef24-4ca8-bf60-49cda5104c8f/a3f29ee6-3b19-4f22-a75c-2f331d2e1b78"
          (reference "C69") (unit 1)
        )
      )
    )
  )

  (symbol (lib_id "power:VCC_GONK_1.2") (at 157.48 128.27 0) (unit 1)
    (in_bom yes) (on_board yes) (dnp no)
    (uuid 9840d8c8-7b95-48ca-8487-fe46dbba1e2b)
    (property "Reference" "#PWR0202" (at 157.48 132.08 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Value" "VCC_GONK_1.2" (at 165.1 125.73 0)
      (effects (font (size 1.27 1.27)))
    )
    (property "Footprint" "" (at 157.48 128.27 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Datasheet" "" (at 157.48 128.27 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (pin "1" (uuid 0c56a7b6-c8fa-46b8-b910-5c49ee193a4a))
    (instances
      (project "Gonk"
        (path "/691887a2-ef24-4ca8-bf60-49cda5104c8f/a3f29ee6-3b19-4f22-a75c-2f331d2e1b78"
          (reference "#PWR0202") (unit 1)
        )
      )
    )
  )

  (symbol (lib_id "power:GND") (at 59.69 123.19 0) (unit 1)
    (in_bom yes) (on_board yes) (dnp no) (fields_autoplaced)
    (uuid ac4f25f0-a52f-4e7e-a79e-a2d5a61b608c)
    (property "Reference" "#PWR0190" (at 59.69 129.54 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Value" "GND" (at 59.69 128.27 0)
      (effects (font (size 1.27 1.27)))
    )
    (property "Footprint" "" (at 59.69 123.19 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Datasheet" "" (at 59.69 123.19 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (pin "1" (uuid 5d8d16e2-bd16-4529-a220-7b7870c42930))
    (instances
      (project "Gonk"
        (path "/691887a2-ef24-4ca8-bf60-49cda5104c8f/a3f29ee6-3b19-4f22-a75c-2f331d2e1b78"
          (reference "#PWR0190") (unit 1)
        )
      )
    )
  )

  (symbol (lib_id "Connector:TestPoint") (at 175.26 109.22 270) (unit 1)
    (in_bom no) (on_board yes) (dnp no)
    (uuid af203a67-30a3-4705-84df-bdeeca0914cd)
    (property "Reference" "TP_VCCGONK" (at 175.26 111.76 90)
      (effects (font (size 1.27 1.27)) (justify left))
    )
    (property "Value" "TP_VCC" (at 180.34 93.98 0)
      (effects (font (size 1.27 1.27)) (justify left) hide)
    )
    (property "Footprint" "" (at 175.26 114.3 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Datasheet" "~" (at 175.26 114.3 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (pin "1" (uuid 56a72758-47cb-4786-88b3-4cf701436445))
    (instances
      (project "Gonk"
        (path "/691887a2-ef24-4ca8-bf60-49cda5104c8f/a658e773-b177-4a90-ae83-7cc427167634"
          (reference "TP_VCCGONK") (unit 1)
        )
        (path "/691887a2-ef24-4ca8-bf60-49cda5104c8f/d22097d6-616e-4b56-ac91-5f00f86ac6cd"
          (reference "TP_VCCGONK1") (unit 1)
        )
        (path "/691887a2-ef24-4ca8-bf60-49cda5104c8f/a3f29ee6-3b19-4f22-a75c-2f331d2e1b78"
          (reference "TP_VCCGONK1") (unit 1)
        )
      )
    )
  )

  (symbol (lib_id "Device:C_Small") (at 147.32 114.3 180) (unit 1)
    (in_bom yes) (on_board yes) (dnp no)
    (uuid b4d46613-f9de-4576-8ac4-f59f6d185bd0)
    (property "Reference" "C68" (at 149.86 113.03 0)
      (effects (font (size 1.27 1.27)))
    )
    (property "Value" "22uF" (at 151.13 115.57 0)
      (effects (font (size 1.27 1.27)))
    )
    (property "Footprint" "Capacitor_SMD:C_0402_1005Metric" (at 147.32 114.3 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Datasheet" "~" (at 147.32 114.3 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (pin "1" (uuid 4907e534-774f-4ac7-a219-a9e3a7cb6cad))
    (pin "2" (uuid 72a4d9d5-448e-4fe0-8182-e6fb0c3f1e9b))
    (instances
      (project "Gonk"
        (path "/691887a2-ef24-4ca8-bf60-49cda5104c8f/2c0379a2-ad31-4b03-9cac-f011818129d5"
          (reference "C68") (unit 1)
        )
        (path "/691887a2-ef24-4ca8-bf60-49cda5104c8f/a3f29ee6-3b19-4f22-a75c-2f331d2e1b78"
          (reference "C72") (unit 1)
        )
      )
    )
  )

  (symbol (lib_id "power:VBUS") (at 128.27 39.37 0) (unit 1)
    (in_bom yes) (on_board yes) (dnp no) (fields_autoplaced)
    (uuid b6ba4d64-f8d5-43f5-afcb-52e3efb7cbeb)
    (property "Reference" "#PWR0144" (at 128.27 43.18 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Value" "VBUS" (at 128.27 35.56 0)
      (effects (font (size 1.27 1.27)))
    )
    (property "Footprint" "" (at 128.27 39.37 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Datasheet" "" (at 128.27 39.37 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (pin "1" (uuid a1622d3a-81d3-4077-9994-335f3767c42d))
    (instances
      (project "Gonk"
        (path "/691887a2-ef24-4ca8-bf60-49cda5104c8f/2c0379a2-ad31-4b03-9cac-f011818129d5"
          (reference "#PWR0144") (unit 1)
        )
        (path "/691887a2-ef24-4ca8-bf60-49cda5104c8f/a3f29ee6-3b19-4f22-a75c-2f331d2e1b78"
          (reference "#PWR0187") (unit 1)
        )
      )
    )
  )

  (symbol (lib_id "Device:R_Small_US") (at 74.93 132.08 270) (unit 1)
    (in_bom yes) (on_board yes) (dnp no)
    (uuid bf4d8f22-4250-47e4-a1ea-26921c21a081)
    (property "Reference" "R78" (at 74.93 134.62 90)
      (effects (font (size 1.27 1.27)))
    )
    (property "Value" "1M" (at 74.93 137.16 90)
      (effects (font (size 1.27 1.27)))
    )
    (property "Footprint" "Resistor_SMD:R_0402_1005Metric" (at 74.93 132.08 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Datasheet" "~" (at 74.93 132.08 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (pin "1" (uuid 21ad6c63-666a-4823-801c-dc0f2f1ad812))
    (pin "2" (uuid b24d4472-4273-4380-8321-4e46c5db1726))
    (instances
      (project "Gonk"
        (path "/691887a2-ef24-4ca8-bf60-49cda5104c8f/2c0379a2-ad31-4b03-9cac-f011818129d5"
          (reference "R78") (unit 1)
        )
        (path "/691887a2-ef24-4ca8-bf60-49cda5104c8f/a3f29ee6-3b19-4f22-a75c-2f331d2e1b78"
          (reference "R82") (unit 1)
        )
      )
    )
  )

  (symbol (lib_id "Power_Management:LT3030IFE#TRPBF") (at 86.36 109.22 0) (unit 1)
    (in_bom yes) (on_board yes) (dnp no) (fields_autoplaced)
    (uuid c03a06f4-7329-4089-88eb-6d9ec5e0e804)
    (property "Reference" "IC1" (at 104.14 102.87 0)
      (effects (font (size 1.27 1.27)))
    )
    (property "Value" "LT3030IFE#TRPBF" (at 104.14 105.41 0)
      (effects (font (size 1.27 1.27)))
    )
    (property "Footprint" "SOP65P640X120-21N" (at 118.11 204.14 0)
      (effects (font (size 1.27 1.27)) (justify left top) hide)
    )
    (property "Datasheet" "https://www.arrow.com/en/products/lt3030ifetrpbf/analog-devices" (at 118.11 304.14 0)
      (effects (font (size 1.27 1.27)) (justify left top) hide)
    )
    (property "Height" "1.2" (at 118.11 504.14 0)
      (effects (font (size 1.27 1.27)) (justify left top) hide)
    )
    (property "Manufacturer_Name" "Analog Devices" (at 118.11 604.14 0)
      (effects (font (size 1.27 1.27)) (justify left top) hide)
    )
    (property "Manufacturer_Part_Number" "LT3030IFE#TRPBF" (at 118.11 704.14 0)
      (effects (font (size 1.27 1.27)) (justify left top) hide)
    )
    (property "Mouser Part Number" "584-LT3030IFE#TRPBF" (at 118.11 804.14 0)
      (effects (font (size 1.27 1.27)) (justify left top) hide)
    )
    (property "Mouser Price/Stock" "https://www.mouser.co.uk/ProductDetail/Analog-Devices/LT3030IFETRPBF?qs=ytflclh7QUXTXXkDLGRUDQ%3D%3D" (at 118.11 904.14 0)
      (effects (font (size 1.27 1.27)) (justify left top) hide)
    )
    (property "Arrow Part Number" "LT3030IFE#TRPBF" (at 118.11 1004.14 0)
      (effects (font (size 1.27 1.27)) (justify left top) hide)
    )
    (property "Arrow Price/Stock" "https://www.arrow.com/en/products/lt3030ifetrpbf/analog-devices?region=nac" (at 118.11 1104.14 0)
      (effects (font (size 1.27 1.27)) (justify left top) hide)
    )
    (pin "1" (uuid e8006e21-7f4e-4c11-9654-789aaca4d7f3))
    (pin "10" (uuid 57105096-7c75-42b5-8de1-ae9c498a88ee))
    (pin "11" (uuid 8a14a1a6-e13e-47e3-83c8-4b98fe132766))
    (pin "12" (uuid 45d2adf2-d6c3-42c6-9e71-5d198654c17a))
    (pin "13" (uuid dddce5e0-cfcf-463b-8363-5ed8a1e969e6))
    (pin "14" (uuid 50489266-0aea-43a6-8d4f-afea8275fff1))
    (pin "15" (uuid 20c44023-9ae9-43ea-9968-c2d8fa7a45af))
    (pin "16" (uuid b7973352-5e0c-442d-8219-0a931624b00f))
    (pin "17" (uuid 49455cf3-4969-4757-961b-393f55b6c83d))
    (pin "18" (uuid 0ab82be3-f200-4c8d-99c5-460b6da2d591))
    (pin "19" (uuid b884ac19-d91e-44c7-8bcf-3903dd6b1ba0))
    (pin "2" (uuid 052ec9d8-9b74-40c3-bb19-0c05902454e1))
    (pin "20" (uuid b5cbe841-bdac-4a9b-9128-3198ccf4c8d6))
    (pin "21" (uuid f22178bd-ab59-49b2-9b4e-7e5ef6783ad2))
    (pin "3" (uuid 9ed10180-ab5b-47d0-ac0f-750abcd4abdb))
    (pin "4" (uuid fde628dc-6b52-4b96-82e3-801061182037))
    (pin "5" (uuid e7b2ae17-d1c5-45ab-bf5f-89359e560c98))
    (pin "6" (uuid 60856ba0-69b7-4881-a82f-8f43e73cda7b))
    (pin "7" (uuid a7aa1802-34a9-45a3-9e94-76cf4b9d400a))
    (pin "8" (uuid 69309b6d-0fe1-48d2-938a-29e78d018910))
    (pin "9" (uuid 29b4ddb0-14b7-4fc7-8353-4fb0c5327ca2))
    (instances
      (project "Gonk"
        (path "/691887a2-ef24-4ca8-bf60-49cda5104c8f/2c0379a2-ad31-4b03-9cac-f011818129d5"
          (reference "IC1") (unit 1)
        )
        (path "/691887a2-ef24-4ca8-bf60-49cda5104c8f/a3f29ee6-3b19-4f22-a75c-2f331d2e1b78"
          (reference "IC1") (unit 1)
        )
      )
    )
  )

  (symbol (lib_id "Device:R_Small_US") (at 140.97 120.65 90) (unit 1)
    (in_bom yes) (on_board yes) (dnp no)
    (uuid c2753ddf-5b8f-47ef-a7b9-aece907283b2)
    (property "Reference" "R78" (at 140.97 118.11 90)
      (effects (font (size 1.27 1.27)))
    )
    (property "Value" "210K" (at 140.97 123.19 90)
      (effects (font (size 1.27 1.27)))
    )
    (property "Footprint" "Resistor_SMD:R_0402_1005Metric" (at 140.97 120.65 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Datasheet" "~" (at 140.97 120.65 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (pin "1" (uuid c626a445-8dd1-41ac-9901-3c89b89e8211))
    (pin "2" (uuid 0cdb3530-4ba1-4fc9-8813-29cb664dd631))
    (instances
      (project "Gonk"
        (path "/691887a2-ef24-4ca8-bf60-49cda5104c8f/2c0379a2-ad31-4b03-9cac-f011818129d5"
          (reference "R78") (unit 1)
        )
        (path "/691887a2-ef24-4ca8-bf60-49cda5104c8f/a3f29ee6-3b19-4f22-a75c-2f331d2e1b78"
          (reference "R84") (unit 1)
        )
      )
    )
  )

  (symbol (lib_id "Device:C_Small") (at 148.59 133.35 180) (unit 1)
    (in_bom yes) (on_board yes) (dnp no)
    (uuid c297016e-23f0-4438-a10e-6d52d06dbbde)
    (property "Reference" "C68" (at 151.13 132.08 0)
      (effects (font (size 1.27 1.27)))
    )
    (property "Value" "10uF" (at 152.4 134.62 0)
      (effects (font (size 1.27 1.27)))
    )
    (property "Footprint" "Capacitor_SMD:C_0402_1005Metric" (at 148.59 133.35 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Datasheet" "~" (at 148.59 133.35 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (pin "1" (uuid 4e0daf8a-d2b3-45a0-97b2-c76626f819de))
    (pin "2" (uuid 8abc3f50-73f8-4846-b71c-de1209f53e35))
    (instances
      (project "Gonk"
        (path "/691887a2-ef24-4ca8-bf60-49cda5104c8f/2c0379a2-ad31-4b03-9cac-f011818129d5"
          (reference "C68") (unit 1)
        )
        (path "/691887a2-ef24-4ca8-bf60-49cda5104c8f/a3f29ee6-3b19-4f22-a75c-2f331d2e1b78"
          (reference "C76") (unit 1)
        )
      )
    )
  )

  (symbol (lib_id "power:GND") (at 64.77 62.23 0) (unit 1)
    (in_bom yes) (on_board yes) (dnp no) (fields_autoplaced)
    (uuid cc76bcb3-a0b9-41ff-85d5-388a31bc066a)
    (property "Reference" "#PWR0142" (at 64.77 68.58 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Value" "GND" (at 64.77 67.31 0)
      (effects (font (size 1.27 1.27)))
    )
    (property "Footprint" "" (at 64.77 62.23 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Datasheet" "" (at 64.77 62.23 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (pin "1" (uuid fc6dba25-6a83-4738-8c66-ecc32abd3827))
    (instances
      (project "Gonk"
        (path "/691887a2-ef24-4ca8-bf60-49cda5104c8f/2c0379a2-ad31-4b03-9cac-f011818129d5"
          (reference "#PWR0142") (unit 1)
        )
        (path "/691887a2-ef24-4ca8-bf60-49cda5104c8f/a3f29ee6-3b19-4f22-a75c-2f331d2e1b78"
          (reference "#PWR0142") (unit 1)
        )
      )
    )
  )

  (symbol (lib_id "Device:C_Small") (at 139.7 133.35 180) (unit 1)
    (in_bom yes) (on_board yes) (dnp no)
    (uuid d6a7e6ae-5eeb-4962-af29-8e3f27fde9b0)
    (property "Reference" "C68" (at 142.24 132.08 0)
      (effects (font (size 1.27 1.27)))
    )
    (property "Value" "22uF" (at 143.51 134.62 0)
      (effects (font (size 1.27 1.27)))
    )
    (property "Footprint" "Capacitor_SMD:C_0402_1005Metric" (at 139.7 133.35 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Datasheet" "~" (at 139.7 133.35 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (pin "1" (uuid 02baebae-f618-4716-b446-aebe5178b3c8))
    (pin "2" (uuid 734c9d67-3439-4e0a-a275-5ab8feae0b4f))
    (instances
      (project "Gonk"
        (path "/691887a2-ef24-4ca8-bf60-49cda5104c8f/2c0379a2-ad31-4b03-9cac-f011818129d5"
          (reference "C68") (unit 1)
        )
        (path "/691887a2-ef24-4ca8-bf60-49cda5104c8f/a3f29ee6-3b19-4f22-a75c-2f331d2e1b78"
          (reference "C75") (unit 1)
        )
      )
    )
  )

  (symbol (lib_id "Device:C_Small") (at 121.92 49.53 0) (unit 1)
    (in_bom yes) (on_board yes) (dnp no)
    (uuid d9b68dad-6cf9-416f-8206-7e433c327520)
    (property "Reference" "C68" (at 118.11 49.53 90)
      (effects (font (size 1.27 1.27)))
    )
    (property "Value" "0.1uF" (at 119.38 49.5364 90)
      (effects (font (size 1.27 1.27)))
    )
    (property "Footprint" "Capacitor_SMD:C_0402_1005Metric" (at 121.92 49.53 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Datasheet" "~" (at 121.92 49.53 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (pin "1" (uuid ee99cc34-a92c-4e06-b207-2058e1badae7))
    (pin "2" (uuid c352351a-11d4-4038-aa02-38de11a739fe))
    (instances
      (project "Gonk"
        (path "/691887a2-ef24-4ca8-bf60-49cda5104c8f/2c0379a2-ad31-4b03-9cac-f011818129d5"
          (reference "C68") (unit 1)
        )
        (path "/691887a2-ef24-4ca8-bf60-49cda5104c8f/a3f29ee6-3b19-4f22-a75c-2f331d2e1b78"
          (reference "C68") (unit 1)
        )
      )
    )
  )

  (symbol (lib_id "power:VBUS") (at 55.88 109.22 0) (unit 1)
    (in_bom yes) (on_board yes) (dnp no) (fields_autoplaced)
    (uuid e053cfd0-8051-4019-9dc3-829af9155db0)
    (property "Reference" "#PWR0144" (at 55.88 113.03 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Value" "VBUS" (at 55.88 105.41 0)
      (effects (font (size 1.27 1.27)))
    )
    (property "Footprint" "" (at 55.88 109.22 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Datasheet" "" (at 55.88 109.22 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (pin "1" (uuid ee55ec67-6c33-4fbf-b934-680bbb20446c))
    (instances
      (project "Gonk"
        (path "/691887a2-ef24-4ca8-bf60-49cda5104c8f/2c0379a2-ad31-4b03-9cac-f011818129d5"
          (reference "#PWR0144") (unit 1)
        )
        (path "/691887a2-ef24-4ca8-bf60-49cda5104c8f/a3f29ee6-3b19-4f22-a75c-2f331d2e1b78"
          (reference "#PWR0188") (unit 1)
        )
      )
    )
  )

  (symbol (lib_id "power:GND") (at 121.92 60.96 0) (unit 1)
    (in_bom yes) (on_board yes) (dnp no) (fields_autoplaced)
    (uuid e10b5b48-702d-48fe-b37f-e24119ba8b1c)
    (property "Reference" "#PWR0187" (at 121.92 67.31 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Value" "GND" (at 121.92 66.04 0)
      (effects (font (size 1.27 1.27)))
    )
    (property "Footprint" "" (at 121.92 60.96 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Datasheet" "" (at 121.92 60.96 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (pin "1" (uuid be0573dd-84a3-4158-abdc-b976e6a36ff8))
    (instances
      (project "Gonk"
        (path "/691887a2-ef24-4ca8-bf60-49cda5104c8f/2c0379a2-ad31-4b03-9cac-f011818129d5"
          (reference "#PWR0187") (unit 1)
        )
        (path "/691887a2-ef24-4ca8-bf60-49cda5104c8f/a3f29ee6-3b19-4f22-a75c-2f331d2e1b78"
          (reference "#PWR0144") (unit 1)
        )
      )
    )
  )

  (symbol (lib_id "Connector:USB_B_Micro") (at 64.77 48.26 0) (unit 1)
    (in_bom yes) (on_board yes) (dnp no) (fields_autoplaced)
    (uuid e343ef22-57bb-45ab-b1ea-e456526a2862)
    (property "Reference" "J24" (at 64.77 36.83 0)
      (effects (font (size 1.27 1.27)))
    )
    (property "Value" "USB_B_Micro" (at 64.77 39.37 0)
      (effects (font (size 1.27 1.27)))
    )
    (property "Footprint" "" (at 68.58 49.53 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Datasheet" "~" (at 68.58 49.53 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (pin "1" (uuid 5b40ba72-52b8-44c3-a181-965ddcc161b4))
    (pin "2" (uuid cbb204e9-4a5e-4112-a16a-e8c9758a5551))
    (pin "3" (uuid d876e11e-767a-451a-afe6-e5d66e5aca56))
    (pin "4" (uuid b38a0493-8500-4cbd-b83f-409b336060fd))
    (pin "5" (uuid 9db8601c-8b25-478c-bbf3-a534f58af21d))
    (pin "6" (uuid 4e8666c0-5e6d-4ca9-bc43-f091e4d9e21b))
    (instances
      (project "Gonk"
        (path "/691887a2-ef24-4ca8-bf60-49cda5104c8f/2c0379a2-ad31-4b03-9cac-f011818129d5"
          (reference "J24") (unit 1)
        )
        (path "/691887a2-ef24-4ca8-bf60-49cda5104c8f/a3f29ee6-3b19-4f22-a75c-2f331d2e1b78"
          (reference "J24") (unit 1)
        )
      )
    )
  )

  (symbol (lib_id "Device:C_Small") (at 156.21 114.3 180) (unit 1)
    (in_bom yes) (on_board yes) (dnp no)
    (uuid e68c1a56-1bcd-465e-9e6e-7c78670cdd99)
    (property "Reference" "C68" (at 158.75 113.03 0)
      (effects (font (size 1.27 1.27)))
    )
    (property "Value" "10uF" (at 160.02 115.57 0)
      (effects (font (size 1.27 1.27)))
    )
    (property "Footprint" "Capacitor_SMD:C_0402_1005Metric" (at 156.21 114.3 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Datasheet" "~" (at 156.21 114.3 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (pin "1" (uuid 204a4493-86ad-4f5a-bcc8-f733f9d87d83))
    (pin "2" (uuid 07d98caf-1800-46c4-a948-25d59e482096))
    (instances
      (project "Gonk"
        (path "/691887a2-ef24-4ca8-bf60-49cda5104c8f/2c0379a2-ad31-4b03-9cac-f011818129d5"
          (reference "C68") (unit 1)
        )
        (path "/691887a2-ef24-4ca8-bf60-49cda5104c8f/a3f29ee6-3b19-4f22-a75c-2f331d2e1b78"
          (reference "C73") (unit 1)
        )
      )
    )
  )
)
