(kicad_pcb (version 20221018) (generator "custom_generator") (general (thickness 1.6) (legacy_teardrops no) ) (paper "A4") (title_block (title "ESP32-S3 Presence Sensor") (date "2026-03-29") (rev "1.0") ) (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 "B.Mask") (39 "F.Mask" user "F.Mask") (44 "Edge.Cuts" user) ) (setup (pad_to_mask_clearance 0.05) (allow_soldermask_bridges_in_footprints no) (pcbplotparams (layerselection 0x00010fc_ffffffff) (plot_on_all_layers_selection 0x0000000_00000000) (disableapertmacros no) (usegerberextensions no) (usegerberattributes yes) (usegerberadvancedattributes yes) (creategerberjobfile yes) (svgprecision 4) (plotframeref no) (viasonmask no) (mode 1) (useauxorigin no) (hpglpennumber 1) (hpglpenspeed 20) (hpglpendiameter 15) (dxfpolygonmode yes) (dxfimperialunits yes) (dxfusepcbnewfont yes) (psnegative no) (psa4output no) (plotreference yes) (plotvalue yes) (plotfptext no) (plotinvisibletext no) (sketchpadsonfab no) (subtractmaskfromsilk no) (outputformat 1) (mirror no) (drillshape 1) (scaleselection 1) (outputdirectory "gerbers/") ) ) ;; ===================================================== ;; BOARD OUTLINE - 45mm x 35mm with rounded corners ;; ===================================================== (gr_arc (start 3 0) (mid 0.879 0.879) (end 0 3) (layer "Edge.Cuts") (width 0.15)) (gr_line (start 3 0) (end 42 0) (layer "Edge.Cuts") (width 0.15)) (gr_arc (start 45 3) (mid 44.121 0.879) (end 42 0) (layer "Edge.Cuts") (width 0.15)) (gr_line (start 45 3) (end 45 32) (layer "Edge.Cuts") (width 0.15)) (gr_arc (start 42 35) (mid 44.121 34.121) (end 45 32) (layer "Edge.Cuts") (width 0.15)) (gr_line (start 42 35) (end 3 35) (layer "Edge.Cuts") (width 0.15)) (gr_arc (start 0 32) (mid 0.879 34.121) (end 3 35) (layer "Edge.Cuts") (width 0.15)) (gr_line (start 0 32) (end 0 3) (layer "Edge.Cuts") (width 0.15)) ;; ===================================================== ;; COMPONENT PLACEMENT (all coordinates in mm from top-left) ;; Front = component side (facing room) ;; Back = wall side ;; ===================================================== ;; --- BACK SIDE (facing wall) --- ;; ESP32-S3-WROOM-1 - center of board, back side ;; Module is 18x25.5mm, antenna at top extending past board edge (footprint "RF_Module:ESP32-S3-WROOM-1" (layer "B.Cu") (at 22.5 18 0) (property "Reference" "U3") (property "Value" "ESP32-S3-WROOM-1-N16R8") (property "JLCPCB" "C2913202") ) ;; AMS1117-3.3 LDO - bottom right, back side (footprint "Package_TO_SOT_SMD:SOT-223-3_TabPin2" (layer "B.Cu") (at 38 30 0) (property "Reference" "U2") (property "Value" "AMS1117-3.3") (property "JLCPCB" "C6186") ) ;; AP2112K-1.8 (camera DOVDD) - top right, back side (footprint "Package_TO_SOT_SMD:SOT-23-5" (layer "B.Cu") (at 38 5 0) (property "Reference" "U4") (property "Value" "AP2112K-1.8") (property "JLCPCB" "C51118") ) ;; AP2112K-2.8 (camera AVDD) - top right, back side (footprint "Package_TO_SOT_SMD:SOT-23-5" (layer "B.Cu") (at 38 10 0) (property "Reference" "U5") (property "Value" "AP2112K-2.8") (property "JLCPCB" "C51114") ) ;; USB ESD Protection (footprint "Package_TO_SOT_SMD:SOT-23-6" (layer "B.Cu") (at 22.5 32 0) (property "Reference" "U1") (property "Value" "USBLC6-2SC6") (property "JLCPCB" "C7519") ) ;; --- FRONT SIDE (facing room) --- ;; USB-C connector - bottom center, front side (footprint "Connector_USB:USB_C_Receptacle_GCT_USB4125" (layer "F.Cu") (at 22.5 35 180) (property "Reference" "J1") (property "Value" "USB_C_16P") (property "JLCPCB" "C2765186") ) ;; FPC camera connector - top center, front side (footprint "Connector_FFC-FPC:Molex_503480-2400_1x24-1MP_P0.50mm_Horizontal" (layer "F.Cu") (at 22.5 2 0) (property "Reference" "J2") (property "Value" "FPC_24P_OV5640") (property "JLCPCB" "C2856805") ) ;; LD2410C header - right side, front (footprint "Connector_PinHeader_1.27mm:PinHeader_1x05_P1.27mm_Vertical" (layer "F.Cu") (at 42 17.5 90) (property "Reference" "J3") (property "Value" "LD2410C") ) ;; AM312 PIR header - left side, front (footprint "Connector_PinHeader_2.54mm:PinHeader_1x03_P2.54mm_Vertical" (layer "F.Cu") (at 3 15 90) (property "Reference" "J4") (property "Value" "AM312_PIR") ) ;; SHT41 - left edge, front (away from ESP32 heat) (footprint "Sensor_Humidity:Sensirion_DFN-4-1EP_1.5x1.5mm_P0.8mm_EP0.5x0.5mm" (layer "F.Cu") (at 4 28 0) (property "Reference" "U6") (property "Value" "SHT41") (property "JLCPCB" "C2911456") ) ;; BH1750 - left of center, front (footprint "Package_SO:WSOF-6_1.4x1.7mm_P0.5mm" (layer "F.Cu") (at 12 22 0) (property "Reference" "U7") (property "Value" "BH1750FVI") (property "JLCPCB" "C78960") ) ;; Status LED - front side, visible (footprint "LED_SMD:LED_0402_1005Metric" (layer "F.Cu") (at 40 28 0) (property "Reference" "D1") (property "Value" "LED_Blue") (property "JLCPCB" "C2286") ) ;; --- PASSIVE COMPONENTS (back side, near their ICs) --- ;; Input cap - near AMS1117 (footprint "Capacitor_SMD:C_0805_2012Metric" (layer "B.Cu") (at 33 30 0) (property "Reference" "C1") (property "Value" "10uF") ) ;; Output cap - near AMS1117 (footprint "Capacitor_SMD:C_0805_2012Metric" (layer "B.Cu") (at 33 33 0) (property "Reference" "C2") (property "Value" "22uF") ) ;; Decoupling caps - near ESP32 (footprint "Capacitor_SMD:C_0402_1005Metric" (layer "B.Cu") (at 15 8 0) (property "Reference" "C3") (property "Value" "100nF") ) (footprint "Capacitor_SMD:C_0402_1005Metric" (layer "B.Cu") (at 15 10 0) (property "Reference" "C4") (property "Value" "100nF") ) (footprint "Capacitor_SMD:C_0402_1005Metric" (layer "B.Cu") (at 15 12 0) (property "Reference" "C5") (property "Value" "100nF") ) (footprint "Capacitor_SMD:C_0805_2012Metric" (layer "B.Cu") (at 15 14 0) (property "Reference" "C6") (property "Value" "10uF") ) ;; Camera power caps (footprint "Capacitor_SMD:C_0805_2012Metric" (layer "B.Cu") (at 35 3 0) (property "Reference" "C7") (property "Value" "10uF") ) (footprint "Capacitor_SMD:C_0402_1005Metric" (layer "B.Cu") (at 35 7 0) (property "Reference" "C8") (property "Value" "100nF") ) ;; LD2410C decoupling (footprint "Capacitor_SMD:C_0805_2012Metric" (layer "B.Cu") (at 40 15 0) (property "Reference" "C9") (property "Value" "10uF") ) ;; SHT41 decoupling (footprint "Capacitor_SMD:C_0402_1005Metric" (layer "F.Cu") (at 7 28 0) (property "Reference" "C10") (property "Value" "100nF") ) ;; BH1750 decoupling (footprint "Capacitor_SMD:C_0402_1005Metric" (layer "F.Cu") (at 15 22 0) (property "Reference" "C11") (property "Value" "100nF") ) ;; Resistors (footprint "Resistor_SMD:R_0402_1005Metric" (layer "F.Cu") (at 38 28 0) (property "Reference" "R1") (property "Value" "1K") (property "Description" "LED resistor") ) (footprint "Resistor_SMD:R_0402_1005Metric" (layer "F.Cu") (at 5 15 0) (property "Reference" "R2") (property "Value" "10K") (property "Description" "PIR pulldown") ) (footprint "Resistor_SMD:R_0402_1005Metric" (layer "F.Cu") (at 8 24 0) (property "Reference" "R3") (property "Value" "4.7K") (property "Description" "I2C SDA pull-up") ) (footprint "Resistor_SMD:R_0402_1005Metric" (layer "F.Cu") (at 10 24 0) (property "Reference" "R4") (property "Value" "4.7K") (property "Description" "I2C SCL pull-up") ) ;; Buttons - back side, accessible via pinhole (footprint "Button_Switch_SMD:SW_SPST_PTS810" (layer "B.Cu") (at 5 33 0) (property "Reference" "SW1") (property "Value" "BOOT") ) (footprint "Button_Switch_SMD:SW_SPST_PTS810" (layer "B.Cu") (at 10 33 0) (property "Reference" "SW2") (property "Value" "RESET") ) ;; Mounting holes (footprint "MountingHole:MountingHole_2.2mm_M2_Pad" (layer "F.Cu") (at 2.5 2.5 0) (property "Reference" "H1") (property "Value" "MountingHole") ) (footprint "MountingHole:MountingHole_2.2mm_M2_Pad" (layer "F.Cu") (at 42.5 2.5 0) (property "Reference" "H2") (property "Value" "MountingHole") ) ;; ===================================================== ;; SILKSCREEN LABELS ;; ===================================================== (gr_text "Presence Sensor v1.0" (at 22.5 17.5 0) (layer "F.SilkS") (effects (font (size 1.2 1.2) (thickness 0.2)) (justify center)) ) (gr_text "github.com/chrisryn" (at 22.5 19.5 0) (layer "F.SilkS") (effects (font (size 0.8 0.8) (thickness 0.15)) (justify center)) ) (gr_text "CAM" (at 22.5 4 0) (layer "F.SilkS") (effects (font (size 0.8 0.8) (thickness 0.15)) (justify center)) ) (gr_text "PIR" (at 3 12 0) (layer "F.SilkS") (effects (font (size 0.8 0.8) (thickness 0.15)) (justify center)) ) (gr_text "mmWave" (at 42 14 0) (layer "F.SilkS") (effects (font (size 0.8 0.8) (thickness 0.15)) (justify center)) ) (gr_text "USB-C" (at 22.5 33 0) (layer "F.SilkS") (effects (font (size 0.8 0.8) (thickness 0.15)) (justify center)) ) ;; ===================================================== ;; ANTENNA KEEP-OUT ZONE ;; ESP32-S3 antenna at top of module - no copper ;; ===================================================== (gr_rect (start 13 0) (end 32 6) (layer "F.SilkS") (width 0.15) (fill none) ) (gr_text "ANTENNA KEEP-OUT" (at 22.5 3 0) (layer "B.SilkS") (effects (font (size 0.6 0.6) (thickness 0.1)) (justify center)) ) )