(kicad_pcb (version 20230121) (generator pcbnew) (general (thickness 1.6) (paper "A4") (title_block (title "ESP32-C3 CAN Bus + 4x JST Sensor Board") (date "2025-06-02") (rev "v1.2") (company "AC-Sensor Project") (comment 1 "80mm x 30mm with JST connectors on both sides") (comment 2 "Optimized for JLCPCB automated assembly") ) ) (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 (stackup (layer "F.SilkS" (type "Top Silk Screen")) (layer "F.Paste" (type "Top Solder Paste")) (layer "F.Mask" (type "Top Solder Mask") (thickness 0.01)) (layer "F.Cu" (type "copper") (thickness 0.035)) (layer "dielectric 1" (type "core") (thickness 1.51) (material "FR4") (epsilon_r 4.5) (loss_tangent 0.02)) (layer "B.Cu" (type "copper") (thickness 0.035)) (layer "B.Mask" (type "Bottom Solder Mask") (thickness 0.01)) (layer "B.Paste" (type "Bottom Solder Paste")) (layer "B.SilkS" (type "Bottom Silk Screen")) (copper_finish "None") (dielectric_constraints no) ) (pad_to_mask_clearance 0) ) (net 0 "") (net 1 "+5V") (net 2 "GND") (net 3 "+3V3") (net 4 "D0") (net 5 "D1") (net 6 "D2") (net 7 "D3") (net 8 "CAN_TX") (net 9 "CAN_RX_FILTERED") (net 10 "CAN_RX_RAW") (net 11 "CAN_H") (net 12 "CAN_L") (net 13 "VIN") (net 14 "RESET") (net 15 "BOOT") (net 16 "UART_TX") (net 17 "UART_RX") ; Board outline - 80mm x 30mm (gr_rect (start 0 0) (end 80 30) (layer "Edge.Cuts") (width 0.15) (tstamp edge-cuts-1)) ; Mounting holes - M2.5 (footprint "MountingHole:MountingHole_2.7mm_M2.5" (at 5 5) (layer "F.Cu") (tstamp mount-hole-1) (fp_text reference "MH1" (at 0 -3.7) (layer "F.SilkS") hide (effects (font (size 1 1) (thickness 0.15))) ) (fp_text value "MountingHole_2.7mm_M2.5" (at 0 3.7) (layer "F.Fab") hide (effects (font (size 1 1) (thickness 0.15))) ) (pad "" np_thru_hole circle (at 0 0) (size 2.7 2.7) (drill 2.7) (layers "*.Cu" "*.Mask")) ) (footprint "MountingHole:MountingHole_2.7mm_M2.5" (at 75 5) (layer "F.Cu") (tstamp mount-hole-2) (fp_text reference "MH2" (at 0 -3.7) (layer "F.SilkS") hide (effects (font (size 1 1) (thickness 0.15))) ) (fp_text value "MountingHole_2.7mm_M2.5" (at 0 3.7) (layer "F.Fab") hide (effects (font (size 1 1) (thickness 0.15))) ) (pad "" np_thru_hole circle (at 0 0) (size 2.7 2.7) (drill 2.7) (layers "*.Cu" "*.Mask")) ) (footprint "MountingHole:MountingHole_2.7mm_M2.5" (at 5 25) (layer "F.Cu") (tstamp mount-hole-3) (fp_text reference "MH3" (at 0 -3.7) (layer "F.SilkS") hide (effects (font (size 1 1) (thickness 0.15))) ) (fp_text value "MountingHole_2.7mm_M2.5" (at 0 3.7) (layer "F.Fab") hide (effects (font (size 1 1) (thickness 0.15))) ) (pad "" np_thru_hole circle (at 0 0) (size 2.7 2.7) (drill 2.7) (layers "*.Cu" "*.Mask")) ) (footprint "MountingHole:MountingHole_2.7mm_M2.5" (at 75 25) (layer "F.Cu") (tstamp mount-hole-4) (fp_text reference "MH4" (at 0 -3.7) (layer "F.SilkS") hide (effects (font (size 1 1) (thickness 0.15))) ) (fp_text value "MountingHole_2.7mm_M2.5" (at 0 3.7) (layer "F.Fab") hide (effects (font (size 1 1) (thickness 0.15))) ) (pad "" np_thru_hole circle (at 0 0) (size 2.7 2.7) (drill 2.7) (layers "*.Cu" "*.Mask")) ) ; Component footprints and placement ; ESP32-C3-MINI-1 module (center) (footprint "RF_Module:ESP32-C3-MINI-1" (at 40 15) (layer "F.Cu") (tstamp 12345678-1234-1234-1234-123456789abc) (fp_text reference "U1" (at 0 -11) (layer "F.SilkS") (effects (font (size 1 1) (thickness 0.15))) ) (fp_text value "ESP32-C3-MINI-1" (at 0 11) (layer "F.Fab") (effects (font (size 1 1) (thickness 0.15))) ) (pad "1" smd rect (at -6.5 -5.75) (size 1.5 0.9) (layers "F.Cu" "F.Paste" "F.Mask")) (pad "2" smd rect (at -6.5 -4.5) (size 1.5 0.9) (layers "F.Cu" "F.Paste" "F.Mask")) (pad "3" smd rect (at -6.5 -3.25) (size 1.5 0.9) (layers "F.Cu" "F.Paste" "F.Mask")) (pad "4" smd rect (at -6.5 -2) (size 1.5 0.9) (layers "F.Cu" "F.Paste" "F.Mask")) (pad "5" smd rect (at -6.5 -0.75) (size 1.5 0.9) (layers "F.Cu" "F.Paste" "F.Mask")) (pad "6" smd rect (at -6.5 0.5) (size 1.5 0.9) (layers "F.Cu" "F.Paste" "F.Mask")) (pad "7" smd rect (at -6.5 1.75) (size 1.5 0.9) (layers "F.Cu" "F.Paste" "F.Mask")) (pad "8" smd rect (at -6.5 3) (size 1.5 0.9) (layers "F.Cu" "F.Paste" "F.Mask")) (pad "9" smd rect (at -6.5 4.25) (size 1.5 0.9) (layers "F.Cu" "F.Paste" "F.Mask")) (pad "10" smd rect (at -6.5 5.5) (size 1.5 0.9) (layers "F.Cu" "F.Paste" "F.Mask")) (pad "11" smd rect (at -4.5 6.75) (size 0.9 1.5) (layers "F.Cu" "F.Paste" "F.Mask")) (pad "12" smd rect (at -3.25 6.75) (size 0.9 1.5) (layers "F.Cu" "F.Paste" "F.Mask")) (pad "13" smd rect (at -2 6.75) (size 0.9 1.5) (layers "F.Cu" "F.Paste" "F.Mask")) (pad "14" smd rect (at -0.75 6.75) (size 0.9 1.5) (layers "F.Cu" "F.Paste" "F.Mask")) (pad "15" smd rect (at 0.5 6.75) (size 0.9 1.5) (layers "F.Cu" "F.Paste" "F.Mask")) (pad "16" smd rect (at 1.75 6.75) (size 0.9 1.5) (layers "F.Cu" "F.Paste" "F.Mask")) (pad "17" smd rect (at 3 6.75) (size 0.9 1.5) (layers "F.Cu" "F.Paste" "F.Mask")) (pad "18" smd rect (at 4.25 6.75) (size 0.9 1.5) (layers "F.Cu" "F.Paste" "F.Mask")) (pad "19" smd rect (at 6.5 5.5) (size 1.5 0.9) (layers "F.Cu" "F.Paste" "F.Mask")) (pad "20" smd rect (at 6.5 4.25) (size 1.5 0.9) (layers "F.Cu" "F.Paste" "F.Mask")) (pad "21" smd rect (at 6.5 3) (size 1.5 0.9) (layers "F.Cu" "F.Paste" "F.Mask")) (pad "22" smd rect (at 6.5 1.75) (size 1.5 0.9) (layers "F.Cu" "F.Paste" "F.Mask")) (pad "23" smd rect (at 6.5 0.5) (size 1.5 0.9) (layers "F.Cu" "F.Paste" "F.Mask")) (pad "24" smd rect (at 6.5 -0.75) (size 1.5 0.9) (layers "F.Cu" "F.Paste" "F.Mask")) (pad "25" smd rect (at 6.5 -2) (size 1.5 0.9) (layers "F.Cu" "F.Paste" "F.Mask")) (pad "26" smd rect (at 6.5 -3.25) (size 1.5 0.9) (layers "F.Cu" "F.Paste" "F.Mask")) (pad "27" smd rect (at 6.5 -4.5) (size 1.5 0.9) (layers "F.Cu" "F.Paste" "F.Mask")) (pad "28" smd rect (at 6.5 -5.75) (size 1.5 0.9) (layers "F.Cu" "F.Paste" "F.Mask")) (pad "29" smd rect (at 4.25 -6.75) (size 0.9 1.5) (layers "F.Cu" "F.Paste" "F.Mask")) (pad "30" smd rect (at 3 -6.75) (size 0.9 1.5) (layers "F.Cu" "F.Paste" "F.Mask")) (pad "31" smd rect (at 1.75 -6.75) (size 0.9 1.5) (layers "F.Cu" "F.Paste" "F.Mask")) (pad "32" smd rect (at 0.5 -6.75) (size 0.9 1.5) (layers "F.Cu" "F.Paste" "F.Mask")) (pad "33" smd rect (at -0.75 -6.75) (size 0.9 1.5) (layers "F.Cu" "F.Paste" "F.Mask")) (pad "34" smd rect (at -2 -6.75) (size 0.9 1.5) (layers "F.Cu" "F.Paste" "F.Mask")) (pad "35" smd rect (at -3.25 -6.75) (size 0.9 1.5) (layers "F.Cu" "F.Paste" "F.Mask")) (pad "36" smd rect (at -4.5 -6.75) (size 0.9 1.5) (layers "F.Cu" "F.Paste" "F.Mask")) (pad "37" smd rect (at 0 0) (size 5.3 5.3) (layers "F.Cu" "F.Paste" "F.Mask")) ) ; TJA1050 CAN transceiver (right of ESP32) (footprint "Package_SO:SO-8_3.9x4.9mm_P1.27mm" (at 57 15) (layer "F.Cu") (tstamp 23456789-2345-2345-2345-23456789abcd) (fp_text reference "U2" (at 0 -3.5) (layer "F.SilkS") (effects (font (size 1 1) (thickness 0.15))) ) (fp_text value "TJA1050" (at 0 3.5) (layer "F.Fab") (effects (font (size 1 1) (thickness 0.15))) ) (pad "1" smd rect (at -2.75 -1.905) (size 1.55 0.6) (layers "F.Cu" "F.Paste" "F.Mask")) (pad "2" smd rect (at -2.75 -0.635) (size 1.55 0.6) (layers "F.Cu" "F.Paste" "F.Mask")) (pad "3" smd rect (at -2.75 0.635) (size 1.55 0.6) (layers "F.Cu" "F.Paste" "F.Mask")) (pad "4" smd rect (at -2.75 1.905) (size 1.55 0.6) (layers "F.Cu" "F.Paste" "F.Mask")) (pad "5" smd rect (at 2.75 1.905) (size 1.55 0.6) (layers "F.Cu" "F.Paste" "F.Mask")) (pad "6" smd rect (at 2.75 0.635) (size 1.55 0.6) (layers "F.Cu" "F.Paste" "F.Mask")) (pad "7" smd rect (at 2.75 -0.635) (size 1.55 0.6) (layers "F.Cu" "F.Paste" "F.Mask")) (pad "8" smd rect (at 2.75 -1.905) (size 1.55 0.6) (layers "F.Cu" "F.Paste" "F.Mask")) ) ; AMS1117-5.0 voltage regulator (top center) (footprint "Package_TO_SOT_SMD:SOT-223-3_TabPin2" (at 40 5) (layer "F.Cu") (tstamp 34567890-3456-3456-3456-34567890abcd) (fp_text reference "U3" (at 0 -4.5) (layer "F.SilkS") (effects (font (size 1 1) (thickness 0.15))) ) (fp_text value "AMS1117-5.0" (at 0 4.5) (layer "F.Fab") (effects (font (size 1 1) (thickness 0.15))) ) (pad "1" smd rect (at -3.15 2.3) (size 2 1.5) (layers "F.Cu" "F.Paste" "F.Mask")) (pad "2" smd rect (at 0 2.3) (size 3.8 3.8) (layers "F.Cu" "F.Paste" "F.Mask")) (pad "3" smd rect (at 3.15 2.3) (size 2 1.5) (layers "F.Cu" "F.Paste" "F.Mask")) (pad "4" smd rect (at 0 -2.3) (size 2 1.5) (layers "F.Cu" "F.Paste" "F.Mask")) ) ; RJ45 connector (far right) (footprint "Connector_RJ:RJ45_Amphenol_54602-x08_Horizontal" (at 71.5 15) (layer "F.Cu") (tstamp 45678901-4567-4567-4567-45678901abcd) (fp_text reference "J1" (at 0 -10) (layer "F.SilkS") (effects (font (size 1 1) (thickness 0.15))) ) (fp_text value "RJ45_8P8C" (at 0 10) (layer "F.Fab") (effects (font (size 1 1) (thickness 0.15))) ) (pad "1" thru_hole rect (at -4.445 5.08) (size 1.5 1.5) (drill 0.9) (layers "*.Cu" "*.Mask")) (pad "2" thru_hole circle (at -3.175 2.54) (size 1.5 1.5) (drill 0.9) (layers "*.Cu" "*.Mask")) (pad "3" thru_hole circle (at -1.905 5.08) (size 1.5 1.5) (drill 0.9) (layers "*.Cu" "*.Mask")) (pad "4" thru_hole circle (at -0.635 2.54) (size 1.5 1.5) (drill 0.9) (layers "*.Cu" "*.Mask")) (pad "5" thru_hole circle (at 0.635 5.08) (size 1.5 1.5) (drill 0.9) (layers "*.Cu" "*.Mask")) (pad "6" thru_hole circle (at 1.905 2.54) (size 1.5 1.5) (drill 0.9) (layers "*.Cu" "*.Mask")) (pad "7" thru_hole circle (at 3.175 5.08) (size 1.5 1.5) (drill 0.9) (layers "*.Cu" "*.Mask")) (pad "8" thru_hole circle (at 4.445 2.54) (size 1.5 1.5) (drill 0.9) (layers "*.Cu" "*.Mask")) ) ; Programming connector (bottom right) (footprint "Connector_PinHeader_2.54mm:PinHeader_1x04_P2.54mm_Vertical" (at 65 25) (layer "F.Cu") (tstamp 56789012-5678-5678-5678-56789012abcd) (fp_text reference "J2" (at 0 -2.5) (layer "F.SilkS") (effects (font (size 1 1) (thickness 0.15))) ) (fp_text value "Programming" (at 0 10) (layer "F.Fab") (effects (font (size 1 1) (thickness 0.15))) ) (pad "1" thru_hole rect (at 0 0) (size 1.7 1.7) (drill 1) (layers "*.Cu" "*.Mask")) (pad "2" thru_hole oval (at 0 2.54) (size 1.7 1.7) (drill 1) (layers "*.Cu" "*.Mask")) (pad "3" thru_hole oval (at 0 5.08) (size 1.7 1.7) (drill 1) (layers "*.Cu" "*.Mask")) (pad "4" thru_hole oval (at 0 7.62) (size 1.7 1.7) (drill 1) (layers "*.Cu" "*.Mask")) ) ; JST connectors on LEFT SIDE (2 connectors) ; J3 - Sensor 1 (D0) - Left Top (footprint "Connector_JST:JST_PH_B3B-PH-K_1x03_P2.00mm_Vertical" (at 7 11) (layer "F.Cu") (tstamp 67890123-6789-6789-6789-67890123abcd) (fp_text reference "J3" (at 0 -3) (layer "F.SilkS") (effects (font (size 1 1) (thickness 0.15))) ) (fp_text value "SENSOR_1_D0" (at 0 4) (layer "F.Fab") (effects (font (size 1 1) (thickness 0.15))) ) (pad "1" thru_hole rect (at -2 0) (size 1.2 1.7) (drill 0.75) (layers "*.Cu" "*.Mask")) (pad "2" thru_hole oval (at 0 0) (size 1.2 1.7) (drill 0.75) (layers "*.Cu" "*.Mask")) (pad "3" thru_hole oval (at 2 0) (size 1.2 1.7) (drill 0.75) (layers "*.Cu" "*.Mask")) ) ; J4 - Sensor 2 (D1) - Left Bottom (footprint "Connector_JST:JST_PH_B3B-PH-K_1x03_P2.00mm_Vertical" (at 7 19) (layer "F.Cu") (tstamp 78901234-7890-7890-7890-78901234abcd) (fp_text reference "J4" (at 0 -3) (layer "F.SilkS") (effects (font (size 1 1) (thickness 0.15))) ) (fp_text value "SENSOR_2_D1" (at 0 4) (layer "F.Fab") (effects (font (size 1 1) (thickness 0.15))) ) (pad "1" thru_hole rect (at -2 0) (size 1.2 1.7) (drill 0.75) (layers "*.Cu" "*.Mask")) (pad "2" thru_hole oval (at 0 0) (size 1.2 1.7) (drill 0.75) (layers "*.Cu" "*.Mask")) (pad "3" thru_hole oval (at 2 0) (size 1.2 1.7) (drill 0.75) (layers "*.Cu" "*.Mask")) ) ; JST connectors on RIGHT SIDE (2 connectors) ; J5 - Sensor 3 (D2) - Right Top (footprint "Connector_JST:JST_PH_B3B-PH-K_1x03_P2.00mm_Vertical" (at 73 11) (layer "F.Cu") (tstamp 89012345-8901-8901-8901-89012345abcd) (fp_text reference "J5" (at 0 -3) (layer "F.SilkS") (effects (font (size 1 1) (thickness 0.15))) ) (fp_text value "SENSOR_3_D2" (at 0 4) (layer "F.Fab") (effects (font (size 1 1) (thickness 0.15))) ) (pad "1" thru_hole rect (at -2 0) (size 1.2 1.7) (drill 0.75) (layers "*.Cu" "*.Mask")) (pad "2" thru_hole oval (at 0 0) (size 1.2 1.7) (drill 0.75) (layers "*.Cu" "*.Mask")) (pad "3" thru_hole oval (at 2 0) (size 1.2 1.7) (drill 0.75) (layers "*.Cu" "*.Mask")) ) ; J6 - Sensor 4 (D3) - Right Bottom (footprint "Connector_JST:JST_PH_B3B-PH-K_1x03_P2.00mm_Vertical" (at 73 19) (layer "F.Cu") (tstamp 90123456-9012-9012-9012-90123456abcd) (fp_text reference "J6" (at 0 -3) (layer "F.SilkS") (effects (font (size 1 1) (thickness 0.15))) ) (fp_text value "SENSOR_4_D3" (at 0 4) (layer "F.Fab") (effects (font (size 1 1) (thickness 0.15))) ) (pad "1" thru_hole rect (at -2 0) (size 1.2 1.7) (drill 0.75) (layers "*.Cu" "*.Mask")) (pad "2" thru_hole oval (at 0 0) (size 1.2 1.7) (drill 0.75) (layers "*.Cu" "*.Mask")) (pad "3" thru_hole oval (at 2 0) (size 1.2 1.7) (drill 0.75) (layers "*.Cu" "*.Mask")) ) ; Programming header area (bottom right) (gr_rect (start 65 24) (end 78 28) (layer "Cmts.User") (width 0.1) (tstamp prog-area)) (gr_text "PROG\n4-PIN" (at 71.5 26) (layer "Cmts.User") (effects (font (size 0.9 0.9) (thickness 0.18))) ) ; Control buttons (bottom left) ; SW1 - Boot button (footprint "Button_Switch_SMD:SW_SPST_B3U-1000P" (at 5 26) (layer "F.Cu") (tstamp 01234567-0123-0123-0123-01234567abcd) (fp_text reference "SW1" (at 0 -2.5) (layer "F.SilkS") (effects (font (size 0.8 0.8) (thickness 0.15))) ) (fp_text value "BOOT" (at 0 2.5) (layer "F.Fab") (effects (font (size 0.8 0.8) (thickness 0.15))) ) (pad "1" smd rect (at -1.5 -1.5) (size 1 1) (layers "F.Cu" "F.Paste" "F.Mask")) (pad "2" smd rect (at 1.5 -1.5) (size 1 1) (layers "F.Cu" "F.Paste" "F.Mask")) (pad "3" smd rect (at -1.5 1.5) (size 1 1) (layers "F.Cu" "F.Paste" "F.Mask")) (pad "4" smd rect (at 1.5 1.5) (size 1 1) (layers "F.Cu" "F.Paste" "F.Mask")) ) ; SW2 - Reset button (footprint "Button_Switch_SMD:SW_SPST_B3U-1000P" (at 12 26) (layer "F.Cu") (tstamp 11234567-1123-1123-1123-11234567abcd) (fp_text reference "SW2" (at 0 -2.5) (layer "F.SilkS") (effects (font (size 0.8 0.8) (thickness 0.15))) ) (fp_text value "RESET" (at 0 2.5) (layer "F.Fab") (effects (font (size 0.8 0.8) (thickness 0.15))) ) (pad "1" smd rect (at -1.5 -1.5) (size 1 1) (layers "F.Cu" "F.Paste" "F.Mask")) (pad "2" smd rect (at 1.5 -1.5) (size 1 1) (layers "F.Cu" "F.Paste" "F.Mask")) (pad "3" smd rect (at -1.5 1.5) (size 1 1) (layers "F.Cu" "F.Paste" "F.Mask")) (pad "4" smd rect (at 1.5 1.5) (size 1 1) (layers "F.Cu" "F.Paste" "F.Mask")) ) ; LEDs and passive components ; Power LED (red) (footprint "LED_SMD:LED_0805_2012Metric" (at 20 5) (layer "F.Cu") (tstamp 21234567-2123-2123-2123-21234567abcd) (fp_text reference "D1" (at 0 -1.5) (layer "F.SilkS") (effects (font (size 0.8 0.8) (thickness 0.15))) ) (fp_text value "PWR_RED" (at 0 1.5) (layer "F.Fab") (effects (font (size 0.8 0.8) (thickness 0.15))) ) (pad "1" smd rect (at -1 0) (size 1 1.4) (layers "F.Cu" "F.Paste" "F.Mask")) (pad "2" smd rect (at 1 0) (size 1 1.4) (layers "F.Cu" "F.Paste" "F.Mask")) ) ; Status LED (green) (footprint "LED_SMD:LED_0805_2012Metric" (at 25 5) (layer "F.Cu") (tstamp 31234567-3123-3123-3123-31234567abcd) (fp_text reference "D2" (at 0 -1.5) (layer "F.SilkS") (effects (font (size 0.8 0.8) (thickness 0.15))) ) (fp_text value "STS_GRN" (at 0 1.5) (layer "F.Fab") (effects (font (size 0.8 0.8) (thickness 0.15))) ) (pad "1" smd rect (at -1 0) (size 1 1.4) (layers "F.Cu" "F.Paste" "F.Mask")) (pad "2" smd rect (at 1 0) (size 1 1.4) (layers "F.Cu" "F.Paste" "F.Mask")) ) ; LED current limiting resistors (footprint "Resistor_SMD:R_0805_2012Metric" (at 20 7.5) (layer "F.Cu") (tstamp 41234567-4123-4123-4123-41234567abcd) (fp_text reference "R1" (at 0 -1.5) (layer "F.SilkS") (effects (font (size 0.8 0.8) (thickness 0.15))) ) (fp_text value "330R" (at 0 1.5) (layer "F.Fab") (effects (font (size 0.8 0.8) (thickness 0.15))) ) (pad "1" smd rect (at -1 0) (size 1.3 1.5) (layers "F.Cu" "F.Paste" "F.Mask")) (pad "2" smd rect (at 1 0) (size 1.3 1.5) (layers "F.Cu" "F.Paste" "F.Mask")) ) (footprint "Resistor_SMD:R_0805_2012Metric" (at 25 7.5) (layer "F.Cu") (tstamp 51234567-5123-5123-5123-51234567abcd) (fp_text reference "R2" (at 0 -1.5) (layer "F.SilkS") (effects (font (size 0.8 0.8) (thickness 0.15))) ) (fp_text value "330R" (at 0 1.5) (layer "F.Fab") (effects (font (size 0.8 0.8) (thickness 0.15))) ) (pad "1" smd rect (at -1 0) (size 1.3 1.5) (layers "F.Cu" "F.Paste" "F.Mask")) (pad "2" smd rect (at 1 0) (size 1.3 1.5) (layers "F.Cu" "F.Paste" "F.Mask")) ) ; CAN protection resistor (10k) (footprint "Resistor_SMD:R_0805_2012Metric" (at 50 15) (layer "F.Cu") (tstamp 61234567-6123-6123-6123-61234567abcd) (fp_text reference "R3" (at 0 -1.5) (layer "F.SilkS") (effects (font (size 0.8 0.8) (thickness 0.15))) ) (fp_text value "10K" (at 0 1.5) (layer "F.Fab") (effects (font (size 0.8 0.8) (thickness 0.15))) ) (pad "1" smd rect (at -1 0) (size 1.3 1.5) (layers "F.Cu" "F.Paste" "F.Mask")) (pad "2" smd rect (at 1 0) (size 1.3 1.5) (layers "F.Cu" "F.Paste" "F.Mask")) ) ; Power supply capacitors ; Input filter capacitor (470uF) (footprint "Capacitor_THT:CP_Radial_D5.0mm_P2.00mm" (at 30 5) (layer "F.Cu") (tstamp 71234567-7123-7123-7123-71234567abcd) (fp_text reference "C1" (at 0 -3.5) (layer "F.SilkS") (effects (font (size 0.8 0.8) (thickness 0.15))) ) (fp_text value "470uF" (at 0 3.5) (layer "F.Fab") (effects (font (size 0.8 0.8) (thickness 0.15))) ) (pad "1" thru_hole rect (at -1 0) (size 1.5 1.5) (drill 0.6) (layers "*.Cu" "*.Mask")) (pad "2" thru_hole circle (at 1 0) (size 1.5 1.5) (drill 0.6) (layers "*.Cu" "*.Mask")) ) ; Output filter capacitor (22uF) (footprint "Capacitor_SMD:C_0805_2012Metric" (at 45 5) (layer "F.Cu") (tstamp 81234567-8123-8123-8123-81234567abcd) (fp_text reference "C2" (at 0 -1.5) (layer "F.SilkS") (effects (font (size 0.8 0.8) (thickness 0.15))) ) (fp_text value "22uF" (at 0 1.5) (layer "F.Fab") (effects (font (size 0.8 0.8) (thickness 0.15))) ) (pad "1" smd rect (at -1 0) (size 1.3 1.5) (layers "F.Cu" "F.Paste" "F.Mask")) (pad "2" smd rect (at 1 0) (size 1.3 1.5) (layers "F.Cu" "F.Paste" "F.Mask")) ) ; Decoupling capacitors (100nF) (footprint "Capacitor_SMD:C_0805_2012Metric" (at 35 10) (layer "F.Cu") (tstamp 91234567-9123-9123-9123-91234567abcd) (fp_text reference "C3" (at 0 -1.5) (layer "F.SilkS") (effects (font (size 0.8 0.8) (thickness 0.15))) ) (fp_text value "100nF" (at 0 1.5) (layer "F.Fab") (effects (font (size 0.8 0.8) (thickness 0.15))) ) (pad "1" smd rect (at -1 0) (size 1.3 1.5) (layers "F.Cu" "F.Paste" "F.Mask")) (pad "2" smd rect (at 1 0) (size 1.3 1.5) (layers "F.Cu" "F.Paste" "F.Mask")) ) (footprint "Capacitor_SMD:C_0805_2012Metric" (at 45 10) (layer "F.Cu") (tstamp a1234567-a123-a123-a123-a1234567abcd) (fp_text reference "C4" (at 0 -1.5) (layer "F.SilkS") (effects (font (size 0.8 0.8) (thickness 0.15))) ) (fp_text value "100nF" (at 0 1.5) (layer "F.Fab") (effects (font (size 0.8 0.8) (thickness 0.15))) ) (pad "1" smd rect (at -1 0) (size 1.3 1.5) (layers "F.Cu" "F.Paste" "F.Mask")) (pad "2" smd rect (at 1 0) (size 1.3 1.5) (layers "F.Cu" "F.Paste" "F.Mask")) ) ; Routing and connections ; Power traces (5V and GND) (segment (start 31 5) (end 40 5) (width 0.8) (layer "F.Cu") (net 1)) (segment (start 43.15 5) (end 50 5) (width 0.8) (layer "F.Cu") (net 1)) (segment (start 50 5) (end 71.5 10.08) (width 0.8) (layer "F.Cu") (net 1)) ; Ground plane connections (segment (start 29 5) (end 36.85 5) (width 0.8) (layer "F.Cu") (net 2)) (segment (start 40 7.3) (end 40 10) (width 0.8) (layer "F.Cu") (net 2)) (segment (start 40 10) (end 71.5 12.54) (width 0.8) (layer "F.Cu") (net 2)) ; ESP32-C3 power connections (segment (start 40 5) (end 40 8.25) (width 0.5) (layer "F.Cu") (net 1)) (segment (start 46.5 15) (end 46.5 8.25) (width 0.4) (layer "F.Cu") (net 1)) (segment (start 33.5 15) (end 33.5 8.25) (width 0.4) (layer "F.Cu") (net 2)) ; CAN bus connections ; ESP32 GPIO6 (D6) to TJA1050 TXD (pin 1) (segment (start 46.5 20.75) (end 54.25 13.095) (width 0.3) (layer "F.Cu") (net 3)) ; TJA1050 RXD (pin 4) to protection resistor to ESP32 GPIO7 (D7) (segment (start 54.25 16.905) (end 49 15) (width 0.3) (layer "F.Cu") (net 4)) (segment (start 51 15) (end 46.5 19.25) (width 0.3) (layer "F.Cu") (net 4)) ; CAN differential signals to RJ45 (segment (start 59.75 14.365) (end 71.5 15.08) (width 0.3) (layer "F.Cu") (net 5)) (segment (start 59.75 15.635) (end 71.5 12.54) (width 0.3) (layer "F.Cu") (net 6)) ; JST sensor connections ; J3 (GPIO0/D0) - Left Top (segment (start 5 11) (end 20 11) (width 0.3) (layer "F.Cu") (net 7)) (segment (start 20 11) (end 33.5 20.75) (width 0.3) (layer "F.Cu") (net 7)) ; J4 (GPIO1/D1) - Left Bottom (segment (start 5 19) (end 22 19) (width 0.3) (layer "F.Cu") (net 8)) (segment (start 22 19) (end 33.5 19.25) (width 0.3) (layer "F.Cu") (net 8)) ; J5 (GPIO2/D2) - Right Top (segment (start 71 11) (end 60 11) (width 0.3) (layer "F.Cu") (net 9)) (segment (start 60 11) (end 46.5 17.75) (width 0.3) (layer "F.Cu") (net 9)) ; J6 (GPIO3/D3) - Right Bottom (segment (start 71 19) (end 58 19) (width 0.3) (layer "F.Cu") (net 10)) (segment (start 58 19) (end 46.5 16.25) (width 0.3) (layer "F.Cu") (net 10)) ; JST power connections (5V and GND) (segment (start 9 11) (end 50 11) (width 0.5) (layer "F.Cu") (net 1)) (segment (start 9 19) (end 50 19) (width 0.5) (layer "F.Cu") (net 1)) (segment (start 75 11) (end 75 19) (width 0.5) (layer "F.Cu") (net 1)) (segment (start 7 11) (end 7 19) (width 0.5) (layer "F.Cu") (net 2)) (segment (start 73 11) (end 73 19) (width 0.5) (layer "F.Cu") (net 2)) ; Programming header connections (segment (start 65 25) (end 55 25) (width 0.3) (layer "F.Cu") (net 1)) (segment (start 65 27.54) (end 55 27.54) (width 0.3) (layer "F.Cu") (net 2)) (segment (start 65 30.08) (end 46.5 21.75) (width 0.3) (layer "F.Cu") (net 11)) (segment (start 65 32.62) (end 46.5 22.25) (width 0.3) (layer "F.Cu") (net 12)) ; Button connections (segment (start 5 24.5) (end 33.5 21.75) (width 0.3) (layer "F.Cu") (net 13)) (segment (start 12 24.5) (end 33.5 14.75) (width 0.3) (layer "F.Cu") (net 14)) ; LED connections (segment (start 19 5) (end 19 7.5) (width 0.3) (layer "F.Cu") (net 1)) (segment (start 21 7.5) (end 21 5) (width 0.3) (layer "F.Cu") (net 15)) (segment (start 24 5) (end 24 7.5) (width 0.3) (layer "F.Cu") (net 1)) (segment (start 26 7.5) (end 46.5 14.75) (width 0.3) (layer "F.Cu") (net 16)) ; Vias for layer transitions (where needed) (via (at 40 15) (size 0.6) (drill 0.3) (layers "F.Cu" "B.Cu") (net 2)) (via (at 50 15) (size 0.6) (drill 0.3) (layers "F.Cu" "B.Cu") (net 1)) (via (at 30 15) (size 0.6) (drill 0.3) (layers "F.Cu" "B.Cu") (net 2)) ; Ground plane pour (simplified representation) (zone (net 2) (net_name "GND") (layer "B.Cu") (tstamp gnd-pour-1) (hatch edge 0.508) (connect_pads (clearance 0.15)) (min_thickness 0.2) (fill yes (thermal_gap 0.25) (thermal_bridge_width 0.25)) (polygon (pts (xy 1 1) (xy 79 1) (xy 79 29) (xy 1 29) ) ) ) ; Board layout annotations (gr_text "AC-SENSOR v1.2" (at 40 27) (layer "F.SilkS") (effects (font (size 1.5 1.5) (thickness 0.3))) ) (gr_text "ESP32-C3 + CAN + 4x JST SENSORS" (at 40 1.5) (layer "F.SilkS") (effects (font (size 1.0 1.0) (thickness 0.2))) ) ; Design notes (gr_text "JST LAYOUT:\nLEFT: J3(D0), J4(D1)\nRIGHT: J5(D2), J6(D3)" (at 15 2) (layer "Cmts.User") (effects (font (size 0.7 0.7) (thickness 0.14))) ) (gr_text "CAN: GPIO6(TX), GPIO7(RX)\nRJ45: 1(+5V), 2(GND), 3(H), 4(L)" (at 55 2) (layer "Cmts.User") (effects (font (size 0.7 0.7) (thickness 0.14))) ) )