(kicad_sch (version 20211123) (generator eeschema)

  (uuid 9208ea78-8dde-4b3d-91e9-5755ab5efd9a)

  (paper "A4")

  (title_block
    (title "icE1usb - GPS")
    (date "2020-08-26")
    (rev "1.0")
    (comment 1 "CERN-OHL-S")
    (comment 2 "(C) 2020 Sylvain Munaut")
  )

  (lib_symbols
    (symbol "Device:Battery_Cell" (pin_numbers hide) (pin_names (offset 0) hide) (in_bom yes) (on_board yes)
      (property "Reference" "BT" (id 0) (at 2.54 2.54 0)
        (effects (font (size 1.27 1.27)) (justify left))
      )
      (property "Value" "Battery_Cell" (id 1) (at 2.54 0 0)
        (effects (font (size 1.27 1.27)) (justify left))
      )
      (property "Footprint" "" (id 2) (at 0 1.524 90)
        (effects (font (size 1.27 1.27)) hide)
      )
      (property "Datasheet" "~" (id 3) (at 0 1.524 90)
        (effects (font (size 1.27 1.27)) hide)
      )
      (property "ki_keywords" "battery cell" (id 4) (at 0 0 0)
        (effects (font (size 1.27 1.27)) hide)
      )
      (property "ki_description" "Single-cell battery" (id 5) (at 0 0 0)
        (effects (font (size 1.27 1.27)) hide)
      )
      (symbol "Battery_Cell_0_1"
        (rectangle (start -2.286 1.778) (end 2.286 1.524)
          (stroke (width 0) (type default) (color 0 0 0 0))
          (fill (type outline))
        )
        (rectangle (start -1.5748 1.1938) (end 1.4732 0.6858)
          (stroke (width 0) (type default) (color 0 0 0 0))
          (fill (type outline))
        )
        (polyline
          (pts
            (xy 0 0.762)
            (xy 0 0)
          )
          (stroke (width 0) (type default) (color 0 0 0 0))
          (fill (type none))
        )
        (polyline
          (pts
            (xy 0 1.778)
            (xy 0 2.54)
          )
          (stroke (width 0) (type default) (color 0 0 0 0))
          (fill (type none))
        )
        (polyline
          (pts
            (xy 0.508 3.429)
            (xy 1.524 3.429)
          )
          (stroke (width 0.254) (type default) (color 0 0 0 0))
          (fill (type none))
        )
        (polyline
          (pts
            (xy 1.016 3.937)
            (xy 1.016 2.921)
          )
          (stroke (width 0.254) (type default) (color 0 0 0 0))
          (fill (type none))
        )
      )
      (symbol "Battery_Cell_1_1"
        (pin passive line (at 0 5.08 270) (length 2.54)
          (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.54)
          (name "-" (effects (font (size 1.27 1.27))))
          (number "2" (effects (font (size 1.27 1.27))))
        )
      )
    )
    (symbol "Device:C_Small" (pin_numbers hide) (pin_names (offset 0.254) hide) (in_bom yes) (on_board yes)
      (property "Reference" "C" (id 0) (at 0.254 1.778 0)
        (effects (font (size 1.27 1.27)) (justify left))
      )
      (property "Value" "C_Small" (id 1) (at 0.254 -2.032 0)
        (effects (font (size 1.27 1.27)) (justify left))
      )
      (property "Footprint" "" (id 2) (at 0 0 0)
        (effects (font (size 1.27 1.27)) hide)
      )
      (property "Datasheet" "~" (id 3) (at 0 0 0)
        (effects (font (size 1.27 1.27)) hide)
      )
      (property "ki_keywords" "capacitor cap" (id 4) (at 0 0 0)
        (effects (font (size 1.27 1.27)) hide)
      )
      (property "ki_description" "Unpolarized capacitor, small symbol" (id 5) (at 0 0 0)
        (effects (font (size 1.27 1.27)) hide)
      )
      (property "ki_fp_filters" "C_*" (id 6) (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) (color 0 0 0 0))
          (fill (type none))
        )
        (polyline
          (pts
            (xy -1.524 0.508)
            (xy 1.524 0.508)
          )
          (stroke (width 0.3048) (type default) (color 0 0 0 0))
          (fill (type none))
        )
      )
      (symbol "C_Small_1_1"
        (pin passive line (at 0 2.54 270) (length 2.032)
          (name "~" (effects (font (size 1.27 1.27))))
          (number "1" (effects (font (size 1.27 1.27))))
        )
        (pin passive line (at 0 -2.54 90) (length 2.032)
          (name "~" (effects (font (size 1.27 1.27))))
          (number "2" (effects (font (size 1.27 1.27))))
        )
      )
    )
    (symbol "Device:D_Schottky_Small" (pin_numbers hide) (pin_names (offset 0.254) hide) (in_bom yes) (on_board yes)
      (property "Reference" "D" (id 0) (at -1.27 2.032 0)
        (effects (font (size 1.27 1.27)) (justify left))
      )
      (property "Value" "D_Schottky_Small" (id 1) (at -7.112 -2.032 0)
        (effects (font (size 1.27 1.27)) (justify left))
      )
      (property "Footprint" "" (id 2) (at 0 0 90)
        (effects (font (size 1.27 1.27)) hide)
      )
      (property "Datasheet" "~" (id 3) (at 0 0 90)
        (effects (font (size 1.27 1.27)) hide)
      )
      (property "ki_keywords" "diode Schottky" (id 4) (at 0 0 0)
        (effects (font (size 1.27 1.27)) hide)
      )
      (property "ki_description" "Schottky diode, small symbol" (id 5) (at 0 0 0)
        (effects (font (size 1.27 1.27)) hide)
      )
      (property "ki_fp_filters" "TO-???* *_Diode_* *SingleDiode* D_*" (id 6) (at 0 0 0)
        (effects (font (size 1.27 1.27)) hide)
      )
      (symbol "D_Schottky_Small_0_1"
        (polyline
          (pts
            (xy -0.762 0)
            (xy 0.762 0)
          )
          (stroke (width 0) (type default) (color 0 0 0 0))
          (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) (color 0 0 0 0))
          (fill (type none))
        )
        (polyline
          (pts
            (xy -1.27 0.762)
            (xy -1.27 1.016)
            (xy -0.762 1.016)
            (xy -0.762 -1.016)
            (xy -0.254 -1.016)
            (xy -0.254 -0.762)
          )
          (stroke (width 0.254) (type default) (color 0 0 0 0))
          (fill (type none))
        )
      )
      (symbol "D_Schottky_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:D_TVS" (pin_numbers hide) (pin_names (offset 1.016) hide) (in_bom yes) (on_board yes)
      (property "Reference" "D" (id 0) (at 0 2.54 0)
        (effects (font (size 1.27 1.27)))
      )
      (property "Value" "D_TVS" (id 1) (at 0 -2.54 0)
        (effects (font (size 1.27 1.27)))
      )
      (property "Footprint" "" (id 2) (at 0 0 0)
        (effects (font (size 1.27 1.27)) hide)
      )
      (property "Datasheet" "~" (id 3) (at 0 0 0)
        (effects (font (size 1.27 1.27)) hide)
      )
      (property "ki_keywords" "diode TVS thyrector" (id 4) (at 0 0 0)
        (effects (font (size 1.27 1.27)) hide)
      )
      (property "ki_description" "Bidirectional transient-voltage-suppression diode" (id 5) (at 0 0 0)
        (effects (font (size 1.27 1.27)) hide)
      )
      (property "ki_fp_filters" "TO-???* *_Diode_* *SingleDiode* D_*" (id 6) (at 0 0 0)
        (effects (font (size 1.27 1.27)) hide)
      )
      (symbol "D_TVS_0_1"
        (polyline
          (pts
            (xy 1.27 0)
            (xy -1.27 0)
          )
          (stroke (width 0) (type default) (color 0 0 0 0))
          (fill (type none))
        )
        (polyline
          (pts
            (xy 0.508 1.27)
            (xy 0 1.27)
            (xy 0 -1.27)
            (xy -0.508 -1.27)
          )
          (stroke (width 0.254) (type default) (color 0 0 0 0))
          (fill (type none))
        )
        (polyline
          (pts
            (xy -2.54 1.27)
            (xy -2.54 -1.27)
            (xy 2.54 1.27)
            (xy 2.54 -1.27)
            (xy -2.54 1.27)
          )
          (stroke (width 0.254) (type default) (color 0 0 0 0))
          (fill (type none))
        )
      )
      (symbol "D_TVS_1_1"
        (pin passive line (at -3.81 0 0) (length 2.54)
          (name "A1" (effects (font (size 1.27 1.27))))
          (number "1" (effects (font (size 1.27 1.27))))
        )
        (pin passive line (at 3.81 0 180) (length 2.54)
          (name "A2" (effects (font (size 1.27 1.27))))
          (number "2" (effects (font (size 1.27 1.27))))
        )
      )
    )
    (symbol "Device:Jumper_NC_Small" (pin_numbers hide) (pin_names (offset 0.762) hide) (in_bom yes) (on_board yes)
      (property "Reference" "JP" (id 0) (at 0 2.032 0)
        (effects (font (size 1.27 1.27)))
      )
      (property "Value" "Device_Jumper_NC_Small" (id 1) (at 0.254 -1.524 0)
        (effects (font (size 1.27 1.27)))
      )
      (property "Footprint" "" (id 2) (at 0 0 0)
        (effects (font (size 1.27 1.27)) hide)
      )
      (property "Datasheet" "" (id 3) (at 0 0 0)
        (effects (font (size 1.27 1.27)) hide)
      )
      (property "ki_fp_filters" "SolderJumper*Bridged*" (id 4) (at 0 0 0)
        (effects (font (size 1.27 1.27)) hide)
      )
      (symbol "Jumper_NC_Small_0_1"
        (circle (center -1.016 0) (radius 0.508)
          (stroke (width 0) (type default) (color 0 0 0 0))
          (fill (type none))
        )
        (circle (center 1.016 0) (radius 0.508)
          (stroke (width 0) (type default) (color 0 0 0 0))
          (fill (type none))
        )
        (arc (start 1.016 0.762) (mid 0 1.1828) (end -1.016 0.762)
          (stroke (width 0) (type default) (color 0 0 0 0))
          (fill (type none))
        )
        (pin passive line (at -2.54 0 0) (length 1.016)
          (name "1" (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.016)
          (name "2" (effects (font (size 1.27 1.27))))
          (number "2" (effects (font (size 1.27 1.27))))
        )
      )
    )
    (symbol "Device:L_Small" (pin_numbers hide) (pin_names (offset 0.254) hide) (in_bom yes) (on_board yes)
      (property "Reference" "L" (id 0) (at 0.762 1.016 0)
        (effects (font (size 1.27 1.27)) (justify left))
      )
      (property "Value" "L_Small" (id 1) (at 0.762 -1.016 0)
        (effects (font (size 1.27 1.27)) (justify left))
      )
      (property "Footprint" "" (id 2) (at 0 0 0)
        (effects (font (size 1.27 1.27)) hide)
      )
      (property "Datasheet" "~" (id 3) (at 0 0 0)
        (effects (font (size 1.27 1.27)) hide)
      )
      (property "ki_keywords" "inductor choke coil reactor magnetic" (id 4) (at 0 0 0)
        (effects (font (size 1.27 1.27)) hide)
      )
      (property "ki_description" "Inductor, small symbol" (id 5) (at 0 0 0)
        (effects (font (size 1.27 1.27)) hide)
      )
      (property "ki_fp_filters" "Choke_* *Coil* Inductor_* L_*" (id 6) (at 0 0 0)
        (effects (font (size 1.27 1.27)) hide)
      )
      (symbol "L_Small_0_1"
        (arc (start 0 -2.032) (mid 0.508 -1.524) (end 0 -1.016)
          (stroke (width 0) (type default) (color 0 0 0 0))
          (fill (type none))
        )
        (arc (start 0 -1.016) (mid 0.508 -0.508) (end 0 0)
          (stroke (width 0) (type default) (color 0 0 0 0))
          (fill (type none))
        )
        (arc (start 0 0) (mid 0.508 0.508) (end 0 1.016)
          (stroke (width 0) (type default) (color 0 0 0 0))
          (fill (type none))
        )
        (arc (start 0 1.016) (mid 0.508 1.524) (end 0 2.032)
          (stroke (width 0) (type default) (color 0 0 0 0))
          (fill (type none))
        )
      )
      (symbol "L_Small_1_1"
        (pin passive line (at 0 2.54 270) (length 0.508)
          (name "~" (effects (font (size 1.27 1.27))))
          (number "1" (effects (font (size 1.27 1.27))))
        )
        (pin passive line (at 0 -2.54 90) (length 0.508)
          (name "~" (effects (font (size 1.27 1.27))))
          (number "2" (effects (font (size 1.27 1.27))))
        )
      )
    )
    (symbol "Device:R_Pack04" (pin_names (offset 0) hide) (in_bom yes) (on_board yes)
      (property "Reference" "RN" (id 0) (at -7.62 0 90)
        (effects (font (size 1.27 1.27)))
      )
      (property "Value" "R_Pack04" (id 1) (at 5.08 0 90)
        (effects (font (size 1.27 1.27)))
      )
      (property "Footprint" "" (id 2) (at 6.985 0 90)
        (effects (font (size 1.27 1.27)) hide)
      )
      (property "Datasheet" "~" (id 3) (at 0 0 0)
        (effects (font (size 1.27 1.27)) hide)
      )
      (property "ki_keywords" "R network parallel topology isolated" (id 4) (at 0 0 0)
        (effects (font (size 1.27 1.27)) hide)
      )
      (property "ki_description" "4 resistor network, parallel topology" (id 5) (at 0 0 0)
        (effects (font (size 1.27 1.27)) hide)
      )
      (property "ki_fp_filters" "DIP* SOIC* R*Array*Concave* R*Array*Convex*" (id 6) (at 0 0 0)
        (effects (font (size 1.27 1.27)) hide)
      )
      (symbol "R_Pack04_0_1"
        (rectangle (start -6.35 -2.413) (end 3.81 2.413)
          (stroke (width 0.254) (type default) (color 0 0 0 0))
          (fill (type background))
        )
        (rectangle (start -5.715 1.905) (end -4.445 -1.905)
          (stroke (width 0.254) (type default) (color 0 0 0 0))
          (fill (type none))
        )
        (rectangle (start -3.175 1.905) (end -1.905 -1.905)
          (stroke (width 0.254) (type default) (color 0 0 0 0))
          (fill (type none))
        )
        (rectangle (start -0.635 1.905) (end 0.635 -1.905)
          (stroke (width 0.254) (type default) (color 0 0 0 0))
          (fill (type none))
        )
        (polyline
          (pts
            (xy -5.08 -2.54)
            (xy -5.08 -1.905)
          )
          (stroke (width 0) (type default) (color 0 0 0 0))
          (fill (type none))
        )
        (polyline
          (pts
            (xy -5.08 1.905)
            (xy -5.08 2.54)
          )
          (stroke (width 0) (type default) (color 0 0 0 0))
          (fill (type none))
        )
        (polyline
          (pts
            (xy -2.54 -2.54)
            (xy -2.54 -1.905)
          )
          (stroke (width 0) (type default) (color 0 0 0 0))
          (fill (type none))
        )
        (polyline
          (pts
            (xy -2.54 1.905)
            (xy -2.54 2.54)
          )
          (stroke (width 0) (type default) (color 0 0 0 0))
          (fill (type none))
        )
        (polyline
          (pts
            (xy 0 -2.54)
            (xy 0 -1.905)
          )
          (stroke (width 0) (type default) (color 0 0 0 0))
          (fill (type none))
        )
        (polyline
          (pts
            (xy 0 1.905)
            (xy 0 2.54)
          )
          (stroke (width 0) (type default) (color 0 0 0 0))
          (fill (type none))
        )
        (polyline
          (pts
            (xy 2.54 -2.54)
            (xy 2.54 -1.905)
          )
          (stroke (width 0) (type default) (color 0 0 0 0))
          (fill (type none))
        )
        (polyline
          (pts
            (xy 2.54 1.905)
            (xy 2.54 2.54)
          )
          (stroke (width 0) (type default) (color 0 0 0 0))
          (fill (type none))
        )
        (rectangle (start 1.905 1.905) (end 3.175 -1.905)
          (stroke (width 0.254) (type default) (color 0 0 0 0))
          (fill (type none))
        )
      )
      (symbol "R_Pack04_1_1"
        (pin passive line (at -5.08 -5.08 90) (length 2.54)
          (name "R1.1" (effects (font (size 1.27 1.27))))
          (number "1" (effects (font (size 1.27 1.27))))
        )
        (pin passive line (at -2.54 -5.08 90) (length 2.54)
          (name "R2.1" (effects (font (size 1.27 1.27))))
          (number "2" (effects (font (size 1.27 1.27))))
        )
        (pin passive line (at 0 -5.08 90) (length 2.54)
          (name "R3.1" (effects (font (size 1.27 1.27))))
          (number "3" (effects (font (size 1.27 1.27))))
        )
        (pin passive line (at 2.54 -5.08 90) (length 2.54)
          (name "R4.1" (effects (font (size 1.27 1.27))))
          (number "4" (effects (font (size 1.27 1.27))))
        )
        (pin passive line (at 2.54 5.08 270) (length 2.54)
          (name "R4.2" (effects (font (size 1.27 1.27))))
          (number "5" (effects (font (size 1.27 1.27))))
        )
        (pin passive line (at 0 5.08 270) (length 2.54)
          (name "R3.2" (effects (font (size 1.27 1.27))))
          (number "6" (effects (font (size 1.27 1.27))))
        )
        (pin passive line (at -2.54 5.08 270) (length 2.54)
          (name "R2.2" (effects (font (size 1.27 1.27))))
          (number "7" (effects (font (size 1.27 1.27))))
        )
        (pin passive line (at -5.08 5.08 270) (length 2.54)
          (name "R1.2" (effects (font (size 1.27 1.27))))
          (number "8" (effects (font (size 1.27 1.27))))
        )
      )
    )
    (symbol "Device:R_Small" (pin_numbers hide) (pin_names (offset 0.254) hide) (in_bom yes) (on_board yes)
      (property "Reference" "R" (id 0) (at 0.762 0.508 0)
        (effects (font (size 1.27 1.27)) (justify left))
      )
      (property "Value" "R_Small" (id 1) (at 0.762 -1.016 0)
        (effects (font (size 1.27 1.27)) (justify left))
      )
      (property "Footprint" "" (id 2) (at 0 0 0)
        (effects (font (size 1.27 1.27)) hide)
      )
      (property "Datasheet" "~" (id 3) (at 0 0 0)
        (effects (font (size 1.27 1.27)) hide)
      )
      (property "ki_keywords" "R resistor" (id 4) (at 0 0 0)
        (effects (font (size 1.27 1.27)) hide)
      )
      (property "ki_description" "Resistor, small symbol" (id 5) (at 0 0 0)
        (effects (font (size 1.27 1.27)) hide)
      )
      (property "ki_fp_filters" "R_*" (id 6) (at 0 0 0)
        (effects (font (size 1.27 1.27)) hide)
      )
      (symbol "R_Small_0_1"
        (rectangle (start -0.762 1.778) (end 0.762 -1.778)
          (stroke (width 0.2032) (type default) (color 0 0 0 0))
          (fill (type none))
        )
      )
      (symbol "R_Small_1_1"
        (pin passive line (at 0 2.54 270) (length 0.762)
          (name "~" (effects (font (size 1.27 1.27))))
          (number "1" (effects (font (size 1.27 1.27))))
        )
        (pin passive line (at 0 -2.54 90) (length 0.762)
          (name "~" (effects (font (size 1.27 1.27))))
          (number "2" (effects (font (size 1.27 1.27))))
        )
      )
    )
    (symbol "RF_GPS:MAX-M8W" (in_bom yes) (on_board yes)
      (property "Reference" "U" (id 0) (at -10.16 16.51 0)
        (effects (font (size 1.27 1.27)))
      )
      (property "Value" "MAX-M8W" (id 1) (at 12.7 16.51 0)
        (effects (font (size 1.27 1.27)))
      )
      (property "Footprint" "RF_GPS:ublox_MAX" (id 2) (at 10.16 -16.51 0)
        (effects (font (size 1.27 1.27)) hide)
      )
      (property "Datasheet" "https://www.u-blox.com/sites/default/files/MAX-M8-FW3_DataSheet_%28UBX-15031506%29.pdf" (id 3) (at 0 0 0)
        (effects (font (size 1.27 1.27)) hide)
      )
      (property "ki_keywords" "ublox GPS GNSS module" (id 4) (at 0 0 0)
        (effects (font (size 1.27 1.27)) hide)
      )
      (property "ki_description" "GNSS Module MAX M8, VCC 2.7V to 3.6V" (id 5) (at 0 0 0)
        (effects (font (size 1.27 1.27)) hide)
      )
      (property "ki_fp_filters" "ublox*MAX*" (id 6) (at 0 0 0)
        (effects (font (size 1.27 1.27)) hide)
      )
      (symbol "MAX-M8W_0_1"
        (rectangle (start 12.7 15.24) (end -12.7 -15.24)
          (stroke (width 0.254) (type default) (color 0 0 0 0))
          (fill (type background))
        )
      )
      (symbol "MAX-M8W_1_1"
        (pin power_in line (at 0 -17.78 90) (length 2.54)
          (name "GND" (effects (font (size 1.27 1.27))))
          (number "1" (effects (font (size 1.27 1.27))))
        )
        (pin passive line (at 0 -17.78 90) (length 2.54) hide
          (name "GND" (effects (font (size 1.27 1.27))))
          (number "10" (effects (font (size 1.27 1.27))))
        )
        (pin input line (at 15.24 0 180) (length 2.54)
          (name "RF_IN" (effects (font (size 1.27 1.27))))
          (number "11" (effects (font (size 1.27 1.27))))
        )
        (pin passive line (at 0 -17.78 90) (length 2.54) hide
          (name "GND" (effects (font (size 1.27 1.27))))
          (number "12" (effects (font (size 1.27 1.27))))
        )
        (pin no_connect line (at 12.7 -5.08 180) (length 2.54) hide
          (name "Reserved" (effects (font (size 1.27 1.27))))
          (number "13" (effects (font (size 1.27 1.27))))
        )
        (pin power_out line (at 5.08 17.78 270) (length 2.54)
          (name "VCC_RF" (effects (font (size 1.27 1.27))))
          (number "14" (effects (font (size 1.27 1.27))))
        )
        (pin power_in line (at 2.54 17.78 270) (length 2.54)
          (name "V_ANT" (effects (font (size 1.27 1.27))))
          (number "15" (effects (font (size 1.27 1.27))))
        )
        (pin bidirectional line (at -15.24 2.54 0) (length 2.54)
          (name "SDA" (effects (font (size 1.27 1.27))))
          (number "16" (effects (font (size 1.27 1.27))))
        )
        (pin input line (at -15.24 0 0) (length 2.54)
          (name "SCL" (effects (font (size 1.27 1.27))))
          (number "17" (effects (font (size 1.27 1.27))))
        )
        (pin input line (at -15.24 -7.62 0) (length 2.54)
          (name "~{SAFEBOOT}" (effects (font (size 1.27 1.27))))
          (number "18" (effects (font (size 1.27 1.27))))
        )
        (pin output line (at -15.24 7.62 0) (length 2.54)
          (name "TXD" (effects (font (size 1.27 1.27))))
          (number "2" (effects (font (size 1.27 1.27))))
        )
        (pin input line (at -15.24 10.16 0) (length 2.54)
          (name "RXD" (effects (font (size 1.27 1.27))))
          (number "3" (effects (font (size 1.27 1.27))))
        )
        (pin output line (at 15.24 -7.62 180) (length 2.54)
          (name "TIMEPULSE" (effects (font (size 1.27 1.27))))
          (number "4" (effects (font (size 1.27 1.27))))
        )
        (pin input line (at -15.24 -5.08 0) (length 2.54)
          (name "EXTINT" (effects (font (size 1.27 1.27))))
          (number "5" (effects (font (size 1.27 1.27))))
        )
        (pin power_in line (at 0 17.78 270) (length 2.54)
          (name "V_BCKP" (effects (font (size 1.27 1.27))))
          (number "6" (effects (font (size 1.27 1.27))))
        )
        (pin power_in line (at -2.54 17.78 270) (length 2.54)
          (name "VCC_IO" (effects (font (size 1.27 1.27))))
          (number "7" (effects (font (size 1.27 1.27))))
        )
        (pin power_in line (at -5.08 17.78 270) (length 2.54)
          (name "VCC" (effects (font (size 1.27 1.27))))
          (number "8" (effects (font (size 1.27 1.27))))
        )
        (pin input line (at -15.24 -10.16 0) (length 2.54)
          (name "~{RESET}" (effects (font (size 1.27 1.27))))
          (number "9" (effects (font (size 1.27 1.27))))
        )
      )
    )
    (symbol "power:+3V3" (power) (pin_names (offset 0)) (in_bom yes) (on_board yes)
      (property "Reference" "#PWR" (id 0) (at 0 -3.81 0)
        (effects (font (size 1.27 1.27)) hide)
      )
      (property "Value" "+3V3" (id 1) (at 0 3.556 0)
        (effects (font (size 1.27 1.27)))
      )
      (property "Footprint" "" (id 2) (at 0 0 0)
        (effects (font (size 1.27 1.27)) hide)
      )
      (property "Datasheet" "" (id 3) (at 0 0 0)
        (effects (font (size 1.27 1.27)) hide)
      )
      (property "ki_keywords" "power-flag" (id 4) (at 0 0 0)
        (effects (font (size 1.27 1.27)) hide)
      )
      (property "ki_description" "Power symbol creates a global label with name \"+3V3\"" (id 5) (at 0 0 0)
        (effects (font (size 1.27 1.27)) hide)
      )
      (symbol "+3V3_0_1"
        (polyline
          (pts
            (xy -0.762 1.27)
            (xy 0 2.54)
          )
          (stroke (width 0) (type default) (color 0 0 0 0))
          (fill (type none))
        )
        (polyline
          (pts
            (xy 0 0)
            (xy 0 2.54)
          )
          (stroke (width 0) (type default) (color 0 0 0 0))
          (fill (type none))
        )
        (polyline
          (pts
            (xy 0 2.54)
            (xy 0.762 1.27)
          )
          (stroke (width 0) (type default) (color 0 0 0 0))
          (fill (type none))
        )
      )
      (symbol "+3V3_1_1"
        (pin power_in line (at 0 0 90) (length 0) hide
          (name "+3V3" (effects (font (size 1.27 1.27))))
          (number "1" (effects (font (size 1.27 1.27))))
        )
      )
    )
    (symbol "power:GND" (power) (pin_names (offset 0)) (in_bom yes) (on_board yes)
      (property "Reference" "#PWR" (id 0) (at 0 -6.35 0)
        (effects (font (size 1.27 1.27)) hide)
      )
      (property "Value" "GND" (id 1) (at 0 -3.81 0)
        (effects (font (size 1.27 1.27)))
      )
      (property "Footprint" "" (id 2) (at 0 0 0)
        (effects (font (size 1.27 1.27)) hide)
      )
      (property "Datasheet" "" (id 3) (at 0 0 0)
        (effects (font (size 1.27 1.27)) hide)
      )
      (property "ki_keywords" "power-flag" (id 4) (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" (id 5) (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) (color 0 0 0 0))
          (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" (id 0) (at 0 1.905 0)
        (effects (font (size 1.27 1.27)) hide)
      )
      (property "Value" "PWR_FLAG" (id 1) (at 0 3.81 0)
        (effects (font (size 1.27 1.27)))
      )
      (property "Footprint" "" (id 2) (at 0 0 0)
        (effects (font (size 1.27 1.27)) hide)
      )
      (property "Datasheet" "~" (id 3) (at 0 0 0)
        (effects (font (size 1.27 1.27)) hide)
      )
      (property "ki_keywords" "power-flag" (id 4) (at 0 0 0)
        (effects (font (size 1.27 1.27)) hide)
      )
      (property "ki_description" "Special symbol for telling ERC where power comes from" (id 5) (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) (color 0 0 0 0))
          (fill (type none))
        )
      )
    )
  )

  (junction (at 203.2 99.06) (diameter 0) (color 0 0 0 0)
    (uuid 044de712-d3da-40ed-9c9f-d91ef285c74c)
  )
  (junction (at 119.38 58.42) (diameter 0) (color 0 0 0 0)
    (uuid 0e32af77-726b-4e11-9f99-2e2484ba9e9b)
  )
  (junction (at 71.12 96.52) (diameter 0) (color 0 0 0 0)
    (uuid 0f0f7bb5-ade7-4a81-82b4-43be6a8ad05c)
  )
  (junction (at 106.68 76.2) (diameter 0) (color 0 0 0 0)
    (uuid 178ae27e-edb9-4ffb-bd13-c0a6dd659606)
  )
  (junction (at 96.52 58.42) (diameter 0) (color 0 0 0 0)
    (uuid 3e87b259-dfc1-4885-8dcf-7e7ae39674ed)
  )
  (junction (at 106.68 58.42) (diameter 0) (color 0 0 0 0)
    (uuid 66ca01b3-51ff-4294-9b77-4492e98f6aec)
  )
  (junction (at 96.52 76.2) (diameter 0) (color 0 0 0 0)
    (uuid ae8bb5ae-95ee-4e2d-8a0c-ae5b6149b4e3)
  )
  (junction (at 177.8 88.9) (diameter 0) (color 0 0 0 0)
    (uuid bb5d2eae-a96e-45dd-89aa-125fe22cc2fa)
  )
  (junction (at 50.8 96.52) (diameter 0) (color 0 0 0 0)
    (uuid bd29b6d3-a58c-4b1f-9c20-de4efb708ab2)
  )
  (junction (at 210.82 99.06) (diameter 0) (color 0 0 0 0)
    (uuid c20aea50-e9e4-4978-b938-d613d445aab7)
  )
  (junction (at 111.76 58.42) (diameter 0) (color 0 0 0 0)
    (uuid d32956af-146b-4a09-a053-d9d64b8dd86d)
  )

  (no_connect (at 116.84 101.6) (uuid 58cc7831-f944-4d33-8c61-2fd5bebc61e0))
  (no_connect (at 116.84 104.14) (uuid 9de304ba-fba7-4896-b969-9d87a3522d74))

  (wire (pts (xy 139.7 88.9) (xy 134.62 88.9))
    (stroke (width 0) (type default) (color 0 0 0 0))
    (uuid 000b46d6-b833-4804-8f56-56d539f76d09)
  )
  (wire (pts (xy 119.38 91.44) (xy 124.46 91.44))
    (stroke (width 0) (type default) (color 0 0 0 0))
    (uuid 044dde97-ee2e-473a-9264-ed4dff1893a5)
  )
  (wire (pts (xy 111.76 58.42) (xy 119.38 58.42))
    (stroke (width 0) (type default) (color 0 0 0 0))
    (uuid 06665bf8-cef1-4e75-8d5b-1537b3c1b090)
  )
  (wire (pts (xy 203.2 88.9) (xy 203.2 99.06))
    (stroke (width 0) (type default) (color 0 0 0 0))
    (uuid 0b110cbc-e477-4bdc-9c81-26a3d588d354)
  )
  (wire (pts (xy 177.8 99.06) (xy 182.88 99.06))
    (stroke (width 0) (type default) (color 0 0 0 0))
    (uuid 0c544a8c-9f45-4205-9bca-1d91c95d58ef)
  )
  (wire (pts (xy 106.68 55.88) (xy 106.68 58.42))
    (stroke (width 0) (type default) (color 0 0 0 0))
    (uuid 0fb27e11-fde6-4a25-adbb-e9684771b369)
  )
  (wire (pts (xy 139.7 93.98) (xy 134.62 93.98))
    (stroke (width 0) (type default) (color 0 0 0 0))
    (uuid 113ffcdf-4c54-4e37-81dc-f91efa934ba7)
  )
  (wire (pts (xy 203.2 101.6) (xy 203.2 99.06))
    (stroke (width 0) (type default) (color 0 0 0 0))
    (uuid 1732b93f-cd0e-4ca4-a905-bb406354ca33)
  )
  (wire (pts (xy 101.6 114.3) (xy 101.6 116.84))
    (stroke (width 0) (type default) (color 0 0 0 0))
    (uuid 1cacb878-9da4-41fc-aa80-018bc841e19a)
  )
  (wire (pts (xy 139.7 106.68) (xy 116.84 106.68))
    (stroke (width 0) (type default) (color 0 0 0 0))
    (uuid 2102c637-9f11-48f1-aae6-b4139dc22be2)
  )
  (wire (pts (xy 81.28 104.14) (xy 81.28 127))
    (stroke (width 0) (type default) (color 0 0 0 0))
    (uuid 272c2a78-b5f5-4b61-aed3-ec69e0e92729)
  )
  (wire (pts (xy 119.38 58.42) (xy 119.38 60.96))
    (stroke (width 0) (type default) (color 0 0 0 0))
    (uuid 2ee28fa9-d785-45a1-9a1b-1be02ad8cd0b)
  )
  (wire (pts (xy 203.2 109.22) (xy 203.2 111.76))
    (stroke (width 0) (type default) (color 0 0 0 0))
    (uuid 2f0570b6-86da-47a8-9e56-ce60c431c534)
  )
  (wire (pts (xy 86.36 104.14) (xy 81.28 104.14))
    (stroke (width 0) (type default) (color 0 0 0 0))
    (uuid 3f2a6679-91d7-4b6c-bf5c-c4d5abb2bc44)
  )
  (wire (pts (xy 124.46 93.98) (xy 116.84 93.98))
    (stroke (width 0) (type default) (color 0 0 0 0))
    (uuid 4160bbf7-ffff-4c5c-a647-5ee58ddecf06)
  )
  (wire (pts (xy 50.8 111.76) (xy 50.8 116.84))
    (stroke (width 0) (type default) (color 0 0 0 0))
    (uuid 42ecdba3-f348-4384-8d4b-cd21e56f3613)
  )
  (wire (pts (xy 210.82 99.06) (xy 210.82 104.14))
    (stroke (width 0) (type default) (color 0 0 0 0))
    (uuid 49488c82-6277-4d05-a051-6a9df142c373)
  )
  (wire (pts (xy 101.6 58.42) (xy 101.6 78.74))
    (stroke (width 0) (type default) (color 0 0 0 0))
    (uuid 58126faf-01a4-4f91-8e8c-ca9e47b48048)
  )
  (wire (pts (xy 96.52 55.88) (xy 96.52 58.42))
    (stroke (width 0) (type default) (color 0 0 0 0))
    (uuid 5a33f5a4-a470-4c04-9e2d-532b5f01a5d6)
  )
  (wire (pts (xy 71.12 96.52) (xy 86.36 96.52))
    (stroke (width 0) (type default) (color 0 0 0 0))
    (uuid 5e6153e6-2c19-46de-9a8e-b310a2a07861)
  )
  (wire (pts (xy 116.84 88.9) (xy 119.38 88.9))
    (stroke (width 0) (type default) (color 0 0 0 0))
    (uuid 661ca2ba-bce5-4308-99a6-de333a625515)
  )
  (wire (pts (xy 200.66 88.9) (xy 203.2 88.9))
    (stroke (width 0) (type default) (color 0 0 0 0))
    (uuid 6762c669-2824-49a2-8bd4-3f19091dd75a)
  )
  (wire (pts (xy 127 66.04) (xy 127 68.58))
    (stroke (width 0) (type default) (color 0 0 0 0))
    (uuid 6ae963fb-e34f-4e11-9adf-78839a5b2ef1)
  )
  (wire (pts (xy 210.82 96.52) (xy 210.82 99.06))
    (stroke (width 0) (type default) (color 0 0 0 0))
    (uuid 6b6d35dc-fa1d-46c5-87c0-b0652011059d)
  )
  (wire (pts (xy 198.12 99.06) (xy 203.2 99.06))
    (stroke (width 0) (type default) (color 0 0 0 0))
    (uuid 74012f9c-57f0-452a-9ea1-1e3437e264b8)
  )
  (wire (pts (xy 124.46 96.52) (xy 116.84 96.52))
    (stroke (width 0) (type default) (color 0 0 0 0))
    (uuid 7582a530-a952-46c1-b7eb-75006524ba29)
  )
  (wire (pts (xy 88.9 58.42) (xy 88.9 60.96))
    (stroke (width 0) (type default) (color 0 0 0 0))
    (uuid 7f064424-06a6-4f5b-87d6-1970ae527766)
  )
  (wire (pts (xy 88.9 66.04) (xy 88.9 68.58))
    (stroke (width 0) (type default) (color 0 0 0 0))
    (uuid 82204892-ec79-4d38-a593-52fb9a9b4b87)
  )
  (wire (pts (xy 119.38 58.42) (xy 127 58.42))
    (stroke (width 0) (type default) (color 0 0 0 0))
    (uuid 8a427111-6480-4b0c-b097-d8b6a0ee1819)
  )
  (wire (pts (xy 119.38 88.9) (xy 119.38 91.44))
    (stroke (width 0) (type default) (color 0 0 0 0))
    (uuid 8ae05d37-86b4-45ea-800f-f1f9fb167857)
  )
  (wire (pts (xy 99.06 78.74) (xy 99.06 58.42))
    (stroke (width 0) (type default) (color 0 0 0 0))
    (uuid 8b3ba7fc-20b6-43c4-a020-80151e1caecc)
  )
  (wire (pts (xy 121.92 88.9) (xy 121.92 86.36))
    (stroke (width 0) (type default) (color 0 0 0 0))
    (uuid 93ac15d8-5f91-4361-acff-be4992b93b51)
  )
  (wire (pts (xy 121.92 86.36) (xy 116.84 86.36))
    (stroke (width 0) (type default) (color 0 0 0 0))
    (uuid 96781640-c07e-4eea-a372-067ded96b703)
  )
  (wire (pts (xy 203.2 99.06) (xy 210.82 99.06))
    (stroke (width 0) (type default) (color 0 0 0 0))
    (uuid 9e136ac4-5d28-4814-9ebf-c30c372bc2ec)
  )
  (wire (pts (xy 106.68 58.42) (xy 111.76 58.42))
    (stroke (width 0) (type default) (color 0 0 0 0))
    (uuid 9f969b13-1795-4747-8326-93bdc304ed56)
  )
  (wire (pts (xy 104.14 78.74) (xy 104.14 76.2))
    (stroke (width 0) (type default) (color 0 0 0 0))
    (uuid 9fdca5c2-1fbd-4774-a9c3-8795a40c206d)
  )
  (wire (pts (xy 104.14 76.2) (xy 106.68 76.2))
    (stroke (width 0) (type default) (color 0 0 0 0))
    (uuid a0d52767-051a-423c-a600-928281f27952)
  )
  (wire (pts (xy 50.8 104.14) (xy 50.8 96.52))
    (stroke (width 0) (type default) (color 0 0 0 0))
    (uuid a22bec73-a69c-4ab7-8d8d-f6a6b09f925f)
  )
  (wire (pts (xy 111.76 58.42) (xy 111.76 60.96))
    (stroke (width 0) (type default) (color 0 0 0 0))
    (uuid a239fd1d-dfbb-49fd-b565-8c3de9dcf42b)
  )
  (wire (pts (xy 96.52 58.42) (xy 88.9 58.42))
    (stroke (width 0) (type default) (color 0 0 0 0))
    (uuid a2a0f5cc-b5aa-4e3e-8d85-23bdc2f59aec)
  )
  (wire (pts (xy 81.28 127) (xy 139.7 127))
    (stroke (width 0) (type default) (color 0 0 0 0))
    (uuid a3fab380-991d-404b-95d5-1c209b047b6e)
  )
  (wire (pts (xy 177.8 88.9) (xy 195.58 88.9))
    (stroke (width 0) (type default) (color 0 0 0 0))
    (uuid a9d76dfc-52ba-46de-beb4-dab7b94ee663)
  )
  (wire (pts (xy 38.1 96.52) (xy 50.8 96.52))
    (stroke (width 0) (type default) (color 0 0 0 0))
    (uuid aa23bfe3-454b-4a2b-bfe1-101c747eb84e)
  )
  (wire (pts (xy 106.68 76.2) (xy 106.68 78.74))
    (stroke (width 0) (type default) (color 0 0 0 0))
    (uuid aa8663be-9516-4b07-84d2-4c4d668b8596)
  )
  (wire (pts (xy 50.8 96.52) (xy 71.12 96.52))
    (stroke (width 0) (type default) (color 0 0 0 0))
    (uuid b44c0167-50fe-4c67-94fb-5ce2e6f52544)
  )
  (wire (pts (xy 96.52 58.42) (xy 96.52 60.96))
    (stroke (width 0) (type default) (color 0 0 0 0))
    (uuid b7c09c15-282b-4731-8942-008851172201)
  )
  (wire (pts (xy 71.12 76.2) (xy 71.12 86.36))
    (stroke (width 0) (type default) (color 0 0 0 0))
    (uuid b8c8c7a1-d546-4878-9de9-463ec76dff98)
  )
  (wire (pts (xy 127 58.42) (xy 127 60.96))
    (stroke (width 0) (type default) (color 0 0 0 0))
    (uuid b9d4de74-d246-495d-8b63-12ab2133d6d6)
  )
  (wire (pts (xy 71.12 76.2) (xy 96.52 76.2))
    (stroke (width 0) (type default) (color 0 0 0 0))
    (uuid ba116096-3ccc-4cc8-a185-5325439e4e24)
  )
  (wire (pts (xy 139.7 96.52) (xy 134.62 96.52))
    (stroke (width 0) (type default) (color 0 0 0 0))
    (uuid c7cd39db-931a-4d86-96b8-57e6b39f58f9)
  )
  (wire (pts (xy 71.12 91.44) (xy 71.12 96.52))
    (stroke (width 0) (type default) (color 0 0 0 0))
    (uuid cb1a49ef-0a06-4f40-9008-61d1d1c36198)
  )
  (wire (pts (xy 177.8 88.9) (xy 177.8 99.06))
    (stroke (width 0) (type default) (color 0 0 0 0))
    (uuid cd50b8dc-829d-4a1d-8f2a-6471f378ba87)
  )
  (wire (pts (xy 139.7 91.44) (xy 134.62 91.44))
    (stroke (width 0) (type default) (color 0 0 0 0))
    (uuid ceb12634-32ca-4cbf-9ff5-5e8b53ab18ad)
  )
  (wire (pts (xy 193.04 99.06) (xy 187.96 99.06))
    (stroke (width 0) (type default) (color 0 0 0 0))
    (uuid d1441985-7b63-4bf8-a06d-c70da2e3b78b)
  )
  (wire (pts (xy 119.38 66.04) (xy 119.38 68.58))
    (stroke (width 0) (type default) (color 0 0 0 0))
    (uuid d45d1afe-78e6-4045-862c-b274469da903)
  )
  (wire (pts (xy 177.8 83.82) (xy 177.8 88.9))
    (stroke (width 0) (type default) (color 0 0 0 0))
    (uuid d9cf2d61-3126-40fe-a66d-ae5145f94be8)
  )
  (wire (pts (xy 96.52 76.2) (xy 96.52 78.74))
    (stroke (width 0) (type default) (color 0 0 0 0))
    (uuid da862bae-4511-4bb9-b18d-fa60a2737feb)
  )
  (wire (pts (xy 96.52 76.2) (xy 96.52 66.04))
    (stroke (width 0) (type default) (color 0 0 0 0))
    (uuid dec284d9-246c-4619-8dcc-8f4886f9349e)
  )
  (wire (pts (xy 210.82 109.22) (xy 210.82 111.76))
    (stroke (width 0) (type default) (color 0 0 0 0))
    (uuid df5c9f6b-a62e-44ba-997f-b2cf3279c7d4)
  )
  (wire (pts (xy 210.82 99.06) (xy 226.06 99.06))
    (stroke (width 0) (type default) (color 0 0 0 0))
    (uuid e0d7c1d9-102e-4758-a8b7-ff248f1ce315)
  )
  (wire (pts (xy 111.76 66.04) (xy 111.76 68.58))
    (stroke (width 0) (type default) (color 0 0 0 0))
    (uuid f203116d-f256-4611-a03e-9536bbedaf2f)
  )
  (wire (pts (xy 124.46 88.9) (xy 121.92 88.9))
    (stroke (width 0) (type default) (color 0 0 0 0))
    (uuid f284b1e2-75a4-4a3f-a5f4-6f05f15fb4f5)
  )
  (wire (pts (xy 99.06 58.42) (xy 96.52 58.42))
    (stroke (width 0) (type default) (color 0 0 0 0))
    (uuid fb0b1440-18be-4b5f-b469-b4cfaf66fc53)
  )
  (wire (pts (xy 106.68 58.42) (xy 106.68 76.2))
    (stroke (width 0) (type default) (color 0 0 0 0))
    (uuid fb0bf2a0-d317-42f7-b022-b5e05481f6be)
  )

  (text "For M8W:\n - Place C & R between\n   Vcc_RF and V_ant\n\nFor ATGM336H:\n - Place the bias inductor\n"
    (at 53.34 71.12 0)
    (effects (font (size 1.27 1.27)) (justify left bottom))
    (uuid 31bfc3e7-147b-4531-a0c5-e3a305c1647d)
  )
  (text "Battery and charging circuit\nis DNP by default" (at 210.82 88.9 0)
    (effects (font (size 1.27 1.27)) (justify left bottom))
    (uuid dd2d59b3-ddef-491f-bb57-eb3d3820bdeb)
  )

  (label "vbackup" (at 101.6 58.42 270)
    (effects (font (size 1.27 1.27)) (justify right bottom))
    (uuid 44b926bf-8bdd-4191-846d-2dfabab2cecb)
  )
  (label "vbackup" (at 226.06 99.06 180)
    (effects (font (size 1.27 1.27)) (justify right bottom))
    (uuid e8274862-c966-456a-98d5-9c42f72963c1)
  )

  (hierarchical_label "i2c_sda" (shape bidirectional) (at 139.7 93.98 0)
    (effects (font (size 1.27 1.27)) (justify left))
    (uuid 1de61170-5337-44c5-ba28-bd477db4bff1)
  )
  (hierarchical_label "rx" (shape input) (at 139.7 88.9 0)
    (effects (font (size 1.27 1.27)) (justify left))
    (uuid 2ba25c40-ea42-478e-9150-1d94fa1c8ae9)
  )
  (hierarchical_label "i2c_scl" (shape bidirectional) (at 139.7 96.52 0)
    (effects (font (size 1.27 1.27)) (justify left))
    (uuid 3a1a39fc-8030-4c93-9d9c-d79ba6824099)
  )
  (hierarchical_label "~{reset}" (shape input) (at 139.7 106.68 0)
    (effects (font (size 1.27 1.27)) (justify left))
    (uuid 49b5f540-e128-4e08-bb09-f321f8e64056)
  )
  (hierarchical_label "RF" (shape input) (at 38.1 96.52 180)
    (effects (font (size 1.27 1.27)) (justify right))
    (uuid 4ce9470f-5633-41bf-89ac-74a810939893)
  )
  (hierarchical_label "tx" (shape output) (at 139.7 91.44 0)
    (effects (font (size 1.27 1.27)) (justify left))
    (uuid acb6c3f3-e677-4f35-9fc2-138ba10f33af)
  )
  (hierarchical_label "pps" (shape output) (at 139.7 127 0)
    (effects (font (size 1.27 1.27)) (justify left))
    (uuid dd70858b-2f9a-4b3f-9af5-ead3a9ba57e9)
  )

  (symbol (lib_id "RF_GPS:MAX-M8W") (at 101.6 96.52 0) (mirror y) (unit 1)
    (in_bom yes) (on_board yes)
    (uuid 00000000-0000-0000-0000-00005f27f978)
    (property "Reference" "U8" (id 0) (at 114.3 114.3 0))
    (property "Value" "MAX-M8W" (id 1) (at 111.76 116.84 0))
    (property "Footprint" "s47-misc:ublox_MAX" (id 2) (at 91.44 113.03 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Datasheet" "https://www.u-blox.com/sites/default/files/MAX-M8-FW3_DataSheet_%28UBX-15031506%29.pdf" (id 3) (at 101.6 96.52 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (pin "1" (uuid 5040ef30-252d-4384-8bc4-96ac10d6ddaf))
    (pin "10" (uuid bae45a3d-7f32-4cbd-9262-c37de2623168))
    (pin "11" (uuid 13bd4268-2a8f-422b-b1d2-60d75c072f0d))
    (pin "12" (uuid 370239c0-944a-40e0-89e9-66ade0ad6752))
    (pin "13" (uuid 38bbbd7c-98ff-4baf-a937-f34f05cf4b2e))
    (pin "14" (uuid 737db82e-5893-499e-970e-a70a3ec6f461))
    (pin "15" (uuid 8af229b0-8007-4fae-80a9-e673d7c6e83d))
    (pin "16" (uuid 9651cee1-5992-40d1-b721-c5345fff85c7))
    (pin "17" (uuid 0e1085fc-3623-4600-ac99-711202be1fa6))
    (pin "18" (uuid 85b70eef-69a0-4df4-adbc-e4b63d8aeadd))
    (pin "2" (uuid 9e96a899-2f6f-4da7-a9d3-96d538c5f1c1))
    (pin "3" (uuid af5d65cf-59cd-43d5-bef4-bd0c0e563249))
    (pin "4" (uuid fa15908b-b974-4d08-a66c-21578a348a2c))
    (pin "5" (uuid 0f002426-23d5-470c-820f-9b55f9f15cc9))
    (pin "6" (uuid 2afea3a9-cc0f-4fcd-8dd0-cab1c4c9ae4b))
    (pin "7" (uuid c83e2a77-ffb8-488b-ac3d-41a6aa179753))
    (pin "8" (uuid 80170a41-f74e-4852-8be0-2869b4b01992))
    (pin "9" (uuid dcaac0fc-227f-4c2e-b119-7334f073dba2))
  )

  (symbol (lib_id "power:GND") (at 101.6 116.84 0) (unit 1)
    (in_bom yes) (on_board yes)
    (uuid 00000000-0000-0000-0000-00005f2e5db9)
    (property "Reference" "#PWR046" (id 0) (at 101.6 123.19 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Value" "GND" (id 1) (at 101.727 121.2342 0))
    (property "Footprint" "" (id 2) (at 101.6 116.84 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Datasheet" "" (id 3) (at 101.6 116.84 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (pin "1" (uuid d7923634-2f00-4406-9e1c-061e4e780dff))
  )

  (symbol (lib_id "Device:C_Small") (at 119.38 63.5 0) (unit 1)
    (in_bom yes) (on_board yes)
    (uuid 00000000-0000-0000-0000-00005f3311e6)
    (property "Reference" "C23" (id 0) (at 121.7168 62.3316 0)
      (effects (font (size 1.27 1.27)) (justify left))
    )
    (property "Value" "100n" (id 1) (at 121.7168 64.643 0)
      (effects (font (size 1.27 1.27)) (justify left))
    )
    (property "Footprint" "Capacitor_SMD:C_0603_1608Metric" (id 2) (at 119.38 63.5 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Datasheet" "~" (id 3) (at 119.38 63.5 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (pin "1" (uuid c35ea097-8863-4f19-8493-a0ada4b1152e))
    (pin "2" (uuid acfcc4f8-d781-4932-8684-80ca0f5b3598))
  )

  (symbol (lib_id "Device:L_Small") (at 71.12 88.9 0) (unit 1)
    (in_bom yes) (on_board yes)
    (uuid 00000000-0000-0000-0000-00005f334ba8)
    (property "Reference" "L1" (id 0) (at 72.3392 87.7316 0)
      (effects (font (size 1.27 1.27)) (justify left))
    )
    (property "Value" "47n" (id 1) (at 72.3392 90.043 0)
      (effects (font (size 1.27 1.27)) (justify left))
    )
    (property "Footprint" "Inductor_SMD:L_0402_1005Metric" (id 2) (at 71.12 88.9 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Datasheet" "~" (id 3) (at 71.12 88.9 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "MPN" "Murata LQW15AN47NG00D" (id 4) (at 71.12 88.9 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (pin "1" (uuid 48efb94c-7490-48b7-985d-5d498ebcf74d))
    (pin "2" (uuid acf49abf-c2ea-4082-969e-e8891bb50e05))
  )

  (symbol (lib_id "power:+3V3") (at 106.68 55.88 0) (unit 1)
    (in_bom yes) (on_board yes)
    (uuid 00000000-0000-0000-0000-00005f336762)
    (property "Reference" "#PWR047" (id 0) (at 106.68 59.69 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Value" "+3V3" (id 1) (at 107.061 51.4858 0))
    (property "Footprint" "" (id 2) (at 106.68 55.88 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Datasheet" "" (id 3) (at 106.68 55.88 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (pin "1" (uuid a58f6e64-2d79-44b7-8e23-3ebd100ca49d))
  )

  (symbol (lib_id "Device:C_Small") (at 127 63.5 0) (unit 1)
    (in_bom yes) (on_board yes)
    (uuid 00000000-0000-0000-0000-00005f337095)
    (property "Reference" "C24" (id 0) (at 129.3368 62.3316 0)
      (effects (font (size 1.27 1.27)) (justify left))
    )
    (property "Value" "1u" (id 1) (at 129.3368 64.643 0)
      (effects (font (size 1.27 1.27)) (justify left))
    )
    (property "Footprint" "Capacitor_SMD:C_0603_1608Metric" (id 2) (at 127 63.5 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Datasheet" "~" (id 3) (at 127 63.5 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (pin "1" (uuid f789ca47-6048-4203-ad28-2a8bc0c1569a))
    (pin "2" (uuid a54ebcb3-3ed0-4c3d-a156-7d9771b81fe0))
  )

  (symbol (lib_id "Device:C_Small") (at 111.76 63.5 0) (unit 1)
    (in_bom yes) (on_board yes)
    (uuid 00000000-0000-0000-0000-00005f337e6d)
    (property "Reference" "C22" (id 0) (at 114.0968 62.3316 0)
      (effects (font (size 1.27 1.27)) (justify left))
    )
    (property "Value" "100n" (id 1) (at 114.0968 64.643 0)
      (effects (font (size 1.27 1.27)) (justify left))
    )
    (property "Footprint" "Capacitor_SMD:C_0603_1608Metric" (id 2) (at 111.76 63.5 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Datasheet" "~" (id 3) (at 111.76 63.5 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (pin "1" (uuid 146f4fd7-4757-44d3-8575-04189b30bbbf))
    (pin "2" (uuid 86b49c1c-d84c-4f3d-88b2-5848523b75ce))
  )

  (symbol (lib_id "power:GND") (at 111.76 68.58 0) (unit 1)
    (in_bom yes) (on_board yes)
    (uuid 00000000-0000-0000-0000-00005f33d588)
    (property "Reference" "#PWR048" (id 0) (at 111.76 74.93 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Value" "GND" (id 1) (at 111.887 72.9742 0))
    (property "Footprint" "" (id 2) (at 111.76 68.58 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Datasheet" "" (id 3) (at 111.76 68.58 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (pin "1" (uuid 475ba1d4-e566-4462-9b90-e2c92c9c5703))
  )

  (symbol (lib_id "power:GND") (at 119.38 68.58 0) (unit 1)
    (in_bom yes) (on_board yes)
    (uuid 00000000-0000-0000-0000-00005f33dc6f)
    (property "Reference" "#PWR049" (id 0) (at 119.38 74.93 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Value" "GND" (id 1) (at 119.507 72.9742 0))
    (property "Footprint" "" (id 2) (at 119.38 68.58 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Datasheet" "" (id 3) (at 119.38 68.58 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (pin "1" (uuid 15f75413-0991-4d8d-9545-021705c2e782))
  )

  (symbol (lib_id "power:GND") (at 127 68.58 0) (unit 1)
    (in_bom yes) (on_board yes)
    (uuid 00000000-0000-0000-0000-00005f33dd47)
    (property "Reference" "#PWR050" (id 0) (at 127 74.93 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Value" "GND" (id 1) (at 127.127 72.9742 0))
    (property "Footprint" "" (id 2) (at 127 68.58 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Datasheet" "" (id 3) (at 127 68.58 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (pin "1" (uuid 20967443-c0d0-4005-a11d-1b9953d67c71))
  )

  (symbol (lib_id "Device:R_Small") (at 96.52 63.5 0) (mirror y) (unit 1)
    (in_bom yes) (on_board yes)
    (uuid 00000000-0000-0000-0000-00005f33f9b7)
    (property "Reference" "R18" (id 0) (at 95.0214 61.1886 0)
      (effects (font (size 1.27 1.27)) (justify left))
    )
    (property "Value" "10R" (id 1) (at 95.0214 63.5 0)
      (effects (font (size 1.27 1.27)) (justify left))
    )
    (property "Footprint" "Resistor_SMD:R_0603_1608Metric" (id 2) (at 96.52 63.5 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Datasheet" "~" (id 3) (at 96.52 63.5 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "DNP" "DNP" (id 4) (at 95.0214 65.8114 0)
      (effects (font (size 1.27 1.27)) (justify left))
    )
    (pin "1" (uuid b1a1d043-8de6-4e51-948c-18eab29072e6))
    (pin "2" (uuid ab866081-8f8b-49e6-ab59-50933150a879))
  )

  (symbol (lib_id "Device:C_Small") (at 88.9 63.5 0) (mirror x) (unit 1)
    (in_bom yes) (on_board yes)
    (uuid 00000000-0000-0000-0000-00005f33febe)
    (property "Reference" "C21" (id 0) (at 86.5632 61.1886 0)
      (effects (font (size 1.27 1.27)) (justify right))
    )
    (property "Value" "100n" (id 1) (at 86.5632 63.5 0)
      (effects (font (size 1.27 1.27)) (justify right))
    )
    (property "Footprint" "Capacitor_SMD:C_0603_1608Metric" (id 2) (at 88.9 63.5 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Datasheet" "~" (id 3) (at 88.9 63.5 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "DNP" "DNP" (id 4) (at 86.5632 65.8114 0)
      (effects (font (size 1.27 1.27)) (justify right))
    )
    (pin "1" (uuid f979bc82-3082-4517-88a6-6349f2cec19f))
    (pin "2" (uuid 37a1b69b-8bd0-4989-8b0a-8868e66416a5))
  )

  (symbol (lib_id "power:GND") (at 88.9 68.58 0) (unit 1)
    (in_bom yes) (on_board yes)
    (uuid 00000000-0000-0000-0000-00005f341049)
    (property "Reference" "#PWR045" (id 0) (at 88.9 74.93 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Value" "GND" (id 1) (at 89.027 72.9742 0))
    (property "Footprint" "" (id 2) (at 88.9 68.58 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Datasheet" "" (id 3) (at 88.9 68.58 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (pin "1" (uuid 44c00fa4-dc0b-4998-93c1-da39a1de6f16))
  )

  (symbol (lib_id "Device:Battery_Cell") (at 203.2 106.68 0) (unit 1)
    (in_bom yes) (on_board yes)
    (uuid 00000000-0000-0000-0000-00005f34dae6)
    (property "Reference" "BT1" (id 0) (at 200.2282 103.0986 0)
      (effects (font (size 1.27 1.27)) (justify right))
    )
    (property "Value" "VL-1220/VCN" (id 1) (at 200.2282 105.41 0)
      (effects (font (size 1.27 1.27)) (justify right))
    )
    (property "Footprint" "Battery:Battery_Panasonic_CR1220-VCN_Vertical_CircularHoles" (id 2) (at 203.2 105.156 90)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Datasheet" "~" (id 3) (at 203.2 105.156 90)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "DNP" "DNP" (id 4) (at 200.2282 107.7214 0)
      (effects (font (size 1.27 1.27)) (justify right))
    )
    (pin "1" (uuid d635ea2d-0a31-4cf8-beb1-0389dc1a64b5))
    (pin "2" (uuid c5108b27-4664-44a0-abe5-99af90144916))
  )

  (symbol (lib_id "power:GND") (at 203.2 111.76 0) (unit 1)
    (in_bom yes) (on_board yes)
    (uuid 00000000-0000-0000-0000-00005f34e154)
    (property "Reference" "#PWR052" (id 0) (at 203.2 118.11 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Value" "GND" (id 1) (at 203.327 116.1542 0))
    (property "Footprint" "" (id 2) (at 203.2 111.76 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Datasheet" "" (id 3) (at 203.2 111.76 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (pin "1" (uuid b5b58b53-4f37-4f40-8183-c723ec730730))
  )

  (symbol (lib_id "Device:Jumper_NC_Small") (at 198.12 88.9 0) (unit 1)
    (in_bom yes) (on_board yes)
    (uuid 00000000-0000-0000-0000-00005f34e744)
    (property "Reference" "JP1" (id 0) (at 198.12 83.5152 0))
    (property "Value" "BatBypass" (id 1) (at 198.12 85.8266 0))
    (property "Footprint" "s47-misc:J_NC_0603_30" (id 2) (at 198.12 88.9 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Datasheet" "~" (id 3) (at 198.12 88.9 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (pin "1" (uuid 71a87ef8-39c3-4769-8c72-4106195c39c8))
    (pin "2" (uuid 4833198f-8bb7-4bc0-8a74-d0a4517b2fd0))
  )

  (symbol (lib_id "power:+3V3") (at 177.8 83.82 0) (unit 1)
    (in_bom yes) (on_board yes)
    (uuid 00000000-0000-0000-0000-00005f35197e)
    (property "Reference" "#PWR051" (id 0) (at 177.8 87.63 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Value" "+3V3" (id 1) (at 178.181 79.4258 0))
    (property "Footprint" "" (id 2) (at 177.8 83.82 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Datasheet" "" (id 3) (at 177.8 83.82 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (pin "1" (uuid 01d4768a-c5f0-4542-bd92-26cb35851f40))
  )

  (symbol (lib_id "Device:C_Small") (at 210.82 106.68 0) (unit 1)
    (in_bom yes) (on_board yes)
    (uuid 00000000-0000-0000-0000-00005f3521e0)
    (property "Reference" "C25" (id 0) (at 213.1568 105.5116 0)
      (effects (font (size 1.27 1.27)) (justify left))
    )
    (property "Value" "100n" (id 1) (at 213.1568 107.823 0)
      (effects (font (size 1.27 1.27)) (justify left))
    )
    (property "Footprint" "Capacitor_SMD:C_0603_1608Metric" (id 2) (at 210.82 106.68 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Datasheet" "~" (id 3) (at 210.82 106.68 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (pin "1" (uuid c299c54f-55f3-4efd-9bfc-9067ea5b8443))
    (pin "2" (uuid e4aeed4d-9f68-40be-a729-5a5067b63aa9))
  )

  (symbol (lib_id "power:GND") (at 210.82 111.76 0) (unit 1)
    (in_bom yes) (on_board yes)
    (uuid 00000000-0000-0000-0000-00005f353c3f)
    (property "Reference" "#PWR053" (id 0) (at 210.82 118.11 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Value" "GND" (id 1) (at 210.947 116.1542 0))
    (property "Footprint" "" (id 2) (at 210.82 111.76 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Datasheet" "" (id 3) (at 210.82 111.76 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (pin "1" (uuid d309d839-7ef8-4251-9a1f-6e44e2d03c59))
  )

  (symbol (lib_id "Device:R_Small") (at 195.58 99.06 90) (mirror x) (unit 1)
    (in_bom yes) (on_board yes)
    (uuid 00000000-0000-0000-0000-00005f357044)
    (property "Reference" "R19" (id 0) (at 195.58 91.7956 90))
    (property "Value" "330R" (id 1) (at 195.58 94.107 90))
    (property "Footprint" "Resistor_SMD:R_0603_1608Metric" (id 2) (at 195.58 99.06 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Datasheet" "~" (id 3) (at 195.58 99.06 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "DNP" "DNP" (id 4) (at 195.58 96.4184 90))
    (pin "1" (uuid 3efc1268-dbc7-4bf3-9742-49add15a4cec))
    (pin "2" (uuid b49dd2bf-3e43-424a-9354-842b2185b33a))
  )

  (symbol (lib_id "Device:D_Schottky_Small") (at 185.42 99.06 180) (unit 1)
    (in_bom yes) (on_board yes)
    (uuid 00000000-0000-0000-0000-00005f35aa23)
    (property "Reference" "D4" (id 0) (at 185.42 91.567 0))
    (property "Value" "SDM02U30LP3" (id 1) (at 185.42 93.8784 0))
    (property "Footprint" "Diode_SMD:D_0603_1608Metric" (id 2) (at 185.42 99.06 90)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Datasheet" "~" (id 3) (at 185.42 99.06 90)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "DNP" "DNP" (id 4) (at 185.42 96.1898 0))
    (pin "1" (uuid 4b586d29-e256-40ab-97c7-b27c1153e996))
    (pin "2" (uuid e81baf3a-e4d1-46c5-8de2-c1f850a6b1d6))
  )

  (symbol (lib_id "Device:D_TVS") (at 50.8 107.95 270) (unit 1)
    (in_bom yes) (on_board yes)
    (uuid 00000000-0000-0000-0000-00005f37b3c0)
    (property "Reference" "D3" (id 0) (at 52.8066 106.7816 90)
      (effects (font (size 1.27 1.27)) (justify left))
    )
    (property "Value" "PESD0402-140" (id 1) (at 52.8066 109.093 90)
      (effects (font (size 1.27 1.27)) (justify left))
    )
    (property "Footprint" "Diode_SMD:D_0402_1005Metric" (id 2) (at 50.8 107.95 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Datasheet" "~" (id 3) (at 50.8 107.95 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "MPN" "Little Fuse PESD0402-140" (id 4) (at 50.8 107.95 90)
      (effects (font (size 1.27 1.27)) hide)
    )
    (pin "1" (uuid 682cebf1-e263-4542-a89c-dec0bdec1828))
    (pin "2" (uuid 2775403a-8d7e-457c-8559-f9a5db3a5326))
  )

  (symbol (lib_id "power:GND") (at 50.8 116.84 0) (unit 1)
    (in_bom yes) (on_board yes)
    (uuid 00000000-0000-0000-0000-00005f37bb33)
    (property "Reference" "#PWR044" (id 0) (at 50.8 123.19 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Value" "GND" (id 1) (at 50.927 121.2342 0))
    (property "Footprint" "" (id 2) (at 50.8 116.84 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Datasheet" "" (id 3) (at 50.8 116.84 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (pin "1" (uuid 5b27c48b-ac49-4803-80e5-5aca426e620e))
  )

  (symbol (lib_id "power:PWR_FLAG") (at 210.82 96.52 0) (unit 1)
    (in_bom yes) (on_board yes)
    (uuid 00000000-0000-0000-0000-00005f6d51cd)
    (property "Reference" "#FLG03" (id 0) (at 210.82 94.615 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Value" "PWR_FLAG" (id 1) (at 210.82 92.1258 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Footprint" "" (id 2) (at 210.82 96.52 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Datasheet" "~" (id 3) (at 210.82 96.52 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (pin "1" (uuid bcb6b86d-b107-4aa4-8ba8-3af9b12c95e3))
  )

  (symbol (lib_id "power:PWR_FLAG") (at 96.52 55.88 0) (unit 1)
    (in_bom yes) (on_board yes)
    (uuid 00000000-0000-0000-0000-00005f6da120)
    (property "Reference" "#FLG02" (id 0) (at 96.52 53.975 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Value" "PWR_FLAG" (id 1) (at 96.52 51.4858 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Footprint" "" (id 2) (at 96.52 55.88 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Datasheet" "~" (id 3) (at 96.52 55.88 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (pin "1" (uuid 5b2dcb54-03fe-4563-92da-b895ace3f0ea))
  )

  (symbol (lib_id "Device:R_Pack04") (at 129.54 93.98 270) (unit 1)
    (in_bom yes) (on_board yes)
    (uuid 00000000-0000-0000-0000-00005f77d81a)
    (property "Reference" "RN6" (id 0) (at 129.54 83.3882 90))
    (property "Value" "33R" (id 1) (at 129.54 85.6996 90))
    (property "Footprint" "Resistor_SMD:R_Array_Convex_4x0603" (id 2) (at 129.54 100.965 90)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Datasheet" "~" (id 3) (at 129.54 93.98 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (pin "1" (uuid 70eba86b-3384-4227-b301-03f0262196f0))
    (pin "2" (uuid e3b41366-26e9-4258-8352-a323c0493920))
    (pin "3" (uuid 41058c10-70cc-434c-9dba-462c5a70c0a0))
    (pin "4" (uuid d3a19325-da52-4d3b-90a6-aec3569f51dd))
    (pin "5" (uuid e1011013-62a3-47d2-9a4f-ee5ec3ce63cf))
    (pin "6" (uuid 71c39310-8686-4d5f-aeac-addc4e636f5e))
    (pin "7" (uuid d3af1df9-d358-447e-bd12-0c6cc62c12ed))
    (pin "8" (uuid 5d305c1e-ec21-477a-8dad-4713fe2a3ca2))
  )
)
