(kicad_pcb (version 20240108) (generator "iemi_athleticsone_board") (generator_version "1")
  (general (thickness 1.0) (legacy_teardrops no))
  (paper "A2")
  (title_block (title "AthleticsOne finish-post board rev A") (date "2026-11-03") (rev "A") (company "IEMI Labs") (comment 1 "Unfolded post board (base, riser, brain 8-layer HDI, radio section, camera head, top) and the starter-unit board"))
  (layers (0 "F.Cu" signal) (31 "B.Cu" signal) (32 "B.Adhes" user "B.Adhesive") (33 "F.Adhes" user "F.Adhesive") (34 "B.Paste" user) (35 "F.Paste" user)
    (36 "B.SilkS" user "B.Silkscreen") (37 "F.SilkS" user "F.Silkscreen") (38 "B.Mask" user) (39 "F.Mask" user) (40 "Dwgs.User" user "User.Drawings")
    (41 "Cmts.User" user "User.Comments") (44 "Edge.Cuts" user) (45 "Margin" user) (46 "B.CrtYd" user "B.Courtyard") (47 "F.CrtYd" user "F.Courtyard")
    (48 "B.Fab" user) (49 "F.Fab" user))
  (setup (pad_to_mask_clearance 0))
  (net 0 "")
  (gr_poly (pts (xy -59 -979) (xy -35 -979) (xy -35 -640) (xy -10 -640) (xy -10 -500) (xy -35 -500) (xy -35 -380) (xy -10 -380) (xy -10 10) (xy -50 10) (xy -50 192) (xy 50 192) (xy 50 10) (xy 44 10) (xy 44 -90) (xy 50 -90) (xy 50 -106) (xy 22 -106) (xy 22 -90) (xy 28 -90) (xy 28 10) (xy 10 10) (xy 10 -380) (xy 35 -380) (xy 35 -500) (xy 10 -500) (xy 10 -640) (xy 35 -640) (xy 35 -1040) (xy 8 -1040) (xy 8 -1288) (xy 12 -1288) (xy 12 -1312) (xy 6 -1312) (xy 6 -1340) (xy 30 -1340) (xy 30 -1392) (xy -30 -1392) (xy -30 -1340) (xy -6 -1340) (xy -6 -1312) (xy -12 -1312) (xy -12 -1288) (xy -8 -1288) (xy -8 -1040) (xy -35 -1040) (xy -35 -991) (xy -59 -991)) (stroke (width 0.1) (type solid)) (fill none) (layer "Edge.Cuts"))
  (gr_poly (pts (xy 80 192) (xy 160 192) (xy 160 142) (xy 80 142)) (stroke (width 0.1) (type solid)) (fill none) (layer "Edge.Cuts"))
  (gr_rect (start 28 10) (end 44 -90) (stroke (width 0.1) (type dash)) (fill none) (layer "Cmts.User"))
  (gr_text "cflex: flex, 2 layers" (at 36 -40 90) (layer "Cmts.User") (effects (font (size 1 1) (thickness 0.15))))
  (gr_rect (start -10 10) (end 10 -380) (stroke (width 0.1) (type dash)) (fill none) (layer "Cmts.User"))
  (gr_text "riser: flex, 2 layers" (at 0 -185 90) (layer "Cmts.User") (effects (font (size 1 1) (thickness 0.15))))
  (gr_rect (start -10 -500) (end 10 -640) (stroke (width 0.1) (type dash)) (fill none) (layer "Cmts.User"))
  (gr_text "link: flex, 2 layers" (at 0 -570 90) (layer "Cmts.User") (effects (font (size 1 1) (thickness 0.15))))
  (gr_rect (start -51 -979) (end -35 -991) (stroke (width 0.1) (type dash)) (fill none) (layer "Cmts.User"))
  (gr_text "micflex: flex, 2 layers" (at -43 -985 90) (layer "Cmts.User") (effects (font (size 1 1) (thickness 0.15))))
  (gr_rect (start -8 -1040) (end 8 -1288) (stroke (width 0.1) (type dash)) (fill none) (layer "Cmts.User"))
  (gr_text "upper: flex, 2 layers" (at 0 -1164 90) (layer "Cmts.User") (effects (font (size 1 1) (thickness 0.15))))
  (gr_rect (start -6 -1312) (end 6 -1340) (stroke (width 0.1) (type dash)) (fill none) (layer "Cmts.User"))
  (gr_text "topflex: flex, 2 layers" (at 0 -1326 90) (layer "Cmts.User") (effects (font (size 1 1) (thickness 0.15))))
  (footprint "U30_3x3" (layer "F.Cu") (at -20 150)
    (property "Reference" "U30" (at 0 0 0) (layer "F.Fab") (effects (font (size 0.8 0.8) (thickness 0.12))))
    (property "Value" "TI BQ24074 1-cell Li-ion charger, 1.5 A, power path, VQFN-16" (at 0 2.3 0) (layer "F.Fab") hide (effects (font (size 0.5 0.5) (thickness 0.08))))
    (fp_rect (start -1.5 -1.5) (end 1.5 1.5) (stroke (width 0.05) (type solid)) (fill none) (layer "F.CrtYd"))
    (fp_rect (start -1.5 -1.5) (end 1.5 1.5) (stroke (width 0.12) (type solid)) (fill none) (layer "F.SilkS"))
    (attr board_only exclude_from_pos_files exclude_from_bom)
  )
  (footprint "U31_6x4" (layer "F.Cu") (at -20 140)
    (property "Reference" "U31" (at 0 0 0) (layer "F.SilkS") (effects (font (size 0.8 0.8) (thickness 0.12))))
    (property "Value" "1-cell Li-ion protector (TI BQ2970 class) + dual FET" (at 0 2.8 0) (layer "F.Fab") hide (effects (font (size 0.5 0.5) (thickness 0.08))))
    (fp_rect (start -3 -2) (end 3 2) (stroke (width 0.05) (type solid)) (fill none) (layer "F.CrtYd"))
    (fp_rect (start -3 -2) (end 3 2) (stroke (width 0.12) (type solid)) (fill none) (layer "F.SilkS"))
    (attr board_only exclude_from_pos_files exclude_from_bom)
  )
  (footprint "U32_3x3" (layer "F.Cu") (at -8 150)
    (property "Reference" "U32" (at 0 0 0) (layer "F.Fab") (effects (font (size 0.8 0.8) (thickness 0.12))))
    (property "Value" "Battery gauge, coulomb counting (MAX17260 class)" (at 0 2.3 0) (layer "F.Fab") hide (effects (font (size 0.5 0.5) (thickness 0.08))))
    (fp_rect (start -1.5 -1.5) (end 1.5 1.5) (stroke (width 0.05) (type solid)) (fill none) (layer "F.CrtYd"))
    (fp_rect (start -1.5 -1.5) (end 1.5 1.5) (stroke (width 0.12) (type solid)) (fill none) (layer "F.SilkS"))
    (attr board_only exclude_from_pos_files exclude_from_bom)
  )
  (footprint "U33_6x4" (layer "F.Cu") (at -8 170)
    (property "Reference" "U33" (at 0 0 0) (layer "F.SilkS") (effects (font (size 0.8 0.8) (thickness 0.12))))
    (property "Value" "Charge input: 20 V TVS, reverse protection, fuse" (at 0 2.8 0) (layer "F.Fab") hide (effects (font (size 0.5 0.5) (thickness 0.08))))
    (fp_rect (start -3 -2) (end 3 2) (stroke (width 0.05) (type solid)) (fill none) (layer "F.CrtYd"))
    (fp_rect (start -3 -2) (end 3 2) (stroke (width 0.12) (type solid)) (fill none) (layer "F.SilkS"))
    (attr board_only exclude_from_pos_files exclude_from_bom)
  )
  (footprint "U34_6x5" (layer "F.Cu") (at 10 150)
    (property "Reference" "U34" (at 0 0 0) (layer "F.SilkS") (effects (font (size 0.8 0.8) (thickness 0.12))))
    (property "Value" "TI TPS61023 boost, cells to 5 V (lamp LEDs, sounder) + inductor" (at 0 3.3 0) (layer "F.Fab") hide (effects (font (size 0.5 0.5) (thickness 0.08))))
    (fp_rect (start -3 -2.5) (end 3 2.5) (stroke (width 0.05) (type solid)) (fill none) (layer "F.CrtYd"))
    (fp_rect (start -3 -2.5) (end 3 2.5) (stroke (width 0.12) (type solid)) (fill none) (layer "F.SilkS"))
    (attr board_only exclude_from_pos_files exclude_from_bom)
  )
  (footprint "U35_3x3" (layer "F.Cu") (at 10 140)
    (property "Reference" "U35" (at 0 0 0) (layer "F.Fab") (effects (font (size 0.8 0.8) (thickness 0.12))))
    (property "Value" "Load switch: the V1 core is on only while a race is armed (S1 controls it)" (at 0 2.3 0) (layer "F.Fab") hide (effects (font (size 0.5 0.5) (thickness 0.08))))
    (fp_rect (start -1.5 -1.5) (end 1.5 1.5) (stroke (width 0.05) (type solid)) (fill none) (layer "F.CrtYd"))
    (fp_rect (start -1.5 -1.5) (end 1.5 1.5) (stroke (width 0.12) (type solid)) (fill none) (layer "F.SilkS"))
    (attr board_only exclude_from_pos_files exclude_from_bom)
  )
  (footprint "J1_10x12" (layer "F.Cu") (at 0 185.5)
    (property "Reference" "J1" (at 0 0 0) (layer "F.SilkS") (effects (font (size 0.8 0.8) (thickness 0.12))))
    (property "Value" "M8 3-pin A-coded female PCB socket, rear mount through the base end wall (screw-locked charge lead)" (at 0 6.8 0) (layer "F.Fab") hide (effects (font (size 0.5 0.5) (thickness 0.08))))
    (fp_rect (start -5 -6) (end 5 6) (stroke (width 0.05) (type solid)) (fill none) (layer "F.CrtYd"))
    (fp_rect (start -5 -6) (end 5 6) (stroke (width 0.12) (type solid)) (fill none) (layer "F.SilkS"))
    (attr board_only exclude_from_pos_files exclude_from_bom)
  )
  (footprint "J4_12x6" (layer "F.Cu") (at 0 118)
    (property "Reference" "J4" (at 0 0 0) (layer "F.SilkS") (effects (font (size 0.8 0.8) (thickness 0.12))))
    (property "Value" "Two sealed brass feedthrough pins through the base top to the dock pads (charge + / −)" (at 0 3.8 0) (layer "F.Fab") hide (effects (font (size 0.5 0.5) (thickness 0.08))))
    (fp_rect (start -6 -3) (end 6 3) (stroke (width 0.05) (type solid)) (fill none) (layer "F.CrtYd"))
    (fp_rect (start -6 -3) (end 6 3) (stroke (width 0.12) (type solid)) (fill none) (layer "F.SilkS"))
    (attr board_only exclude_from_pos_files exclude_from_bom)
  )
  (footprint "RS1_6.3x3.2" (layer "F.Cu") (at -20 125)
    (property "Reference" "RS1" (at 0 0 0) (layer "F.SilkS") (effects (font (size 0.8 0.8) (thickness 0.12))))
    (property "Value" "Current-sense resistor for the gauge, 2512" (at 0 2.4 0) (layer "F.Fab") hide (effects (font (size 0.5 0.5) (thickness 0.08))))
    (fp_rect (start -3.15 -1.6) (end 3.15 1.6) (stroke (width 0.05) (type solid)) (fill none) (layer "F.CrtYd"))
    (fp_rect (start -3.15 -1.6) (end 3.15 1.6) (stroke (width 0.12) (type solid)) (fill none) (layer "F.SilkS"))
    (attr board_only exclude_from_pos_files exclude_from_bom)
  )
  (footprint "SW1_12.8x5.8" (layer "B.Cu") (at 30 60)
    (property "Reference" "SW1" (at 0 0 0) (layer "B.SilkS") (effects (font (size 0.8 0.8) (thickness 0.12)) (justify mirror)))
    (property "Value" "Omron D2F-01 tamper switch, pressed by a boss on the bolted base floor plate" (at 0 3.7 0) (layer "B.Fab") hide (effects (font (size 0.5 0.5) (thickness 0.08))))
    (fp_rect (start -6.4 -2.9) (end 6.4 2.9) (stroke (width 0.05) (type solid)) (fill none) (layer "B.CrtYd"))
    (fp_rect (start -6.4 -2.9) (end 6.4 2.9) (stroke (width 0.12) (type solid)) (fill none) (layer "B.SilkS"))
    (attr board_only exclude_from_pos_files exclude_from_bom)
  )
  (footprint "TP2_10x6" (layer "B.Cu") (at -20 150)
    (property "Reference" "TP2" (at 0 0 0) (layer "B.SilkS") (effects (font (size 0.8 0.8) (thickness 0.12)) (justify mirror)))
    (property "Value" "Factory pads: cell voltage, charge current, gauge I2C" (at 0 3.8 0) (layer "B.Fab") hide (effects (font (size 0.5 0.5) (thickness 0.08))))
    (fp_rect (start -5 -3) (end 5 3) (stroke (width 0.05) (type solid)) (fill none) (layer "B.CrtYd"))
    (fp_rect (start -5 -3) (end 5 3) (stroke (width 0.12) (type solid)) (fill none) (layer "B.SilkS"))
    (attr board_only exclude_from_pos_files exclude_from_bom)
  )
  (footprint "BT1_10x6" (layer "F.Cu") (at 30 -98)
    (property "Reference" "BT1" (at 0 0 0) (layer "F.SilkS") (effects (font (size 0.8 0.8) (thickness 0.12))))
    (property "Value" "Nickel-strip pad, cell pack + (4 × Samsung INR18650-35E in parallel)" (at 0 3.8 0) (layer "F.Fab") hide (effects (font (size 0.5 0.5) (thickness 0.08))))
    (fp_rect (start -5 -3) (end 5 3) (stroke (width 0.05) (type solid)) (fill none) (layer "F.CrtYd"))
    (fp_rect (start -5 -3) (end 5 3) (stroke (width 0.12) (type solid)) (fill none) (layer "F.SilkS"))
    (attr board_only exclude_from_pos_files exclude_from_bom)
  )
  (footprint "BT2_10x6" (layer "F.Cu") (at 42 -98)
    (property "Reference" "BT2" (at 0 0 0) (layer "F.SilkS") (effects (font (size 0.8 0.8) (thickness 0.12))))
    (property "Value" "Nickel-strip pad, cell pack −, with the pack thermistor beside it" (at 0 3.8 0) (layer "F.Fab") hide (effects (font (size 0.5 0.5) (thickness 0.08))))
    (fp_rect (start -5 -3) (end 5 3) (stroke (width 0.05) (type solid)) (fill none) (layer "F.CrtYd"))
    (fp_rect (start -5 -3) (end 5 3) (stroke (width 0.12) (type solid)) (fill none) (layer "F.SilkS"))
    (attr board_only exclude_from_pos_files exclude_from_bom)
  )
  (footprint "U1_14x14" (layer "F.Cu") (at 0 -440)
    (property "Reference" "U1" (at 0 0 0) (layer "F.SilkS") (effects (font (size 0.8 0.8) (thickness 0.12))))
    (property "Value" "Rockchip RV1126B-P, FCCSP-409, 0.65 mm pitch; thermal pad to the track-face wall" (at 0 7.8 0) (layer "F.Fab") hide (effects (font (size 0.5 0.5) (thickness 0.08))))
    (fp_rect (start -7 -7) (end 7 7) (stroke (width 0.05) (type solid)) (fill none) (layer "F.CrtYd"))
    (fp_rect (start -7 -7) (end 7 7) (stroke (width 0.12) (type solid)) (fill none) (layer "F.SilkS"))
    (attr board_only exclude_from_pos_files exclude_from_bom)
  )
  (footprint "U2_10x14.5" (layer "F.Cu") (at -17 -440)
    (property "Reference" "U2" (at 0 0 0) (layer "F.SilkS") (effects (font (size 0.8 0.8) (thickness 0.12))))
    (property "Value" "LPDDR4X 8 Gbit ×32 (1 GB), 200-ball FBGA" (at 0 8.05 0) (layer "F.Fab") hide (effects (font (size 0.5 0.5) (thickness 0.08))))
    (fp_rect (start -5 -7.25) (end 5 7.25) (stroke (width 0.05) (type solid)) (fill none) (layer "F.CrtYd"))
    (fp_rect (start -5 -7.25) (end 5 7.25) (stroke (width 0.12) (type solid)) (fill none) (layer "F.SilkS"))
    (attr board_only exclude_from_pos_files exclude_from_bom)
  )
  (footprint "U3_12x14" (layer "F.Cu") (at 18 -440)
    (property "Reference" "U3" (at 0 0 0) (layer "F.SilkS") (effects (font (size 0.8 0.8) (thickness 0.12))))
    (property "Value" "Multi-rail regulators for the RV1126B (core, NPU, logic, DDR, 1.8/3.3 V) + inductors" (at 0 7.8 0) (layer "F.Fab") hide (effects (font (size 0.5 0.5) (thickness 0.08))))
    (fp_rect (start -6 -7) (end 6 7) (stroke (width 0.05) (type solid)) (fill none) (layer "F.CrtYd"))
    (fp_rect (start -6 -7) (end 6 7) (stroke (width 0.12) (type solid)) (fill none) (layer "F.SilkS"))
    (attr board_only exclude_from_pos_files exclude_from_bom)
  )
  (footprint "U4_10x10" (layer "F.Cu") (at 18 -410)
    (property "Reference" "U4" (at 0 0 0) (layer "F.SilkS") (effects (font (size 0.8 0.8) (thickness 0.12))))
    (property "Value" "Buck-boost 2.7–4.2 V cells to 3.3 V (TPS63020 class) + inductor" (at 0 5.8 0) (layer "F.Fab") hide (effects (font (size 0.5 0.5) (thickness 0.08))))
    (fp_rect (start -5 -5) (end 5 5) (stroke (width 0.05) (type solid)) (fill none) (layer "F.CrtYd"))
    (fp_rect (start -5 -5) (end 5 5) (stroke (width 0.12) (type solid)) (fill none) (layer "F.SilkS"))
    (attr board_only exclude_from_pos_files exclude_from_bom)
  )
  (footprint "U7_3x2.5" (layer "F.Cu") (at -17 -415)
    (property "Reference" "U7" (at 0 0 0) (layer "F.Fab") (effects (font (size 0.8 0.8) (thickness 0.12))))
    (property "Value" "ST LSM6DSOX motion sensor" (at 0 2.05 0) (layer "F.Fab") hide (effects (font (size 0.5 0.5) (thickness 0.08))))
    (fp_rect (start -1.5 -1.25) (end 1.5 1.25) (stroke (width 0.05) (type solid)) (fill none) (layer "F.CrtYd"))
    (fp_rect (start -1.5 -1.25) (end 1.5 1.25) (stroke (width 0.12) (type solid)) (fill none) (layer "F.SilkS"))
    (attr board_only exclude_from_pos_files exclude_from_bom)
  )
  (footprint "C1_14x14" (layer "B.Cu") (at 0 -440)
    (property "Reference" "C1" (at 0 0 0) (layer "B.SilkS") (effects (font (size 0.8 0.8) (thickness 0.12)) (justify mirror)))
    (property "Value" "RV1126B decoupling field (under the chip)" (at 0 7.8 0) (layer "B.Fab") hide (effects (font (size 0.5 0.5) (thickness 0.08))))
    (fp_rect (start -7 -7) (end 7 7) (stroke (width 0.05) (type solid)) (fill none) (layer "B.CrtYd"))
    (fp_rect (start -7 -7) (end 7 7) (stroke (width 0.12) (type solid)) (fill none) (layer "B.SilkS"))
    (attr board_only exclude_from_pos_files exclude_from_bom)
  )
  (footprint "U10_11.5x13" (layer "B.Cu") (at -18 -440)
    (property "Reference" "U10" (at 0 0 0) (layer "B.SilkS") (effects (font (size 0.8 0.8) (thickness 0.12)) (justify mirror)))
    (property "Value" "eMMC 5.1 8 GB industrial, 153-ball FBGA; shipped empty (the processor tries the eMMC before the card, so an image here would win): our loader on the card is set to read the card first" (at 0 7.3 0) (layer "B.Fab") hide (effects (font (size 0.5 0.5) (thickness 0.08))))
    (fp_rect (start -5.75 -6.5) (end 5.75 6.5) (stroke (width 0.05) (type solid)) (fill none) (layer "B.CrtYd"))
    (fp_rect (start -5.75 -6.5) (end 5.75 6.5) (stroke (width 0.12) (type solid)) (fill none) (layer "B.SilkS"))
    (attr board_only exclude_from_pos_files exclude_from_bom)
  )
  (footprint "J2_14x15" (layer "B.Cu") (at 20 -412)
    (property "Reference" "J2" (at 0 0 0) (layer "B.SilkS") (effects (font (size 0.8 0.8) (thickness 0.12)) (justify mirror)))
    (property "Value" "microSD socket with a hinged, latched lid (Amphenol 101-00660 class), fitted on every board: our software starts from the card" (at 0 8.3 0) (layer "B.Fab") hide (effects (font (size 0.5 0.5) (thickness 0.08))))
    (fp_rect (start -7 -7.5) (end 7 7.5) (stroke (width 0.05) (type solid)) (fill none) (layer "B.CrtYd"))
    (fp_rect (start -7 -7.5) (end 7 7.5) (stroke (width 0.12) (type solid)) (fill none) (layer "B.SilkS"))
    (attr board_only exclude_from_pos_files exclude_from_bom)
  )
  (footprint "U90_2x2" (layer "B.Cu") (at 29 -412)
    (property "Reference" "U90" (at 0 0 0) (layer "B.Fab") (effects (font (size 0.8 0.8) (thickness 0.12)) (justify mirror)))
    (property "Value" "microSD card power switch (TPS22917-class load switch, 3.3 V, driven by the card power-enable pin) with a 10 kΩ discharge resistor: a stuck card can be power-cycled" (at 0 1.8 0) (layer "B.Fab") hide (effects (font (size 0.5 0.5) (thickness 0.08))))
    (fp_rect (start -1 -1) (end 1 1) (stroke (width 0.05) (type solid)) (fill none) (layer "B.CrtYd"))
    (fp_rect (start -1 -1) (end 1 1) (stroke (width 0.12) (type solid)) (fill none) (layer "B.SilkS"))
    (attr board_only exclude_from_pos_files exclude_from_bom)
  )
  (footprint "U91_3x1.35" (layer "B.Cu") (at 11 -412)
    (property "Reference" "U91" (at 0 0 0) (layer "B.Fab") (effects (font (size 0.8 0.8) (thickness 0.12)) (justify mirror)))
    (property "Value" "microSD ESD and filter array, 6 lines (TPD6F003-class), with 22 Ω series resistors on CLK, CMD and D0–D3 and the card-detect line" (at 0 1.475 0) (layer "B.Fab") hide (effects (font (size 0.5 0.5) (thickness 0.08))))
    (fp_rect (start -1.5 -0.675) (end 1.5 0.675) (stroke (width 0.05) (type solid)) (fill none) (layer "B.CrtYd"))
    (fp_rect (start -1.5 -0.675) (end 1.5 0.675) (stroke (width 0.12) (type solid)) (fill none) (layer "B.SilkS"))
    (attr board_only exclude_from_pos_files exclude_from_bom)
  )
  (footprint "TP1_10x12" (layer "B.Cu") (at 20 -440)
    (property "Reference" "TP1" (at 0 0 0) (layer "B.SilkS") (effects (font (size 0.8 0.8) (thickness 0.12)) (justify mirror)))
    (property "Value" "Factory pads: USB 2.0 (writing software), debug serial, boot, rails, current sense" (at 0 6.8 0) (layer "B.Fab") hide (effects (font (size 0.5 0.5) (thickness 0.08))))
    (fp_rect (start -5 -6) (end 5 6) (stroke (width 0.05) (type solid)) (fill none) (layer "B.CrtYd"))
    (fp_rect (start -5 -6) (end 5 6) (stroke (width 0.12) (type solid)) (fill none) (layer "B.SilkS"))
    (attr board_only exclude_from_pos_files exclude_from_bom)
  )
  (footprint "Y1_3.2x2.5" (layer "B.Cu") (at 11 -460)
    (property "Reference" "Y1" (at 0 0 0) (layer "B.Fab") (effects (font (size 0.8 0.8) (thickness 0.12)) (justify mirror)))
    (property "Value" "24 MHz MEMS oscillator (SiTime SiT8008 class, rated to 50,000 g; a quartz crystal is not rated for the shock)" (at 0 2.05 0) (layer "B.Fab") hide (effects (font (size 0.5 0.5) (thickness 0.08))))
    (fp_rect (start -1.6 -1.25) (end 1.6 1.25) (stroke (width 0.05) (type solid)) (fill none) (layer "B.CrtYd"))
    (fp_rect (start -1.6 -1.25) (end 1.6 1.25) (stroke (width 0.12) (type solid)) (fill none) (layer "B.SilkS"))
    (attr board_only exclude_from_pos_files exclude_from_bom)
  )
  (footprint "Y2_3.2x1.5" (layer "B.Cu") (at 11 -455)
    (property "Reference" "Y2" (at 0 0 0) (layer "B.Fab") (effects (font (size 0.8 0.8) (thickness 0.12)) (justify mirror)))
    (property "Value" "32.768 kHz MEMS oscillator for the clock (SiTime SiT1533 class, shock-rated)" (at 0 1.55 0) (layer "B.Fab") hide (effects (font (size 0.5 0.5) (thickness 0.08))))
    (fp_rect (start -1.6 -0.75) (end 1.6 0.75) (stroke (width 0.05) (type solid)) (fill none) (layer "B.CrtYd"))
    (fp_rect (start -1.6 -0.75) (end 1.6 0.75) (stroke (width 0.12) (type solid)) (fill none) (layer "B.SilkS"))
    (attr board_only exclude_from_pos_files exclude_from_bom)
  )
  (footprint "U8_3x2" (layer "B.Cu") (at 26 -460)
    (property "Reference" "U8" (at 0 0 0) (layer "B.Fab") (effects (font (size 0.8 0.8) (thickness 0.12)) (justify mirror)))
    (property "Value" "Microchip ATECC608B security chip, UDFN-8" (at 0 1.8 0) (layer "B.Fab") hide (effects (font (size 0.5 0.5) (thickness 0.08))))
    (fp_rect (start -1.5 -1) (end 1.5 1) (stroke (width 0.05) (type solid)) (fill none) (layer "B.CrtYd"))
    (fp_rect (start -1.5 -1) (end 1.5 1) (stroke (width 0.12) (type solid)) (fill none) (layer "B.SilkS"))
    (attr board_only exclude_from_pos_files exclude_from_bom)
  )
  (footprint "U9_2x3" (layer "B.Cu") (at 31 -460)
    (property "Reference" "U9" (at 0 0 0) (layer "B.Fab") (effects (font (size 0.8 0.8) (thickness 0.12)) (justify mirror)))
    (property "Value" "ID EEPROM 2 kbit" (at 0 2.3 0) (layer "B.Fab") hide (effects (font (size 0.5 0.5) (thickness 0.08))))
    (fp_rect (start -1 -1.5) (end 1 1.5) (stroke (width 0.05) (type solid)) (fill none) (layer "B.CrtYd"))
    (fp_rect (start -1 -1.5) (end 1 1.5) (stroke (width 0.12) (type solid)) (fill none) (layer "B.SilkS"))
    (attr board_only exclude_from_pos_files exclude_from_bom)
  )
  (footprint "U5_12x12" (layer "B.Cu") (at -20 -470)
    (property "Reference" "U5" (at 0 0 0) (layer "B.SilkS") (effects (font (size 0.8 0.8) (thickness 0.12)) (justify mirror)))
    (property "Value" "AMPAK AP6256 Wi-Fi 5 + Bluetooth 5 module (certified); the post-to-post link" (at 0 6.8 0) (layer "B.Fab") hide (effects (font (size 0.5 0.5) (thickness 0.08))))
    (fp_rect (start -6 -6) (end 6 6) (stroke (width 0.05) (type solid)) (fill none) (layer "B.CrtYd"))
    (fp_rect (start -6 -6) (end 6 6) (stroke (width 0.12) (type solid)) (fill none) (layer "B.SilkS"))
    (attr board_only exclude_from_pos_files exclude_from_bom)
  )
  (footprint "U11_8x6" (layer "B.Cu") (at -4 -470)
    (property "Reference" "U11" (at 0 0 0) (layer "B.SilkS") (effects (font (size 0.8 0.8) (thickness 0.12)) (justify mirror)))
    (property "Value" "Wi-Fi 37.4 MHz MEMS oscillator (SiTime SiT8008 class, shock-rated; the AP6256 runs from 37.4 MHz, not 26 MHz), 32 kHz from the processor and RF match" (at 0 3.8 0) (layer "B.Fab") hide (effects (font (size 0.5 0.5) (thickness 0.08))))
    (fp_rect (start -4 -3) (end 4 3) (stroke (width 0.05) (type solid)) (fill none) (layer "B.CrtYd"))
    (fp_rect (start -4 -3) (end 4 3) (stroke (width 0.12) (type solid)) (fill none) (layer "B.SilkS"))
    (attr board_only exclude_from_pos_files exclude_from_bom)
  )
  (footprint "ANT1_30x10" (layer "B.Cu") (at 0 -492)
    (property "Reference" "ANT1" (at 0 0 0) (layer "B.SilkS") (effects (font (size 0.8 0.8) (thickness 0.12)) (justify mirror)))
    (property "Value" "Wi-Fi/BT chip antenna in a 30 × 10 keep-out behind the radio window (z 487–497)" (at 0 5.8 0) (layer "B.Fab") hide (effects (font (size 0.5 0.5) (thickness 0.08))))
    (fp_rect (start -15 -5) (end 15 5) (stroke (width 0.05) (type solid)) (fill none) (layer "B.CrtYd"))
    (fp_rect (start -15 -5) (end 15 5) (stroke (width 0.12) (type solid)) (fill none) (layer "B.SilkS"))
    (attr board_only exclude_from_pos_files exclude_from_bom)
  )
  (footprint "U40_18x25.5" (layer "B.Cu") (at -24 -690)
    (property "Reference" "U40" (at 0 0 0) (layer "B.SilkS") (effects (font (size 0.8 0.8) (thickness 0.12)) (justify mirror)))
    (property "Value" "Espressif ESP32-S3-WROOM-1-N8R8 (certified): heat band, lightning clock, taps, gun wake, starter-unit link" (at 0 13.55 0) (layer "B.Fab") hide (effects (font (size 0.5 0.5) (thickness 0.08))))
    (fp_rect (start -9 -12.75) (end 9 12.75) (stroke (width 0.05) (type solid)) (fill none) (layer "B.CrtYd"))
    (fp_rect (start -9 -12.75) (end 9 12.75) (stroke (width 0.12) (type solid)) (fill none) (layer "B.SilkS"))
    (attr board_only exclude_from_pos_files exclude_from_bom)
  )
  (footprint "ANT2_18x12" (layer "B.Cu") (at -24 -709.5)
    (property "Reference" "ANT2" (at 0 0 0) (layer "B.SilkS") (effects (font (size 0.8 0.8) (thickness 0.12)) (justify mirror)))
    (property "Value" "Keep-out beyond the ESP32-S3 antenna end, all layers (Espressif hardware design guide)" (at 0 6.8 0) (layer "B.Fab") hide (effects (font (size 0.5 0.5) (thickness 0.08))))
    (fp_rect (start -9 -6) (end 9 6) (stroke (width 0.05) (type solid)) (fill none) (layer "B.CrtYd"))
    (fp_rect (start -9 -6) (end 9 6) (stroke (width 0.12) (type solid)) (fill none) (layer "B.SilkS"))
    (attr board_only exclude_from_pos_files exclude_from_bom)
  )
  (footprint "U41_23.6x19.9" (layer "B.Cu") (at 14 -680)
    (property "Reference" "U41" (at 0 0 0) (layer "B.SilkS") (effects (font (size 0.8 0.8) (thickness 0.12)) (justify mirror)))
    (property "Value" "Quectel BG95-M3 LTE-M / NB-IoT modem, LCC (alerts to the trainer's phone off-site)" (at 0 10.75 0) (layer "B.Fab") hide (effects (font (size 0.5 0.5) (thickness 0.08))))
    (fp_rect (start -11.8 -9.95) (end 11.8 9.95) (stroke (width 0.05) (type solid)) (fill none) (layer "B.CrtYd"))
    (fp_rect (start -11.8 -9.95) (end 11.8 9.95) (stroke (width 0.12) (type solid)) (fill none) (layer "B.SilkS"))
    (attr board_only exclude_from_pos_files exclude_from_bom)
  )
  (footprint "U42_5x6" (layer "B.Cu") (at 30 -700)
    (property "Reference" "U42" (at 0 0 0) (layer "B.SilkS") (effects (font (size 0.8 0.8) (thickness 0.12)) (justify mirror)))
    (property "Value" "MFF2 eSIM, soldered (no SIM socket)" (at 0 3.8 0) (layer "B.Fab") hide (effects (font (size 0.5 0.5) (thickness 0.08))))
    (fp_rect (start -2.5 -3) (end 2.5 3) (stroke (width 0.05) (type solid)) (fill none) (layer "B.CrtYd"))
    (fp_rect (start -2.5 -3) (end 2.5 3) (stroke (width 0.12) (type solid)) (fill none) (layer "B.SilkS"))
    (attr board_only exclude_from_pos_files exclude_from_bom)
  )
  (footprint "ANT3_34x10" (layer "B.Cu") (at 14 -725)
    (property "Reference" "ANT3" (at 0 0 0) (layer "B.SilkS") (effects (font (size 0.8 0.8) (thickness 0.12)) (justify mirror)))
    (property "Value" "LTE chip antenna 30 × 3 × 1 (Ignion NN03-310 class) in a 34 × 10 keep-out" (at 0 5.8 0) (layer "B.Fab") hide (effects (font (size 0.5 0.5) (thickness 0.08))))
    (fp_rect (start -17 -5) (end 17 5) (stroke (width 0.05) (type solid)) (fill none) (layer "B.CrtYd"))
    (fp_rect (start -17 -5) (end 17 5) (stroke (width 0.12) (type solid)) (fill none) (layer "B.SilkS"))
    (attr board_only exclude_from_pos_files exclude_from_bom)
  )
  (footprint "U43_4x4" (layer "B.Cu") (at -24 -780)
    (property "Reference" "U43" (at 0 0 0) (layer "B.SilkS") (effects (font (size 0.8 0.8) (thickness 0.12)) (justify mirror)))
    (property "Value" "ScioSense AS3935 lightning sensor IC, MLPQ-16" (at 0 2.8 0) (layer "B.Fab") hide (effects (font (size 0.5 0.5) (thickness 0.08))))
    (fp_rect (start -2 -2) (end 2 2) (stroke (width 0.05) (type solid)) (fill none) (layer "B.CrtYd"))
    (fp_rect (start -2 -2) (end 2 2) (stroke (width 0.12) (type solid)) (fill none) (layer "B.SilkS"))
    (attr board_only exclude_from_pos_files exclude_from_bom)
  )
  (footprint "L1_10x6.5" (layer "B.Cu") (at -8 -780)
    (property "Reference" "L1" (at 0 0 0) (layer "B.SilkS") (effects (font (size 0.8 0.8) (thickness 0.12)) (justify mirror)))
    (property "Value" "Coilcraft MA5532-AE 500 kHz lightning antenna (the AS3935 reference part)" (at 0 4.05 0) (layer "B.Fab") hide (effects (font (size 0.5 0.5) (thickness 0.08))))
    (fp_rect (start -5 -3.25) (end 5 3.25) (stroke (width 0.05) (type solid)) (fill none) (layer "B.CrtYd"))
    (fp_rect (start -5 -3.25) (end 5 3.25) (stroke (width 0.12) (type solid)) (fill none) (layer "B.SilkS"))
    (attr board_only exclude_from_pos_files exclude_from_bom)
  )
  (footprint "U44_6x6" (layer "B.Cu") (at 24 -860)
    (property "Reference" "U44" (at 0 0 0) (layer "B.SilkS") (effects (font (size 0.8 0.8) (thickness 0.12)) (justify mirror)))
    (property "Value" "NXP PN5321A3HN NFC reader, HVQFN-40" (at 0 3.8 0) (layer "B.Fab") hide (effects (font (size 0.5 0.5) (thickness 0.08))))
    (fp_rect (start -3 -3) (end 3 3) (stroke (width 0.05) (type solid)) (fill none) (layer "B.CrtYd"))
    (fp_rect (start -3 -3) (end 3 3) (stroke (width 0.12) (type solid)) (fill none) (layer "B.SilkS"))
    (attr board_only exclude_from_pos_files exclude_from_bom)
  )
  (footprint "U45_8x4" (layer "B.Cu") (at 24 -850)
    (property "Reference" "U45" (at 0 0 0) (layer "B.SilkS") (effects (font (size 0.8 0.8) (thickness 0.12)) (justify mirror)))
    (property "Value" "NFC antenna matching network (EMC filter + caps)" (at 0 2.8 0) (layer "B.Fab") hide (effects (font (size 0.5 0.5) (thickness 0.08))))
    (fp_rect (start -4 -2) (end 4 2) (stroke (width 0.05) (type solid)) (fill none) (layer "B.CrtYd"))
    (fp_rect (start -4 -2) (end 4 2) (stroke (width 0.12) (type solid)) (fill none) (layer "B.SilkS"))
    (attr board_only exclude_from_pos_files exclude_from_bom)
  )
  (footprint "ANT4_40x40" (layer "B.Cu") (at -2 -910)
    (property "Reference" "ANT4" (at 0 0 0) (layer "B.SilkS") (effects (font (size 0.8 0.8) (thickness 0.12)) (justify mirror)))
    (property "Value" "NFC loop antenna 40 × 40 drawn in the board copper, behind the radio window (taps on the back face)" (at 0 20.8 0) (layer "B.Fab") hide (effects (font (size 0.5 0.5) (thickness 0.08))))
    (fp_rect (start -20 -20) (end 20 20) (stroke (width 0.05) (type solid)) (fill none) (layer "B.CrtYd"))
    (fp_rect (start -20 -20) (end 20 20) (stroke (width 0.12) (type solid)) (fill none) (layer "B.SilkS"))
    (attr board_only exclude_from_pos_files exclude_from_bom)
  )
  (footprint "FER1_40x40" (layer "F.Cu") (at -2 -910)
    (property "Reference" "FER1" (at 0 0 0) (layer "F.SilkS") (effects (font (size 0.8 0.8) (thickness 0.12))))
    (property "Value" "Ferrite sheet 40 × 40 × 0.3 between the loop and the aluminium track face" (at 0 20.8 0) (layer "F.Fab") hide (effects (font (size 0.5 0.5) (thickness 0.08))))
    (fp_rect (start -20 -20) (end 20 20) (stroke (width 0.05) (type solid)) (fill none) (layer "Dwgs.User"))
    (fp_rect (start -20 -20) (end 20 20) (stroke (width 0.12) (type solid)) (fill none) (layer "F.SilkS"))
    (attr board_only exclude_from_pos_files exclude_from_bom)
  )
  (footprint "LS1_12x12" (layer "F.Cu") (at 0 -820)
    (property "Reference" "LS1" (at 0 0 0) (layer "F.SilkS") (effects (font (size 0.8 0.8) (thickness 0.12))))
    (property "Value" "Magnetic sounder 12 × 12 SMD under the tone holes" (at 0 6.8 0) (layer "F.Fab") hide (effects (font (size 0.5 0.5) (thickness 0.08))))
    (fp_rect (start -6 -6) (end 6 6) (stroke (width 0.05) (type solid)) (fill none) (layer "F.CrtYd"))
    (fp_rect (start -6 -6) (end 6 6) (stroke (width 0.12) (type solid)) (fill none) (layer "F.SilkS"))
    (attr board_only exclude_from_pos_files exclude_from_bom)
  )
  (footprint "Q1_3x3" (layer "F.Cu") (at 12 -820)
    (property "Reference" "Q1" (at 0 0 0) (layer "F.Fab") (effects (font (size 0.8 0.8) (thickness 0.12))))
    (property "Value" "Sounder driver FET" (at 0 2.3 0) (layer "F.Fab") hide (effects (font (size 0.5 0.5) (thickness 0.08))))
    (fp_rect (start -1.5 -1.5) (end 1.5 1.5) (stroke (width 0.05) (type solid)) (fill none) (layer "F.CrtYd"))
    (fp_rect (start -1.5 -1.5) (end 1.5 1.5) (stroke (width 0.12) (type solid)) (fill none) (layer "F.SilkS"))
    (attr board_only exclude_from_pos_files exclude_from_bom)
  )
  (footprint "U46_2x2" (layer "F.Cu") (at 10 -960)
    (property "Reference" "U46" (at 0 0 0) (layer "F.Fab") (effects (font (size 0.8 0.8) (thickness 0.12))))
    (property "Value" "Level shifter for the call-lamp LED data line" (at 0 1.8 0) (layer "F.Fab") hide (effects (font (size 0.5 0.5) (thickness 0.08))))
    (fp_rect (start -1 -1) (end 1 1) (stroke (width 0.05) (type solid)) (fill none) (layer "F.CrtYd"))
    (fp_rect (start -1 -1) (end 1 1) (stroke (width 0.12) (type solid)) (fill none) (layer "F.SilkS"))
    (attr board_only exclude_from_pos_files exclude_from_bom)
  )
  (footprint "TP3_10x6" (layer "B.Cu") (at 20 -990)
    (property "Reference" "TP3" (at 0 0 0) (layer "B.SilkS") (effects (font (size 0.8 0.8) (thickness 0.12)) (justify mirror)))
    (property "Value" "Factory pads: ESP32-S3 USB, boot, enable" (at 0 3.8 0) (layer "B.Fab") hide (effects (font (size 0.5 0.5) (thickness 0.08))))
    (fp_rect (start -5 -3) (end 5 3) (stroke (width 0.05) (type solid)) (fill none) (layer "B.CrtYd"))
    (fp_rect (start -5 -3) (end 5 3) (stroke (width 0.12) (type solid)) (fill none) (layer "B.SilkS"))
    (attr board_only exclude_from_pos_files exclude_from_bom)
  )
  (footprint "MK1_4x3" (layer "F.Cu") (at -55 -985)
    (property "Reference" "MK1" (at 0 0 0) (layer "F.SilkS") (effects (font (size 0.8 0.8) (thickness 0.12))))
    (property "Value" "Infineon IM69D130 digital MEMS mic, bottom port over the start-side port (PTFE membrane)" (at 0 2.3 0) (layer "F.Fab") hide (effects (font (size 0.5 0.5) (thickness 0.08))))
    (fp_rect (start -2 -1.5) (end 2 1.5) (stroke (width 0.05) (type solid)) (fill none) (layer "F.CrtYd"))
    (fp_rect (start -2 -1.5) (end 2 1.5) (stroke (width 0.12) (type solid)) (fill none) (layer "F.SilkS"))
    (attr board_only exclude_from_pos_files exclude_from_bom)
  )
  (footprint "LH1_11x11" (layer "F.Cu") (at 0 -1300)
    (property "Reference" "LH1" (at 0 0 0) (layer "F.SilkS") (effects (font (size 0.8 0.8) (thickness 0.12))))
    (property "Value" "M8 × 0.35 lens holder with a 2.8 mm lens (about 66° × 44° on the OV9281, est.)" (at 0 6.3 0) (layer "F.Fab") hide (effects (font (size 0.5 0.5) (thickness 0.08))))
    (fp_rect (start -5.5 -5.5) (end 5.5 5.5) (stroke (width 0.05) (type solid)) (fill none) (layer "Dwgs.User"))
    (fp_rect (start -5.5 -5.5) (end 5.5 5.5) (stroke (width 0.12) (type solid)) (fill none) (layer "F.SilkS"))
    (attr board_only exclude_from_pos_files exclude_from_bom)
  )
  (footprint "U20_5.24x4.46" (layer "F.Cu") (at 0 -1300)
    (property "Reference" "U20" (at 0 0 0) (layer "F.Fab") (effects (font (size 0.8 0.8) (thickness 0.12))))
    (property "Value" "OmniVision OV9281 global-shutter camera chip, 1280 × 800 at 120 fps" (at 0 3.03 0) (layer "F.Fab") hide (effects (font (size 0.5 0.5) (thickness 0.08))))
    (fp_rect (start -2.62 -2.23) (end 2.62 2.23) (stroke (width 0.05) (type solid)) (fill none) (layer "F.CrtYd"))
    (fp_rect (start -2.62 -2.23) (end 2.62 2.23) (stroke (width 0.12) (type solid)) (fill none) (layer "F.SilkS"))
    (attr board_only exclude_from_pos_files exclude_from_bom)
  )
  (footprint "U21_2x2" (layer "B.Cu") (at -6 -1295)
    (property "Reference" "U21" (at 0 0 0) (layer "B.Fab") (effects (font (size 0.8 0.8) (thickness 0.12)) (justify mirror)))
    (property "Value" "Camera LDO 2.8 V (analog)" (at 0 1.8 0) (layer "B.Fab") hide (effects (font (size 0.5 0.5) (thickness 0.08))))
    (fp_rect (start -1 -1) (end 1 1) (stroke (width 0.05) (type solid)) (fill none) (layer "B.CrtYd"))
    (fp_rect (start -1 -1) (end 1 1) (stroke (width 0.12) (type solid)) (fill none) (layer "B.SilkS"))
    (attr board_only exclude_from_pos_files exclude_from_bom)
  )
  (footprint "U22_2x2" (layer "B.Cu") (at -2 -1295)
    (property "Reference" "U22" (at 0 0 0) (layer "B.Fab") (effects (font (size 0.8 0.8) (thickness 0.12)) (justify mirror)))
    (property "Value" "Camera LDO 1.8 V" (at 0 1.8 0) (layer "B.Fab") hide (effects (font (size 0.5 0.5) (thickness 0.08))))
    (fp_rect (start -1 -1) (end 1 1) (stroke (width 0.05) (type solid)) (fill none) (layer "B.CrtYd"))
    (fp_rect (start -1 -1) (end 1 1) (stroke (width 0.12) (type solid)) (fill none) (layer "B.SilkS"))
    (attr board_only exclude_from_pos_files exclude_from_bom)
  )
  (footprint "U23_2x2" (layer "B.Cu") (at 2 -1295)
    (property "Reference" "U23" (at 0 0 0) (layer "B.Fab") (effects (font (size 0.8 0.8) (thickness 0.12)) (justify mirror)))
    (property "Value" "Camera LDO 1.2 V" (at 0 1.8 0) (layer "B.Fab") hide (effects (font (size 0.5 0.5) (thickness 0.08))))
    (fp_rect (start -1 -1) (end 1 1) (stroke (width 0.05) (type solid)) (fill none) (layer "B.CrtYd"))
    (fp_rect (start -1 -1) (end 1 1) (stroke (width 0.12) (type solid)) (fill none) (layer "B.SilkS"))
    (attr board_only exclude_from_pos_files exclude_from_bom)
  )
  (footprint "Y20_2x1.6" (layer "B.Cu") (at 6 -1295)
    (property "Reference" "Y20" (at 0 0 0) (layer "B.Fab") (effects (font (size 0.8 0.8) (thickness 0.12)) (justify mirror)))
    (property "Value" "24 MHz MEMS oscillator for the camera (SiT8008 class, shock-rated)" (at 0 1.6 0) (layer "B.Fab") hide (effects (font (size 0.5 0.5) (thickness 0.08))))
    (fp_rect (start -1 -0.8) (end 1 0.8) (stroke (width 0.05) (type solid)) (fill none) (layer "B.CrtYd"))
    (fp_rect (start -1 -0.8) (end 1 0.8) (stroke (width 0.12) (type solid)) (fill none) (layer "B.SilkS"))
    (attr board_only exclude_from_pos_files exclude_from_bom)
  )
  (footprint "U50_5x5" (layer "F.Cu") (at -15 -1360)
    (property "Reference" "U50" (at 0 0 0) (layer "F.SilkS") (effects (font (size 0.8 0.8) (thickness 0.12))))
    (property "Value" "Analog Devices MAX31865 RTD reader, TQFN-20 (black-top temperature)" (at 0 3.3 0) (layer "F.Fab") hide (effects (font (size 0.5 0.5) (thickness 0.08))))
    (fp_rect (start -2.5 -2.5) (end 2.5 2.5) (stroke (width 0.05) (type solid)) (fill none) (layer "F.CrtYd"))
    (fp_rect (start -2.5 -2.5) (end 2.5 2.5) (stroke (width 0.12) (type solid)) (fill none) (layer "F.SilkS"))
    (attr board_only exclude_from_pos_files exclude_from_bom)
  )
  (footprint "PT1_6x4" (layer "F.Cu") (at -15 -1380)
    (property "Reference" "PT1" (at 0 0 0) (layer "F.SilkS") (effects (font (size 0.8 0.8) (thickness 0.12))))
    (property "Value" "Solder pads for the PT1000 element bonded inside the black-anodised top" (at 0 2.8 0) (layer "F.Fab") hide (effects (font (size 0.5 0.5) (thickness 0.08))))
    (fp_rect (start -3 -2) (end 3 2) (stroke (width 0.05) (type solid)) (fill none) (layer "F.CrtYd"))
    (fp_rect (start -3 -2) (end 3 2) (stroke (width 0.12) (type solid)) (fill none) (layer "F.SilkS"))
    (attr board_only exclude_from_pos_files exclude_from_bom)
  )
  (footprint "U52_1.5x1.5" (layer "B.Cu") (at 0 -1365)
    (property "Reference" "U52" (at 0 0 0) (layer "B.Fab") (effects (font (size 0.8 0.8) (thickness 0.12)) (justify mirror)))
    (property "Value" "Sensirion SHT45 humidity and temperature chip, DFN 1.5 × 1.5, behind the vent" (at 0 1.55 0) (layer "B.Fab") hide (effects (font (size 0.5 0.5) (thickness 0.08))))
    (fp_rect (start -0.75 -0.75) (end 0.75 0.75) (stroke (width 0.05) (type solid)) (fill none) (layer "B.CrtYd"))
    (fp_rect (start -0.75 -0.75) (end 0.75 0.75) (stroke (width 0.12) (type solid)) (fill none) (layer "B.SilkS"))
    (attr board_only exclude_from_pos_files exclude_from_bom)
  )
  (footprint "U60_15.4x20.5" (layer "F.Cu") (at 140 167)
    (property "Reference" "U60" (at 0 0 0) (layer "F.SilkS") (effects (font (size 0.8 0.8) (thickness 0.12))))
    (property "Value" "Espressif ESP32-S3-MINI-1-N8 (certified): hears the gun, sees the flash, sends the start to the home post" (at 0 11.05 0) (layer "F.Fab") hide (effects (font (size 0.5 0.5) (thickness 0.08))))
    (fp_rect (start -7.7 -10.25) (end 7.7 10.25) (stroke (width 0.05) (type solid)) (fill none) (layer "F.CrtYd"))
    (fp_rect (start -7.7 -10.25) (end 7.7 10.25) (stroke (width 0.12) (type solid)) (fill none) (layer "F.SilkS"))
    (attr board_only exclude_from_pos_files exclude_from_bom)
  )
  (footprint "ANT5_15.4x6" (layer "F.Cu") (at 140 150.5)
    (property "Reference" "ANT5" (at 0 0 0) (layer "F.SilkS") (effects (font (size 0.8 0.8) (thickness 0.12))))
    (property "Value" "Keep-out beyond the module antenna (all layers)" (at 0 3.8 0) (layer "F.Fab") hide (effects (font (size 0.5 0.5) (thickness 0.08))))
    (fp_rect (start -7.7 -3) (end 7.7 3) (stroke (width 0.05) (type solid)) (fill none) (layer "F.CrtYd"))
    (fp_rect (start -7.7 -3) (end 7.7 3) (stroke (width 0.12) (type solid)) (fill none) (layer "F.SilkS"))
    (attr board_only exclude_from_pos_files exclude_from_bom)
  )
  (footprint "MK2_4x3" (layer "F.Cu") (at 130 167)
    (property "Reference" "MK2" (at 0 0 0) (layer "F.SilkS") (effects (font (size 0.8 0.8) (thickness 0.12))))
    (property "Value" "Infineon IM69D130 digital MEMS mic under the shell's mic port (printed sound tube)" (at 0 2.3 0) (layer "F.Fab") hide (effects (font (size 0.5 0.5) (thickness 0.08))))
    (fp_rect (start -2 -1.5) (end 2 1.5) (stroke (width 0.05) (type solid)) (fill none) (layer "F.CrtYd"))
    (fp_rect (start -2 -1.5) (end 2 1.5) (stroke (width 0.12) (type solid)) (fill none) (layer "F.SilkS"))
    (attr board_only exclude_from_pos_files exclude_from_bom)
  )
  (footprint "D20_5.4x4.3" (layer "F.Cu") (at 150 185)
    (property "Reference" "D20" (at 0 0 0) (layer "F.SilkS") (effects (font (size 0.8 0.8) (thickness 0.12))))
    (property "Value" "Vishay BPW34 photodiode under the flash window (printed light pipe)" (at 0 2.95 0) (layer "F.Fab") hide (effects (font (size 0.5 0.5) (thickness 0.08))))
    (fp_rect (start -2.7 -2.15) (end 2.7 2.15) (stroke (width 0.05) (type solid)) (fill none) (layer "F.CrtYd"))
    (fp_rect (start -2.7 -2.15) (end 2.7 2.15) (stroke (width 0.12) (type solid)) (fill none) (layer "F.SilkS"))
    (attr board_only exclude_from_pos_files exclude_from_bom)
  )
  (footprint "U61_3x3" (layer "F.Cu") (at 95 185)
    (property "Reference" "U61" (at 0 0 0) (layer "F.Fab") (effects (font (size 0.8 0.8) (thickness 0.12))))
    (property "Value" "Microchip MCP73831 LiPo charger, SOT-23-5" (at 0 2.3 0) (layer "F.Fab") hide (effects (font (size 0.5 0.5) (thickness 0.08))))
    (fp_rect (start -1.5 -1.5) (end 1.5 1.5) (stroke (width 0.05) (type solid)) (fill none) (layer "F.CrtYd"))
    (fp_rect (start -1.5 -1.5) (end 1.5 1.5) (stroke (width 0.12) (type solid)) (fill none) (layer "F.SilkS"))
    (attr board_only exclude_from_pos_files exclude_from_bom)
  )
  (footprint "BT3_8x5" (layer "F.Cu") (at 95 175)
    (property "Reference" "BT3" (at 0 0 0) (layer "F.SilkS") (effects (font (size 0.8 0.8) (thickness 0.12))))
    (property "Value" "Pads for the leads of a 500 mAh LiPo protected cell (its own protector board: over-charge, over-discharge, short)" (at 0 3.3 0) (layer "F.Fab") hide (effects (font (size 0.5 0.5) (thickness 0.08))))
    (fp_rect (start -4 -2.5) (end 4 2.5) (stroke (width 0.05) (type solid)) (fill none) (layer "F.CrtYd"))
    (fp_rect (start -4 -2.5) (end 4 2.5) (stroke (width 0.12) (type solid)) (fill none) (layer "F.SilkS"))
    (attr board_only exclude_from_pos_files exclude_from_bom)
  )
  (footprint "SW3_6x6" (layer "F.Cu") (at 90 150)
    (property "Reference" "SW3" (at 0 0 0) (layer "F.SilkS") (effects (font (size 0.8 0.8) (thickness 0.12))))
    (property "Value" "Tactile switch under the printed button" (at 0 3.8 0) (layer "F.Fab") hide (effects (font (size 0.5 0.5) (thickness 0.08))))
    (fp_rect (start -3 -3) (end 3 3) (stroke (width 0.05) (type solid)) (fill none) (layer "F.CrtYd"))
    (fp_rect (start -3 -3) (end 3 3) (stroke (width 0.12) (type solid)) (fill none) (layer "F.SilkS"))
    (attr board_only exclude_from_pos_files exclude_from_bom)
  )
  (footprint "D21_2x1.25" (layer "F.Cu") (at 100 150)
    (property "Reference" "D21" (at 0 0 0) (layer "F.Fab") (effects (font (size 0.8 0.8) (thickness 0.12))))
    (property "Value" "Status LED under the button ring" (at 0 1.425 0) (layer "F.Fab") hide (effects (font (size 0.5 0.5) (thickness 0.08))))
    (fp_rect (start -1 -0.625) (end 1 0.625) (stroke (width 0.05) (type solid)) (fill none) (layer "F.CrtYd"))
    (fp_rect (start -1 -0.625) (end 1 0.625) (stroke (width 0.12) (type solid)) (fill none) (layer "F.SilkS"))
    (attr board_only exclude_from_pos_files exclude_from_bom)
  )
  (footprint "J5_12x6" (layer "B.Cu") (at 120 167)
    (property "Reference" "J5" (at 0 0 0) (layer "B.SilkS") (effects (font (size 0.8 0.8) (thickness 0.12)) (justify mirror)))
    (property "Value" "Two spring pins through the shell floor onto the post's dock pins" (at 0 3.8 0) (layer "B.Fab") hide (effects (font (size 0.5 0.5) (thickness 0.08))))
    (fp_rect (start -6 -3) (end 6 3) (stroke (width 0.05) (type solid)) (fill none) (layer "B.CrtYd"))
    (fp_rect (start -6 -3) (end 6 3) (stroke (width 0.12) (type solid)) (fill none) (layer "B.SilkS"))
    (attr board_only exclude_from_pos_files exclude_from_bom)
  )
  (footprint "D1_5x5" (layer "F.Cu") (at 0 -977.25)
    (property "Reference" "D1" (at 0 0 0) (layer "F.SilkS") (effects (font (size 0.8 0.8) (thickness 0.12))))
    (property "Value" "RGB LED with driver, 5050 (WS2812B class), behind the opal lamp slot" (at 0 3.3 0) (layer "F.Fab") hide (effects (font (size 0.5 0.5) (thickness 0.08))))
    (fp_rect (start -2.5 -2.5) (end 2.5 2.5) (stroke (width 0.05) (type solid)) (fill none) (layer "F.CrtYd"))
    (fp_rect (start -2.5 -2.5) (end 2.5 2.5) (stroke (width 0.12) (type solid)) (fill none) (layer "F.SilkS"))
    (attr board_only exclude_from_pos_files exclude_from_bom)
  )
  (footprint "D2_5x5" (layer "F.Cu") (at 0 -983.75)
    (property "Reference" "D2" (at 0 0 0) (layer "F.SilkS") (effects (font (size 0.8 0.8) (thickness 0.12))))
    (property "Value" "RGB LED with driver, 5050 (WS2812B class), behind the opal lamp slot" (at 0 3.3 0) (layer "F.Fab") hide (effects (font (size 0.5 0.5) (thickness 0.08))))
    (fp_rect (start -2.5 -2.5) (end 2.5 2.5) (stroke (width 0.05) (type solid)) (fill none) (layer "F.CrtYd"))
    (fp_rect (start -2.5 -2.5) (end 2.5 2.5) (stroke (width 0.12) (type solid)) (fill none) (layer "F.SilkS"))
    (attr board_only exclude_from_pos_files exclude_from_bom)
  )
  (footprint "D3_5x5" (layer "F.Cu") (at 0 -990.25)
    (property "Reference" "D3" (at 0 0 0) (layer "F.SilkS") (effects (font (size 0.8 0.8) (thickness 0.12))))
    (property "Value" "RGB LED with driver, 5050 (WS2812B class), behind the opal lamp slot" (at 0 3.3 0) (layer "F.Fab") hide (effects (font (size 0.5 0.5) (thickness 0.08))))
    (fp_rect (start -2.5 -2.5) (end 2.5 2.5) (stroke (width 0.05) (type solid)) (fill none) (layer "F.CrtYd"))
    (fp_rect (start -2.5 -2.5) (end 2.5 2.5) (stroke (width 0.12) (type solid)) (fill none) (layer "F.SilkS"))
    (attr board_only exclude_from_pos_files exclude_from_bom)
  )
  (footprint "D4_5x5" (layer "F.Cu") (at 0 -996.75)
    (property "Reference" "D4" (at 0 0 0) (layer "F.SilkS") (effects (font (size 0.8 0.8) (thickness 0.12))))
    (property "Value" "RGB LED with driver, 5050 (WS2812B class), behind the opal lamp slot" (at 0 3.3 0) (layer "F.Fab") hide (effects (font (size 0.5 0.5) (thickness 0.08))))
    (fp_rect (start -2.5 -2.5) (end 2.5 2.5) (stroke (width 0.05) (type solid)) (fill none) (layer "F.CrtYd"))
    (fp_rect (start -2.5 -2.5) (end 2.5 2.5) (stroke (width 0.12) (type solid)) (fill none) (layer "F.SilkS"))
    (attr board_only exclude_from_pos_files exclude_from_bom)
  )
  (footprint "D5_5x5" (layer "F.Cu") (at 0 -1003.25)
    (property "Reference" "D5" (at 0 0 0) (layer "F.SilkS") (effects (font (size 0.8 0.8) (thickness 0.12))))
    (property "Value" "RGB LED with driver, 5050 (WS2812B class), behind the opal lamp slot" (at 0 3.3 0) (layer "F.Fab") hide (effects (font (size 0.5 0.5) (thickness 0.08))))
    (fp_rect (start -2.5 -2.5) (end 2.5 2.5) (stroke (width 0.05) (type solid)) (fill none) (layer "F.CrtYd"))
    (fp_rect (start -2.5 -2.5) (end 2.5 2.5) (stroke (width 0.12) (type solid)) (fill none) (layer "F.SilkS"))
    (attr board_only exclude_from_pos_files exclude_from_bom)
  )
  (footprint "D6_5x5" (layer "F.Cu") (at 0 -1009.75)
    (property "Reference" "D6" (at 0 0 0) (layer "F.SilkS") (effects (font (size 0.8 0.8) (thickness 0.12))))
    (property "Value" "RGB LED with driver, 5050 (WS2812B class), behind the opal lamp slot" (at 0 3.3 0) (layer "F.Fab") hide (effects (font (size 0.5 0.5) (thickness 0.08))))
    (fp_rect (start -2.5 -2.5) (end 2.5 2.5) (stroke (width 0.05) (type solid)) (fill none) (layer "F.CrtYd"))
    (fp_rect (start -2.5 -2.5) (end 2.5 2.5) (stroke (width 0.12) (type solid)) (fill none) (layer "F.SilkS"))
    (attr board_only exclude_from_pos_files exclude_from_bom)
  )
  (footprint "D7_5x5" (layer "F.Cu") (at 0 -1016.25)
    (property "Reference" "D7" (at 0 0 0) (layer "F.SilkS") (effects (font (size 0.8 0.8) (thickness 0.12))))
    (property "Value" "RGB LED with driver, 5050 (WS2812B class), behind the opal lamp slot" (at 0 3.3 0) (layer "F.Fab") hide (effects (font (size 0.5 0.5) (thickness 0.08))))
    (fp_rect (start -2.5 -2.5) (end 2.5 2.5) (stroke (width 0.05) (type solid)) (fill none) (layer "F.CrtYd"))
    (fp_rect (start -2.5 -2.5) (end 2.5 2.5) (stroke (width 0.12) (type solid)) (fill none) (layer "F.SilkS"))
    (attr board_only exclude_from_pos_files exclude_from_bom)
  )
  (footprint "D8_5x5" (layer "F.Cu") (at 0 -1022.75)
    (property "Reference" "D8" (at 0 0 0) (layer "F.SilkS") (effects (font (size 0.8 0.8) (thickness 0.12))))
    (property "Value" "RGB LED with driver, 5050 (WS2812B class), behind the opal lamp slot" (at 0 3.3 0) (layer "F.Fab") hide (effects (font (size 0.5 0.5) (thickness 0.08))))
    (fp_rect (start -2.5 -2.5) (end 2.5 2.5) (stroke (width 0.05) (type solid)) (fill none) (layer "F.CrtYd"))
    (fp_rect (start -2.5 -2.5) (end 2.5 2.5) (stroke (width 0.12) (type solid)) (fill none) (layer "F.SilkS"))
    (attr board_only exclude_from_pos_files exclude_from_bom)
  )
)
