(kicad_pcb (version 20221018) (generator pcbnew) (general (thickness 1.6) ) (paper "A4") (layers (0 "F.Cu" signal) (31 "B.Cu" signal) (32 "B.Adhes" user "B.Adhesive") (33 "F.Adhes" user "F.Adhesive") (34 "B.Paste" user) (35 "F.Paste" user) (36 "B.SilkS" user "B.Silkscreen") (37 "F.SilkS" user "F.Silkscreen") (38 "B.Mask" user) (39 "F.Mask" user) (40 "Dwgs.User" user "User.Drawings") (41 "Cmts.User" user "User.Comments") (42 "Eco1.User" user "User.Eco1") (43 "Eco2.User" user "User.Eco2") (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.05) (solder_mask_min_width 0.1) (pad_to_paste_clearance -0.05) (grid 0.5) ) (net 0 "") (net 1 "GND") (net 2 "+12V_SUPPLY") (net 3 "C1_POS") (net 4 "C2_POS") (net 5 "NTC_SENSE") (net 6 "SERVO_CTRL") (net 7 "T_SLIDER_COMMON") ;; ========================================================================= ;; 1. BOARD OUTLINE & MOUNTING HOLES (80x60mm with 3mm rounded corners) ;; ========================================================================= (gr_line (start 13 10) (end 87 10) (layer "Edge.Cuts") (width 0.15)) (gr_arc (start 87 10) (mid 89.12 10.88) (end 90 13) (layer "Edge.Cuts") (width 0.15)) (gr_line (start 90 13) (end 90 67) (layer "Edge.Cuts") (width 0.15)) (gr_arc (start 90 67) (mid 89.12 69.12) (end 87 70) (layer "Edge.Cuts") (width 0.15)) (gr_line (start 87 70) (end 13 70) (layer "Edge.Cuts") (width 0.15)) (gr_arc (start 13 70) (mid 10.88 69.12) (end 10 67) (layer "Edge.Cuts") (width 0.15)) (gr_line (start 10 67) (end 10 13) (layer "Edge.Cuts") (width 0.15)) (gr_arc (start 10 13) (mid 10.88 10.88) (end 13 10) (layer "Edge.Cuts") (width 0.15)) ;; Corner Mounting Holes (M3 Plated with 3D model) (footprint "MountingHole:MountingHole_3.2mm_M3_Pad_Via" (layer "F.Cu") (at 15 15) (pad "1" thru_hole circle (at 0 0) (size 6.0 6.0) (drill 3.2) (layers "*.Cu" "*.Mask") (net 1 "GND")) (model "${KICAD6_3DMODEL_DIR}/MountingHole.3dshapes/MountingHole_3.2mm_M3_Pad_Via.wrl" (offset (xyz 0 0 0)) (scale (xyz 1 1 1)) (rotate (xyz 0 0 0)) ) ) (footprint "MountingHole:MountingHole_3.2mm_M3_Pad_Via" (layer "F.Cu") (at 85 15) (pad "1" thru_hole circle (at 0 0) (size 6.0 6.0) (drill 3.2) (layers "*.Cu" "*.Mask") (net 1 "GND")) (model "${KICAD6_3DMODEL_DIR}/MountingHole.3dshapes/MountingHole_3.2mm_M3_Pad_Via.wrl" (offset (xyz 0 0 0)) (scale (xyz 1 1 1)) (rotate (xyz 0 0 0)) ) ) (footprint "MountingHole:MountingHole_3.2mm_M3_Pad_Via" (layer "F.Cu") (at 15 65) (pad "1" thru_hole circle (at 0 0) (size 6.0 6.0) (drill 3.2) (layers "*.Cu" "*.Mask") (net 1 "GND")) (model "${KICAD6_3DMODEL_DIR}/MountingHole.3dshapes/MountingHole_3.2mm_M3_Pad_Via.wrl" (offset (xyz 0 0 0)) (scale (xyz 1 1 1)) (rotate (xyz 0 0 0)) ) ) (footprint "MountingHole:MountingHole_3.2mm_M3_Pad_Via" (layer "F.Cu") (at 85 65) (pad "1" thru_hole circle (at 0 0) (size 6.0 6.0) (drill 3.2) (layers "*.Cu" "*.Mask") (net 1 "GND")) (model "${KICAD6_3DMODEL_DIR}/MountingHole.3dshapes/MountingHole_3.2mm_M3_Pad_Via.wrl" (offset (xyz 0 0 0)) (scale (xyz 1 1 1)) (rotate (xyz 0 0 0)) ) ) ;; Fiducial Markers (3 on F.Cu for Pick-and-Place machine vision alignment) (footprint "Fiducial:Fiducial_1mm_Mask2mm" (layer "F.Cu") (at 18 22) (pad "1" smd circle (at 0 0) (size 1.0 1.0) (layers "F.Cu" "F.Mask")) ) (footprint "Fiducial:Fiducial_1mm_Mask2mm" (layer "F.Cu") (at 82 22) (pad "1" smd circle (at 0 0) (size 1.0 1.0) (layers "F.Cu" "F.Mask")) ) (footprint "Fiducial:Fiducial_1mm_Mask2mm" (layer "F.Cu") (at 50 64) (pad "1" smd circle (at 0 0) (size 1.0 1.0) (layers "F.Cu" "F.Mask")) ) ;; ========================================================================= ;; 2. C1 (LEFT) & C2 (RIGHT) HIGH-VOLTAGE ELECTROLYTIC CAPACITORS ;; ========================================================================= (footprint "Capacitor_THT:CP_Radial_D10.0mm_P5.00mm" (layer "F.Cu") (at 22 28) (property "Reference" "C1" (at 0 -7.0) (layer "F.SilkS") (effects (font (size 1.5 1.5) (thickness 0.25)))) (property "Value" "1000uF 25V" (at 0 7.0) (layer "F.SilkS") (effects (font (size 1.0 1.0) (thickness 0.15)))) (fp_circle (center 0 0) (end 5.0 0) (layer "F.SilkS") (width 0.2)) (fp_line (start -3.0 -1.5) (end -3.0 1.5) (layer "F.SilkS") (width 0.2)) (fp_line (start -3.8 0) (end -2.2 0) (layer "F.SilkS") (width 0.2)) (pad "1" thru_hole rect (at -2.5 0) (size 2.2 2.2) (drill 1.1) (layers "*.Cu" "*.Mask") (net 3 "C1_POS")) (pad "2" thru_hole circle (at 2.5 0) (size 2.2 2.2) (drill 1.1) (layers "*.Cu" "*.Mask") (net 1 "GND")) (model "${KICAD6_3DMODEL_DIR}/Capacitor_THT.3dshapes/CP_Radial_D10.0mm_P5.00mm.wrl" (offset (xyz 0 0 0)) (scale (xyz 1 1 1)) (rotate (xyz 0 0 0)) ) ) (footprint "Capacitor_THT:CP_Radial_D10.0mm_P5.00mm" (layer "F.Cu") (at 78 28) (property "Reference" "C2" (at 0 -7.0) (layer "F.SilkS") (effects (font (size 1.5 1.5) (thickness 0.25)))) (property "Value" "1000uF 25V" (at 0 7.0) (layer "F.SilkS") (effects (font (size 1.0 1.0) (thickness 0.15)))) (fp_circle (center 0 0) (end 5.0 0) (layer "F.SilkS") (width 0.2)) (fp_line (start -3.0 -1.5) (end -3.0 1.5) (layer "F.SilkS") (width 0.2)) (fp_line (start -3.8 0) (end -2.2 0) (layer "F.SilkS") (width 0.2)) (pad "1" thru_hole rect (at -2.5 0) (size 2.2 2.2) (drill 1.1) (layers "*.Cu" "*.Mask") (net 4 "C2_POS")) (pad "2" thru_hole circle (at 2.5 0) (size 2.2 2.2) (drill 1.1) (layers "*.Cu" "*.Mask") (net 1 "GND")) (model "${KICAD6_3DMODEL_DIR}/Capacitor_THT.3dshapes/CP_Radial_D10.0mm_P5.00mm.wrl" (offset (xyz 0 0 0)) (scale (xyz 1 1 1)) (rotate (xyz 0 0 0)) ) ) ;; ========================================================================= ;; 3. NTC TEMPERATURE SENSOR CIRCUIT (TOP CENTER) ;; ========================================================================= (footprint "Package_TO_SOT_THT:TO-92_Inline" (layer "F.Cu") (at 50 20) (property "Reference" "TH1" (at 0 -4.0) (layer "F.SilkS") (effects (font (size 1.2 1.2) (thickness 0.2)))) (property "Value" "NTC 10k" (at 0 4.0) (layer "F.SilkS") (effects (font (size 1.0 1.0) (thickness 0.15)))) (fp_arc (start -2.5 0) (mid 0 2.5) (end 2.5 0) (layer "F.SilkS") (width 0.18)) (fp_line (start -2.5 0) (end 2.5 0) (layer "F.SilkS") (width 0.18)) (pad "1" thru_hole rect (at -1.27 0) (size 1.6 1.6) (drill 0.85) (layers "*.Cu" "*.Mask") (net 2 "+12V_SUPPLY")) (pad "2" thru_hole circle (at 0 0) (size 1.6 1.6) (drill 0.85) (layers "*.Cu" "*.Mask") (net 5 "NTC_SENSE")) (pad "3" thru_hole circle (at 1.27 0) (size 1.6 1.6) (drill 0.85) (layers "*.Cu" "*.Mask") (net 1 "GND")) (model "${KICAD6_3DMODEL_DIR}/Package_TO_SOT_THT.3dshapes/TO-92_Inline.wrl" (offset (xyz 0 0 0)) (scale (xyz 1 1 1)) (rotate (xyz 0 0 0)) ) ) ;; Companion Bias Resistor (footprint "Resistor_SMD:R_0805_2012Metric" (layer "F.Cu") (at 44 20 90) (property "Reference" "R1" (at 0 2.0) (layer "F.SilkS") (effects (font (size 0.8 0.8) (thickness 0.12)))) (pad "1" smd roundrect (at -0.95 0 90) (size 1.0 1.3) (layers "F.Cu" "F.Paste" "F.Mask") (net 2 "+12V_SUPPLY")) (pad "2" smd roundrect (at 0.95 0 90) (size 1.0 1.3) (layers "F.Cu" "F.Paste" "F.Mask") (net 5 "NTC_SENSE")) (model "${KICAD6_3DMODEL_DIR}/Resistor_SMD.3dshapes/R_0805_2012Metric.wrl" (offset (xyz 0 0 0)) (scale (xyz 1 1 1)) (rotate (xyz 0 0 0)) ) ) ;; ========================================================================= ;; 4. SERVO / LINEAR ACTUATOR & SLIDER CARRIAGE MECHANISM ;; ========================================================================= (footprint "Connector_PinHeader_2.54mm:PinHeader_1x03_P2.54mm_Vertical" (layer "F.Cu") (at 50 32) (property "Reference" "J_ACT" (at 0 -2.8) (layer "F.SilkS") (effects (font (size 1.0 1.0) (thickness 0.15)))) (property "Value" "SERVO_DRIVE" (at 0 2.8) (layer "F.SilkS") (effects (font (size 0.8 0.8) (thickness 0.12)))) (fp_rect (start -1.5 -4.0) (end 1.5 4.0) (layer "F.SilkS") (width 0.15)) (pad "1" thru_hole rect (at 0 -2.54) (size 1.8 1.8) (drill 1.0) (layers "*.Cu" "*.Mask") (net 6 "SERVO_CTRL")) (pad "2" thru_hole circle (at 0 0) (size 1.8 1.8) (drill 1.0) (layers "*.Cu" "*.Mask") (net 2 "+12V_SUPPLY")) (pad "3" thru_hole circle (at 0 2.54) (size 1.8 1.8) (drill 1.0) (layers "*.Cu" "*.Mask") (net 1 "GND")) (model "${KICAD6_3DMODEL_DIR}/Connector_PinHeader_2.54mm.3dshapes/PinHeader_1x03_P2.54mm_Vertical.wrl" (offset (xyz 0 0 0)) (scale (xyz 1 1 1)) (rotate (xyz 0 0 0)) ) ) ;; Actuator Motor Chassis Mechanical Outline (Courtyard & Silkscreen) (gr_rect (start 41 26) (end 59 38) (layer "F.SilkS") (width 0.25)) ;; Dual Linear Guide Rail Stand Stanchions (footprint "MountingHole:MountingHole_2.2mm_M2_Pad" (layer "F.Cu") (at 32 40) (pad "1" thru_hole circle (at 0 0) (size 4.0 4.0) (drill 2.2) (layers "*.Cu" "*.Mask") (net 1 "GND")) ) (footprint "MountingHole:MountingHole_2.2mm_M2_Pad" (layer "F.Cu") (at 68 40) (pad "1" thru_hole circle (at 0 0) (size 4.0 4.0) (drill 2.2) (layers "*.Cu" "*.Mask") (net 1 "GND")) ) ;; ========================================================================= ;; 5. SOLID BRASS T-TERMINALS (LEFT & RIGHT) ;; ========================================================================= ;; Left T-Terminal Footprint (footprint "Terminal:T_Terminal_Brass_Left" (layer "F.Cu") (at 30 46) (property "Reference" "TERM_L" (at 0 -6.0) (layer "F.SilkS") (effects (font (size 1.2 1.2) (thickness 0.2)))) ;; T-Shape Outline on Silkscreen (fp_line (start -5 -2) (end 5 -2) (layer "F.SilkS") (width 0.3)) (fp_line (start 5 -2) (end 5 2) (layer "F.SilkS") (width 0.3)) (fp_line (start 5 2) (end 2 2) (layer "F.SilkS") (width 0.3)) (fp_line (start 2 2) (end 2 8) (layer "F.SilkS") (width 0.3)) (fp_line (start 2 8) (end -2 8) (layer "F.SilkS") (width 0.3)) (fp_line (start -2 8) (end -2 2) (layer "F.SilkS") (width 0.3)) (fp_line (start -2 2) (end -5 2) (layer "F.SilkS") (width 0.3)) (fp_line (start -5 2) (end -5 -2) (layer "F.SilkS") (width 0.3)) ;; Contact Stud Pads (pad "1" thru_hole circle (at -3 0) (size 3.8 3.8) (drill 2.0) (layers "*.Cu" "*.Mask") (net 3 "C1_POS")) (pad "2" thru_hole circle (at 3 0) (size 3.8 3.8) (drill 2.0) (layers "*.Cu" "*.Mask") (net 7 "T_SLIDER_COMMON")) (pad "3" thru_hole circle (at 0 6) (size 3.8 3.8) (drill 2.0) (layers "*.Cu" "*.Mask") (net 1 "GND")) ) ;; Right T-Terminal Footprint (footprint "Terminal:T_Terminal_Brass_Right" (layer "F.Cu") (at 70 46) (property "Reference" "TERM_R" (at 0 -6.0) (layer "F.SilkS") (effects (font (size 1.2 1.2) (thickness 0.2)))) ;; T-Shape Outline on Silkscreen (fp_line (start -5 -2) (end 5 -2) (layer "F.SilkS") (width 0.3)) (fp_line (start 5 -2) (end 5 2) (layer "F.SilkS") (width 0.3)) (fp_line (start 5 2) (end 2 2) (layer "F.SilkS") (width 0.3)) (fp_line (start 2 2) (end 2 8) (layer "F.SilkS") (width 0.3)) (fp_line (start 2 8) (end -2 8) (layer "F.SilkS") (width 0.3)) (fp_line (start -2 8) (end -2 2) (layer "F.SilkS") (width 0.3)) (fp_line (start -2 2) (end -5 2) (layer "F.SilkS") (width 0.3)) (fp_line (start -5 2) (end -5 -2) (layer "F.SilkS") (width 0.3)) ;; Contact Stud Pads (pad "1" thru_hole circle (at -3 0) (size 3.8 3.8) (drill 2.0) (layers "*.Cu" "*.Mask") (net 7 "T_SLIDER_COMMON")) (pad "2" thru_hole circle (at 3 0) (size 3.8 3.8) (drill 2.0) (layers "*.Cu" "*.Mask") (net 4 "C2_POS")) (pad "3" thru_hole circle (at 0 6) (size 3.8 3.8) (drill 2.0) (layers "*.Cu" "*.Mask") (net 1 "GND")) ) ;; ========================================================================= ;; 6. POWER & SIGNAL TRACES (Routed 45-degree chamfered copper tracks) ;; ========================================================================= ;; C1 to Left T-Terminal (1.5mm Heavy Power Trace) (segment (start 19.5 28) (end 25 33.5) (width 1.5) (layer "F.Cu") (net 3 "C1_POS")) (segment (start 25 33.5) (end 27 46) (width 1.5) (layer "F.Cu") (net 3 "C1_POS")) ;; C2 to Right T-Terminal (1.5mm Heavy Power Trace) (segment (start 75.5 28) (end 71 33.5) (width 1.5) (layer "F.Cu") (net 4 "C2_POS")) (segment (start 71 33.5) (end 73 46) (width 1.5) (layer "F.Cu") (net 4 "C2_POS")) ;; Slider Common Power Bus (segment (start 33 46) (end 45 46) (width 1.5) (layer "B.Cu") (net 7 "T_SLIDER_COMMON")) (segment (start 45 46) (end 55 46) (width 1.5) (layer "B.Cu") (net 7 "T_SLIDER_COMMON")) (segment (start 55 46) (end 67 46) (width 1.5) (layer "B.Cu") (net 7 "T_SLIDER_COMMON")) ;; +12V_SUPPLY Power Bus (Routed from J_ACT pin 2 to R1 pin 1 and TH1 pin 1) (segment (start 50 32) (end 50 26) (width 0.8) (layer "B.Cu") (net 2 "+12V_SUPPLY")) (segment (start 50 26) (end 48.73 20) (width 0.8) (layer "B.Cu") (net 2 "+12V_SUPPLY")) (segment (start 48.73 20) (end 44 20.95) (width 0.8) (layer "F.Cu") (net 2 "+12V_SUPPLY")) ;; NTC Sensor Signal Traces (0.4mm) (segment (start 50 20) (end 50 14) (width 0.4) (layer "F.Cu") (net 5 "NTC_SENSE")) (segment (start 50 14) (end 44 19.05) (width 0.4) (layer "F.Cu") (net 5 "NTC_SENSE")) ;; Servo PWM Control Trace (0.4mm) (segment (start 50 29.46) (end 50 24) (width 0.4) (layer "F.Cu") (net 6 "SERVO_CTRL")) ;; ========================================================================= ;; 7. CRISP WHITE SILKSCREEN MARKINGS (Engineering Text & Labels) ;; ========================================================================= (gr_text "C1 (Left)" (at 22 17) (layer "F.SilkS") (effects (font (size 2.0 2.0) (thickness 0.35) bold))) (gr_text "C2 (Right)" (at 78 17) (layer "F.SilkS") (effects (font (size 2.0 2.0) (thickness 0.35) bold))) (gr_text "Temp Sensor (NTC)" (at 50 13) (layer "F.SilkS") (effects (font (size 1.5 1.5) (thickness 0.25) bold))) (gr_text "Servo / Linear Actuator" (at 50 56) (layer "F.SilkS") (effects (font (size 1.4 1.4) (thickness 0.25) bold))) (gr_text "(under the slider)" (at 50 59) (layer "F.SilkS") (effects (font (size 1.1 1.1) (thickness 0.2)))) (gr_text "Left T-Terminal (+ -)" (at 30 58) (layer "F.SilkS") (effects (font (size 1.2 1.2) (thickness 0.2)))) (gr_text "Right T-Terminal (- +)" (at 70 58) (layer "F.SilkS") (effects (font (size 1.2 1.2) (thickness 0.2)))) (gr_text "Moves ~1 cm" (at 50 49) (layer "F.SilkS") (effects (font (size 1.2 1.2) (thickness 0.2) bold))) (gr_text "+ +" (at 22 36) (layer "F.SilkS") (effects (font (size 1.5 1.5) (thickness 0.25)))) (gr_text "- +" (at 78 36) (layer "F.SilkS") (effects (font (size 1.5 1.5) (thickness 0.25)))) ;; Slider Movement Arrow Markers (gr_line (start 42 49) (end 58 49) (layer "F.SilkS") (width 0.25)) (gr_line (start 44 47.5) (end 42 49) (layer "F.SilkS") (width 0.25)) (gr_line (start 44 50.5) (end 42 49) (layer "F.SilkS") (width 0.25)) (gr_line (start 56 47.5) (end 58 49) (layer "F.SilkS") (width 0.25)) (gr_line (start 56 50.5) (end 58 49) (layer "F.SilkS") (width 0.25)) ;; ========================================================================= ;; 8. GROUND COPPER POUR ZONES (F.Cu & B.Cu) ;; ========================================================================= (zone (net 1) (net_name "GND") (layer "F.Cu") (tstamp "00000000-0000-0000-0000-0000650000f1") (hatch edge 0.5) (priority 0) (connect_pads (clearance 0.35)) (min_thickness 0.2) (filled_polygon (pts (xy 11 11) (xy 89 11) (xy 89 69) (xy 11 69) ) ) (polygon (pts (xy 10.5 10.5) (xy 89.5 10.5) (xy 89.5 69.5) (xy 10.5 69.5) ) ) ) (zone (net 1) (net_name "GND") (layer "B.Cu") (tstamp "00000000-0000-0000-0000-0000650000f2") (hatch edge 0.5) (priority 0) (connect_pads (clearance 0.35)) (min_thickness 0.2) (filled_polygon (pts (xy 11 11) (xy 89 11) (xy 89 69) (xy 11 69) ) ) (polygon (pts (xy 10.5 10.5) (xy 89.5 10.5) (xy 89.5 69.5) (xy 10.5 69.5) ) ) ) )