(kicad_pcb (version 20240108) (generator "iemi_footballone_board") (generator_version "1")
  (general (thickness 1.6) (legacy_teardrops no))
  (paper "A2")
  (title_block (title "FootballOne goal-post and crossbar boards rev A") (date "2026-11-04") (rev "A") (company "IEMI Labs") (comment 1 "Goal-post spine with pitch head, line head, top tab and pads tab; crossbar board"))
  (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 -46 -60) (xy -5 -60) (xy -5 -54) (xy -10 -54) (xy -10 -46) (xy 10 -46) (xy 10 -54) (xy 5 -54) (xy 5 -60) (xy 46 -60) (xy 46 -496) (xy 72 -496) (xy 72 -492) (xy 88 -492) (xy 88 -508) (xy 72 -508) (xy 72 -504) (xy 46 -504) (xy 46 -820) (xy 6 -820) (xy 6 -826) (xy 20 -826) (xy 20 -856) (xy -20 -856) (xy -20 -826) (xy -6 -826) (xy -6 -820) (xy -46 -820) (xy -46 -795) (xy -70 -795) (xy -70 -800) (xy -90 -800) (xy -90 -780) (xy -70 -780) (xy -70 -785) (xy -46 -785) (xy -46 -603) (xy -72 -603) (xy -72 -608) (xy -88 -608) (xy -88 -592) (xy -72 -592) (xy -72 -597) (xy -46 -597)) (stroke (width 0.1) (type solid)) (fill none) (layer "Edge.Cuts"))
  (gr_poly (pts (xy 120 -360) (xy 320 -360) (xy 320 -440) (xy 120 -440)) (stroke (width 0.1) (type solid)) (fill none) (layer "Edge.Cuts"))
  (gr_text "flexes drawn as short stubs: pitch head about 40 mm, line head about 90 mm, antenna tab about 70 mm, top tab about 120 mm, pads tab about 70 mm (est.)" (at 150 0 0) (layer "Cmts.User") (effects (font (size 1.5 1.5) (thickness 0.2))))
  (footprint "U1_14x14" (layer "B.Cu") (at 0 -680)
    (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, two MIPI CSI-2 ports (IMX415 and OV9281), on side B under a heat block to the back 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 -680)
    (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 with a 1 mm gap pad from U1 to the post's back 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 -652)
    (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 (6 s of goal-line video for an unsure call, both 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 -632)
    (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, match clips)" (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 -15 -660)
    (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 -660)
    (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 15 -620)
    (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 15 -610)
    (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, which post, 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 "TP1_12x6" (layer "B.Cu") (at 0 -550)
    (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 "LS1_12x12" (layer "B.Cu") (at 0 -200)
    (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 horn holes in the back face (the goal horn), 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 -200)
    (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 horn 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_6x52" (layer "B.Cu") (at 0 -300)
    (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 back LEDs to the back light slot" (at 0 26.8 0) (layer "B.Fab") hide (effects (font (size 0.5 0.5) (thickness 0.08))))
    (fp_rect (start -3 -26) (end 3 26) (stroke (width 0.05) (type solid)) (fill none) (layer "Dwgs.User"))
    (fp_rect (start -3 -26) (end 3 26) (stroke (width 0.12) (type solid)) (fill none) (layer "Dwgs.User"))
    (attr board_only exclude_from_pos_files exclude_from_bom)
  )
  (footprint "J1_10x10" (layer "B.Cu") (at 0 -90)
    (property "Reference" "J1" (at 0 0 0) (layer "B.Fab") (effects (font (size 0.8 0.8) (thickness 0.12)) (justify mirror)))
    (property "Value" "Sealed M8 4-pin panel socket with a screw cap (Binder 718 class, IP67), soldered to the spine and through the Ø10 hole in the back face: 12 V from the club's charger overnight, the screw lock holds it on a knock" (at 0 5.8 0) (layer "B.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 "Dwgs.User"))
    (fp_rect (start -5 -5) (end 5 5) (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 -380)
    (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 "U6_12x12" (layer "F.Cu") (at 24 -600)
    (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 access point for the coaches' phones and the link to the other goal; its antenna behind the radio window" (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 36 -600)
    (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 "AE1_10x3.2" (layer "F.Cu") (at -80 -600)
    (property "Reference" "AE1" (at 0 0 0) (layer "F.SilkS") (effects (font (size 0.8 0.8) (thickness 0.12))))
    (property "Value" "Dual-band Wi-Fi/BT chip antenna on a 16 × 16 tab folded flat just behind the Ø20 radio window in the pitch face, fed over its flex (the post is aluminium; the windows are its only radio openings)" (at 0 2.4 0) (layer "F.Fab") hide (effects (font (size 0.5 0.5) (thickness 0.08))))
    (fp_rect (start -5 -1.6) (end 5 1.6) (stroke (width 0.05) (type solid)) (fill none) (layer "F.CrtYd"))
    (fp_rect (start -5 -1.6) (end 5 1.6) (stroke (width 0.12) (type solid)) (fill none) (layer "F.SilkS"))
    (attr board_only exclude_from_pos_files exclude_from_bom)
  )
  (footprint "U11_2.5x3" (layer "F.Cu") (at -20 -740)
    (property "Reference" "U11" (at 0 0 0) (layer "F.Fab") (effects (font (size 0.8 0.8) (thickness 0.12))))
    (property "Value" "ST ISM330DHCX 6-axis motion chip: post and crossbar hits, a goal that tilts or is lifted from its sockets" (at 0 2.3 0) (layer "F.Fab") hide (effects (font (size 0.5 0.5) (thickness 0.08))))
    (fp_rect (start -1.25 -1.5) (end 1.25 1.5) (stroke (width 0.05) (type solid)) (fill none) (layer "F.CrtYd"))
    (fp_rect (start -1.25 -1.5) (end 1.25 1.5) (stroke (width 0.12) (type solid)) (fill none) (layer "F.SilkS"))
    (attr board_only exclude_from_pos_files exclude_from_bom)
  )
  (footprint "U14_3x3" (layer "F.Cu") (at -24 -780)
    (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: tracks, calls and clips on request to the crossbar and the other post" (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 "U15_3x3" (layer "F.Cu") (at -24 -770)
    (property "Reference" "U15" (at 0 0 0) (layer "F.Fab") (effects (font (size 0.8 0.8) (thickness 0.12))))
    (property "Value" "TI THVD1450 on the frame-sync pair: both posts' line cameras fire on one clock" (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 "J3_13x10" (layer "F.Cu") (at -36 -800)
    (property "Reference" "J3" (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, 6 circuits, latched: 5 V for the crossbar board, ground, the RS-485 pair and the frame-sync pair, up through the joint into the crossbar" (at 0 5.8 0) (layer "F.Fab") hide (effects (font (size 0.5 0.5) (thickness 0.08))))
    (fp_rect (start -6.5 -5) (end 6.5 5) (stroke (width 0.05) (type solid)) (fill none) (layer "F.CrtYd"))
    (fp_rect (start -6.5 -5) (end 6.5 5) (stroke (width 0.12) (type solid)) (fill none) (layer "F.SilkS"))
    (attr board_only exclude_from_pos_files exclude_from_bom)
  )
  (footprint "PKO_40x30" (layer "F.Cu") (at 0 -800)
    (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 pitch head and its flex" (at 0 15.8 0) (layer "F.Fab") hide (effects (font (size 0.5 0.5) (thickness 0.08))))
    (fp_rect (start -20 -15) (end 20 15) (stroke (width 0.05) (type solid)) (fill none) (layer "Dwgs.User"))
    (fp_rect (start -20 -15) (end 20 15) (stroke (width 0.12) (type solid)) (fill none) (layer "Dwgs.User"))
    (attr board_only exclude_from_pos_files exclude_from_bom)
  )
  (footprint "LKO_24x20" (layer "F.Cu") (at 0 -490)
    (property "Reference" "LKO" (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 line head's flex leaves the spine" (at 0 10.8 0) (layer "F.Fab") hide (effects (font (size 0.5 0.5) (thickness 0.08))))
    (fp_rect (start -12 -10) (end 12 10) (stroke (width 0.05) (type solid)) (fill none) (layer "Dwgs.User"))
    (fp_rect (start -12 -10) (end 12 10) (stroke (width 0.12) (type solid)) (fill none) (layer "Dwgs.User"))
    (attr board_only exclude_from_pos_files exclude_from_bom)
  )
  (footprint "U4_20x12" (layer "F.Cu") (at 25 -200)
    (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 from the charge socket with TVS, fuse and reverse block; TI BQ25672 class 1S charger with power path, 2 A (NTC input); TI TPS63020 3.3 V buck-boost; 5 V boost for the LEDs and the crossbar; TI BQ2970 1-cell Li-ion protector + dual N-FET on the pack (short, over-current, over-discharge cut-off at 2.8 V)" (at 0 6.8 0) (layer "F.Fab") hide (effects (font (size 0.5 0.5) (thickness 0.08))))
    (fp_rect (start -10 -6) (end 10 6) (stroke (width 0.05) (type solid)) (fill none) (layer "F.CrtYd"))
    (fp_rect (start -10 -6) (end 10 6) (stroke (width 0.12) (type solid)) (fill none) (layer "F.SilkS"))
    (attr board_only exclude_from_pos_files exclude_from_bom)
  )
  (footprint "U16_2x2" (layer "F.Cu") (at -25 -200)
    (property "Reference" "U16" (at 0 0 0) (layer "F.Fab") (effects (font (size 0.8 0.8) (thickness 0.12))))
    (property "Value" "TI BQ27220 fuel gauge: battery left, shown in the app" (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 "RT1_1.6x0.8" (layer "F.Cu") (at 0 -182)
    (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, on the cell row, 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 "BT1_21x77" (layer "F.Cu") (at -33.75 -120)
    (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, first of four" (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 -11.25 -120)
    (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 for one 18650 cell (Samsung INR18650-35E), standing up the post, second of four" (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 "BT3_21x77" (layer "F.Cu") (at 11.25 -120)
    (property "Reference" "BT3" (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, third of four" (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 "BT4_21x77" (layer "F.Cu") (at 33.75 -120)
    (property "Reference" "BT4" (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, fourth of four" (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 "U12_10x10" (layer "F.Cu") (at -80 -790)
    (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 goal area, the penalty area and the keeper" (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 -80 -790)
    (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 3.2 mm lens, about 70° × 40°, its front just inside the Ø20 pitch-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 "U13_8x8" (layer "F.Cu") (at 80 -500)
    (property "Reference" "U13" (at 0 0 0) (layer "F.Fab") (effects (font (size 0.8 0.8) (thickness 0.12))))
    (property "Value" "OmniVision OV9281 1 MP global-shutter camera chip, 1280 × 800 at 120 fps, 2-lane MIPI to the RV1126B: the ball over the line, frozen at 120 km/h" (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 "L2_10x10" (layer "F.Cu") (at 80 -500)
    (property "Reference" "L2" (at 0 0 0) (layer "F.Fab") (effects (font (size 0.8 0.8) (thickness 0.12))))
    (property "Value" "M8 holder and a 2.8 mm lens, about 69° × 46°, its front just inside the Ø12 inside-face window" (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 "Dwgs.User"))
    (fp_rect (start -5 -5) (end 5 5) (stroke (width 0.12) (type solid)) (fill none) (layer "Dwgs.User"))
    (attr board_only exclude_from_pos_files exclude_from_bom)
  )
  (footprint "SW1_12.8x5.8" (layer "F.Cu") (at -10 -836)
    (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 crossbar's underside when the joint is bolted" (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 8 -842)
    (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 when the crossbar is unbolted" (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 8 -833)
    (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 8 -851)
    (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 "TP2_16x6" (layer "F.Cu") (at 0 -50)
    (property "Reference" "TP2" (at 0 0 0) (layer "F.SilkS") (effects (font (size 0.8 0.8) (thickness 0.12))))
    (property "Value" "Two gold pads 6 × 6 in the dock tray floor: charge the referee wrist unit from the post's cells (fitted in the home left post only)" (at 0 3.8 0) (layer "F.Fab") hide (effects (font (size 0.5 0.5) (thickness 0.08))))
    (fp_rect (start -8 -3) (end 8 3) (stroke (width 0.05) (type solid)) (fill none) (layer "F.CrtYd"))
    (fp_rect (start -8 -3) (end 8 3) (stroke (width 0.12) (type solid)) (fill none) (layer "F.SilkS"))
    (attr board_only exclude_from_pos_files exclude_from_bom)
  )
  (footprint "U31_18x25.5" (layer "F.Cu") (at 220 -374)
    (property "Reference" "U31" (at 0 0 0) (layer "F.SilkS") (effects (font (size 0.8 0.8) (thickness 0.12))))
    (property "Value" "Espressif ESP32-S3-WROOM-1-N8R8: BLE long range to the referee wrist unit and to the other goal; antenna end at the back-face radio 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 "U32_2.5x3" (layer "F.Cu") (at 200 -400)
    (property "Reference" "U32" (at 0 0 0) (layer "F.Fab") (effects (font (size 0.8 0.8) (thickness 0.12))))
    (property "Value" "ST ISM330DHCX 6-axis motion chip at the crossbar centre: crossbar hits and sag, the goal tilting" (at 0 2.3 0) (layer "F.Fab") hide (effects (font (size 0.5 0.5) (thickness 0.08))))
    (fp_rect (start -1.25 -1.5) (end 1.25 1.5) (stroke (width 0.05) (type solid)) (fill none) (layer "F.CrtYd"))
    (fp_rect (start -1.25 -1.5) (end 1.25 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_3x2" (layer "F.Cu") (at 240 -390)
    (property "Reference" "U33" (at 0 0 0) (layer "F.Fab") (effects (font (size 0.8 0.8) (thickness 0.12))))
    (property "Value" "Microchip ATECC608B: signs what the crossbar relays to the wrist unit" (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 "U39_2x3" (layer "F.Cu") (at 246 -390)
    (property "Reference" "U39" (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 "BT31_77x21" (layer "F.Cu") (at 220 -420)
    (property "Reference" "BT31" (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), along the bar" (at 0 11.3 0) (layer "F.Fab") hide (effects (font (size 0.5 0.5) (thickness 0.08))))
    (fp_rect (start -38.5 -10.5) (end 38.5 10.5) (stroke (width 0.05) (type solid)) (fill none) (layer "F.CrtYd"))
    (fp_rect (start -38.5 -10.5) (end 38.5 10.5) (stroke (width 0.12) (type solid)) (fill none) (layer "F.SilkS"))
    (attr board_only exclude_from_pos_files exclude_from_bom)
  )
  (footprint "RT31_1.6x0.8" (layer "F.Cu") (at 265 -420)
    (property "Reference" "RT31" (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 "U34_14x10" (layer "F.Cu") (at 160 -400)
    (property "Reference" "U34" (at 0 0 0) (layer "F.SilkS") (effects (font (size 0.8 0.8) (thickness 0.12))))
    (property "Value" "TI BQ24074 1 A charger from the left post's 5 V (NTC input), TI TPS63020 3.3 V buck-boost; TI BQ2970 1-cell Li-ion protector + dual N-FET on the pack (short, over-current, over-discharge cut-off at 2.8 V)" (at 0 5.8 0) (layer "F.Fab") hide (effects (font (size 0.5 0.5) (thickness 0.08))))
    (fp_rect (start -7 -5) (end 7 5) (stroke (width 0.05) (type solid)) (fill none) (layer "F.CrtYd"))
    (fp_rect (start -7 -5) (end 7 5) (stroke (width 0.12) (type solid)) (fill none) (layer "F.SilkS"))
    (attr board_only exclude_from_pos_files exclude_from_bom)
  )
  (footprint "U35_8x3" (layer "F.Cu") (at 280 -400)
    (property "Reference" "U35" (at 0 0 0) (layer "F.SilkS") (effects (font (size 0.8 0.8) (thickness 0.12))))
    (property "Value" "Two TI THVD1450 transceivers: the RS-485 bus and the frame-sync pair run straight through from post to post, the ESP32-S3 listens on the bus" (at 0 2.3 0) (layer "F.Fab") hide (effects (font (size 0.5 0.5) (thickness 0.08))))
    (fp_rect (start -4 -1.5) (end 4 1.5) (stroke (width 0.05) (type solid)) (fill none) (layer "F.CrtYd"))
    (fp_rect (start -4 -1.5) (end 4 1.5) (stroke (width 0.12) (type solid)) (fill none) (layer "F.SilkS"))
    (attr board_only exclude_from_pos_files exclude_from_bom)
  )
  (footprint "J31_13x10" (layer "B.Cu") (at 135 -400)
    (property "Reference" "J31" (at 0 0 0) (layer "B.SilkS") (effects (font (size 0.8 0.8) (thickness 0.12)) (justify mirror)))
    (property "Value" "Molex Micro-Fit 3.0 vertical header, 6 circuits, latched" (at 0 5.8 0) (layer "B.Fab") hide (effects (font (size 0.5 0.5) (thickness 0.08))))
    (fp_rect (start -6.5 -5) (end 6.5 5) (stroke (width 0.05) (type solid)) (fill none) (layer "B.CrtYd"))
    (fp_rect (start -6.5 -5) (end 6.5 5) (stroke (width 0.12) (type solid)) (fill none) (layer "B.SilkS"))
    (attr board_only exclude_from_pos_files exclude_from_bom)
  )
  (footprint "J32_13x10" (layer "B.Cu") (at 305 -400)
    (property "Reference" "J32" (at 0 0 0) (layer "B.SilkS") (effects (font (size 0.8 0.8) (thickness 0.12)) (justify mirror)))
    (property "Value" "Molex Micro-Fit 3.0 vertical header, 6 circuits, latched" (at 0 5.8 0) (layer "B.Fab") hide (effects (font (size 0.5 0.5) (thickness 0.08))))
    (fp_rect (start -6.5 -5) (end 6.5 5) (stroke (width 0.05) (type solid)) (fill none) (layer "B.CrtYd"))
    (fp_rect (start -6.5 -5) (end 6.5 5) (stroke (width 0.12) (type solid)) (fill none) (layer "B.SilkS"))
    (attr board_only exclude_from_pos_files exclude_from_bom)
  )
  (footprint "J33_14x15" (layer "B.Cu") (at 180 -400)
    (property "Reference" "J33" (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): the ESP32-S3 loads our program from the card; reached through the bolted end cap" (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 "U93_3x1.35" (layer "B.Cu") (at 180 -391)
    (property "Reference" "U93" (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 "U92_2x2" (layer "B.Cu") (at 180 -409)
    (property "Reference" "U92" (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 "TP31_10x6" (layer "B.Cu") (at 250 -400)
    (property "Reference" "TP31" (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 "D1_5x5" (layer "F.Cu") (at 0 -277.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 pitch-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 -277.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 back 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 -284)
    (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 pitch-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 -284)
    (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 back 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 -290.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 pitch-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 -290.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 back 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 -296.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 pitch-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 -296.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 back 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 -303.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 pitch-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 -303.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 back 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 -309.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 pitch-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 -309.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 back 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 -316)
    (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 pitch-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 -316)
    (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 back 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 -322.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 pitch-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 -322.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 back 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_6x52" (layer "F.Cu") (at 0 -300)
    (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 pitch LEDs to the pitch-face light slot" (at 0 26.8 0) (layer "F.Fab") hide (effects (font (size 0.5 0.5) (thickness 0.08))))
    (fp_rect (start -3 -26) (end 3 26) (stroke (width 0.05) (type solid)) (fill none) (layer "Dwgs.User"))
    (fp_rect (start -3 -26) (end 3 26) (stroke (width 0.12) (type solid)) (fill none) (layer "Dwgs.User"))
    (attr board_only exclude_from_pos_files exclude_from_bom)
  )
)
