(kicad_pcb (version 20240108) (generator "iemi_poolone_board") (generator_version "1")
  (general (thickness 1.6) (legacy_teardrops no))
  (paper "A2")
  (title_block (title "PoolOne latch-post and hinge-post boards rev A") (date "2026-11-04") (rev "A") (company "IEMI Labs") (comment 1 "Latch spine with pool head, radar head and top tab; hinge spine with outside head and top tab"))
  (layers (0 "F.Cu" signal) (1 "In1.Cu" signal) (2 "In2.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 -22 -740) (xy 22 -740) (xy 22 -1575) (xy 6 -1575) (xy 6 -1581) (xy 20 -1581) (xy 20 -1611) (xy -20 -1611) (xy -20 -1581) (xy -6 -1581) (xy -6 -1575) (xy -22 -1575) (xy -22 -1455) (xy -50 -1455) (xy -50 -1460) (xy -70 -1460) (xy -70 -1440) (xy -50 -1440) (xy -50 -1445) (xy -22 -1445) (xy -22 -1305) (xy -33 -1305) (xy -33 -1322) (xy -47 -1322) (xy -47 -1280) (xy -33 -1280) (xy -33 -1295) (xy -22 -1295)) (stroke (width 0.1) (type solid)) (fill none) (layer "Edge.Cuts"))
  (gr_poly (pts (xy 118 -640) (xy 162 -640) (xy 162 -1120) (xy 160 -1120) (xy 160 -1126) (xy 190 -1126) (xy 190 -1156) (xy 150 -1156) (xy 150 -1126) (xy 154 -1126) (xy 154 -1120) (xy 145 -1120) (xy 145 -1126) (xy 148 -1126) (xy 148 -1142) (xy 132 -1142) (xy 132 -1126) (xy 135 -1126) (xy 135 -1120) (xy 118 -1120)) (stroke (width 0.1) (type solid)) (fill none) (layer "Edge.Cuts"))
  (gr_text "flexes drawn as short stubs: pool head about 40 mm, radar head about 45 mm, latch top tab about 20 mm, hinge top tab about 120 mm (est.)" (at 40 -700 0) (layer "Cmts.User") (effects (font (size 1.5 1.5) (thickness 0.2))))
  (footprint "U1_14x14" (layer "B.Cu") (at 0 -1420)
    (property "Reference" "U1" (at 0 0 0) (layer "B.Fab") (effects (font (size 0.8 0.8) (thickness 0.12)) (justify mirror)))
    (property "Value" "Rockchip RV1126B, 3 TOPS NPU, ISP, MIPI CSI-2 (the IMX415), on side B under a heat block to the outside wall" (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 "HB1_16x16" (layer "B.Cu") (at 0 -1420)
    (property "Reference" "HB1" (at 0 0 0) (layer "B.Fab") (effects (font (size 0.8 0.8) (thickness 0.12)) (justify mirror)))
    (property "Value" "Copper heat block 16 × 16 × 9.4 with a 1 mm gap pad from U1 to the post's outside wall: the aluminium post is the heat sink" (at 0 8.8 0) (layer "B.Fab") hide (effects (font (size 0.5 0.5) (thickness 0.08))))
    (fp_rect (start -8 -8) (end 8 8) (stroke (width 0.05) (type solid)) (fill none) (layer "Dwgs.User"))
    (fp_rect (start -8 -8) (end 8 8) (stroke (width 0.12) (type solid)) (fill none) (layer "Dwgs.User"))
    (attr board_only exclude_from_pos_files exclude_from_bom)
  )
  (footprint "U10_10x14.5" (layer "B.Cu") (at 0 -1393)
    (property "Reference" "U10" (at 0 0 0) (layer "B.SilkS") (effects (font (size 0.8 0.8) (thickness 0.12)) (justify mirror)))
    (property "Value" "LPDDR4X 2 GB (clips of unsure calls, the two camera pipelines)" (at 0 8.05 0) (layer "B.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 "B.CrtYd"))
    (fp_rect (start -5 -7.25) (end 5 7.25) (stroke (width 0.12) (type solid)) (fill none) (layer "B.SilkS"))
    (attr board_only exclude_from_pos_files exclude_from_bom)
  )
  (footprint "U5_11.5x13" (layer "B.Cu") (at 0 -1374)
    (property "Reference" "U5" (at 0 0 0) (layer "B.SilkS") (effects (font (size 0.8 0.8) (thickness 0.12)) (justify mirror)))
    (property "Value" "eMMC 32 GB (shipped empty, so the card always starts first; our loader on the card reads the card first; keeps the call log)" (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 "U3_7x7" (layer "B.Cu") (at -14 -1393)
    (property "Reference" "U3" (at 0 0 0) (layer "B.SilkS") (effects (font (size 0.8 0.8) (thickness 0.12)) (justify mirror)))
    (property "Value" "Rockchip RK806 class PMIC for the RV1126B rails" (at 0 4.3 0) (layer "B.Fab") hide (effects (font (size 0.5 0.5) (thickness 0.08))))
    (fp_rect (start -3.5 -3.5) (end 3.5 3.5) (stroke (width 0.05) (type solid)) (fill none) (layer "B.CrtYd"))
    (fp_rect (start -3.5 -3.5) (end 3.5 3.5) (stroke (width 0.12) (type solid)) (fill none) (layer "B.SilkS"))
    (attr board_only exclude_from_pos_files exclude_from_bom)
  )
  (footprint "Y1_2.5x2" (layer "B.Cu") (at 13 -1400)
    (property "Reference" "Y1" (at 0 0 0) (layer "B.Fab") (effects (font (size 0.8 0.8) (thickness 0.12)) (justify mirror)))
    (property "Value" "MEMS oscillator 24 MHz (SiTime SiT8008 class)" (at 0 1.8 0) (layer "B.Fab") hide (effects (font (size 0.5 0.5) (thickness 0.08))))
    (fp_rect (start -1.25 -1) (end 1.25 1) (stroke (width 0.05) (type solid)) (fill none) (layer "B.CrtYd"))
    (fp_rect (start -1.25 -1) (end 1.25 1) (stroke (width 0.12) (type solid)) (fill none) (layer "B.SilkS"))
    (attr board_only exclude_from_pos_files exclude_from_bom)
  )
  (footprint "U2_3x2" (layer "B.Cu") (at 14 -1360)
    (property "Reference" "U2" (at 0 0 0) (layer "B.Fab") (effects (font (size 0.8 0.8) (thickness 0.12)) (justify mirror)))
    (property "Value" "Microchip ATECC608B, UDFN-8: signs every call, keeps the append-only log key" (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 14 -1352)
    (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 (product, board version, serial, calibration)" (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 "U11_3x3" (layer "B.Cu") (at -19.5 -1000)
    (property "Reference" "U11" (at 0 0 0) (layer "B.Fab") (effects (font (size 0.8 0.8) (thickness 0.12)) (justify mirror)))
    (property "Value" "TI TMAG5273 3D Hall sensor, SOT-23-6, at the gate-face edge: the leaf magnet's field in three axes (latched, bounced, ajar, propped, and a second magnet held to the post)" (at 0 2.3 0) (layer "B.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 "B.CrtYd"))
    (fp_rect (start -1.5 -1.5) (end 1.5 1.5) (stroke (width 0.12) (type solid)) (fill none) (layer "B.SilkS"))
    (attr board_only exclude_from_pos_files exclude_from_bom)
  )
  (footprint "LS1_12x12" (layer "B.Cu") (at 0 -1120)
    (property "Reference" "LS1" (at 0 0 0) (layer "B.Fab") (effects (font (size 0.8 0.8) (thickness 0.12)) (justify mirror)))
    (property "Value" "Magnetic sounder 12 × 12 SMD under the outside tone holes (the call tone), with a printed sound tube to the wall" (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 "GK1_12x12" (layer "B.Cu") (at 0 -1120)
    (property "Reference" "GK1" (at 0 0 0) (layer "B.Fab") (effects (font (size 0.8 0.8) (thickness 0.12)) (justify mirror)))
    (property "Value" "Printed sound tube from the sounder to the tone holes, with a mesh" (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 "Dwgs.User"))
    (fp_rect (start -6 -6) (end 6 6) (stroke (width 0.12) (type solid)) (fill none) (layer "Dwgs.User"))
    (attr board_only exclude_from_pos_files exclude_from_bom)
  )
  (footprint "LP2_8x52" (layer "B.Cu") (at 0 -1200)
    (property "Reference" "LP2" (at 0 0 0) (layer "B.Fab") (effects (font (size 0.8 0.8) (thickness 0.12)) (justify mirror)))
    (property "Value" "Printed clear light guide from the 8 outside LEDs to the outside opal slot" (at 0 26.8 0) (layer "B.Fab") hide (effects (font (size 0.5 0.5) (thickness 0.08))))
    (fp_rect (start -4 -26) (end 4 26) (stroke (width 0.05) (type solid)) (fill none) (layer "Dwgs.User"))
    (fp_rect (start -4 -26) (end 4 26) (stroke (width 0.12) (type solid)) (fill none) (layer "Dwgs.User"))
    (attr board_only exclude_from_pos_files exclude_from_bom)
  )
  (footprint "U7_2x2" (layer "B.Cu") (at 14 -1240)
    (property "Reference" "U7" (at 0 0 0) (layer "B.Fab") (effects (font (size 0.8 0.8) (thickness 0.12)) (justify mirror)))
    (property "Value" "Level shifter for both call-light data lines (3.3 to 5 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 "TP1_12x6" (layer "B.Cu") (at 0 -1040)
    (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 (RV1126B), serial console, boot, reset, rails, current sense" (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 "U6_12x12" (layer "F.Cu") (at 0 -1250)
    (property "Reference" "U6" (at 0 0 0) (layer "F.SilkS") (effects (font (size 0.8 0.8) (thickness 0.12))))
    (property "Value" "AMPAK AP6256 Wi-Fi 5 + BT 5 module (the app through the home router; setup over BLE); its antenna on the radar head" (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 "Y2_2.5x2" (layer "F.Cu") (at 13 -1250)
    (property "Reference" "Y2" (at 0 0 0) (layer "F.Fab") (effects (font (size 0.8 0.8) (thickness 0.12))))
    (property "Value" "MEMS oscillator 37.4 MHz for the Wi-Fi/BT module (SiTime SiT8008 class)" (at 0 1.8 0) (layer "F.Fab") hide (effects (font (size 0.5 0.5) (thickness 0.08))))
    (fp_rect (start -1.25 -1) (end 1.25 1) (stroke (width 0.05) (type solid)) (fill none) (layer "F.CrtYd"))
    (fp_rect (start -1.25 -1) (end 1.25 1) (stroke (width 0.12) (type solid)) (fill none) (layer "F.SilkS"))
    (attr board_only exclude_from_pos_files exclude_from_bom)
  )
  (footprint "PKO_40x50" (layer "F.Cu") (at 0 -1450)
    (property "Reference" "PKO" (at 0 0 0) (layer "F.SilkS") (effects (font (size 0.8 0.8) (thickness 0.12))))
    (property "Value" "Nothing tall on side A under the pool head" (at 0 25.8 0) (layer "F.Fab") hide (effects (font (size 0.5 0.5) (thickness 0.08))))
    (fp_rect (start -20 -25) (end 20 25) (stroke (width 0.05) (type solid)) (fill none) (layer "Dwgs.User"))
    (fp_rect (start -20 -25) (end 20 25) (stroke (width 0.12) (type solid)) (fill none) (layer "Dwgs.User"))
    (attr board_only exclude_from_pos_files exclude_from_bom)
  )
  (footprint "RKO_20x30" (layer "F.Cu") (at 0 -1300)
    (property "Reference" "RKO" (at 0 0 0) (layer "F.SilkS") (effects (font (size 0.8 0.8) (thickness 0.12))))
    (property "Value" "Nothing tall on side A where the radar head's flex loops out" (at 0 15.8 0) (layer "F.Fab") hide (effects (font (size 0.5 0.5) (thickness 0.08))))
    (fp_rect (start -10 -15) (end 10 15) (stroke (width 0.05) (type solid)) (fill none) (layer "Dwgs.User"))
    (fp_rect (start -10 -15) (end 10 15) (stroke (width 0.12) (type solid)) (fill none) (layer "Dwgs.User"))
    (attr board_only exclude_from_pos_files exclude_from_bom)
  )
  (footprint "U14_3x3" (layer "F.Cu") (at 14 -990)
    (property "Reference" "U14" (at 0 0 0) (layer "F.Fab") (effects (font (size 0.8 0.8) (thickness 0.12))))
    (property "Value" "TI THVD1450 RS-485 transceiver, 50 Mbps: the hinge post's frames and status over the link lead" (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 "U4_16x10" (layer "F.Cu") (at 0 -965)
    (property "Reference" "U4" (at 0 0 0) (layer "F.SilkS") (effects (font (size 0.8 0.8) (thickness 0.12))))
    (property "Value" "12 V input with TVS, fuse and reverse block; TI TPS62933 12-to-5 V buck; TI BQ24074 1.5 A charger with power path (NTC input); TI TPS63020 3.3 V buck-boost" (at 0 5.8 0) (layer "F.Fab") hide (effects (font (size 0.5 0.5) (thickness 0.08))))
    (fp_rect (start -8 -5) (end 8 5) (stroke (width 0.05) (type solid)) (fill none) (layer "F.CrtYd"))
    (fp_rect (start -8 -5) (end 8 5) (stroke (width 0.12) (type solid)) (fill none) (layer "F.SilkS"))
    (attr board_only exclude_from_pos_files exclude_from_bom)
  )
  (footprint "BT1_21x77" (layer "F.Cu") (at 0 -880)
    (property "Reference" "BT1" (at 0 0 0) (layer "F.SilkS") (effects (font (size 0.8 0.8) (thickness 0.12))))
    (property "Value" "Keystone 1042 SMT holder for one 18650 cell (Samsung INR18650-35E), standing up the post, upper" (at 0 39.3 0) (layer "F.Fab") hide (effects (font (size 0.5 0.5) (thickness 0.08))))
    (fp_rect (start -10.5 -38.5) (end 10.5 38.5) (stroke (width 0.05) (type solid)) (fill none) (layer "F.CrtYd"))
    (fp_rect (start -10.5 -38.5) (end 10.5 38.5) (stroke (width 0.12) (type solid)) (fill none) (layer "F.SilkS"))
    (attr board_only exclude_from_pos_files exclude_from_bom)
  )
  (footprint "BT2_21x77" (layer "F.Cu") (at 0 -800)
    (property "Reference" "BT2" (at 0 0 0) (layer "F.SilkS") (effects (font (size 0.8 0.8) (thickness 0.12))))
    (property "Value" "Keystone 1042 SMT holder, 18650, lower" (at 0 39.3 0) (layer "F.Fab") hide (effects (font (size 0.5 0.5) (thickness 0.08))))
    (fp_rect (start -10.5 -38.5) (end 10.5 38.5) (stroke (width 0.05) (type solid)) (fill none) (layer "F.CrtYd"))
    (fp_rect (start -10.5 -38.5) (end 10.5 38.5) (stroke (width 0.12) (type solid)) (fill none) (layer "F.SilkS"))
    (attr board_only exclude_from_pos_files exclude_from_bom)
  )
  (footprint "RT1_1.6x0.8" (layer "F.Cu") (at 14 -840)
    (property "Reference" "RT1" (at 0 0 0) (layer "F.Fab") (effects (font (size 0.8 0.8) (thickness 0.12))))
    (property "Value" "NTC thermistor 10 k, 0603, between the cells, read by the charger so charging holds outside 0–45 °C" (at 0 1.2 0) (layer "F.Fab") hide (effects (font (size 0.5 0.5) (thickness 0.08))))
    (fp_rect (start -0.8 -0.4) (end 0.8 0.4) (stroke (width 0.05) (type solid)) (fill none) (layer "F.CrtYd"))
    (fp_rect (start -0.8 -0.4) (end 0.8 0.4) (stroke (width 0.12) (type solid)) (fill none) (layer "F.SilkS"))
    (attr board_only exclude_from_pos_files exclude_from_bom)
  )
  (footprint "J1_10x10" (layer "F.Cu") (at 0 -752)
    (property "Reference" "J1" (at 0 0 0) (layer "F.SilkS") (effects (font (size 0.8 0.8) (thickness 0.12))))
    (property "Value" "Molex Micro-Fit 3.0 vertical header, 4 circuits, latched: 12 V, ground and the RS-485 pair from the hinge post, up from the conduit under the gate" (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 "U12_10x10" (layer "F.Cu") (at -60 -1450)
    (property "Reference" "U12" (at 0 0 0) (layer "F.Fab") (effects (font (size 0.8 0.8) (thickness 0.12))))
    (property "Value" "Sony IMX415 8 MP camera chip, 3840 × 2160, 4-lane MIPI to the RV1126B: the deck, the water and the gate area" (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 "L1_14x14" (layer "F.Cu") (at -60 -1450)
    (property "Reference" "L1" (at 0 0 0) (layer "F.Fab") (effects (font (size 0.8 0.8) (thickness 0.12))))
    (property "Value" "M12 holder and a 2.1 mm lens, about 110° × 77°, its front just inside the pool-face window" (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 "Dwgs.User"))
    (fp_rect (start -7 -7) (end 7 7) (stroke (width 0.12) (type solid)) (fill none) (layer "Dwgs.User"))
    (attr board_only exclude_from_pos_files exclude_from_bom)
  )
  (footprint "U8_6.5x6.5" (layer "F.Cu") (at -40 -1310)
    (property "Reference" "U8" (at 0 0 0) (layer "F.SilkS") (effects (font (size 0.8 0.8) (thickness 0.12))))
    (property "Value" "TI IWRL6432AOP 60 GHz radar, antennas in the package: who is in the pool area, adult or child by height, still or moving, and someone over the fence" (at 0 4.05 0) (layer "F.Fab") hide (effects (font (size 0.5 0.5) (thickness 0.08))))
    (fp_rect (start -3.25 -3.25) (end 3.25 3.25) (stroke (width 0.05) (type solid)) (fill none) (layer "F.CrtYd"))
    (fp_rect (start -3.25 -3.25) (end 3.25 3.25) (stroke (width 0.12) (type solid)) (fill none) (layer "F.SilkS"))
    (attr board_only exclude_from_pos_files exclude_from_bom)
  )
  (footprint "U13_8x6" (layer "B.Cu") (at -40 -1305)
    (property "Reference" "U13" (at 0 0 0) (layer "B.SilkS") (effects (font (size 0.8 0.8) (thickness 0.12)) (justify mirror)))
    (property "Value" "QSPI flash and the radar's 40 MHz MEMS oscillator" (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 "AE1_3.2x10" (layer "F.Cu") (at 0 -1290)
    (property "Reference" "AE1" (at 0 0 0) (layer "F.Fab") (effects (font (size 0.8 0.8) (thickness 0.12))))
    (property "Value" "Dual-band Wi-Fi/BT chip antenna behind the radome slot (the post is aluminium; the radome and the camera window are its only radio windows), fed over the head's flex" (at 0 5.8 0) (layer "F.Fab") hide (effects (font (size 0.5 0.5) (thickness 0.08))))
    (fp_rect (start -1.6 -5) (end 1.6 5) (stroke (width 0.05) (type solid)) (fill none) (layer "F.CrtYd"))
    (fp_rect (start -1.6 -5) (end 1.6 5) (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 "F.Cu") (at -10 -1596)
    (property "Reference" "SW1" (at 0 0 0) (layer "F.SilkS") (effects (font (size 0.8 0.8) (thickness 0.12))))
    (property "Value" "Omron D2F-01, plunger up, pressed 0.5 mm by the cap when it is screwed down" (at 0 3.7 0) (layer "F.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 "F.CrtYd"))
    (fp_rect (start -6.4 -2.9) (end 6.4 2.9) (stroke (width 0.12) (type solid)) (fill none) (layer "F.SilkS"))
    (attr board_only exclude_from_pos_files exclude_from_bom)
  )
  (footprint "J2_14x15" (layer "F.Cu") (at 9 -1596)
    (property "Reference" "J2" (at 0 0 0) (layer "F.SilkS") (effects (font (size 0.8 0.8) (thickness 0.12))))
    (property "Value" "microSD socket with a hinged, latched lid (Amphenol 101-00660 class), fitted on every board: our software starts from the card; reached by lifting the cap" (at 0 8.3 0) (layer "F.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 "F.CrtYd"))
    (fp_rect (start -7 -7.5) (end 7 7.5) (stroke (width 0.12) (type solid)) (fill none) (layer "F.SilkS"))
    (attr board_only exclude_from_pos_files exclude_from_bom)
  )
  (footprint "U91_3x1.35" (layer "F.Cu") (at 9 -1587)
    (property "Reference" "U91" (at 0 0 0) (layer "F.Fab") (effects (font (size 0.8 0.8) (thickness 0.12))))
    (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 "F.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 "F.CrtYd"))
    (fp_rect (start -1.5 -0.675) (end 1.5 0.675) (stroke (width 0.12) (type solid)) (fill none) (layer "F.SilkS"))
    (attr board_only exclude_from_pos_files exclude_from_bom)
  )
  (footprint "U90_2x2" (layer "F.Cu") (at 9 -1605)
    (property "Reference" "U90" (at 0 0 0) (layer "F.Fab") (effects (font (size 0.8 0.8) (thickness 0.12))))
    (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 "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 "U21_18x25.5" (layer "F.Cu") (at 140 -1090)
    (property "Reference" "U21" (at 0 0 0) (layer "F.SilkS") (effects (font (size 0.8 0.8) (thickness 0.12))))
    (property "Value" "Espressif ESP32-S3-WROOM-1-N16R8: runs the outside camera and sends JPEG frames over the link; its radio only for setup, antenna end up under the outside window" (at 0 13.55 0) (layer "F.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 "F.CrtYd"))
    (fp_rect (start -9 -12.75) (end 9 12.75) (stroke (width 0.12) (type solid)) (fill none) (layer "F.SilkS"))
    (attr board_only exclude_from_pos_files exclude_from_bom)
  )
  (footprint "U22_3x2" (layer "F.Cu") (at 125 -1060)
    (property "Reference" "U22" (at 0 0 0) (layer "F.Fab") (effects (font (size 0.8 0.8) (thickness 0.12))))
    (property "Value" "Microchip ATECC608B: signs the hinge post's frames and status" (at 0 1.8 0) (layer "F.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 "F.CrtYd"))
    (fp_rect (start -1.5 -1) (end 1.5 1) (stroke (width 0.12) (type solid)) (fill none) (layer "F.SilkS"))
    (attr board_only exclude_from_pos_files exclude_from_bom)
  )
  (footprint "U29_2x3" (layer "F.Cu") (at 155 -1060)
    (property "Reference" "U29" (at 0 0 0) (layer "F.Fab") (effects (font (size 0.8 0.8) (thickness 0.12))))
    (property "Value" "ID EEPROM 2 kbit" (at 0 2.3 0) (layer "F.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 "F.CrtYd"))
    (fp_rect (start -1 -1.5) (end 1 1.5) (stroke (width 0.12) (type solid)) (fill none) (layer "F.SilkS"))
    (attr board_only exclude_from_pos_files exclude_from_bom)
  )
  (footprint "U25_3x3" (layer "F.Cu") (at 154 -1030)
    (property "Reference" "U25" (at 0 0 0) (layer "F.Fab") (effects (font (size 0.8 0.8) (thickness 0.12))))
    (property "Value" "TI THVD1450 RS-485 transceiver: JPEG frames to the latch post at 2 fps" (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 "U24_16x10" (layer "F.Cu") (at 140 -1010)
    (property "Reference" "U24" (at 0 0 0) (layer "F.SilkS") (effects (font (size 0.8 0.8) (thickness 0.12))))
    (property "Value" "12 V input from the buried lead with TVS, fuse and reverse block; TI TPS62933 12-to-5 V buck; TI BQ24074 1 A charger (NTC input); TI TPS63020 3.3 V buck-boost" (at 0 5.8 0) (layer "F.Fab") hide (effects (font (size 0.5 0.5) (thickness 0.08))))
    (fp_rect (start -8 -5) (end 8 5) (stroke (width 0.05) (type solid)) (fill none) (layer "F.CrtYd"))
    (fp_rect (start -8 -5) (end 8 5) (stroke (width 0.12) (type solid)) (fill none) (layer "F.SilkS"))
    (attr board_only exclude_from_pos_files exclude_from_bom)
  )
  (footprint "TP21_10x6" (layer "B.Cu") (at 140 -1000)
    (property "Reference" "TP21" (at 0 0 0) (layer "B.SilkS") (effects (font (size 0.8 0.8) (thickness 0.12)) (justify mirror)))
    (property "Value" "Factory pads: USB (ESP32-S3 native), boot, enable, rails" (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 "BT21_21x77" (layer "F.Cu") (at 140 -720)
    (property "Reference" "BT21" (at 0 0 0) (layer "F.SilkS") (effects (font (size 0.8 0.8) (thickness 0.12))))
    (property "Value" "Keystone 1042 SMT holder, 18650 (Samsung INR18650-35E), standing up the post" (at 0 39.3 0) (layer "F.Fab") hide (effects (font (size 0.5 0.5) (thickness 0.08))))
    (fp_rect (start -10.5 -38.5) (end 10.5 38.5) (stroke (width 0.05) (type solid)) (fill none) (layer "F.CrtYd"))
    (fp_rect (start -10.5 -38.5) (end 10.5 38.5) (stroke (width 0.12) (type solid)) (fill none) (layer "F.SilkS"))
    (attr board_only exclude_from_pos_files exclude_from_bom)
  )
  (footprint "RT21_1.6x0.8" (layer "F.Cu") (at 154 -720)
    (property "Reference" "RT21" (at 0 0 0) (layer "F.Fab") (effects (font (size 0.8 0.8) (thickness 0.12))))
    (property "Value" "NTC thermistor 10 k, 0603, beside the cell" (at 0 1.2 0) (layer "F.Fab") hide (effects (font (size 0.5 0.5) (thickness 0.08))))
    (fp_rect (start -0.8 -0.4) (end 0.8 0.4) (stroke (width 0.05) (type solid)) (fill none) (layer "F.CrtYd"))
    (fp_rect (start -0.8 -0.4) (end 0.8 0.4) (stroke (width 0.12) (type solid)) (fill none) (layer "F.SilkS"))
    (attr board_only exclude_from_pos_files exclude_from_bom)
  )
  (footprint "J21_8x10" (layer "F.Cu") (at 130 -652)
    (property "Reference" "J21" (at 0 0 0) (layer "F.SilkS") (effects (font (size 0.8 0.8) (thickness 0.12))))
    (property "Value" "Molex Micro-Fit 3.0 vertical header, 2 circuits, latched: 12 V from the listed plug-in supply on the pump pad's GFCI outlet, through the gland at 120 mm" (at 0 5.8 0) (layer "F.Fab") hide (effects (font (size 0.5 0.5) (thickness 0.08))))
    (fp_rect (start -4 -5) (end 4 5) (stroke (width 0.05) (type solid)) (fill none) (layer "F.CrtYd"))
    (fp_rect (start -4 -5) (end 4 5) (stroke (width 0.12) (type solid)) (fill none) (layer "F.SilkS"))
    (attr board_only exclude_from_pos_files exclude_from_bom)
  )
  (footprint "J22_10x10" (layer "F.Cu") (at 150 -652)
    (property "Reference" "J22" (at 0 0 0) (layer "F.SilkS") (effects (font (size 0.8 0.8) (thickness 0.12))))
    (property "Value" "Molex Micro-Fit 3.0 vertical header, 4 circuits, latched: 12 V and the RS-485 pair to the latch post, down the post and through the conduit under the gate" (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 "OKO_30x12" (layer "F.Cu") (at 140 -1113)
    (property "Reference" "OKO" (at 0 0 0) (layer "F.SilkS") (effects (font (size 0.8 0.8) (thickness 0.12))))
    (property "Value" "Nothing tall on side A where the outside head's flex leaves the top" (at 0 6.8 0) (layer "F.Fab") hide (effects (font (size 0.5 0.5) (thickness 0.08))))
    (fp_rect (start -15 -6) (end 15 6) (stroke (width 0.05) (type solid)) (fill none) (layer "Dwgs.User"))
    (fp_rect (start -15 -6) (end 15 6) (stroke (width 0.12) (type solid)) (fill none) (layer "Dwgs.User"))
    (attr board_only exclude_from_pos_files exclude_from_bom)
  )
  (footprint "U23_8x8" (layer "F.Cu") (at 140 -1134)
    (property "Reference" "U23" (at 0 0 0) (layer "F.Fab") (effects (font (size 0.8 0.8) (thickness 0.12))))
    (property "Value" "OmniVision OV2640 2 MP camera chip, UXGA 1600 × 1200 at 15 fps over its 8-bit port to the ESP32-S3 (JPEG in the chip)" (at 0 4.8 0) (layer "F.Fab") hide (effects (font (size 0.5 0.5) (thickness 0.08))))
    (fp_rect (start -4 -4) (end 4 4) (stroke (width 0.05) (type solid)) (fill none) (layer "F.CrtYd"))
    (fp_rect (start -4 -4) (end 4 4) (stroke (width 0.12) (type solid)) (fill none) (layer "F.SilkS"))
    (attr board_only exclude_from_pos_files exclude_from_bom)
  )
  (footprint "L3_9x9" (layer "F.Cu") (at 140 -1134)
    (property "Reference" "L3" (at 0 0 0) (layer "F.Fab") (effects (font (size 0.8 0.8) (thickness 0.12))))
    (property "Value" "M7 holder and a wide lens, about 100° across (rows cropped to 1600 × 720: 56° up and down), its front just inside the outside window" (at 0 5.3 0) (layer "F.Fab") hide (effects (font (size 0.5 0.5) (thickness 0.08))))
    (fp_rect (start -4.5 -4.5) (end 4.5 4.5) (stroke (width 0.05) (type solid)) (fill none) (layer "Dwgs.User"))
    (fp_rect (start -4.5 -4.5) (end 4.5 4.5) (stroke (width 0.12) (type solid)) (fill none) (layer "Dwgs.User"))
    (attr board_only exclude_from_pos_files exclude_from_bom)
  )
  (footprint "SW21_12.8x5.8" (layer "F.Cu") (at 160 -1141)
    (property "Reference" "SW21" (at 0 0 0) (layer "F.SilkS") (effects (font (size 0.8 0.8) (thickness 0.12))))
    (property "Value" "Omron D2F-01, pressed 0.5 mm by the hinge-post cap" (at 0 3.7 0) (layer "F.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 "F.CrtYd"))
    (fp_rect (start -6.4 -2.9) (end 6.4 2.9) (stroke (width 0.12) (type solid)) (fill none) (layer "F.SilkS"))
    (attr board_only exclude_from_pos_files exclude_from_bom)
  )
  (footprint "J23_14x15" (layer "F.Cu") (at 179 -1141)
    (property "Reference" "J23" (at 0 0 0) (layer "F.SilkS") (effects (font (size 0.8 0.8) (thickness 0.12))))
    (property "Value" "microSD socket with a hinged, latched lid (Amphenol 101-00660 class): our software starts from the card" (at 0 8.3 0) (layer "F.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 "F.CrtYd"))
    (fp_rect (start -7 -7.5) (end 7 7.5) (stroke (width 0.12) (type solid)) (fill none) (layer "F.SilkS"))
    (attr board_only exclude_from_pos_files exclude_from_bom)
  )
  (footprint "U93_3x1.35" (layer "F.Cu") (at 179 -1132)
    (property "Reference" "U93" (at 0 0 0) (layer "F.Fab") (effects (font (size 0.8 0.8) (thickness 0.12))))
    (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 "F.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 "F.CrtYd"))
    (fp_rect (start -1.5 -0.675) (end 1.5 0.675) (stroke (width 0.12) (type solid)) (fill none) (layer "F.SilkS"))
    (attr board_only exclude_from_pos_files exclude_from_bom)
  )
  (footprint "U92_2x2" (layer "F.Cu") (at 179 -1150)
    (property "Reference" "U92" (at 0 0 0) (layer "F.Fab") (effects (font (size 0.8 0.8) (thickness 0.12))))
    (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 "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 "D1_5x5" (layer "F.Cu") (at 0 -1177.6)
    (property "Reference" "D1" (at 0 0 0) (layer "F.Fab") (effects (font (size 0.8 0.8) (thickness 0.12))))
    (property "Value" "RGB LED with driver, 5050 (WS2812B class), under the pool-face light guide" (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 "D11_5x5" (layer "B.Cu") (at 0 -1177.6)
    (property "Reference" "D11" (at 0 0 0) (layer "B.Fab") (effects (font (size 0.8 0.8) (thickness 0.12)) (justify mirror)))
    (property "Value" "RGB LED with driver, 5050 (WS2812B class), under the outside light guide" (at 0 3.3 0) (layer "B.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 "B.CrtYd"))
    (fp_rect (start -2.5 -2.5) (end 2.5 2.5) (stroke (width 0.12) (type solid)) (fill none) (layer "B.SilkS"))
    (attr board_only exclude_from_pos_files exclude_from_bom)
  )
  (footprint "D2_5x5" (layer "F.Cu") (at 0 -1184)
    (property "Reference" "D2" (at 0 0 0) (layer "F.Fab") (effects (font (size 0.8 0.8) (thickness 0.12))))
    (property "Value" "RGB LED with driver, 5050 (WS2812B class), under the pool-face light guide" (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 "D12_5x5" (layer "B.Cu") (at 0 -1184)
    (property "Reference" "D12" (at 0 0 0) (layer "B.Fab") (effects (font (size 0.8 0.8) (thickness 0.12)) (justify mirror)))
    (property "Value" "RGB LED with driver, 5050 (WS2812B class), under the outside light guide" (at 0 3.3 0) (layer "B.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 "B.CrtYd"))
    (fp_rect (start -2.5 -2.5) (end 2.5 2.5) (stroke (width 0.12) (type solid)) (fill none) (layer "B.SilkS"))
    (attr board_only exclude_from_pos_files exclude_from_bom)
  )
  (footprint "D3_5x5" (layer "F.Cu") (at 0 -1190.4)
    (property "Reference" "D3" (at 0 0 0) (layer "F.Fab") (effects (font (size 0.8 0.8) (thickness 0.12))))
    (property "Value" "RGB LED with driver, 5050 (WS2812B class), under the pool-face light guide" (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 "D13_5x5" (layer "B.Cu") (at 0 -1190.4)
    (property "Reference" "D13" (at 0 0 0) (layer "B.Fab") (effects (font (size 0.8 0.8) (thickness 0.12)) (justify mirror)))
    (property "Value" "RGB LED with driver, 5050 (WS2812B class), under the outside light guide" (at 0 3.3 0) (layer "B.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 "B.CrtYd"))
    (fp_rect (start -2.5 -2.5) (end 2.5 2.5) (stroke (width 0.12) (type solid)) (fill none) (layer "B.SilkS"))
    (attr board_only exclude_from_pos_files exclude_from_bom)
  )
  (footprint "D4_5x5" (layer "F.Cu") (at 0 -1196.8)
    (property "Reference" "D4" (at 0 0 0) (layer "F.Fab") (effects (font (size 0.8 0.8) (thickness 0.12))))
    (property "Value" "RGB LED with driver, 5050 (WS2812B class), under the pool-face light guide" (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 "D14_5x5" (layer "B.Cu") (at 0 -1196.8)
    (property "Reference" "D14" (at 0 0 0) (layer "B.Fab") (effects (font (size 0.8 0.8) (thickness 0.12)) (justify mirror)))
    (property "Value" "RGB LED with driver, 5050 (WS2812B class), under the outside light guide" (at 0 3.3 0) (layer "B.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 "B.CrtYd"))
    (fp_rect (start -2.5 -2.5) (end 2.5 2.5) (stroke (width 0.12) (type solid)) (fill none) (layer "B.SilkS"))
    (attr board_only exclude_from_pos_files exclude_from_bom)
  )
  (footprint "D5_5x5" (layer "F.Cu") (at 0 -1203.2)
    (property "Reference" "D5" (at 0 0 0) (layer "F.Fab") (effects (font (size 0.8 0.8) (thickness 0.12))))
    (property "Value" "RGB LED with driver, 5050 (WS2812B class), under the pool-face light guide" (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 "D15_5x5" (layer "B.Cu") (at 0 -1203.2)
    (property "Reference" "D15" (at 0 0 0) (layer "B.Fab") (effects (font (size 0.8 0.8) (thickness 0.12)) (justify mirror)))
    (property "Value" "RGB LED with driver, 5050 (WS2812B class), under the outside light guide" (at 0 3.3 0) (layer "B.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 "B.CrtYd"))
    (fp_rect (start -2.5 -2.5) (end 2.5 2.5) (stroke (width 0.12) (type solid)) (fill none) (layer "B.SilkS"))
    (attr board_only exclude_from_pos_files exclude_from_bom)
  )
  (footprint "D6_5x5" (layer "F.Cu") (at 0 -1209.6)
    (property "Reference" "D6" (at 0 0 0) (layer "F.Fab") (effects (font (size 0.8 0.8) (thickness 0.12))))
    (property "Value" "RGB LED with driver, 5050 (WS2812B class), under the pool-face light guide" (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 "D16_5x5" (layer "B.Cu") (at 0 -1209.6)
    (property "Reference" "D16" (at 0 0 0) (layer "B.Fab") (effects (font (size 0.8 0.8) (thickness 0.12)) (justify mirror)))
    (property "Value" "RGB LED with driver, 5050 (WS2812B class), under the outside light guide" (at 0 3.3 0) (layer "B.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 "B.CrtYd"))
    (fp_rect (start -2.5 -2.5) (end 2.5 2.5) (stroke (width 0.12) (type solid)) (fill none) (layer "B.SilkS"))
    (attr board_only exclude_from_pos_files exclude_from_bom)
  )
  (footprint "D7_5x5" (layer "F.Cu") (at 0 -1216)
    (property "Reference" "D7" (at 0 0 0) (layer "F.Fab") (effects (font (size 0.8 0.8) (thickness 0.12))))
    (property "Value" "RGB LED with driver, 5050 (WS2812B class), under the pool-face light guide" (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 "D17_5x5" (layer "B.Cu") (at 0 -1216)
    (property "Reference" "D17" (at 0 0 0) (layer "B.Fab") (effects (font (size 0.8 0.8) (thickness 0.12)) (justify mirror)))
    (property "Value" "RGB LED with driver, 5050 (WS2812B class), under the outside light guide" (at 0 3.3 0) (layer "B.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 "B.CrtYd"))
    (fp_rect (start -2.5 -2.5) (end 2.5 2.5) (stroke (width 0.12) (type solid)) (fill none) (layer "B.SilkS"))
    (attr board_only exclude_from_pos_files exclude_from_bom)
  )
  (footprint "D8_5x5" (layer "F.Cu") (at 0 -1222.4)
    (property "Reference" "D8" (at 0 0 0) (layer "F.Fab") (effects (font (size 0.8 0.8) (thickness 0.12))))
    (property "Value" "RGB LED with driver, 5050 (WS2812B class), under the pool-face light guide" (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 "D18_5x5" (layer "B.Cu") (at 0 -1222.4)
    (property "Reference" "D18" (at 0 0 0) (layer "B.Fab") (effects (font (size 0.8 0.8) (thickness 0.12)) (justify mirror)))
    (property "Value" "RGB LED with driver, 5050 (WS2812B class), under the outside light guide" (at 0 3.3 0) (layer "B.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 "B.CrtYd"))
    (fp_rect (start -2.5 -2.5) (end 2.5 2.5) (stroke (width 0.12) (type solid)) (fill none) (layer "B.SilkS"))
    (attr board_only exclude_from_pos_files exclude_from_bom)
  )
  (footprint "LP1_8x52" (layer "F.Cu") (at 0 -1200)
    (property "Reference" "LP1" (at 0 0 0) (layer "F.Fab") (effects (font (size 0.8 0.8) (thickness 0.12))))
    (property "Value" "Printed clear light guide from the 8 pool LEDs to the pool-face opal slot" (at 0 26.8 0) (layer "F.Fab") hide (effects (font (size 0.5 0.5) (thickness 0.08))))
    (fp_rect (start -4 -26) (end 4 26) (stroke (width 0.05) (type solid)) (fill none) (layer "Dwgs.User"))
    (fp_rect (start -4 -26) (end 4 26) (stroke (width 0.12) (type solid)) (fill none) (layer "Dwgs.User"))
    (attr board_only exclude_from_pos_files exclude_from_bom)
  )
)
