(kicad_pcb (version 20240108) (generator "kicad") (generator_version "8.0") (general (thickness 1.6) (legacy_teardrops no)) (paper "A4") (title_block (title "AeroCast — Real-Time Bioaerosol Identification Station PCB") (date "2026-06-18") (rev "1.0") (company "jayis1") (comment 1 "Author: jayis1") (comment 2 "Copyright (C) 2026 jayis1") (comment 3 "License: CERN-OHL-S v2") (comment 4 "4-layer, 120x80mm, ENIG") ) (layers (0 "F.Cu" signal "top") (1 "In1.Cu" signal "gnd") (2 "In2.Cu" signal "pwr") (31 "B.Cu" signal "bottom") (32 "B.Adhes" user "B.Adhes") (33 "F.Adhes" user "F.Adhes") (34 "B.Paste" user "B.Paste") (35 "F.Paste" user "F.Paste") (36 "B.SilkS" user "B.SilkS") (37 "F.SilkS" user "F.SilkS") (38 "B.Mask" user "B.Mask") (39 "F.Mask" user "F.Mask") (40 "Dwgs.User" user "Dwgs.User") (44 "Edge.Cuts" user "Edge.Cuts") (45 "Margin" user "Margin") ) (setup (pad_to_mask_clearance 0) (pcbplotparams (layerselection 0x00010fc_ffffffff) (plot_on_all_layers_selection 0x0000000_00000000) (excludeedgelayer true) (linewidth 0.100000) (plotframeref false) (usegerberattributes true) (usegerberextensions true) (via_min_size 0.3) (via_min_drill 0.15) ) ) ;; Board outline: 120 x 80 mm (gr_line (start 0 0) (end 120 0) (layer "Edge.Cuts") (width 0.15)) (gr_line (start 120 0) (end 120 80) (layer "Edge.Cuts") (width 0.15)) (gr_line (start 120 80) (end 0 80) (layer "Edge.Cuts") (width 0.15)) (gr_line (start 0 80) (end 0 0) (layer "Edge.Cuts") (width 0.15)) (gr_text "AeroCast v1.0 — jayis1 — CERN-OHL-S v2" (at 60 75) (layer "F.SilkS") (effects (font (size 1.2 1.2)))) ;; ========================================================= ;; Net definitions ;; ========================================================= (net 0 "") (net 1 "+5V") (net 2 "+3V3") (net 3 "GND") (net 4 "VBAT") (net 5 "V_ANALOG") (net 6 "V_PMT") (net 7 "USART2_TX") (net 8 "USART2_RX") (net 9 "SPI1_SCK") (net 10 "SPI1_MISO") (net 11 "I2C1_SCL") (net 12 "I2C1_SDA") (net 13 "I2C4_SCL") (net 14 "I2C4_SDA") (net 15 "DISP_SCL") (net 16 "DISP_SDA") (net 17 "DISP_DC") (net 18 "DISP_CS") (net 19 "DISP_RST") (net 20 "BLOWER_PWM") (net 21 "UV_PWM") (net 22 "PMT_BIAS_DAC") (net 23 "LID_SW") (net 24 "WIND_TX") (net 25 "WIND_RX") (net 26 "ADC_CONVST") (net 27 "ADC_BUSY") (net 28 "ADC_CS") ;; ========================================================= ;; Footprints (representative subset with pads & nets) ;; ========================================================= ;; U1 — STM32H7A3VIT6 UFBGA-176 at (60, 40) (footprint "Package_BGA:UFBGA-176_10x10mm_P0.65mm" (layer "F.Cu") (tedit 0) (tstamp u1-mcu) (at 60 40) (attr smd) (property "Reference" "U1" (at 0 -7)) (property "Value" "STM32H7A3VIT6" (at 0 7)) (property "Author" "jayis1") (pad "A1" smd circle (size 0.35 0.35) (at -2.925 -2.925) (layers "F.Cu" "F.Mask") (net 3)) (pad "A2" smd circle (size 0.35 0.35) (at -2.275 -2.925) (layers "F.Cu" "F.Mask") (net 2)) (pad "B1" smd circle (size 0.35 0.35) (at -2.925 -2.275) (layers "F.Cu" "F.Mask") (net 4)) (pad "H10" smd circle (size 0.35 0.35) (at 2.925 2.275) (layers "F.Cu" "F.Mask") (net 7)) (pad "J9" smd circle (size 0.35 0.35) (at 2.275 1.625) (layers "F.Cu" "F.Mask") (net 8)) (pad "K1" smd circle (size 0.35 0.35) (at -2.925 0.975) (layers "F.Cu" "F.Mask") (net 9)) (pad "L2" smd circle (size 0.35 0.35) (at -2.275 0.325) (layers "F.Cu" "F.Mask") (net 10)) (pad "M3" smd circle (size 0.35 0.35) (at -1.625 -0.325)(layers "F.Cu" "F.Mask") (net 11)) (pad "N4" smd circle (size 0.35 0.35) (at -0.975 -0.975)(layers "F.Cu" "F.Mask") (net 12)) ) ;; U2 — ESP32-C6-MINI-2U at (90, 40) (footprint "RF_Module:ESP32-C6-MINI-2U" (layer "F.Cu") (tedit 0) (tstamp u2-esp) (at 90 40) (attr smd) (property "Reference" "U2" (at 0 -10)) (property "Value" "ESP32-C6-MINI-2U" (at 0 10)) (property "Author" "jayis1") (pad "1" smd rect (size 1.5 0.9) (at -8 0) (layers "F.Cu" "F.Mask") (net 2)) (pad "2" smd rect (size 1.5 0.9) (at -8 2) (layers "F.Cu" "F.Mask") (net 3)) (pad "3" smd rect (size 1.5 0.9) (at -8 4) (layers "F.Cu" "F.Mask") (net 8)) (pad "4" smd rect (size 1.5 0.9) (at 8 0) (layers "F.Cu" "F.Mask") (net 7)) (pad "5" smd rect (size 1.5 0.9) (at 8 2) (layers "F.Cu" "F.Mask") (net 3)) ) ;; U3 — LTC2351-14 QFN-32 at (30, 30) (footprint "Package_DFN_QFN:QFN-32-1EP_5x5mm_P0.5mm" (layer "F.Cu") (tstamp u3-adc) (at 30 30) (attr smd) (property "Reference" "U3" (at 0 -4)) (property "Value" "LTC2351-14" (at 0 4)) (property "Author" "jayis1") (pad "1" smd rect (size 0.5 0.8) (at -2.75 -1.75) (layers "F.Cu" "F.Mask") (net 5)) (pad "2" smd rect (size 0.5 0.8) (at -2.75 -1.25) (layers "F.Cu" "F.Mask") (net 3)) (pad "10" smd rect (size 0.5 0.8)(at -2.75 1.25) (layers "F.Cu" "F.Mask") (net 9)) (pad "11" smd rect (size 0.5 0.8)(at -2.75 1.75) (layers "F.Cu" "F.Mask") (net 10)) (pad "20" smd rect (size 0.5 0.8)(at 2.75 1.75) (layers "F.Cu" "F.Mask") (net 28)) (pad "21" smd rect (size 0.5 0.8)(at 2.75 1.25) (layers "F.Cu" "F.Mask") (net 26)) (pad "22" smd rect (size 0.5 0.8)(at 2.75 0.75) (layers "F.Cu" "F.Mask") (net 27)) (pad "33" smd rect (size 2.5 2.5)(at 0 0) (layers "F.Cu" "F.Mask") (net 3)) ) ;; U4 — SHT45 DFN-4 at (105, 25) (footprint "Sensor:Sensirion_DFN-4-1EP_1.5x1.5mm_P0.5mm" (layer "F.Cu") (tstamp u4-sht) (at 105 25) (attr smd) (property "Reference" "U4" (at 0 -2)) (property "Value" "SHT45" (at 0 2)) (property "Author" "jayis1") (pad "1" smd rect (size 0.5 0.3) (at -0.4 -0.25) (layers "F.Cu" "F.Mask") (net 2)) (pad "2" smd rect (size 0.5 0.3) (at 0.4 -0.25) (layers "F.Cu" "F.Mask") (net 11)) (pad "3" smd rect (size 0.5 0.3) (at 0.4 0.25) (layers "F.Cu" "F.Mask") (net 12)) (pad "4" smd rect (size 0.5 0.3) (at -0.4 0.25) (layers "F.Cu" "F.Mask") (net 3)) ) ;; U5 — BMP390 LGA-10 at (105, 32) (footprint "Package_LGA:Bosch_LGA-10_2.5x2.5mm_P0.6mm" (layer "F.Cu") (tstamp u5-bmp) (at 105 32) (attr smd) (property "Reference" "U5" (at 0 -2.5)) (property "Value" "BMP390" (at 0 2.5)) (property "Author" "jayis1") (pad "1" smd rect (size 0.4 0.3) (at -0.9 -0.6) (layers "F.Cu" "F.Mask") (net 2)) (pad "2" smd rect (size 0.4 0.3) (at -0.3 -0.6) (layers "F.Cu" "F.Mask") (net 11)) (pad "3" smd rect (size 0.4 0.3) (at 0.3 -0.6) (layers "F.Cu" "F.Mask") (net 12)) (pad "5" smd rect (size 0.4 0.3) (at 0.9 -0.6) (layers "F.Cu" "F.Mask") (net 3)) ) ;; U6 — SDP810 DFN-8 at (105, 40) (footprint "Sensor:Sensirion_SDP8xx_DFN-8_5x8mm_P1.25mm" (layer "F.Cu") (tstamp u6-sdp) (at 105 40) (attr smd) (property "Reference" "U6" (at 0 -5)) (property "Value" "SDP810-500Pa" (at 0 5)) (property "Author" "jayis1") (pad "1" smd rect (size 0.6 0.8) (at -2 -3) (layers "F.Cu" "F.Mask") (net 2)) (pad "2" smd rect (size 0.6 0.8) (at -2 -1.75)(layers "F.Cu" "F.Mask") (net 13)) (pad "3" smd rect (size 0.6 0.8) (at -2 -0.5) (layers "F.Cu" "F.Mask") (net 14)) (pad "4" smd rect (size 0.6 0.8) (at -2 0.75)(layers "F.Cu" "F.Mask") (net 3)) ) ;; J1 — USB-C at (10, 70) (footprint "Connector_USB:USB_C_Receptacle_HRO_TYPE-C-31-M-12" (layer "F.Cu") (tstamp j1-usbc) (at 10 70) (attr smd) (property "Reference" "J1" (at 0 -5)) (property "Value" "USB-C" (at 0 5)) (property "Author" "jayis1") (pad "A4" smd rect (size 0.3 1.0) (at -3.2 -2.5) (layers "F.Cu" "F.Mask") (net 1)) (pad "A1" smd rect (size 0.3 1.0) (at -4.0 -2.5) (layers "F.Cu" "F.Mask") (net 3)) (pad "B9" smd rect (size 0.3 1.0) (at 3.2 -2.5) (layers "F.Cu" "F.Mask") (net 3)) (pad "B4" smd rect (size 0.3 1.0) (at 4.0 -2.5) (layers "F.Cu" "F.Mask") (net 1)) ) ;; J4 — RS-485 header at (110, 70) (footprint "Connector_JST:JST_PH_B4B-PH-K_1x04_P2.00mm_Vertical" (layer "F.Cu") (tstamp j4-wind) (at 110 70) (attr through_hole) (property "Reference" "J4" (at 0 -3)) (property "Value" "Anemometer_RS485" (at 0 3)) (property "Author" "jayis1") (pad "1" thru_hole circle (size 0.8 0.8) (drill 0.6) (at -3 0) (layers "*.Cu" "*.Mask") (net 24)) (pad "2" thru_hole circle (size 0.8 0.8) (drill 0.6) (at -1 0) (layers "*.Cu" "*.Mask") (net 25)) (pad "3" thru_hole circle (size 0.8 0.8) (drill 0.6) (at 1 0) (layers "*.Cu" "*.Mask") (net 1)) (pad "4" thru_hole circle (size 0.8 0.8) (drill 0.6) (at 3 0) (layers "*.Cu" "*.Mask") (net 3)) ) ;; D1 — 650 nm laser TO-18 at (60, 60) (footprint "OptoDevice:TO-18_3Pin" (layer "F.Cu") (tstamp d1-laser) (at 60 60) (attr through_hole) (property "Reference" "D1" (at 0 -3)) (property "Value" "650nm_50mW" (at 0 3)) (property "Author" "jayis1") (pad "1" thru_hole circle (size 1.5 1.5) (drill 0.8) (at 0 0) (layers "*.Cu" "*.Mask") (net 1)) (pad "2" thru_hole circle (size 1.5 1.5) (drill 0.8) (at 1.27 0) (layers "*.Cu" "*.Mask") (net 3)) ) ;; D2 — 340 nm UV-LED 3528 at (70, 60) (footprint "LED_SMD:LED_3528" (layer "F.Cu") (tstamp d2-uv) (at 70 60) (attr smd) (property "Reference" "D2" (at 0 -2)) (property "Value" "340nm_300mW" (at 0 2)) (property "Author" "jayis1") (pad "1" smd rect (size 1.2 1.0) (at -1.5 0) (layers "F.Cu" "F.Mask") (net 21)) (pad "2" smd rect (size 1.2 1.0) (at 1.5 0) (layers "F.Cu" "F.Mask") (net 3)) ) ;; DISP1 — ST7789V FPC at (100, 55) (footprint "Display:ST7789V_2.4in_FPC_10pin" (layer "F.Cu") (tstamp disp1) (at 100 55) (attr smd) (property "Reference" "DISP1" (at 0 -8)) (property "Value" "ST7789V_240x320" (at 0 8)) (property "Author" "jayis1") (pad "1" smd rect (size 0.5 1.5) (at -6 0) (layers "F.Cu" "F.Mask") (net 2)) (pad "2" smd rect (size 0.5 1.5) (at -5 0) (layers "F.Cu" "F.Mask") (net 3)) (pad "3" smd rect (size 0.5 1.5) (at -4 0) (layers "F.Cu" "F.Mask") (net 15)) (pad "4" smd rect (size 0.5 1.5) (at -3 0) (layers "F.Cu" "F.Mask") (net 16)) (pad "5" smd rect (size 0.5 1.5) (at -2 0) (layers "F.Cu" "F.Mask") (net 17)) (pad "6" smd rect (size 0.5 1.5) (at -1 0) (layers "F.Cu" "F.Mask") (net 18)) (pad "7" smd rect (size 0.5 1.5) (at 0 0) (layers "F.Cu" "F.Mask") (net 19)) ) ;; ========================================================= ;; Representative copper traces ;; ========================================================= (segment (start 60 40) (end 90 40) (width 0.15) (layer "F.Cu") (net 7)) (segment (start 90 40) (end 90 42) (width 0.15) (layer "F.Cu") (net 7)) (segment (start 60 40) (end 30 30) (width 0.15) (layer "F.Cu") (net 9)) (segment (start 30 30) (end 30 31.75) (width 0.15) (layer "F.Cu") (net 9)) (segment (start 60 40) (end 105 25) (width 0.15) (layer "F.Cu") (net 11)) (segment (start 60 40) (end 105 40) (width 0.15) (layer "F.Cu") (net 13)) (via (at 60 40) (size 0.3) (drill 0.15) (layers "F.Cu" "B.Cu") (net 3)) (via (at 90 40) (size 0.3) (drill 0.15) (layers "F.Cu" "B.Cu") (net 3)) (via (at 30 30) (size 0.3) (drill 0.15) (layers "F.Cu" "B.Cu") (net 3)) ;; Ground pour hint (In1.Cu is solid GND plane) (zone (layer "In1.Cu") (net 3) (connect_pads (clearance 0.2)) (fill yes (thermal_gap 0.3) (thermal_bridge_width 0.3)) (polygon (pts (xy 0 0) (xy 120 0) (xy 120 80) (xy 0 80))) ) (instances (project "aerocast" (path "/aerocast-pcb-0001"))) )