(kicad_sch (version 20230121) (generator eeschema)

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

  (paper "A3")

  (title_block
    (title "Gonk")
    (date "2023-07-20")
    (rev "P0")
  )

  (lib_symbols
    (symbol "Connector:DX07S016JA1R1500" (pin_names (offset 1.016)) (in_bom yes) (on_board yes)
      (property "Reference" "J" (at -10.16 11.43 0)
        (effects (font (size 1.27 1.27)) (justify left bottom))
      )
      (property "Value" "DX07S016JA1R1500" (at -10.16 -13.97 0)
        (effects (font (size 1.27 1.27)) (justify left top))
      )
      (property "Footprint" "JAE_DX07S016JA1R1500" (at 0 0 0)
        (effects (font (size 1.27 1.27)) (justify bottom) hide)
      )
      (property "Datasheet" "" (at 0 0 0)
        (effects (font (size 1.27 1.27)) hide)
      )
      (property "PARTREV" "1" (at 0 0 0)
        (effects (font (size 1.27 1.27)) (justify bottom) hide)
      )
      (property "MANUFACTURER" "JAE Industry Ltd." (at 0 0 0)
        (effects (font (size 1.27 1.27)) (justify bottom) hide)
      )
      (property "MAXIMUM_PACKAGE_HEIGHT" "3.31 mm" (at 0 0 0)
        (effects (font (size 1.27 1.27)) (justify bottom) hide)
      )
      (property "STANDARD" "Manufacturer Recommendations" (at 0 0 0)
        (effects (font (size 1.27 1.27)) (justify bottom) hide)
      )
      (symbol "DX07S016JA1R1500_0_0"
        (rectangle (start -10.16 -12.7) (end 10.16 10.16)
          (stroke (width 0.254) (type default))
          (fill (type background))
        )
        (pin power_in line (at 15.24 -10.16 180) (length 5.08)
          (name "GND" (effects (font (size 1.016 1.016))))
          (number "1" (effects (font (size 1.016 1.016))))
        )
        (pin passive line (at -15.24 -5.08 0) (length 5.08)
          (name "SBU1" (effects (font (size 1.016 1.016))))
          (number "10" (effects (font (size 1.016 1.016))))
        )
        (pin power_in line (at 15.24 7.62 180) (length 5.08)
          (name "VBUS" (effects (font (size 1.016 1.016))))
          (number "11" (effects (font (size 1.016 1.016))))
        )
        (pin power_in line (at 15.24 -10.16 180) (length 5.08)
          (name "GND" (effects (font (size 1.016 1.016))))
          (number "12" (effects (font (size 1.016 1.016))))
        )
        (pin power_in line (at 15.24 7.62 180) (length 5.08)
          (name "VBUS" (effects (font (size 1.016 1.016))))
          (number "2" (effects (font (size 1.016 1.016))))
        )
        (pin passive line (at -15.24 5.08 0) (length 5.08)
          (name "CC1" (effects (font (size 1.016 1.016))))
          (number "3" (effects (font (size 1.016 1.016))))
        )
        (pin passive line (at -15.24 2.54 0) (length 5.08)
          (name "SBU2" (effects (font (size 1.016 1.016))))
          (number "4" (effects (font (size 1.016 1.016))))
        )
        (pin passive line (at -15.24 0 0) (length 5.08)
          (name "D-" (effects (font (size 1.016 1.016))))
          (number "5" (effects (font (size 1.016 1.016))))
        )
        (pin passive line (at -15.24 -2.54 0) (length 5.08)
          (name "D+" (effects (font (size 1.016 1.016))))
          (number "6" (effects (font (size 1.016 1.016))))
        )
        (pin passive line (at -15.24 -2.54 0) (length 5.08)
          (name "D+" (effects (font (size 1.016 1.016))))
          (number "7" (effects (font (size 1.016 1.016))))
        )
        (pin passive line (at -15.24 0 0) (length 5.08)
          (name "D-" (effects (font (size 1.016 1.016))))
          (number "8" (effects (font (size 1.016 1.016))))
        )
        (pin passive line (at -15.24 -7.62 0) (length 5.08)
          (name "CC2" (effects (font (size 1.016 1.016))))
          (number "9" (effects (font (size 1.016 1.016))))
        )
        (pin passive line (at 15.24 -7.62 180) (length 5.08)
          (name "SHIELD" (effects (font (size 1.016 1.016))))
          (number "S1" (effects (font (size 1.016 1.016))))
        )
        (pin passive line (at 15.24 -7.62 180) (length 5.08)
          (name "SHIELD" (effects (font (size 1.016 1.016))))
          (number "S2" (effects (font (size 1.016 1.016))))
        )
        (pin passive line (at 15.24 -7.62 180) (length 5.08)
          (name "SHIELD" (effects (font (size 1.016 1.016))))
          (number "S3" (effects (font (size 1.016 1.016))))
        )
        (pin passive line (at 15.24 -7.62 180) (length 5.08)
          (name "SHIELD" (effects (font (size 1.016 1.016))))
          (number "S4" (effects (font (size 1.016 1.016))))
        )
        (pin passive line (at 15.24 -7.62 180) (length 5.08)
          (name "SHIELD" (effects (font (size 1.016 1.016))))
          (number "S5" (effects (font (size 1.016 1.016))))
        )
        (pin passive line (at 15.24 -7.62 180) (length 5.08)
          (name "SHIELD" (effects (font (size 1.016 1.016))))
          (number "S6" (effects (font (size 1.016 1.016))))
        )
      )
    )
    (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:FerriteBead_Small" (pin_numbers hide) (pin_names (offset 0)) (in_bom yes) (on_board yes)
      (property "Reference" "FB" (at 1.905 1.27 0)
        (effects (font (size 1.27 1.27)) (justify left))
      )
      (property "Value" "FerriteBead_Small" (at 1.905 -1.27 0)
        (effects (font (size 1.27 1.27)) (justify left))
      )
      (property "Footprint" "" (at -1.778 0 90)
        (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" "L ferrite bead inductor filter" (at 0 0 0)
        (effects (font (size 1.27 1.27)) hide)
      )
      (property "ki_description" "Ferrite bead, small symbol" (at 0 0 0)
        (effects (font (size 1.27 1.27)) hide)
      )
      (property "ki_fp_filters" "Inductor_* L_* *Ferrite*" (at 0 0 0)
        (effects (font (size 1.27 1.27)) hide)
      )
      (symbol "FerriteBead_Small_0_1"
        (polyline
          (pts
            (xy 0 -1.27)
            (xy 0 -0.7874)
          )
          (stroke (width 0) (type default))
          (fill (type none))
        )
        (polyline
          (pts
            (xy 0 0.889)
            (xy 0 1.2954)
          )
          (stroke (width 0) (type default))
          (fill (type none))
        )
        (polyline
          (pts
            (xy -1.8288 0.2794)
            (xy -1.1176 1.4986)
            (xy 1.8288 -0.2032)
            (xy 1.1176 -1.4224)
            (xy -1.8288 0.2794)
          )
          (stroke (width 0) (type default))
          (fill (type none))
        )
      )
      (symbol "FerriteBead_Small_1_1"
        (pin passive line (at 0 2.54 270) (length 1.27)
          (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.27)
          (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: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 "Diode:ESD401DPYR" (pin_names (offset 0.254)) (in_bom yes) (on_board yes)
      (property "Reference" "D" (at 0 2.54 0)
        (effects (font (size 1.524 1.524)))
      )
      (property "Value" "ESD401DPYR" (at 0 0 0)
        (effects (font (size 1.524 1.524)))
      )
      (property "Footprint" "DPY0002A" (at 0 0 0)
        (effects (font (size 1.27 1.27) italic) hide)
      )
      (property "Datasheet" "ESD401DPYR" (at 0 0 0)
        (effects (font (size 1.27 1.27) italic) hide)
      )
      (property "ki_locked" "" (at 0 0 0)
        (effects (font (size 1.27 1.27)))
      )
      (property "ki_keywords" "ESD401DPYR" (at 0 0 0)
        (effects (font (size 1.27 1.27)) hide)
      )
      (property "ki_fp_filters" "DPY0002A" (at 0 0 0)
        (effects (font (size 1.27 1.27)) hide)
      )
      (symbol "ESD401DPYR_0_1"
        (polyline
          (pts
            (xy -2.54 -2.54)
            (xy -0.254 0)
          )
          (stroke (width 0.2032) (type default))
          (fill (type none))
        )
        (polyline
          (pts
            (xy -2.54 2.54)
            (xy -2.54 -2.54)
          )
          (stroke (width 0.2032) (type default))
          (fill (type none))
        )
        (polyline
          (pts
            (xy -0.254 -1.397)
            (xy 1.27 -2.54)
          )
          (stroke (width 0.2032) (type default))
          (fill (type none))
        )
        (polyline
          (pts
            (xy -0.254 0)
            (xy -2.54 2.54)
          )
          (stroke (width 0.2032) (type default))
          (fill (type none))
        )
        (polyline
          (pts
            (xy -0.254 0)
            (xy -0.254 -1.397)
          )
          (stroke (width 0.2032) (type default))
          (fill (type none))
        )
        (polyline
          (pts
            (xy -0.254 1.778)
            (xy -0.254 0)
          )
          (stroke (width 0.2032) (type default))
          (fill (type none))
        )
        (polyline
          (pts
            (xy 0.254 -1.778)
            (xy 0.254 0)
          )
          (stroke (width 0.2032) (type default))
          (fill (type none))
        )
        (polyline
          (pts
            (xy 0.254 0)
            (xy 0.254 1.397)
          )
          (stroke (width 0.2032) (type default))
          (fill (type none))
        )
        (polyline
          (pts
            (xy 0.254 0)
            (xy 2.54 -2.54)
          )
          (stroke (width 0.2032) (type default))
          (fill (type none))
        )
        (polyline
          (pts
            (xy 0.254 1.397)
            (xy -1.27 2.54)
          )
          (stroke (width 0.2032) (type default))
          (fill (type none))
        )
        (polyline
          (pts
            (xy 2.54 -2.54)
            (xy 2.54 2.54)
          )
          (stroke (width 0.2032) (type default))
          (fill (type none))
        )
        (polyline
          (pts
            (xy 2.54 2.54)
            (xy 0.254 0)
          )
          (stroke (width 0.2032) (type default))
          (fill (type none))
        )
        (pin unspecified line (at -7.62 0 0) (length 5.08)
          (name "1" (effects (font (size 1.27 1.27))))
          (number "1" (effects (font (size 1.27 1.27))))
        )
        (pin unspecified line (at 7.62 0 180) (length 5.08)
          (name "2" (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_Protection:TPD2E2U06" (in_bom yes) (on_board yes)
      (property "Reference" "U" (at -3.81 6.35 0)
        (effects (font (size 1.27 1.27)))
      )
      (property "Value" "TPD2E2U06" (at 6.35 -6.35 0)
        (effects (font (size 1.27 1.27)))
      )
      (property "Footprint" "Package_TO_SOT_SMD:SOT-543" (at -20.32 -6.35 0)
        (effects (font (size 1.27 1.27)) hide)
      )
      (property "Datasheet" "http://www.ti.com/lit/ds/symlink/tpd2e2u06.pdf" (at -5.08 5.08 0)
        (effects (font (size 1.27 1.27)) hide)
      )
      (property "ki_keywords" "ESD-Protection" (at 0 0 0)
        (effects (font (size 1.27 1.27)) hide)
      )
      (property "ki_description" "Dual-Channel High-Speed ESD Protection" (at 0 0 0)
        (effects (font (size 1.27 1.27)) hide)
      )
      (property "ki_fp_filters" "SOT?543*" (at 0 0 0)
        (effects (font (size 1.27 1.27)) hide)
      )
      (symbol "TPD2E2U06_0_1"
        (rectangle (start -5.08 5.08) (end 5.08 -5.08)
          (stroke (width 0.254) (type default))
          (fill (type background))
        )
        (circle (center -3.048 2.54) (radius 0.254)
          (stroke (width 0) (type default))
          (fill (type outline))
        )
        (rectangle (start -3.048 4.318) (end 0 -4.318)
          (stroke (width 0) (type default))
          (fill (type none))
        )
        (circle (center -2.032 -4.318) (radius 0.254)
          (stroke (width 0) (type default))
          (fill (type outline))
        )
        (circle (center -2.032 -2.54) (radius 0.254)
          (stroke (width 0) (type default))
          (fill (type outline))
        )
        (circle (center -2.032 4.318) (radius 0.254)
          (stroke (width 0) (type default))
          (fill (type outline))
        )
        (circle (center 0 -4.318) (radius 0.254)
          (stroke (width 0) (type default))
          (fill (type outline))
        )
        (polyline
          (pts
            (xy -3.048 2.54)
            (xy -5.08 2.54)
          )
          (stroke (width 0) (type default))
          (fill (type none))
        )
        (polyline
          (pts
            (xy -2.54 2.032)
            (xy -3.556 2.032)
          )
          (stroke (width 0) (type default))
          (fill (type none))
        )
        (polyline
          (pts
            (xy -2.54 3.81)
            (xy -3.556 3.81)
          )
          (stroke (width 0) (type default))
          (fill (type none))
        )
        (polyline
          (pts
            (xy -2.032 -4.318)
            (xy -2.032 4.318)
          )
          (stroke (width 0) (type default))
          (fill (type none))
        )
        (polyline
          (pts
            (xy -2.032 -2.54)
            (xy -5.08 -2.54)
          )
          (stroke (width 0) (type default))
          (fill (type none))
        )
        (polyline
          (pts
            (xy -1.524 -3.048)
            (xy -2.54 -3.048)
          )
          (stroke (width 0) (type default))
          (fill (type none))
        )
        (polyline
          (pts
            (xy -1.524 -1.27)
            (xy -2.54 -1.27)
          )
          (stroke (width 0) (type default))
          (fill (type none))
        )
        (polyline
          (pts
            (xy 0 -4.318)
            (xy 0 -5.08)
          )
          (stroke (width 0) (type default))
          (fill (type none))
        )
        (polyline
          (pts
            (xy 1.016 1.016)
            (xy -1.016 1.016)
            (xy -1.016 0.508)
          )
          (stroke (width 0) (type default))
          (fill (type none))
        )
        (polyline
          (pts
            (xy -3.048 2.032)
            (xy -3.556 1.27)
            (xy -2.54 1.27)
            (xy -3.048 2.032)
          )
          (stroke (width 0) (type default))
          (fill (type none))
        )
        (polyline
          (pts
            (xy -3.048 3.81)
            (xy -3.556 3.048)
            (xy -2.54 3.048)
            (xy -3.048 3.81)
          )
          (stroke (width 0) (type default))
          (fill (type none))
        )
        (polyline
          (pts
            (xy -2.032 -3.048)
            (xy -2.54 -3.81)
            (xy -1.524 -3.81)
            (xy -2.032 -3.048)
          )
          (stroke (width 0) (type default))
          (fill (type none))
        )
        (polyline
          (pts
            (xy -2.032 -1.27)
            (xy -2.54 -2.032)
            (xy -1.524 -2.032)
            (xy -2.032 -1.27)
          )
          (stroke (width 0) (type default))
          (fill (type none))
        )
        (polyline
          (pts
            (xy 0 1.016)
            (xy 1.016 -1.016)
            (xy -1.016 -1.016)
            (xy 0 1.016)
          )
          (stroke (width 0) (type default))
          (fill (type none))
        )
      )
      (symbol "TPD2E2U06_1_1"
        (pin passive line (at 7.62 2.54 180) (length 2.54)
          (name "NC" (effects (font (size 1.27 1.27))))
          (number "1" (effects (font (size 1.27 1.27))))
        )
        (pin passive line (at 7.62 -2.54 180) (length 2.54)
          (name "NC" (effects (font (size 1.27 1.27))))
          (number "2" (effects (font (size 1.27 1.27))))
        )
        (pin passive line (at -7.62 2.54 0) (length 2.54)
          (name "~" (effects (font (size 1.27 1.27))))
          (number "3" (effects (font (size 1.27 1.27))))
        )
        (pin passive line (at 0 -7.62 90) (length 2.54)
          (name "~" (effects (font (size 1.27 1.27))))
          (number "4" (effects (font (size 1.27 1.27))))
        )
        (pin passive line (at -7.62 -2.54 0) (length 2.54)
          (name "~" (effects (font (size 1.27 1.27))))
          (number "5" (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))))
        )
      )
    )
    (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))))
        )
      )
    )
  )

  (junction (at 323.85 118.11) (diameter 0) (color 0 0 0 0)
    (uuid 037c1609-6c4b-4d0a-8560-7b53a448cecb)
  )
  (junction (at 335.28 129.54) (diameter 0) (color 0 0 0 0)
    (uuid 03893247-9583-459e-88d2-a0cf8150c344)
  )
  (junction (at 341.63 110.49) (diameter 0) (color 0 0 0 0)
    (uuid 0c740051-5eb8-4ca3-9a1d-c7c22c36d2fb)
  )
  (junction (at 339.09 99.06) (diameter 0) (color 0 0 0 0)
    (uuid 0f0d439c-5af1-457a-a9d1-99745018107a)
  )
  (junction (at 91.44 130.81) (diameter 0) (color 0 0 0 0)
    (uuid 10691cb8-1b30-4ed7-be4c-f5b0f87fd4bb)
  )
  (junction (at 313.69 99.06) (diameter 0) (color 0 0 0 0)
    (uuid 1c2aa70f-b904-4877-ab75-8a5186f23ded)
  )
  (junction (at 332.74 110.49) (diameter 0) (color 0 0 0 0)
    (uuid 1c83ae1c-6b54-4094-8c86-05c299c9c9f7)
  )
  (junction (at 373.38 99.06) (diameter 0) (color 0 0 0 0)
    (uuid 2764b1e6-b32f-450b-bfff-e6cd3a827bf4)
  )
  (junction (at 293.37 147.32) (diameter 0) (color 0 0 0 0)
    (uuid 2ae37202-fac8-4b6a-a12e-1b6814226882)
  )
  (junction (at 339.09 110.49) (diameter 0) (color 0 0 0 0)
    (uuid 347251d6-a4fe-4c56-b5f0-2768948164da)
  )
  (junction (at 135.89 124.46) (diameter 0) (color 0 0 0 0)
    (uuid 3bb63fa2-4503-4710-a169-74c7d02ebd1c)
  )
  (junction (at 320.04 118.11) (diameter 0) (color 0 0 0 0)
    (uuid 44641c8f-e7ea-41f9-97bb-4b65855b516c)
  )
  (junction (at 320.04 99.06) (diameter 0) (color 0 0 0 0)
    (uuid 448bb07b-ec0b-401d-b951-2f1fd583dd64)
  )
  (junction (at 327.66 118.11) (diameter 0) (color 0 0 0 0)
    (uuid 482465e0-e344-4dac-a295-fc0724d34688)
  )
  (junction (at 349.25 110.49) (diameter 0) (color 0 0 0 0)
    (uuid 4940052f-e291-478f-90da-a194e2af5d15)
  )
  (junction (at 259.08 102.87) (diameter 0) (color 0 0 0 0)
    (uuid 4a4e1606-5ceb-47ad-ae02-9fed5f9c10b5)
  )
  (junction (at 259.08 107.95) (diameter 0) (color 0 0 0 0)
    (uuid 4f214e98-fb01-4de2-8bab-6f553040233a)
  )
  (junction (at 347.98 118.11) (diameter 0) (color 0 0 0 0)
    (uuid 518488b3-338b-4d06-a09c-e67c21d92cb8)
  )
  (junction (at 259.08 119.38) (diameter 0) (color 0 0 0 0)
    (uuid 5514200d-e6ab-4d00-8359-69afa9ac73a4)
  )
  (junction (at 349.25 99.06) (diameter 0) (color 0 0 0 0)
    (uuid 57706635-a54a-4bf3-9683-eb098b2d27f2)
  )
  (junction (at 313.69 118.11) (diameter 0) (color 0 0 0 0)
    (uuid 6910727c-8297-41cd-b3b0-0fa7eefe2a86)
  )
  (junction (at 325.12 99.06) (diameter 0) (color 0 0 0 0)
    (uuid 6cb0ffa1-f7a0-4e21-910c-1a847dd688af)
  )
  (junction (at 325.12 110.49) (diameter 0) (color 0 0 0 0)
    (uuid 825b7fe3-d1b8-4533-9e3c-7fcce5a2a4bd)
  )
  (junction (at 254 100.33) (diameter 0) (color 0 0 0 0)
    (uuid 82e268fc-9693-4f6e-b184-97b5617b9583)
  )
  (junction (at 91.44 119.38) (diameter 0) (color 0 0 0 0)
    (uuid 86da7bc3-3ffb-4e0c-9bc9-684fdbbb6ebd)
  )
  (junction (at 283.21 147.32) (diameter 0) (color 0 0 0 0)
    (uuid 8f8cc8b2-ebb3-41c4-8213-3a168949b190)
  )
  (junction (at 135.89 127) (diameter 0) (color 0 0 0 0)
    (uuid 919955a6-5f11-4952-b8d6-7357f351626e)
  )
  (junction (at 259.08 111.76) (diameter 0) (color 0 0 0 0)
    (uuid 9f80ddd0-81ca-43d2-b451-df23f0752f5d)
  )
  (junction (at 368.3 118.11) (diameter 0) (color 0 0 0 0)
    (uuid 9f87d2cb-74cc-44c8-a4b0-699e8b020ece)
  )
  (junction (at 332.74 99.06) (diameter 0) (color 0 0 0 0)
    (uuid a97746f8-2a29-4ec2-93bd-3a3f259c95d4)
  )
  (junction (at 135.89 109.22) (diameter 0) (color 0 0 0 0)
    (uuid aca42493-940f-49d7-9b5b-5fcbb5fe71cc)
  )
  (junction (at 259.08 105.41) (diameter 0) (color 0 0 0 0)
    (uuid afd16266-cf0f-4020-94fd-160863ba2057)
  )
  (junction (at 295.91 147.32) (diameter 0) (color 0 0 0 0)
    (uuid b376edea-15dd-4844-b269-70030a7bdaf1)
  )
  (junction (at 259.08 100.33) (diameter 0) (color 0 0 0 0)
    (uuid bad5b2e0-267e-4ec1-9021-de1d88782f79)
  )
  (junction (at 274.32 135.89) (diameter 0) (color 0 0 0 0)
    (uuid bc4f8107-71b4-4364-b414-ca084aadcba3)
  )
  (junction (at 335.28 118.11) (diameter 0) (color 0 0 0 0)
    (uuid c11541e4-ad85-4e8f-899a-d2d68c4104e0)
  )
  (junction (at 86.36 116.84) (diameter 0) (color 0 0 0 0)
    (uuid d79cfd28-6941-40fa-b722-7b0fad753f0c)
  )
  (junction (at 358.14 99.06) (diameter 0) (color 0 0 0 0)
    (uuid e46f6c8b-0ecd-481d-9002-50c3f44ee231)
  )
  (junction (at 248.92 100.33) (diameter 0) (color 0 0 0 0)
    (uuid ff53d4fe-b523-40ba-bb69-77eba2ae27fb)
  )

  (no_connect (at 100.33 114.3) (uuid 592b3202-cc3d-4d9e-9a8d-a7498362664a))
  (no_connect (at 100.33 121.92) (uuid 8f8c8066-d67f-43ba-981c-e420464b9090))

  (wire (pts (xy 71.12 111.76) (xy 100.33 111.76))
    (stroke (width 0) (type default))
    (uuid 00a78281-ac80-4494-81e3-286b9d23f93d)
  )
  (wire (pts (xy 259.08 121.92) (xy 265.43 121.92))
    (stroke (width 0) (type default))
    (uuid 012e431b-08cf-4092-be7e-591a8ad1e271)
  )
  (wire (pts (xy 327.66 125.73) (xy 327.66 129.54))
    (stroke (width 0) (type default))
    (uuid 057eeb2a-4388-490c-b4ab-906c01bd3c17)
  )
  (wire (pts (xy 248.92 109.22) (xy 248.92 113.03))
    (stroke (width 0) (type default))
    (uuid 072369fc-c555-4b16-84bf-58834c84c4d7)
  )
  (wire (pts (xy 130.81 124.46) (xy 135.89 124.46))
    (stroke (width 0) (type default))
    (uuid 09de4473-c204-4826-9a6a-aad5e2c0dada)
  )
  (wire (pts (xy 339.09 110.49) (xy 341.63 110.49))
    (stroke (width 0) (type default))
    (uuid 0c73a11e-810e-4efb-9306-02cf65127637)
  )
  (wire (pts (xy 298.45 144.78) (xy 298.45 147.32))
    (stroke (width 0) (type default))
    (uuid 0cf56f1c-2003-4767-b88f-b56868d8662b)
  )
  (wire (pts (xy 293.37 147.32) (xy 295.91 147.32))
    (stroke (width 0) (type default))
    (uuid 115173bf-3874-44d6-bf1c-f0e75f971542)
  )
  (wire (pts (xy 135.89 92.71) (xy 135.89 91.44))
    (stroke (width 0) (type default))
    (uuid 1231bedd-7f93-4f60-8b38-24099bce3c67)
  )
  (wire (pts (xy 332.74 99.06) (xy 332.74 101.6))
    (stroke (width 0) (type default))
    (uuid 13a80055-4668-451a-b4a7-8f360a29609c)
  )
  (wire (pts (xy 318.77 124.46) (xy 320.04 124.46))
    (stroke (width 0) (type default))
    (uuid 1417d01d-b712-419b-81b6-19a355dfc8a1)
  )
  (wire (pts (xy 86.36 116.84) (xy 100.33 116.84))
    (stroke (width 0) (type default))
    (uuid 1499b272-661e-461f-950e-a797728bc463)
  )
  (wire (pts (xy 274.32 147.32) (xy 274.32 135.89))
    (stroke (width 0) (type default))
    (uuid 15320b5d-b44e-4184-8412-ed387a479afa)
  )
  (wire (pts (xy 270.51 121.92) (xy 275.59 121.92))
    (stroke (width 0) (type default))
    (uuid 18ea230b-8982-496d-a33c-8e2627d81223)
  )
  (wire (pts (xy 69.85 116.84) (xy 86.36 116.84))
    (stroke (width 0) (type default))
    (uuid 191f136a-95e7-4805-8b52-0266e131d5a0)
  )
  (wire (pts (xy 311.15 124.46) (xy 313.69 124.46))
    (stroke (width 0) (type default))
    (uuid 19f97a30-8c8a-432a-bf8b-b3b1c7ddbd4d)
  )
  (wire (pts (xy 347.98 118.11) (xy 356.87 118.11))
    (stroke (width 0) (type default))
    (uuid 1e62db05-9697-4248-a3a2-507f7aef31e1)
  )
  (wire (pts (xy 313.69 118.11) (xy 320.04 118.11))
    (stroke (width 0) (type default))
    (uuid 1f19cff3-0365-45b5-bbc9-3fa6187da3c0)
  )
  (wire (pts (xy 259.08 114.3) (xy 275.59 114.3))
    (stroke (width 0) (type default))
    (uuid 21f98aef-809a-45ba-936e-4145f5be0960)
  )
  (wire (pts (xy 259.08 107.95) (xy 275.59 107.95))
    (stroke (width 0) (type default))
    (uuid 22ef0f54-856c-43b1-95d4-8151c981ff54)
  )
  (wire (pts (xy 347.98 129.54) (xy 335.28 129.54))
    (stroke (width 0) (type default))
    (uuid 2421042c-cea9-41e1-8feb-58ad7213a289)
  )
  (wire (pts (xy 378.46 96.52) (xy 378.46 99.06))
    (stroke (width 0) (type default))
    (uuid 25a8acab-7213-4678-ae1f-947170a0f520)
  )
  (wire (pts (xy 325.12 170.18) (xy 339.09 170.18))
    (stroke (width 0) (type default))
    (uuid 26513c51-31de-43cc-9b09-8ef476a65b87)
  )
  (wire (pts (xy 295.91 147.32) (xy 298.45 147.32))
    (stroke (width 0) (type default))
    (uuid 27eb755c-bebd-4eb1-b53c-eb045cd5189f)
  )
  (wire (pts (xy 335.28 129.54) (xy 335.28 132.08))
    (stroke (width 0) (type default))
    (uuid 29339b58-251b-4ac3-ab68-dd8a6123d15d)
  )
  (wire (pts (xy 259.08 102.87) (xy 259.08 105.41))
    (stroke (width 0) (type default))
    (uuid 2d1fd356-bc62-4df5-8a91-e445cc1833f9)
  )
  (wire (pts (xy 347.98 120.65) (xy 347.98 118.11))
    (stroke (width 0) (type default))
    (uuid 30320c3f-c1c3-4483-87f6-9ebbcd2b975f)
  )
  (wire (pts (xy 135.89 119.38) (xy 135.89 124.46))
    (stroke (width 0) (type default))
    (uuid 324a99a2-d508-478d-9e64-78e7c5b07c1e)
  )
  (wire (pts (xy 130.81 109.22) (xy 135.89 109.22))
    (stroke (width 0) (type default))
    (uuid 36b53ee5-0a77-489d-8ed1-255034445c0f)
  )
  (wire (pts (xy 181.61 106.68) (xy 181.61 109.22))
    (stroke (width 0) (type default))
    (uuid 38569fad-cf23-4654-914a-dac882afb487)
  )
  (wire (pts (xy 341.63 110.49) (xy 349.25 110.49))
    (stroke (width 0) (type default))
    (uuid 390c5e71-dbdc-43a8-b26e-3f60a0279183)
  )
  (wire (pts (xy 254 100.33) (xy 259.08 100.33))
    (stroke (width 0) (type default))
    (uuid 3a887538-3a73-483d-beb7-0d6521724cc3)
  )
  (wire (pts (xy 259.08 100.33) (xy 275.59 100.33))
    (stroke (width 0) (type default))
    (uuid 3ada2c73-e941-47aa-b4c6-8e1aed13d969)
  )
  (wire (pts (xy 339.09 99.06) (xy 341.63 99.06))
    (stroke (width 0) (type default))
    (uuid 3d8bfee4-ef59-42be-b616-38ace8984f14)
  )
  (wire (pts (xy 349.25 110.49) (xy 358.14 110.49))
    (stroke (width 0) (type default))
    (uuid 3f5b6e3a-05e9-409c-a9a5-d59761f04b88)
  )
  (wire (pts (xy 331.47 110.49) (xy 332.74 110.49))
    (stroke (width 0) (type default))
    (uuid 3f9b1e4f-b69e-49bf-8732-340d8b8a66b5)
  )
  (wire (pts (xy 325.12 99.06) (xy 332.74 99.06))
    (stroke (width 0) (type default))
    (uuid 404002d2-e614-4b9d-80df-3ac3bec29cb9)
  )
  (wire (pts (xy 135.89 127) (xy 130.81 127))
    (stroke (width 0) (type default))
    (uuid 415c7a89-a0b8-458f-8b6d-db0b823a4a99)
  )
  (wire (pts (xy 135.89 127) (xy 135.89 132.08))
    (stroke (width 0) (type default))
    (uuid 41fc6163-e82a-4b82-879f-444202c41feb)
  )
  (wire (pts (xy 335.28 127) (xy 335.28 129.54))
    (stroke (width 0) (type default))
    (uuid 4369f845-6f47-4878-9ab8-57c8e001b8e6)
  )
  (wire (pts (xy 86.36 116.84) (xy 86.36 130.81))
    (stroke (width 0) (type default))
    (uuid 46fb5041-4d52-4b98-8e48-e701bddd8161)
  )
  (wire (pts (xy 378.46 99.06) (xy 373.38 99.06))
    (stroke (width 0) (type default))
    (uuid 486bddd9-21ee-424b-805b-71c10f1a0d0c)
  )
  (wire (pts (xy 349.25 106.68) (xy 349.25 110.49))
    (stroke (width 0) (type default))
    (uuid 48f7a78d-8fe9-46a9-be1d-92a0ac14c8d6)
  )
  (wire (pts (xy 369.57 99.06) (xy 373.38 99.06))
    (stroke (width 0) (type default))
    (uuid 4c35b72f-5a5a-46e5-b7d6-55430754bbd8)
  )
  (wire (pts (xy 274.32 147.32) (xy 283.21 147.32))
    (stroke (width 0) (type default))
    (uuid 4d2dc478-ef0d-4163-9f56-87dfd7d41e8c)
  )
  (wire (pts (xy 254 119.38) (xy 259.08 119.38))
    (stroke (width 0) (type default))
    (uuid 50e83944-8bb8-4dc7-aabc-98050fc23faa)
  )
  (wire (pts (xy 259.08 105.41) (xy 275.59 105.41))
    (stroke (width 0) (type default))
    (uuid 51d82858-eb5f-46d1-a949-ea59ff530e5e)
  )
  (wire (pts (xy 245.11 99.06) (xy 245.11 100.33))
    (stroke (width 0) (type default))
    (uuid 55495e0b-3923-4d29-9ca3-bd228338e483)
  )
  (wire (pts (xy 326.39 110.49) (xy 325.12 110.49))
    (stroke (width 0) (type default))
    (uuid 55f33a64-1519-4b54-a4b8-3c34f69328e6)
  )
  (wire (pts (xy 259.08 111.76) (xy 275.59 111.76))
    (stroke (width 0) (type default))
    (uuid 56770963-8279-4bfe-b7fe-9e653ffa8f2a)
  )
  (wire (pts (xy 274.32 135.89) (xy 274.32 133.35))
    (stroke (width 0) (type default))
    (uuid 59f80bac-11d1-4564-90c6-688d4e6313ae)
  )
  (wire (pts (xy 311.15 129.54) (xy 323.85 129.54))
    (stroke (width 0) (type default))
    (uuid 5a4062fc-bca8-404b-9cba-abf4c5d2574f)
  )
  (wire (pts (xy 259.08 111.76) (xy 259.08 114.3))
    (stroke (width 0) (type default))
    (uuid 5b1a6be0-46ce-47d9-a61d-fdf4372eb90e)
  )
  (wire (pts (xy 341.63 110.49) (xy 341.63 111.76))
    (stroke (width 0) (type default))
    (uuid 5f186e14-a29f-49b3-92d3-fc5fca6420ed)
  )
  (wire (pts (xy 332.74 99.06) (xy 339.09 99.06))
    (stroke (width 0) (type default))
    (uuid 6198beae-c42a-458d-b2d5-732d3385ad3a)
  )
  (wire (pts (xy 347.98 125.73) (xy 347.98 129.54))
    (stroke (width 0) (type default))
    (uuid 6cd89d8a-7768-42b0-9bf6-b945a69584d1)
  )
  (wire (pts (xy 327.66 129.54) (xy 335.28 129.54))
    (stroke (width 0) (type default))
    (uuid 71533f5c-2aaa-4005-a8b8-f37a0cee324b)
  )
  (wire (pts (xy 254 100.33) (xy 254 119.38))
    (stroke (width 0) (type default))
    (uuid 7370fbe0-ad96-4cc9-ab40-bd9ec7404078)
  )
  (wire (pts (xy 335.28 118.11) (xy 336.55 118.11))
    (stroke (width 0) (type default))
    (uuid 74003d5b-9c7b-44f4-b222-7778c94d31b0)
  )
  (wire (pts (xy 335.28 118.11) (xy 335.28 121.92))
    (stroke (width 0) (type default))
    (uuid 795cd082-d277-412c-a236-e333c2d811b8)
  )
  (wire (pts (xy 325.12 99.06) (xy 325.12 101.6))
    (stroke (width 0) (type default))
    (uuid 7fc4486a-e870-42eb-b1e7-87ac0edcbf2a)
  )
  (wire (pts (xy 313.69 99.06) (xy 320.04 99.06))
    (stroke (width 0) (type default))
    (uuid 81076d91-068f-4365-a1b8-4ce511659e13)
  )
  (wire (pts (xy 259.08 119.38) (xy 265.43 119.38))
    (stroke (width 0) (type default))
    (uuid 81ba8abe-424f-4868-a1cb-e240b8237bdb)
  )
  (wire (pts (xy 311.15 120.65) (xy 313.69 120.65))
    (stroke (width 0) (type default))
    (uuid 81c7ddff-1f0e-4ec1-8cd8-d7092999fbcc)
  )
  (wire (pts (xy 325.12 106.68) (xy 325.12 110.49))
    (stroke (width 0) (type default))
    (uuid 85dcea65-eca1-474b-a5ed-873f3ee1ecc1)
  )
  (wire (pts (xy 393.7 124.46) (xy 393.7 110.49))
    (stroke (width 0) (type default))
    (uuid 892f7856-f3ef-4c86-a2e3-48c458e05348)
  )
  (wire (pts (xy 69.85 119.38) (xy 91.44 119.38))
    (stroke (width 0) (type default))
    (uuid 8a7d8277-bdb0-4db4-915a-6034b44b0723)
  )
  (wire (pts (xy 248.92 100.33) (xy 248.92 104.14))
    (stroke (width 0) (type default))
    (uuid 8cafc79b-bed7-40f9-b4d1-7ed73455a6c8)
  )
  (wire (pts (xy 91.44 119.38) (xy 100.33 119.38))
    (stroke (width 0) (type default))
    (uuid 8d1d9118-b4d9-4313-ad17-9331d12b66bc)
  )
  (wire (pts (xy 332.74 110.49) (xy 339.09 110.49))
    (stroke (width 0) (type default))
    (uuid 8e7f5762-4556-4902-919d-913e9bf14cf8)
  )
  (wire (pts (xy 135.89 109.22) (xy 135.89 114.3))
    (stroke (width 0) (type default))
    (uuid 8edcdc61-40f0-4e41-8008-a7315cdfdccc)
  )
  (wire (pts (xy 311.15 118.11) (xy 313.69 118.11))
    (stroke (width 0) (type default))
    (uuid 90533b09-8313-43d4-adc8-a2c87764e671)
  )
  (wire (pts (xy 64.77 124.46) (xy 62.23 124.46))
    (stroke (width 0) (type default))
    (uuid 93966f42-9534-494a-88bf-b819ac8229a3)
  )
  (wire (pts (xy 245.11 100.33) (xy 248.92 100.33))
    (stroke (width 0) (type default))
    (uuid 9475043a-6757-426c-83af-56736a052203)
  )
  (wire (pts (xy 327.66 118.11) (xy 335.28 118.11))
    (stroke (width 0) (type default))
    (uuid 95e99a91-42c6-4101-abc5-bdd399dd480f)
  )
  (wire (pts (xy 320.04 124.46) (xy 320.04 118.11))
    (stroke (width 0) (type default))
    (uuid 9b021302-66ae-47e9-8988-de51c763cdd3)
  )
  (wire (pts (xy 313.69 101.6) (xy 311.15 101.6))
    (stroke (width 0) (type default))
    (uuid 9f46fff8-8ef4-463d-94b6-e77279fb5406)
  )
  (wire (pts (xy 349.25 99.06) (xy 358.14 99.06))
    (stroke (width 0) (type default))
    (uuid 9f7797e7-2f52-485a-ac78-cec303a8091c)
  )
  (wire (pts (xy 100.33 139.7) (xy 100.33 138.43))
    (stroke (width 0) (type default))
    (uuid a89de6d1-1bca-4322-8492-676aaea43421)
  )
  (wire (pts (xy 295.91 144.78) (xy 295.91 147.32))
    (stroke (width 0) (type default))
    (uuid ad003499-2afa-48eb-a6de-594bad6d9669)
  )
  (wire (pts (xy 135.89 124.46) (xy 135.89 127))
    (stroke (width 0) (type default))
    (uuid ad5c136f-d323-486c-b3ae-9d0dea69087c)
  )
  (wire (pts (xy 259.08 105.41) (xy 259.08 107.95))
    (stroke (width 0) (type default))
    (uuid ae169e6c-ef35-4657-adad-f2c46bbd67c7)
  )
  (wire (pts (xy 358.14 106.68) (xy 358.14 110.49))
    (stroke (width 0) (type default))
    (uuid b03c6f2d-68c4-40a0-8d7b-36b97201a135)
  )
  (wire (pts (xy 91.44 130.81) (xy 91.44 146.05))
    (stroke (width 0) (type default))
    (uuid b065c9db-88ba-4d6e-9468-f212d4736225)
  )
  (wire (pts (xy 311.15 110.49) (xy 325.12 110.49))
    (stroke (width 0) (type default))
    (uuid b0c6b8f4-b716-48d7-8439-f1b70922a79e)
  )
  (wire (pts (xy 311.15 105.41) (xy 313.69 105.41))
    (stroke (width 0) (type default))
    (uuid b258b92c-bd70-420f-bb08-dd0d3a4f7114)
  )
  (wire (pts (xy 283.21 147.32) (xy 293.37 147.32))
    (stroke (width 0) (type default))
    (uuid b279bbac-adef-4cc9-8c84-95b1d004b7ab)
  )
  (wire (pts (xy 325.12 167.64) (xy 325.12 170.18))
    (stroke (width 0) (type default))
    (uuid b2a65fe5-1384-4d47-ae14-d006158c6c5b)
  )
  (wire (pts (xy 259.08 119.38) (xy 259.08 121.92))
    (stroke (width 0) (type default))
    (uuid b34c71a6-e95c-4824-be63-3217322ad670)
  )
  (wire (pts (xy 248.92 100.33) (xy 254 100.33))
    (stroke (width 0) (type default))
    (uuid b52e175e-41e0-4815-8223-769a6f55755e)
  )
  (wire (pts (xy 327.66 120.65) (xy 327.66 118.11))
    (stroke (width 0) (type default))
    (uuid b5fe0a5e-f8bb-43eb-b828-94ff9bd8042f)
  )
  (wire (pts (xy 259.08 102.87) (xy 275.59 102.87))
    (stroke (width 0) (type default))
    (uuid b8f4fe8d-1f9f-436d-b959-f6363a26a83e)
  )
  (wire (pts (xy 320.04 118.11) (xy 323.85 118.11))
    (stroke (width 0) (type default))
    (uuid bad8d7de-d118-41b2-9406-5a1a630bac82)
  )
  (wire (pts (xy 311.15 99.06) (xy 313.69 99.06))
    (stroke (width 0) (type default))
    (uuid bcbdea95-7154-45c7-8561-8e7e5b75ef1f)
  )
  (wire (pts (xy 358.14 99.06) (xy 358.14 101.6))
    (stroke (width 0) (type default))
    (uuid bfbdab02-5b9d-4aa6-bb34-0fedcdfb1f5e)
  )
  (wire (pts (xy 361.95 118.11) (xy 368.3 118.11))
    (stroke (width 0) (type default))
    (uuid c2fc7271-7b34-45b0-93ae-31ceff7d07c4)
  )
  (wire (pts (xy 320.04 99.06) (xy 325.12 99.06))
    (stroke (width 0) (type default))
    (uuid c607bf25-43f1-4fae-b094-146bf7d7e552)
  )
  (wire (pts (xy 313.69 99.06) (xy 313.69 101.6))
    (stroke (width 0) (type default))
    (uuid c6146079-3c4b-479a-a5af-2f00618651f3)
  )
  (wire (pts (xy 349.25 101.6) (xy 349.25 99.06))
    (stroke (width 0) (type default))
    (uuid c6e38686-3488-45dd-8b8d-fcf0e466e5a0)
  )
  (wire (pts (xy 358.14 99.06) (xy 364.49 99.06))
    (stroke (width 0) (type default))
    (uuid c8b4cc2f-21f2-4adc-a301-3b33df7aa5a6)
  )
  (wire (pts (xy 170.18 109.22) (xy 181.61 109.22))
    (stroke (width 0) (type default))
    (uuid c9f2ac07-3a21-46f5-9764-98c070cb7b1d)
  )
  (wire (pts (xy 341.63 118.11) (xy 347.98 118.11))
    (stroke (width 0) (type default))
    (uuid ca01ff0e-521a-44bf-9320-8db99090a7e1)
  )
  (wire (pts (xy 346.71 99.06) (xy 349.25 99.06))
    (stroke (width 0) (type default))
    (uuid cc0e1895-a16c-4185-b1cb-5dffddc5253a)
  )
  (wire (pts (xy 270.51 119.38) (xy 275.59 119.38))
    (stroke (width 0) (type default))
    (uuid cf88860a-e2c1-4cf6-bffd-c7a246b1dc5f)
  )
  (wire (pts (xy 135.89 109.22) (xy 165.1 109.22))
    (stroke (width 0) (type default))
    (uuid cfc42ea9-bfc2-4576-b377-e7da17a061b9)
  )
  (wire (pts (xy 293.37 144.78) (xy 293.37 147.32))
    (stroke (width 0) (type default))
    (uuid d01cd7a8-6f3d-4ec0-89b2-ce16048bbb23)
  )
  (wire (pts (xy 339.09 99.06) (xy 339.09 102.87))
    (stroke (width 0) (type default))
    (uuid d3b354af-90cb-4ea2-a843-f2017a0b5a4b)
  )
  (wire (pts (xy 368.3 118.11) (xy 369.57 118.11))
    (stroke (width 0) (type default))
    (uuid d5646946-3b51-494a-91c7-fb18af5a4c93)
  )
  (wire (pts (xy 313.69 120.65) (xy 313.69 118.11))
    (stroke (width 0) (type default))
    (uuid d63cbaca-a5a8-4f17-9f3a-24eb236ba09e)
  )
  (wire (pts (xy 100.33 138.43) (xy 96.52 138.43))
    (stroke (width 0) (type default))
    (uuid d9c8d00f-1417-490c-8141-5aac96edbe5e)
  )
  (wire (pts (xy 66.04 111.76) (xy 62.23 111.76))
    (stroke (width 0) (type default))
    (uuid df04d08c-c686-4758-b044-c89c9ff557a9)
  )
  (wire (pts (xy 339.09 107.95) (xy 339.09 110.49))
    (stroke (width 0) (type default))
    (uuid e1e2bd0f-c85b-4004-8527-7ed186edfdf7)
  )
  (wire (pts (xy 393.7 97.79) (xy 393.7 105.41))
    (stroke (width 0) (type default))
    (uuid e1eae619-7bcb-49f0-9db3-374784f26449)
  )
  (wire (pts (xy 332.74 106.68) (xy 332.74 110.49))
    (stroke (width 0) (type default))
    (uuid e5028e4e-de01-44bf-812b-77b5be88c272)
  )
  (wire (pts (xy 69.85 124.46) (xy 100.33 124.46))
    (stroke (width 0) (type default))
    (uuid e870794d-58ff-4187-bef4-a48fefefe6ac)
  )
  (wire (pts (xy 318.77 105.41) (xy 320.04 105.41))
    (stroke (width 0) (type default))
    (uuid ea99520e-842a-40c1-b0a0-aa0f2b469b45)
  )
  (wire (pts (xy 274.32 135.89) (xy 275.59 135.89))
    (stroke (width 0) (type default))
    (uuid eafcc612-426a-42d2-bfe6-d33a8050332f)
  )
  (wire (pts (xy 259.08 107.95) (xy 259.08 111.76))
    (stroke (width 0) (type default))
    (uuid eba75b09-dbc3-410a-a07a-f62a99473ae6)
  )
  (wire (pts (xy 135.89 107.95) (xy 135.89 109.22))
    (stroke (width 0) (type default))
    (uuid ed412222-5515-4175-b069-de8e15677558)
  )
  (wire (pts (xy 323.85 118.11) (xy 327.66 118.11))
    (stroke (width 0) (type default))
    (uuid ee92f546-14bb-47d0-83c4-d7144d6516bb)
  )
  (wire (pts (xy 320.04 105.41) (xy 320.04 99.06))
    (stroke (width 0) (type default))
    (uuid ef4bd064-bb43-4419-95b9-14bc7de107f0)
  )
  (wire (pts (xy 393.7 129.54) (xy 393.7 148.59))
    (stroke (width 0) (type default))
    (uuid f34c59e0-40d9-4a34-b47d-c085b1d2938c)
  )
  (wire (pts (xy 91.44 119.38) (xy 91.44 130.81))
    (stroke (width 0) (type default))
    (uuid f732c3b9-5155-451a-b9b6-6ed02b683de5)
  )
  (wire (pts (xy 274.32 133.35) (xy 275.59 133.35))
    (stroke (width 0) (type default))
    (uuid fac079a9-bb94-456d-9f4b-6ddd040e12ac)
  )
  (wire (pts (xy 323.85 118.11) (xy 323.85 129.54))
    (stroke (width 0) (type default))
    (uuid fd875787-0094-41e8-83d1-d80f49832acb)
  )
  (wire (pts (xy 259.08 100.33) (xy 259.08 102.87))
    (stroke (width 0) (type default))
    (uuid fee1c48b-0b37-4399-8292-b749ab7ac5f8)
  )

  (text "3.3V" (at 351.79 99.06 0)
    (effects (font (size 1.27 1.27)) (justify left bottom))
    (uuid 23c7b322-eff2-4552-b49d-6086b946dd59)
  )
  (text "0.1 dcr\n" (at 162.56 100.33 0)
    (effects (font (size 1.27 1.27)) (justify left bottom))
    (uuid 2d9a99ee-412a-4efb-8a85-c6d33b44e06e)
  )
  (text "1.22V" (at 317.5 118.11 0)
    (effects (font (size 1.27 1.27)) (justify left bottom))
    (uuid 37cd6c4e-1fd8-443c-9860-69c37b265ca2)
  )
  (text "vbias 1.22V" (at 307.34 132.08 0)
    (effects (font (size 1.27 1.27)) (justify left bottom))
    (uuid 6fa93a9f-0146-4839-ab3b-8446d1a9ac1e)
  )
  (text "90 ohms\n" (at 54.61 119.38 0)
    (effects (font (size 1.27 1.27)) (justify right bottom))
    (uuid 7c71e282-0d56-41e7-951a-adbd322294f8)
  )
  (text "750mA" (at 370.84 104.14 0)
    (effects (font (size 1.27 1.27)) (justify left bottom))
    (uuid 9ed99cd2-1c7a-41de-b7d2-d0ef49881aee)
  )
  (text "220 @ 100Mhz" (at 162.56 102.87 0)
    (effects (font (size 1.27 1.27)) (justify left bottom))
    (uuid cfa556d2-91fa-476e-b325-4a187abf4009)
  )
  (text "1.2V" (at 346.71 118.11 0)
    (effects (font (size 1.27 1.27)) (justify left bottom))
    (uuid ed872c3f-31fe-4cc7-a29d-44aaf3e1ec8e)
  )
  (text "250mA" (at 367.03 123.19 0)
    (effects (font (size 1.27 1.27)) (justify left bottom))
    (uuid f01faf1d-0fbf-415c-90f7-dfb37a407ad5)
  )
  (text "3.31V" (at 330.2 99.06 0)
    (effects (font (size 1.27 1.27)) (justify left bottom))
    (uuid fba7668f-d7e7-4536-aed3-5288b024e2d2)
  )

  (global_label "VCC_GONK_3V3" (shape input) (at 339.09 170.18 0) (fields_autoplaced)
    (effects (font (size 1.27 1.27)) (justify left))
    (uuid 1e2d5d4a-9b5d-418f-8630-d3fff0e2473d)
    (property "Intersheetrefs" "${INTERSHEET_REFS}" (at 356.2682 170.18 0)
      (effects (font (size 1.27 1.27)) (justify left))
    )
  )
  (global_label "USB_D_N" (shape output) (at 69.85 116.84 180) (fields_autoplaced)
    (effects (font (size 1.27 1.27)) (justify right))
    (uuid 672511df-b6d3-4989-a073-1a7eece48952)
    (property "Intersheetrefs" "${INTERSHEET_REFS}" (at 58.5985 116.84 0)
      (effects (font (size 1.27 1.27)) (justify right))
    )
  )
  (global_label "VCC_GONK_1.2" (shape output) (at 369.57 118.11 0) (fields_autoplaced)
    (effects (font (size 1.27 1.27)) (justify left))
    (uuid 8c786bac-ee99-4668-9613-c33c5fd0cb4b)
    (property "Intersheetrefs" "${INTERSHEET_REFS}" (at 386.2644 118.11 0)
      (effects (font (size 1.27 1.27)) (justify left))
    )
  )
  (global_label "USB_D_P" (shape output) (at 69.85 119.38 180) (fields_autoplaced)
    (effects (font (size 1.27 1.27)) (justify right))
    (uuid e28feb9f-e3d0-4760-ba3b-daff5564a5f3)
    (property "Intersheetrefs" "${INTERSHEET_REFS}" (at 58.659 119.38 0)
      (effects (font (size 1.27 1.27)) (justify right))
    )
  )

  (symbol (lib_id "Device:C_Small") (at 248.92 106.68 0) (unit 1)
    (in_bom yes) (on_board yes) (dnp no)
    (uuid 047661d5-e1ae-474b-9d82-442872ce75a6)
    (property "Reference" "C68" (at 243.84 106.68 0)
      (effects (font (size 1.27 1.27)))
    )
    (property "Value" "22uF" (at 243.84 109.22 0)
      (effects (font (size 1.27 1.27)))
    )
    (property "Footprint" "Capacitor_SMD:C_0603_1608Metric" (at 248.92 106.68 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Datasheet" "~" (at 248.92 106.68 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (pin "1" (uuid b666a14c-9267-4474-b25c-c4522864c6c3))
    (pin "2" (uuid 337440e5-3401-46c3-a4f3-017281a5cafa))
    (instances
      (project "Gonk"
        (path "/691887a2-ef24-4ca8-bf60-49cda5104c8f/a3f29ee6-3b19-4f22-a75c-2f331d2e1b78"
          (reference "C68") (unit 1)
        )
      )
    )
  )

  (symbol (lib_id "power:PWR_FLAG") (at 373.38 99.06 180) (unit 1)
    (in_bom yes) (on_board yes) (dnp no) (fields_autoplaced)
    (uuid 138bae61-9db0-41bb-8961-c5f853eebe28)
    (property "Reference" "#FLG05" (at 373.38 100.965 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Value" "PWR_FLAG" (at 373.38 102.87 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Footprint" "" (at 373.38 99.06 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Datasheet" "~" (at 373.38 99.06 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (pin "1" (uuid e7fa2760-0652-43af-bb87-b4ff214ba3ab))
    (instances
      (project "Gonk"
        (path "/691887a2-ef24-4ca8-bf60-49cda5104c8f/4d6001c4-2b2a-4825-81a1-31148538fb15"
          (reference "#FLG05") (unit 1)
        )
        (path "/691887a2-ef24-4ca8-bf60-49cda5104c8f/a3f29ee6-3b19-4f22-a75c-2f331d2e1b78"
          (reference "#FLG012") (unit 1)
        )
      )
    )
  )

  (symbol (lib_id "power:GND") (at 341.63 111.76 0) (unit 1)
    (in_bom yes) (on_board yes) (dnp no)
    (uuid 19ae351d-98a4-4f35-940a-6daccee63a29)
    (property "Reference" "#PWR0184" (at 341.63 118.11 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Value" "GND" (at 344.17 114.3 0)
      (effects (font (size 1.27 1.27)))
    )
    (property "Footprint" "" (at 341.63 111.76 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Datasheet" "" (at 341.63 111.76 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (pin "1" (uuid f17e9654-9622-4b6c-bca1-26ee88487472))
    (instances
      (project "Gonk"
        (path "/691887a2-ef24-4ca8-bf60-49cda5104c8f/a3f29ee6-3b19-4f22-a75c-2f331d2e1b78"
          (reference "#PWR0184") (unit 1)
        )
      )
    )
  )

  (symbol (lib_id "power:GND") (at 335.28 132.08 0) (unit 1)
    (in_bom yes) (on_board yes) (dnp no)
    (uuid 209fcb41-62f6-439b-85c9-ac1f3ebdd9d2)
    (property "Reference" "#PWR0187" (at 335.28 138.43 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Value" "GND" (at 337.82 134.62 0)
      (effects (font (size 1.27 1.27)))
    )
    (property "Footprint" "" (at 335.28 132.08 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Datasheet" "" (at 335.28 132.08 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (pin "1" (uuid 4e3060bf-8037-437f-8f1d-5126d29e833e))
    (instances
      (project "Gonk"
        (path "/691887a2-ef24-4ca8-bf60-49cda5104c8f/a3f29ee6-3b19-4f22-a75c-2f331d2e1b78"
          (reference "#PWR0187") (unit 1)
        )
      )
    )
  )

  (symbol (lib_id "Device:R_Small_US") (at 67.31 124.46 90) (unit 1)
    (in_bom yes) (on_board yes) (dnp no)
    (uuid 29e31238-7368-45ef-acb1-d51f0784b91f)
    (property "Reference" "R65" (at 63.5 123.19 90)
      (effects (font (size 1.27 1.27)))
    )
    (property "Value" "5.1k" (at 69.85 123.19 90)
      (effects (font (size 1.27 1.27)))
    )
    (property "Footprint" "Resistor_SMD:R_0402_1005Metric" (at 67.31 124.46 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Datasheet" "~" (at 67.31 124.46 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (pin "1" (uuid 3b6d5c89-6083-4fe8-b00a-1021a616c491))
    (pin "2" (uuid a9ef170c-2d05-4492-bf19-03d973182a18))
    (instances
      (project "Gonk"
        (path "/691887a2-ef24-4ca8-bf60-49cda5104c8f/a3f29ee6-3b19-4f22-a75c-2f331d2e1b78"
          (reference "R65") (unit 1)
        )
      )
    )
  )

  (symbol (lib_id "Device:FerriteBead_Small") (at 359.41 118.11 90) (unit 1)
    (in_bom yes) (on_board yes) (dnp no)
    (uuid 2bb6147c-b5e6-46fb-9390-774dfee81663)
    (property "Reference" "FB3" (at 359.41 115.57 90)
      (effects (font (size 1.27 1.27)))
    )
    (property "Value" "600 OHM 800MA" (at 358.14 120.65 90)
      (effects (font (size 1.27 1.27)))
    )
    (property "Footprint" "Inductor_SMD:L_0603_1608Metric" (at 359.41 119.888 90)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Datasheet" "~" (at 359.41 118.11 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (pin "1" (uuid d08144bf-cf56-4310-bd6d-cb44da608b4c))
    (pin "2" (uuid cbb2fe7f-c968-422d-a6e5-f0d611672b36))
    (instances
      (project "Gonk"
        (path "/691887a2-ef24-4ca8-bf60-49cda5104c8f/a3f29ee6-3b19-4f22-a75c-2f331d2e1b78"
          (reference "FB3") (unit 1)
        )
      )
    )
  )

  (symbol (lib_id "power:VBUS") (at 181.61 106.68 0) (unit 1)
    (in_bom yes) (on_board yes) (dnp no) (fields_autoplaced)
    (uuid 2ca72e81-e0c4-407f-8f03-f2a6cb2fd785)
    (property "Reference" "#PWR0103" (at 181.61 110.49 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Value" "VBUS" (at 181.61 102.87 0)
      (effects (font (size 1.27 1.27)))
    )
    (property "Footprint" "" (at 181.61 106.68 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Datasheet" "" (at 181.61 106.68 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (pin "1" (uuid b39590da-869e-46ff-998f-36ade4e5d4d1))
    (instances
      (project "Gonk"
        (path "/691887a2-ef24-4ca8-bf60-49cda5104c8f/a3f29ee6-3b19-4f22-a75c-2f331d2e1b78"
          (reference "#PWR0103") (unit 1)
        )
      )
    )
  )

  (symbol (lib_id "power:GND") (at 62.23 111.76 270) (unit 1)
    (in_bom yes) (on_board yes) (dnp no) (fields_autoplaced)
    (uuid 2e457e50-fe01-4547-a617-1ceba768c6c1)
    (property "Reference" "#PWR0101" (at 55.88 111.76 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Value" "GND" (at 58.42 111.125 90)
      (effects (font (size 1.27 1.27)) (justify right))
    )
    (property "Footprint" "" (at 62.23 111.76 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Datasheet" "" (at 62.23 111.76 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (pin "1" (uuid 3e9f1464-4560-4bd8-a697-c8281df43738))
    (instances
      (project "Gonk"
        (path "/691887a2-ef24-4ca8-bf60-49cda5104c8f/a3f29ee6-3b19-4f22-a75c-2f331d2e1b78"
          (reference "#PWR0101") (unit 1)
        )
      )
    )
  )

  (symbol (lib_id "Device:R_Small_US") (at 339.09 105.41 0) (unit 1)
    (in_bom yes) (on_board yes) (dnp no)
    (uuid 4a5b1c7f-6188-44c1-b866-0a8a7ee52c1f)
    (property "Reference" "R37" (at 341.63 104.14 0)
      (effects (font (size 1.27 1.27)))
    )
    (property "Value" "100" (at 341.63 105.41 0)
      (effects (font (size 1.27 1.27)))
    )
    (property "Footprint" "Resistor_SMD:R_0603_1608Metric" (at 339.09 105.41 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Datasheet" "~" (at 339.09 105.41 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (pin "1" (uuid c2d79ad7-85e4-432a-867a-5d9f8ac3619e))
    (pin "2" (uuid ba260526-98f2-4129-afe4-d6a5d9c1a6f2))
    (instances
      (project "Gonk"
        (path "/691887a2-ef24-4ca8-bf60-49cda5104c8f/a3f29ee6-3b19-4f22-a75c-2f331d2e1b78"
          (reference "R37") (unit 1)
        )
      )
    )
  )

  (symbol (lib_id "power:GND") (at 393.7 148.59 0) (unit 1)
    (in_bom yes) (on_board yes) (dnp no) (fields_autoplaced)
    (uuid 4a76eb07-22b3-49c6-a945-f3b6ba693290)
    (property "Reference" "#PWR0197" (at 393.7 154.94 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Value" "GND" (at 393.065 152.4 90)
      (effects (font (size 1.27 1.27)) (justify right))
    )
    (property "Footprint" "" (at 393.7 148.59 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Datasheet" "" (at 393.7 148.59 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (pin "1" (uuid d45895f5-21ec-44bf-9840-a26589142c7b))
    (instances
      (project "Gonk"
        (path "/691887a2-ef24-4ca8-bf60-49cda5104c8f/f135f645-4330-46f0-9341-9761c31b4e29"
          (reference "#PWR0197") (unit 1)
        )
        (path "/691887a2-ef24-4ca8-bf60-49cda5104c8f/a3f29ee6-3b19-4f22-a75c-2f331d2e1b78"
          (reference "#PWR0191") (unit 1)
        )
      )
    )
  )

  (symbol (lib_id "power:GND") (at 135.89 91.44 180) (unit 1)
    (in_bom yes) (on_board yes) (dnp no)
    (uuid 50bfe1f5-f3b9-4d72-84c4-7bb45bba7dc0)
    (property "Reference" "#PWR0102" (at 135.89 85.09 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Value" "GND" (at 135.89 86.36 0)
      (effects (font (size 1.27 1.27)))
    )
    (property "Footprint" "" (at 135.89 91.44 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Datasheet" "" (at 135.89 91.44 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (pin "1" (uuid 3d718e44-e813-4f2a-b648-0de6c6533b37))
    (instances
      (project "Gonk"
        (path "/691887a2-ef24-4ca8-bf60-49cda5104c8f/a3f29ee6-3b19-4f22-a75c-2f331d2e1b78"
          (reference "#PWR0102") (unit 1)
        )
      )
    )
  )

  (symbol (lib_id "Device:C_Small") (at 316.23 124.46 90) (unit 1)
    (in_bom yes) (on_board yes) (dnp no)
    (uuid 5324920b-201e-4101-8990-93d19c9b3841)
    (property "Reference" "C72" (at 313.69 123.19 90)
      (effects (font (size 1.27 1.27)))
    )
    (property "Value" "0.01uF" (at 316.2364 127 90)
      (effects (font (size 1.27 1.27)))
    )
    (property "Footprint" "Capacitor_SMD:C_0402_1005Metric" (at 316.23 124.46 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Datasheet" "~" (at 316.23 124.46 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (pin "1" (uuid a1ddb0df-f595-488d-ba13-a10c000575dd))
    (pin "2" (uuid 3c26eb21-fe98-4816-b1e0-363fddbdc95b))
    (instances
      (project "Gonk"
        (path "/691887a2-ef24-4ca8-bf60-49cda5104c8f/a3f29ee6-3b19-4f22-a75c-2f331d2e1b78"
          (reference "C72") (unit 1)
        )
      )
    )
  )

  (symbol (lib_id "power:GND") (at 135.89 132.08 0) (unit 1)
    (in_bom yes) (on_board yes) (dnp no)
    (uuid 574c82c2-663e-40ca-89b2-7be3e7fa0659)
    (property "Reference" "#PWR0104" (at 135.89 138.43 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Value" "GND" (at 135.89 137.16 0)
      (effects (font (size 1.27 1.27)))
    )
    (property "Footprint" "" (at 135.89 132.08 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Datasheet" "" (at 135.89 132.08 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (pin "1" (uuid 09c829a7-602d-4e9c-9368-ac60ea7237fd))
    (instances
      (project "Gonk"
        (path "/691887a2-ef24-4ca8-bf60-49cda5104c8f/a3f29ee6-3b19-4f22-a75c-2f331d2e1b78"
          (reference "#PWR0104") (unit 1)
        )
      )
    )
  )

  (symbol (lib_id "power:VCC_GONK") (at 378.46 96.52 0) (unit 1)
    (in_bom yes) (on_board yes) (dnp no)
    (uuid 5aa53af1-18dd-4c4d-9b08-0bba7ad4dc54)
    (property "Reference" "#PWR053" (at 378.46 100.33 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Value" "VCC_GONK" (at 378.46 92.71 0)
      (effects (font (size 1.27 1.27)))
    )
    (property "Footprint" "" (at 378.46 96.52 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Datasheet" "" (at 378.46 96.52 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (pin "1" (uuid 6a69d196-90e5-4972-ad0d-00125c276033))
    (instances
      (project "Gonk"
        (path "/691887a2-ef24-4ca8-bf60-49cda5104c8f/a3f29ee6-3b19-4f22-a75c-2f331d2e1b78"
          (reference "#PWR053") (unit 1)
        )
      )
    )
  )

  (symbol (lib_id "Device:R_Small_US") (at 325.12 104.14 0) (unit 1)
    (in_bom yes) (on_board yes) (dnp no)
    (uuid 66caf691-bce6-4fc3-8770-48f5c3b6786f)
    (property "Reference" "R63" (at 327.66 102.87 0)
      (effects (font (size 1.27 1.27)))
    )
    (property "Value" "357K" (at 327.66 104.14 0)
      (effects (font (size 1.27 1.27)))
    )
    (property "Footprint" "Resistor_SMD:R_0402_1005Metric" (at 325.12 104.14 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Datasheet" "~" (at 325.12 104.14 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (pin "1" (uuid b0234371-f3ba-4e8e-ac9c-88e23034ef3c))
    (pin "2" (uuid e7c80408-7563-4497-b45f-ac6ff7b884af))
    (instances
      (project "Gonk"
        (path "/691887a2-ef24-4ca8-bf60-49cda5104c8f/a3f29ee6-3b19-4f22-a75c-2f331d2e1b78"
          (reference "R63") (unit 1)
        )
      )
    )
  )

  (symbol (lib_id "Device:FerriteBead_Small") (at 167.64 109.22 90) (unit 1)
    (in_bom yes) (on_board yes) (dnp no) (fields_autoplaced)
    (uuid 66dfa9ba-28d7-4d4b-a42a-c909b2def8b5)
    (property "Reference" "FB1" (at 167.6019 104.14 90)
      (effects (font (size 1.27 1.27)))
    )
    (property "Value" "BLM18PG221SN1D" (at 167.6019 106.68 90)
      (effects (font (size 1.27 1.27)))
    )
    (property "Footprint" "Inductor_SMD:L_0603_1608Metric" (at 167.64 110.998 90)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Datasheet" "~" (at 167.64 109.22 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (pin "1" (uuid a1b452b0-a7c4-42ca-be63-752729d61f72))
    (pin "2" (uuid 55e6f9d2-2a8a-4a92-904f-18dfb0e6db33))
    (instances
      (project "Gonk"
        (path "/691887a2-ef24-4ca8-bf60-49cda5104c8f/a3f29ee6-3b19-4f22-a75c-2f331d2e1b78"
          (reference "FB1") (unit 1)
        )
      )
    )
  )

  (symbol (lib_id "power:GND") (at 283.21 147.32 0) (unit 1)
    (in_bom yes) (on_board yes) (dnp no) (fields_autoplaced)
    (uuid 67fc4fe1-93e6-4c8c-9c68-0458fc8c382a)
    (property "Reference" "#PWR0190" (at 283.21 153.67 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Value" "GND" (at 283.21 152.4 0)
      (effects (font (size 1.27 1.27)))
    )
    (property "Footprint" "" (at 283.21 147.32 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Datasheet" "" (at 283.21 147.32 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (pin "1" (uuid 10119b3c-4a2f-4875-882f-771d2f0e7f81))
    (instances
      (project "Gonk"
        (path "/691887a2-ef24-4ca8-bf60-49cda5104c8f/a3f29ee6-3b19-4f22-a75c-2f331d2e1b78"
          (reference "#PWR0190") (unit 1)
        )
      )
    )
  )

  (symbol (lib_id "Device:LED_Small") (at 393.7 107.95 270) (mirror x) (unit 1)
    (in_bom yes) (on_board yes) (dnp no)
    (uuid 6898ee0f-aabe-488a-b6a8-8559e8c2250e)
    (property "Reference" "D_PWR1" (at 388.62 107.8865 0)
      (effects (font (size 1.27 1.27)))
    )
    (property "Value" "19-217/BHC-ZL1M2RY/3T\n" (at 391.16 107.8865 0)
      (effects (font (size 1.27 1.27)))
    )
    (property "Footprint" "LED_SMD:LED_0603_1608Metric" (at 393.7 107.95 90)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Datasheet" "~" (at 393.7 107.95 90)
      (effects (font (size 1.27 1.27)) hide)
    )
    (pin "1" (uuid 43189997-5e27-492f-92b9-f11a60e2cdc4))
    (pin "2" (uuid 5e2fecc6-c86a-4c09-9182-ab0248e48637))
    (instances
      (project "Gonk"
        (path "/691887a2-ef24-4ca8-bf60-49cda5104c8f/f135f645-4330-46f0-9341-9761c31b4e29"
          (reference "D_PWR1") (unit 1)
        )
        (path "/691887a2-ef24-4ca8-bf60-49cda5104c8f/a3f29ee6-3b19-4f22-a75c-2f331d2e1b78"
          (reference "D_PWR1") (unit 1)
        )
      )
    )
  )

  (symbol (lib_id "Device:C_Small") (at 358.14 104.14 180) (unit 1)
    (in_bom yes) (on_board yes) (dnp no)
    (uuid 6d8b365b-8320-4c7f-b591-a883b2b04b29)
    (property "Reference" "C66" (at 360.68 102.87 0)
      (effects (font (size 1.27 1.27)))
    )
    (property "Value" "100nF" (at 361.95 105.41 0)
      (effects (font (size 1.27 1.27)))
    )
    (property "Footprint" "Capacitor_SMD:C_0402_1005Metric" (at 358.14 104.14 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Datasheet" "~" (at 358.14 104.14 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (pin "1" (uuid fc8f60eb-3c0d-4f18-b063-42563dd3b871))
    (pin "2" (uuid 0407bc1d-e3d0-4b9c-8fd1-ac05814b4cfa))
    (instances
      (project "Gonk"
        (path "/691887a2-ef24-4ca8-bf60-49cda5104c8f/a3f29ee6-3b19-4f22-a75c-2f331d2e1b78"
          (reference "C66") (unit 1)
        )
      )
    )
  )

  (symbol (lib_id "Device:FerriteBead_Small") (at 367.03 99.06 90) (unit 1)
    (in_bom yes) (on_board yes) (dnp no) (fields_autoplaced)
    (uuid 7427cf2c-5c14-4785-80af-670c0403fa31)
    (property "Reference" "FB2" (at 366.9919 92.71 90)
      (effects (font (size 1.27 1.27)))
    )
    (property "Value" "600 OHM 800MA" (at 366.9919 95.25 90)
      (effects (font (size 1.27 1.27)))
    )
    (property "Footprint" "Inductor_SMD:L_0603_1608Metric" (at 367.03 100.838 90)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Datasheet" "~" (at 367.03 99.06 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (pin "1" (uuid dd326e2f-5ea3-448b-93b2-efd35ce646d1))
    (pin "2" (uuid 6beb26bf-4b16-4fc3-a121-b254bcccef07))
    (instances
      (project "Gonk"
        (path "/691887a2-ef24-4ca8-bf60-49cda5104c8f/a3f29ee6-3b19-4f22-a75c-2f331d2e1b78"
          (reference "FB2") (unit 1)
        )
      )
    )
  )

  (symbol (lib_id "Device:R_Small_US") (at 335.28 124.46 0) (unit 1)
    (in_bom yes) (on_board yes) (dnp no)
    (uuid 748b4f81-b2a4-4289-a2f3-def9b3f9794c)
    (property "Reference" "R67" (at 337.82 123.19 0)
      (effects (font (size 1.27 1.27)))
    )
    (property "Value" "100" (at 337.82 124.46 0)
      (effects (font (size 1.27 1.27)))
    )
    (property "Footprint" "Resistor_SMD:R_0603_1608Metric" (at 335.28 124.46 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Datasheet" "~" (at 335.28 124.46 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (pin "1" (uuid c0221b2e-97a7-4f63-8205-cccb4ca69316))
    (pin "2" (uuid 2b4d9c57-715f-49ce-80ce-108eb3d4c628))
    (instances
      (project "Gonk"
        (path "/691887a2-ef24-4ca8-bf60-49cda5104c8f/a3f29ee6-3b19-4f22-a75c-2f331d2e1b78"
          (reference "R67") (unit 1)
        )
      )
    )
  )

  (symbol (lib_id "Device:R_Small_US") (at 267.97 121.92 90) (unit 1)
    (in_bom yes) (on_board yes) (dnp no)
    (uuid 77699734-c068-4a87-8906-b3a62fb04a7c)
    (property "Reference" "R68" (at 264.16 123.19 90)
      (effects (font (size 1.27 1.27)))
    )
    (property "Value" "1M" (at 270.51 123.19 90)
      (effects (font (size 1.27 1.27)))
    )
    (property "Footprint" "Resistor_SMD:R_0402_1005Metric" (at 267.97 121.92 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Datasheet" "~" (at 267.97 121.92 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (pin "1" (uuid f53637ed-7167-40ac-87c4-6adb3fc3cc4e))
    (pin "2" (uuid 6b97eb94-b8cb-4058-bf00-ccdb6054b604))
    (instances
      (project "Gonk"
        (path "/691887a2-ef24-4ca8-bf60-49cda5104c8f/a3f29ee6-3b19-4f22-a75c-2f331d2e1b78"
          (reference "R68") (unit 1)
        )
      )
    )
  )

  (symbol (lib_id "Connector:DX07S016JA1R1500") (at 115.57 116.84 0) (unit 1)
    (in_bom yes) (on_board yes) (dnp no) (fields_autoplaced)
    (uuid 7e04378f-9237-4148-b668-cf87b202737d)
    (property "Reference" "JUSB1" (at 115.57 101.6 0)
      (effects (font (size 1.27 1.27)))
    )
    (property "Value" "DX07S016JA1R1500" (at 115.57 104.14 0)
      (effects (font (size 1.27 1.27)))
    )
    (property "Footprint" "Connector_USB:JAE_DX07S016JA1R1500" (at 115.57 116.84 0)
      (effects (font (size 1.27 1.27)) (justify bottom) hide)
    )
    (property "Datasheet" "" (at 115.57 116.84 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "PARTREV" "1" (at 115.57 116.84 0)
      (effects (font (size 1.27 1.27)) (justify bottom) hide)
    )
    (property "MANUFACTURER" "JAE Industry Ltd." (at 115.57 116.84 0)
      (effects (font (size 1.27 1.27)) (justify bottom) hide)
    )
    (property "MAXIMUM_PACKAGE_HEIGHT" "3.31 mm" (at 115.57 116.84 0)
      (effects (font (size 1.27 1.27)) (justify bottom) hide)
    )
    (property "STANDARD" "Manufacturer Recommendations" (at 115.57 116.84 0)
      (effects (font (size 1.27 1.27)) (justify bottom) hide)
    )
    (pin "1" (uuid 475e17e7-9cd2-48e8-a1f5-d25a0893c2bc))
    (pin "10" (uuid 32e28709-5113-470d-908b-c1bd97682bf1))
    (pin "11" (uuid ee33b49b-11a7-4556-bc8d-9cd7c0f7210b))
    (pin "12" (uuid 3d5737cd-991e-4fe7-82cb-f2a19fd22888))
    (pin "2" (uuid 204d5fe4-06df-442e-8cd9-65d3d51871da))
    (pin "3" (uuid 9968eb60-e5d4-4261-b7a0-56503ea2093b))
    (pin "4" (uuid 31ad7770-8079-4c40-b2b0-9aa725eb456d))
    (pin "5" (uuid 44212761-ca9c-4cc4-8750-9133407f5c7e))
    (pin "6" (uuid a638242f-7ea2-4f4b-a488-11ce1d169ef3))
    (pin "7" (uuid 82259e5e-758f-41d6-8343-ef2179f100f3))
    (pin "8" (uuid 96ad9aaf-67db-4bce-8409-655166bc081d))
    (pin "9" (uuid 8f01a865-3794-4ba8-ba13-e25af07eb2c3))
    (pin "S1" (uuid 6e89fd9a-8c58-47f7-874b-22f072b823eb))
    (pin "S2" (uuid 46c3d269-73d4-4b7e-ad59-2353ff439193))
    (pin "S3" (uuid 6abaae49-5a9e-459a-b0c9-1db08a523a9b))
    (pin "S4" (uuid abd580fb-daeb-44b5-af8c-364aa95d8f50))
    (pin "S5" (uuid 66a3cb30-f2d5-406b-831b-305b4bbd55fa))
    (pin "S6" (uuid 9e158b37-3e5f-4c64-ac88-a3159c80bee1))
    (instances
      (project "Gonk"
        (path "/691887a2-ef24-4ca8-bf60-49cda5104c8f/a3f29ee6-3b19-4f22-a75c-2f331d2e1b78"
          (reference "JUSB1") (unit 1)
        )
      )
    )
  )

  (symbol (lib_id "Device:C_Small") (at 135.89 116.84 0) (unit 1)
    (in_bom yes) (on_board yes) (dnp no)
    (uuid 880f0d61-241c-4cde-a1c7-c6fe04c3ed4c)
    (property "Reference" "C69" (at 130.81 116.84 0)
      (effects (font (size 1.27 1.27)))
    )
    (property "Value" "10nF" (at 130.81 119.38 0)
      (effects (font (size 1.27 1.27)))
    )
    (property "Footprint" "Capacitor_SMD:C_0402_1005Metric" (at 135.89 116.84 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Datasheet" "~" (at 135.89 116.84 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (pin "1" (uuid f9bc18c2-2be6-465b-80f9-659e2e92a3b8))
    (pin "2" (uuid 053ad501-89c3-48e5-baeb-0350571f8241))
    (instances
      (project "Gonk"
        (path "/691887a2-ef24-4ca8-bf60-49cda5104c8f/a3f29ee6-3b19-4f22-a75c-2f331d2e1b78"
          (reference "C69") (unit 1)
        )
      )
    )
  )

  (symbol (lib_id "Power_Protection:TPD2E2U06") (at 88.9 138.43 90) (mirror x) (unit 1)
    (in_bom yes) (on_board yes) (dnp no)
    (uuid 8e2730e4-a71d-4713-9199-ddb8f753d42e)
    (property "Reference" "U25" (at 82.55 137.16 90)
      (effects (font (size 1.27 1.27)) (justify left))
    )
    (property "Value" "TPD2E2U06" (at 82.55 139.7 90)
      (effects (font (size 1.27 1.27)) (justify left))
    )
    (property "Footprint" "Package_TO_SOT_SMD:SOT-543" (at 95.25 118.11 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Datasheet" "http://www.ti.com/lit/ds/symlink/tpd2e2u06.pdf" (at 83.82 133.35 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (pin "1" (uuid 419c2756-6237-4617-a84d-585661cc970d))
    (pin "2" (uuid 60db7a65-5915-4d3f-a705-2bd879246cc5))
    (pin "3" (uuid 103b12bb-4aaf-4906-8c7b-5b1d0e1c5052))
    (pin "4" (uuid a248720d-c143-4af0-86c2-c739b5c06647))
    (pin "5" (uuid 8bd84b93-e55f-4ea3-9fac-09ff1470377e))
    (instances
      (project "Gonk"
        (path "/691887a2-ef24-4ca8-bf60-49cda5104c8f/a3f29ee6-3b19-4f22-a75c-2f331d2e1b78"
          (reference "U25") (unit 1)
        )
      )
    )
  )

  (symbol (lib_id "Device:C_Small") (at 316.23 105.41 90) (unit 1)
    (in_bom yes) (on_board yes) (dnp no)
    (uuid 8ee8dcd8-6a9c-464f-bbbb-4f14d71edb5c)
    (property "Reference" "C67" (at 313.69 104.14 90)
      (effects (font (size 1.27 1.27)))
    )
    (property "Value" "0.01uF" (at 316.2364 107.95 90)
      (effects (font (size 1.27 1.27)))
    )
    (property "Footprint" "Capacitor_SMD:C_0402_1005Metric" (at 316.23 105.41 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Datasheet" "~" (at 316.23 105.41 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (pin "1" (uuid 6dd1ca4d-6cf9-419b-92aa-c0a774b779e8))
    (pin "2" (uuid b068db21-17c8-4b3b-8b49-916d4cdfc359))
    (instances
      (project "Gonk"
        (path "/691887a2-ef24-4ca8-bf60-49cda5104c8f/a3f29ee6-3b19-4f22-a75c-2f331d2e1b78"
          (reference "C67") (unit 1)
        )
      )
    )
  )

  (symbol (lib_id "power:PWR_FLAG") (at 368.3 118.11 180) (unit 1)
    (in_bom yes) (on_board yes) (dnp no) (fields_autoplaced)
    (uuid 97b5231b-54f8-40ac-85f9-b5fd9f2bb7d1)
    (property "Reference" "#FLG05" (at 368.3 120.015 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Value" "PWR_FLAG" (at 368.3 121.92 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Footprint" "" (at 368.3 118.11 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Datasheet" "~" (at 368.3 118.11 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (pin "1" (uuid eaa919f8-1c34-4ab5-a913-ee8ec71f88ee))
    (instances
      (project "Gonk"
        (path "/691887a2-ef24-4ca8-bf60-49cda5104c8f/4d6001c4-2b2a-4825-81a1-31148538fb15"
          (reference "#FLG05") (unit 1)
        )
        (path "/691887a2-ef24-4ca8-bf60-49cda5104c8f/a3f29ee6-3b19-4f22-a75c-2f331d2e1b78"
          (reference "#FLG013") (unit 1)
        )
      )
    )
  )

  (symbol (lib_id "Device:R_Small_US") (at 267.97 119.38 90) (unit 1)
    (in_bom yes) (on_board yes) (dnp no)
    (uuid a4b46270-d743-4c79-9f3b-4b9aad78d6fa)
    (property "Reference" "R34" (at 264.16 120.65 90)
      (effects (font (size 1.27 1.27)))
    )
    (property "Value" "1M" (at 270.51 120.65 90)
      (effects (font (size 1.27 1.27)))
    )
    (property "Footprint" "Resistor_SMD:R_0402_1005Metric" (at 267.97 119.38 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Datasheet" "~" (at 267.97 119.38 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (pin "1" (uuid 4d68d986-6d88-4d64-b0e3-1a2261a3d3c8))
    (pin "2" (uuid ab87a939-797a-42af-9ea8-102e4547d2fb))
    (instances
      (project "Gonk"
        (path "/691887a2-ef24-4ca8-bf60-49cda5104c8f/a3f29ee6-3b19-4f22-a75c-2f331d2e1b78"
          (reference "R34") (unit 1)
        )
      )
    )
  )

  (symbol (lib_id "power:GND") (at 248.92 113.03 0) (unit 1)
    (in_bom yes) (on_board yes) (dnp no) (fields_autoplaced)
    (uuid ac4f25f0-a52f-4e7e-a79e-a2d5a61b608c)
    (property "Reference" "#PWR0183" (at 248.92 119.38 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Value" "GND" (at 248.92 118.11 0)
      (effects (font (size 1.27 1.27)))
    )
    (property "Footprint" "" (at 248.92 113.03 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Datasheet" "" (at 248.92 113.03 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (pin "1" (uuid 55404f49-90d8-4bc5-8347-f2bcb7b91062))
    (instances
      (project "Gonk"
        (path "/691887a2-ef24-4ca8-bf60-49cda5104c8f/a3f29ee6-3b19-4f22-a75c-2f331d2e1b78"
          (reference "#PWR0183") (unit 1)
        )
      )
    )
  )

  (symbol (lib_id "Device:C_Small") (at 349.25 104.14 180) (unit 1)
    (in_bom yes) (on_board yes) (dnp no)
    (uuid b4d46613-f9de-4576-8ac4-f59f6d185bd0)
    (property "Reference" "C64" (at 351.79 102.87 0)
      (effects (font (size 1.27 1.27)))
    )
    (property "Value" "22uF" (at 353.06 105.41 0)
      (effects (font (size 1.27 1.27)))
    )
    (property "Footprint" "Capacitor_SMD:C_0402_1005Metric" (at 349.25 104.14 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Datasheet" "~" (at 349.25 104.14 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (pin "1" (uuid 3c5ac2a6-0a9c-4273-8ca7-55e706e79763))
    (pin "2" (uuid 9cff8017-a35e-4efb-841c-9cbf927a26e2))
    (instances
      (project "Gonk"
        (path "/691887a2-ef24-4ca8-bf60-49cda5104c8f/a3f29ee6-3b19-4f22-a75c-2f331d2e1b78"
          (reference "C64") (unit 1)
        )
      )
    )
  )

  (symbol (lib_id "power:GND") (at 62.23 124.46 270) (unit 1)
    (in_bom yes) (on_board yes) (dnp no) (fields_autoplaced)
    (uuid b4e8541c-6312-41c5-a53a-880b77868227)
    (property "Reference" "#PWR099" (at 55.88 124.46 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Value" "GND" (at 58.42 123.825 90)
      (effects (font (size 1.27 1.27)) (justify right))
    )
    (property "Footprint" "" (at 62.23 124.46 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Datasheet" "" (at 62.23 124.46 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (pin "1" (uuid d06e7dea-2c12-4d57-b640-8099c7f89b59))
    (instances
      (project "Gonk"
        (path "/691887a2-ef24-4ca8-bf60-49cda5104c8f/a3f29ee6-3b19-4f22-a75c-2f331d2e1b78"
          (reference "#PWR099") (unit 1)
        )
      )
    )
  )

  (symbol (lib_id "power:VCC_GONK") (at 325.12 167.64 0) (unit 1)
    (in_bom yes) (on_board yes) (dnp no)
    (uuid b9f5f3b1-09a5-492f-a5b4-6d2d2299bebe)
    (property "Reference" "#PWR052" (at 325.12 171.45 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Value" "VCC_GONK" (at 330.2 163.83 0)
      (effects (font (size 1.27 1.27)))
    )
    (property "Footprint" "" (at 325.12 167.64 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Datasheet" "" (at 325.12 167.64 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (pin "1" (uuid ca3f8855-3a7a-4110-a90c-3faace2a7ba9))
    (instances
      (project "Gonk"
        (path "/691887a2-ef24-4ca8-bf60-49cda5104c8f/a3f29ee6-3b19-4f22-a75c-2f331d2e1b78"
          (reference "#PWR052") (unit 1)
        )
      )
    )
  )

  (symbol (lib_id "Device:C_Small") (at 332.74 104.14 180) (unit 1)
    (in_bom yes) (on_board yes) (dnp no)
    (uuid ba0f95fa-263d-4305-89b6-ee84d1448ec5)
    (property "Reference" "C65" (at 335.28 102.87 0)
      (effects (font (size 1.27 1.27)))
    )
    (property "Value" "10uF" (at 335.28 105.41 0)
      (effects (font (size 1.27 1.27)))
    )
    (property "Footprint" "Capacitor_SMD:C_0402_1005Metric" (at 332.74 104.14 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Datasheet" "~" (at 332.74 104.14 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (pin "1" (uuid d4e5142d-7f64-482d-8b35-80d07621ccce))
    (pin "2" (uuid 7e6ec1ea-0c18-4be7-8dfb-c1b45cfc333c))
    (instances
      (project "Gonk"
        (path "/691887a2-ef24-4ca8-bf60-49cda5104c8f/a3f29ee6-3b19-4f22-a75c-2f331d2e1b78"
          (reference "C65") (unit 1)
        )
      )
    )
  )

  (symbol (lib_id "Power_Management:LT3030IFE#TRPBF") (at 275.59 99.06 0) (unit 1)
    (in_bom yes) (on_board yes) (dnp no) (fields_autoplaced)
    (uuid c03a06f4-7329-4089-88eb-6d9ec5e0e804)
    (property "Reference" "IC1" (at 293.37 92.71 0)
      (effects (font (size 1.27 1.27)))
    )
    (property "Value" "LT3030IFE#TRPBF" (at 293.37 95.25 0)
      (effects (font (size 1.27 1.27)))
    )
    (property "Footprint" "Package_TO_SOT_SMD:20-TSSOP" (at 307.34 193.98 0)
      (effects (font (size 1.27 1.27)) (justify left top) hide)
    )
    (property "Datasheet" "https://www.arrow.com/en/products/lt3030ifetrpbf/analog-devices" (at 307.34 293.98 0)
      (effects (font (size 1.27 1.27)) (justify left top) hide)
    )
    (property "Height" "1.2" (at 307.34 493.98 0)
      (effects (font (size 1.27 1.27)) (justify left top) hide)
    )
    (property "Manufacturer_Name" "Analog Devices" (at 307.34 593.98 0)
      (effects (font (size 1.27 1.27)) (justify left top) hide)
    )
    (property "Manufacturer_Part_Number" "LT3030IFE#TRPBF" (at 307.34 693.98 0)
      (effects (font (size 1.27 1.27)) (justify left top) hide)
    )
    (property "Mouser Part Number" "584-LT3030IFE#TRPBF" (at 307.34 793.98 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 307.34 893.98 0)
      (effects (font (size 1.27 1.27)) (justify left top) hide)
    )
    (property "Arrow Part Number" "LT3030IFE#TRPBF" (at 307.34 993.98 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 307.34 1093.98 0)
      (effects (font (size 1.27 1.27)) (justify left top) hide)
    )
    (pin "1" (uuid 6b2aaf9d-90f9-449d-99b8-a7d1d78392d9))
    (pin "10" (uuid fb607276-ad8c-478e-ba56-42824c6cc49a))
    (pin "11" (uuid 04b6435a-e71c-43db-bc0d-508bd97da1ec))
    (pin "12" (uuid 3ba3647a-4e45-474a-bdec-ab4ade1b911d))
    (pin "13" (uuid 7e9d848a-5c6b-4f80-bb7e-b06be8b8c7ac))
    (pin "14" (uuid f3d4de2b-07a3-4325-80c3-be97550bc4bd))
    (pin "15" (uuid b4962abc-9fbc-43c7-832f-eef539b7b5d8))
    (pin "16" (uuid f5ea7f8f-5127-4730-a1e9-ba3723a68377))
    (pin "17" (uuid a8c49587-0512-4f81-8a94-af599241182b))
    (pin "18" (uuid 89283a46-37c0-45b5-844b-bcdde441c825))
    (pin "19" (uuid 89b23a6c-7c5c-49bd-b1da-081149ebf2a0))
    (pin "2" (uuid 4a25e012-c45b-4b42-a6ed-40260f817882))
    (pin "20" (uuid 387b87b1-9692-4d46-a9b9-3a393c7b7620))
    (pin "21" (uuid 886b016a-255c-4152-bff4-81251a6f639c))
    (pin "3" (uuid 874c17f8-727b-497c-b4ab-fb0c47d4de5b))
    (pin "4" (uuid 6121ea8f-c461-43c6-aa6d-3bc9a0abf446))
    (pin "5" (uuid 4e309795-ad90-41fa-896a-586ebc7e8075))
    (pin "6" (uuid 96144d17-68b0-4aee-9f9b-f854405daeaf))
    (pin "7" (uuid 1338aed9-d546-40b5-af3a-bc9b1bad814d))
    (pin "8" (uuid ebd5c0c9-3361-43c4-86f4-8125d2a0f7e0))
    (pin "9" (uuid 9d4b7257-568d-4527-bbdd-5de081774396))
    (instances
      (project "Gonk"
        (path "/691887a2-ef24-4ca8-bf60-49cda5104c8f/a3f29ee6-3b19-4f22-a75c-2f331d2e1b78"
          (reference "IC1") (unit 1)
        )
      )
    )
  )

  (symbol (lib_id "Device:R_Small_US") (at 328.93 110.49 90) (unit 1)
    (in_bom yes) (on_board yes) (dnp no)
    (uuid c2753ddf-5b8f-47ef-a7b9-aece907283b2)
    (property "Reference" "R66" (at 327.66 109.22 90)
      (effects (font (size 1.27 1.27)))
    )
    (property "Value" "210K" (at 327.66 111.76 90)
      (effects (font (size 1.27 1.27)))
    )
    (property "Footprint" "Resistor_SMD:R_0402_1005Metric" (at 328.93 110.49 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Datasheet" "~" (at 328.93 110.49 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (pin "1" (uuid fa6e6b3e-2946-40c7-86ed-fea152973628))
    (pin "2" (uuid a4a3ad42-4d30-4248-a08f-91ef2ea7e956))
    (instances
      (project "Gonk"
        (path "/691887a2-ef24-4ca8-bf60-49cda5104c8f/a3f29ee6-3b19-4f22-a75c-2f331d2e1b78"
          (reference "R66") (unit 1)
        )
      )
    )
  )

  (symbol (lib_id "Device:C_Small") (at 327.66 123.19 180) (unit 1)
    (in_bom yes) (on_board yes) (dnp no)
    (uuid c297016e-23f0-4438-a10e-6d52d06dbbde)
    (property "Reference" "C71" (at 330.2 121.92 0)
      (effects (font (size 1.27 1.27)))
    )
    (property "Value" "4.7uF" (at 330.2 125.73 0)
      (effects (font (size 1.27 1.27)))
    )
    (property "Footprint" "Capacitor_SMD:C_0402_1005Metric" (at 327.66 123.19 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Datasheet" "~" (at 327.66 123.19 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (pin "1" (uuid 83966d60-8ac0-4735-96c8-2e2f9d8bfb16))
    (pin "2" (uuid 0e455540-df50-46fc-9607-4b9f119b6fef))
    (instances
      (project "Gonk"
        (path "/691887a2-ef24-4ca8-bf60-49cda5104c8f/a3f29ee6-3b19-4f22-a75c-2f331d2e1b78"
          (reference "C71") (unit 1)
        )
      )
    )
  )

  (symbol (lib_id "power:VCC_GONK") (at 393.7 97.79 0) (mirror y) (unit 1)
    (in_bom yes) (on_board yes) (dnp no)
    (uuid c71920f4-5925-4434-8187-16850a851af6)
    (property "Reference" "#PWR0218" (at 393.7 101.6 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Value" "VCC_GONK" (at 393.7 92.71 0)
      (effects (font (size 1.27 1.27)))
    )
    (property "Footprint" "" (at 393.7 97.79 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Datasheet" "" (at 393.7 97.79 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (pin "1" (uuid effed72a-8c2a-4c1a-bb35-67da069c9063))
    (instances
      (project "Gonk"
        (path "/691887a2-ef24-4ca8-bf60-49cda5104c8f/21b69060-321a-4fc1-8abd-6e9a05866e26"
          (reference "#PWR0218") (unit 1)
        )
        (path "/691887a2-ef24-4ca8-bf60-49cda5104c8f/f135f645-4330-46f0-9341-9761c31b4e29"
          (reference "#PWR0194") (unit 1)
        )
        (path "/691887a2-ef24-4ca8-bf60-49cda5104c8f/a3f29ee6-3b19-4f22-a75c-2f331d2e1b78"
          (reference "#PWR0179") (unit 1)
        )
      )
    )
  )

  (symbol (lib_id "Device:C_Small") (at 347.98 123.19 180) (unit 1)
    (in_bom yes) (on_board yes) (dnp no)
    (uuid d6a7e6ae-5eeb-4962-af29-8e3f27fde9b0)
    (property "Reference" "C70" (at 350.52 124.46 0)
      (effects (font (size 1.27 1.27)))
    )
    (property "Value" "22uF" (at 350.52 125.73 0)
      (effects (font (size 1.27 1.27)))
    )
    (property "Footprint" "Capacitor_SMD:C_0402_1005Metric" (at 347.98 123.19 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Datasheet" "~" (at 347.98 123.19 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (pin "1" (uuid 8ede22d4-c250-4b37-8512-8ea08f6b6fee))
    (pin "2" (uuid b4b85907-79e9-4613-a472-9faf72743419))
    (instances
      (project "Gonk"
        (path "/691887a2-ef24-4ca8-bf60-49cda5104c8f/a3f29ee6-3b19-4f22-a75c-2f331d2e1b78"
          (reference "C70") (unit 1)
        )
      )
    )
  )

  (symbol (lib_id "Device:R_Small_US") (at 339.09 118.11 90) (unit 1)
    (in_bom yes) (on_board yes) (dnp no)
    (uuid dbb99dd3-e84b-4a46-b381-8635e01884b6)
    (property "Reference" "R49" (at 342.9 119.38 90)
      (effects (font (size 1.27 1.27)))
    )
    (property "Value" "0.1" (at 342.9 116.84 90)
      (effects (font (size 1.27 1.27)))
    )
    (property "Footprint" "Resistor_SMD:R_0603_1608Metric" (at 339.09 118.11 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Datasheet" "~" (at 339.09 118.11 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (pin "1" (uuid 7931793d-2b19-467f-87ab-7b8a6db85fb2))
    (pin "2" (uuid f936261a-1f50-451e-97ef-9973aca4750e))
    (instances
      (project "Gonk"
        (path "/691887a2-ef24-4ca8-bf60-49cda5104c8f/a3f29ee6-3b19-4f22-a75c-2f331d2e1b78"
          (reference "R49") (unit 1)
        )
      )
    )
  )

  (symbol (lib_id "power:VBUS") (at 245.11 99.06 0) (unit 1)
    (in_bom yes) (on_board yes) (dnp no) (fields_autoplaced)
    (uuid e053cfd0-8051-4019-9dc3-829af9155db0)
    (property "Reference" "#PWR0180" (at 245.11 102.87 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Value" "VBUS" (at 245.11 95.25 0)
      (effects (font (size 1.27 1.27)))
    )
    (property "Footprint" "" (at 245.11 99.06 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Datasheet" "" (at 245.11 99.06 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (pin "1" (uuid 29f7bc54-47b3-4691-b302-b8b56aff22db))
    (instances
      (project "Gonk"
        (path "/691887a2-ef24-4ca8-bf60-49cda5104c8f/a3f29ee6-3b19-4f22-a75c-2f331d2e1b78"
          (reference "#PWR0180") (unit 1)
        )
      )
    )
  )

  (symbol (lib_id "power:GND") (at 100.33 139.7 0) (unit 1)
    (in_bom yes) (on_board yes) (dnp no)
    (uuid e85d43aa-a0b7-461c-9bec-7d0cc4a0894f)
    (property "Reference" "#PWR094" (at 100.33 146.05 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Value" "GND" (at 100.33 144.78 0)
      (effects (font (size 1.27 1.27)))
    )
    (property "Footprint" "" (at 100.33 139.7 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Datasheet" "" (at 100.33 139.7 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (pin "1" (uuid 1515c78d-cd3a-4e17-bc03-bcf3e714b5d8))
    (instances
      (project "Gonk"
        (path "/691887a2-ef24-4ca8-bf60-49cda5104c8f/a3f29ee6-3b19-4f22-a75c-2f331d2e1b78"
          (reference "#PWR094") (unit 1)
        )
      )
    )
  )

  (symbol (lib_id "Device:R_Small_US") (at 393.7 127 180) (unit 1)
    (in_bom yes) (on_board yes) (dnp no)
    (uuid ec02ef4e-6e3f-49df-9e3e-2fe5874b91c0)
    (property "Reference" "R79" (at 394.97 130.81 90)
      (effects (font (size 1.27 1.27)))
    )
    (property "Value" "1k" (at 394.97 123.19 90)
      (effects (font (size 1.27 1.27)))
    )
    (property "Footprint" "Resistor_SMD:R_0402_1005Metric" (at 393.7 127 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Datasheet" "~" (at 393.7 127 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (pin "1" (uuid 2d3b4c2d-bab4-4d89-970f-4c2bdfdb0707))
    (pin "2" (uuid 8e7b524e-3709-48c3-a7b2-88502a9b595d))
    (instances
      (project "Gonk"
        (path "/691887a2-ef24-4ca8-bf60-49cda5104c8f/f135f645-4330-46f0-9341-9761c31b4e29"
          (reference "R79") (unit 1)
        )
        (path "/691887a2-ef24-4ca8-bf60-49cda5104c8f/a3f29ee6-3b19-4f22-a75c-2f331d2e1b78"
          (reference "R69") (unit 1)
        )
      )
    )
  )

  (symbol (lib_id "Device:R_Small_US") (at 344.17 99.06 90) (unit 1)
    (in_bom yes) (on_board yes) (dnp no)
    (uuid edcea68f-1c6f-43b6-87c4-5313528cf82d)
    (property "Reference" "R43" (at 341.63 97.79 90)
      (effects (font (size 1.27 1.27)))
    )
    (property "Value" "0.1" (at 346.71 97.79 90)
      (effects (font (size 1.27 1.27)))
    )
    (property "Footprint" "Resistor_SMD:R_0603_1608Metric" (at 344.17 99.06 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Datasheet" "~" (at 344.17 99.06 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (pin "1" (uuid 6cc8fad1-6c2b-41ca-8842-13ee13521338))
    (pin "2" (uuid 81ed4f68-9d41-46c9-9b85-b953e006afda))
    (instances
      (project "Gonk"
        (path "/691887a2-ef24-4ca8-bf60-49cda5104c8f/a3f29ee6-3b19-4f22-a75c-2f331d2e1b78"
          (reference "R43") (unit 1)
        )
      )
    )
  )

  (symbol (lib_id "Diode:ESD401DPYR") (at 135.89 100.33 90) (unit 1)
    (in_bom yes) (on_board yes) (dnp no)
    (uuid ef946a98-114e-43e8-b3b1-31aab8a680b4)
    (property "Reference" "D1" (at 142.24 97.79 90)
      (effects (font (size 1.2 1.2)) (justify left))
    )
    (property "Value" "TPD1E10B06DPYR" (at 154.94 100.33 90)
      (effects (font (size 1.2 1.2)) (justify left))
    )
    (property "Footprint" "DPY0002A" (at 135.89 100.33 0)
      (effects (font (size 1.27 1.27) italic) hide)
    )
    (property "Datasheet" "ESD401DPYR" (at 135.89 100.33 0)
      (effects (font (size 1.27 1.27) italic) hide)
    )
    (pin "1" (uuid 07c3dc36-c54c-4c91-9323-e48810b0362c))
    (pin "2" (uuid 0afe9d90-36f5-4e84-a893-ae50f266e92c))
    (instances
      (project "Gonk"
        (path "/691887a2-ef24-4ca8-bf60-49cda5104c8f/a3f29ee6-3b19-4f22-a75c-2f331d2e1b78"
          (reference "D1") (unit 1)
        )
      )
    )
  )

  (symbol (lib_id "Device:R_Small_US") (at 68.58 111.76 90) (unit 1)
    (in_bom yes) (on_board yes) (dnp no)
    (uuid f80dd0fa-e2a0-45f6-8a17-00c25b194b17)
    (property "Reference" "R64" (at 64.77 113.03 90)
      (effects (font (size 1.27 1.27)))
    )
    (property "Value" "5.1k" (at 71.12 113.03 90)
      (effects (font (size 1.27 1.27)))
    )
    (property "Footprint" "Resistor_SMD:R_0402_1005Metric" (at 68.58 111.76 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Datasheet" "~" (at 68.58 111.76 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (pin "1" (uuid 417c5a77-3513-41c2-aea6-869f183ef658))
    (pin "2" (uuid 737c82e3-5d9d-4e27-882f-9f3e22abf37a))
    (instances
      (project "Gonk"
        (path "/691887a2-ef24-4ca8-bf60-49cda5104c8f/a3f29ee6-3b19-4f22-a75c-2f331d2e1b78"
          (reference "R64") (unit 1)
        )
      )
    )
  )
)
