(kicad_pcb (version 20240101) (host kicad 8.0) (uuid "a1b2c3d4-1e2f-3a4b-5c6d-7e8f9a0b1c2d") (title_block (title "TPM-PHANTOM — Trusted Platform Module Bus Analyzer") (date "2026-07-08") (rev "1.0") (company "jayis1") (comment 1 "Author: jayis1 — CERN-OHL-S v2") (comment 2 "LPC + SPI TPM 2.0 capture/injection") (comment 3 "4-layer: F.Cu / In1.GND / In2.PWR / B.Cu") ) (general (thickness 1.6) (legacy_teardrops no)) (paper "A4") (layers (0 "F.Cu" signal "Top — components + high-speed SPI/LPC") (1 "In1.Cu" signal "Inner 1 — GND plane") (2 "In2.Cu" signal "Inner 2 — 3V3 plane") (31 "B.Cu" signal "Bottom — passives + routing") (32 "B.Adhes" user "B.Adhesive") (33 "F.Adhes" user "F.Adhesive") (34 "B.Paste" user "B.Paste") (35 "F.Paste" user "F.Paste") (36 "B.SilkS" user "B.Silkscreen") (37 "F.SilkS" user "F.Silkscreen") (38 "B.Mask" user "B.Mask") (39 "F.Mask" user "F.Mask") (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 "Board.Outline") (45 "Margin" user "Board.Margin") (46 "B.CrtYd" user "B.Courtyard") (47 "F.CrtYd" user "F.Courtyard") (48 "B.Fab" user "B.Fabrication") (49 "F.Fab" user "F.Fabrication") ) (setup (stackup (layer "F.Cu" (type "copper") (thickness 0.035)) (layer "dielectric 1" (type "prepreg") (thickness 0.2) (material "FR4")) (layer "In1.Cu" (type "copper") (thickness 0.035)) (layer "dielectric 2" (type "core") (thickness 0.7) (material "FR4")) (layer "In2.Cu" (type "copper") (thickness 0.035)) (layer "dielectric 3" (type "prepreg") (thickness 0.2) (material "FR4")) (layer "B.Cu" (type "copper") (thickness 0.035)) ) (pad_to_mask_clearance 0.05) (solder_mask_min_width 0.05) (grid_origin 0 0) (pcbplotparams (layerselection 0x00010fc_ffffffff) (plot_on_all_layers_selection 0x0000000_00000000) (usegerberextensions no) (psnegative no) (psa4portrait no) (plotreference yes) (plotvalue yes) (plotinvisibleno yes) (sketchpadsonfab no) (subtractmaskfromsilk no) (outputformat 1) (mirror no) (drillshape 0) ) ) ; =================================================================== ; Board outline (60 x 30 mm — USB stick form factor) ; =================================================================== (gr_line (start 0 0) (end 60 0) (layer "Edge.Cuts") (width 0.15)) (gr_line (start 60 0) (end 60 30) (layer "Edge.Cuts") (width 0.15)) (gr_line (start 60 30) (end 0 30) (layer "Edge.Cuts") (width 0.15)) (gr_line (start 0 30) (end 0 0) (layer "Edge.Cuts") (width 0.15)) (gr_text "TPM-PHANTOM v1.0 ©jayis1" (at 30 15) (layer "F.SilkS") (uuid "silktxt1")) (gr_text "TPM Bus Analyzer — LPC/SPI" (at 30 17.5) (layer "F.SilkS") (uuid "silktxt2")) (gr_text "Author: jayis1" (at 30 20) (layer "B.SilkS") (uuid "silktxt3")) ; =================================================================== ; Net classes ; =================================================================== (net_class "Default" (clearance 0.2) (trace_width 0.2) (via_dia 0.6) (via_drill 0.3) (uvia_dia 0.3) (uvia_drill 0.1)) (net_class "POWER" (clearance 0.3) (trace_width 0.5) (via_dia 0.7) (via_drill 0.35) (uvia_dia 0.3) (uvia_drill 0.1) (net "+3V3") (net "+5V") (net "VBUS") (net "GND")) (net_class "SPI" (clearance 0.15) (trace_width 0.15) (via_dia 0.5) (via_drill 0.25) (uvia_dia 0.3) (uvia_drill 0.1) (net "SPI_CS") (net "SPI_SCK") (net "SPI_MOSI") (net "SPI_MISO") (net "SPI_IRQ")) (net_class "LPC" (clearance 0.15) (trace_width 0.15) (via_dia 0.5) (via_drill 0.25) (uvia_dia 0.3) (uvia_drill 0.1) (net "LCLK") (net "LFRAME") (net "LAD0") (net "LAD1") (net "LAD2") (net "LAD3") (net "LPCPD") (net "SERIRQ")) (net_class "USB" (clearance 0.2) (trace_width 0.2) (via_dia 0.6) (via_drill 0.3) (net "USB_DM") (net "USB_DP")) ; =================================================================== ; Nets ; =================================================================== (net 0 "") (net 1 "GND") (net 2 "+3V3") (net 3 "+5V") (net 4 "VBUS") (net 5 "LCLK") (net 6 "LFRAME") (net 7 "LAD0") (net 8 "LAD1") (net 9 "LAD2") (net 10 "LAD3") (net 11 "LPCPD") (net 12 "SERIRQ") (net 13 "SPI_CS") (net 14 "SPI_SCK") (net 15 "SPI_MOSI") (net 16 "SPI_MISO") (net 17 "SPI_IRQ") (net 18 "USB_DM") (net 19 "USB_DP") (net 20 "BLE_TX") (net 21 "BLE_RX") (net 22 "BLE_RST") (net 23 "BLE_IRQ") (net 24 "SD_D0") (net 25 "SD_D1") (net 26 "SD_D2") (net 27 "SD_D3") (net 28 "SD_CLK") (net 29 "SD_CMD") ; =================================================================== ; Footprints ; =================================================================== ; --- U1: STM32H743VIT6 (LQFP-100, 14x14mm) --- (footprint "Package_QFP:LQFP-100_14x14mm_P0.5mm" (layer "F.Cu") (attr smd) (property "Reference" "U1") (property "Value" "STM32H743VIT6") (property "Footprint" "Package_QFP:LQFP-100_14x14mm_P0.5mm") (at 25 15) (pad "23" smd roundrect (at -3.25 -6.75) (size 0.25 1.0) (layers "F.Cu" "F.Paste" "F.Mask") (net 5) (uuid "pad-u1-23")) (pad "24" smd roundrect (at -2.75 -6.75) (size 0.25 1.0) (layers "F.Cu" "F.Paste" "F.Mask") (net 6) (uuid "pad-u1-24")) (pad "35" smd roundrect (at 6.75 -2.25) (size 1.0 0.25) (layers "F.Cu" "F.Paste" "F.Mask") (net 7) (uuid "pad-u1-35")) (pad "36" smd roundrect (at 6.75 -1.75) (size 1.0 0.25) (layers "F.Cu" "F.Paste" "F.Mask") (net 8) (uuid "pad-u1-36")) (pad "37" smd roundrect (at 6.75 -1.25) (size 1.0 0.25) (layers "F.Cu" "F.Paste" "F.Mask") (net 9) (uuid "pad-u1-37")) (pad "38" smd roundrect (at 6.75 -0.75) (size 1.0 0.25) (layers "F.Cu" "F.Paste" "F.Mask") (net 10) (uuid "pad-u1-38")) (pad "47" smd roundrect (at 3.25 6.75) (size 0.25 1.0) (layers "F.Cu" "F.Paste" "F.Mask") (net 13) (uuid "pad-u1-47")) (pad "43" smd roundrect (at 1.25 6.75) (size 0.25 1.0) (layers "F.Cu" "F.Paste" "F.Mask") (net 14) (uuid "pad-u1-43")) (pad "48" smd roundrect (at 3.75 6.75) (size 0.25 1.0) (layers "F.Cu" "F.Paste" "F.Mask") (net 16) (uuid "pad-u1-48")) (pad "49" smd roundrect (at 4.25 6.75) (size 0.25 1.0) (layers "F.Cu" "F.Paste" "F.Mask") (net 15) (uuid "pad-u1-49")) (pad "69" smd roundrect (at -5.25 6.75) (size 0.25 1.0) (layers "F.Cu" "F.Paste" "F.Mask") (net 18) (uuid "pad-u1-69")) (pad "70" smd roundrect (at -4.75 6.75) (size 0.25 1.0) (layers "F.Cu" "F.Paste" "F.Mask") (net 19) (uuid "pad-u1-70")) (pad "11" smd roundrect (at -6.75 1.75) (size 1.0 0.25) (layers "F.Cu" "F.Paste" "F.Mask") (net 2) (uuid "pad-u1-vdd")) (pad "10" smd roundrect (at -6.75 1.25) (size 1.0 0.25) (layers "F.Cu" "F.Paste" "F.Mask") (net 1) (uuid "pad-u1-vss")) (pad "26" smd roundrect (at -1.75 -6.75) (size 0.25 1.0) (layers "F.Cu" "F.Paste" "F.Mask") (uuid "pad-u1-26")) (pad "27" smd roundrect (at -1.25 -6.75) (size 0.25 1.0) (layers "F.Cu" "F.Paste" "F.Mask") (uuid "pad-u1-27")) (pad "28" smd roundrect (at -0.75 -6.75) (size 0.25 1.0) (layers "F.Cu" "F.Paste" "F.Mask") (uuid "pad-u1-28")) (pad "29" smd roundrect (at -0.25 -6.75) (size 0.25 1.0) (layers "F.Cu" "F.Paste" "F.Mask") (uuid "pad-u1-29")) ) ; --- U2: nRF52840-QFAA (QFN-48, 6x6mm) --- (footprint "Package_DFN_QFN:QFN-48-1EP_6x6mm_P0.4mm_EP4.6x4.6mm" (layer "F.Cu") (attr smd) (property "Reference" "U2") (property "Value" "nRF52840-QFAA") (at 45 20) (pad "21" smd roundrect (at -2.0 2.8) (size 0.2 0.8) (layers "F.Cu" "F.Paste" "F.Mask") (net 20) (uuid "pad-u2-21")) (pad "22" smd roundrect (at -2.4 2.8) (size 0.2 0.8) (layers "F.Cu" "F.Paste" "F.Mask") (net 21) (uuid "pad-u2-22")) (pad "23" smd roundrect (at -2.8 2.8) (size 0.2 0.8) (layers "F.Cu" "F.Paste" "F.Mask") (net 22) (uuid "pad-u2-23")) (pad "24" smd roundrect (at -3.2 2.8) (size 0.2 0.8) (layers "F.Cu" "F.Paste" "F.Mask") (net 23) (uuid "pad-u2-24")) (pad "45" smd roundrect (at 2.8 -2.0) (size 0.2 0.8) (layers "F.Cu" "F.Paste" "F.Mask") (net 2) (uuid "pad-u2-vdd")) (pad "46" smd roundrect (at 2.8 -2.4) (size 0.2 0.8) (layers "F.Cu" "F.Paste" "F.Mask") (net 1) (uuid "pad-u2-gnd")) (pad "30" smd roundrect (at 2.8 0.8) (size 0.2 0.8) (layers "F.Cu" "F.Paste" "F.Mask") (uuid "pad-u2-ant1")) (pad "31" smd roundrect (at 2.8 1.2) (size 0.2 0.8) (layers "F.Cu" "F.Paste" "F.Mask") (uuid "pad-u2-ant2")) ) ; --- U3: AMS1117-3.3 (SOT-223) --- (footprint "Package_TO_SOT_SMD:SOT-223-3_TabPin2" (layer "F.Cu") (attr smd) (property "Reference" "U3") (property "Value" "AMS1117-3.3") (at 10 25) (pad "1" smd rect (at -2.3 1.0) (size 1.2 1.5) (layers "F.Cu" "F.Paste" "F.Mask") (net 1) (uuid "pad-u3-1")) (pad "2" smd rect (at 0 1.0) (size 1.2 1.5) (layers "F.Cu" "F.Paste" "F.Mask") (net 2) (uuid "pad-u3-2")) (pad "3" smd rect (at 2.3 1.0) (size 1.2 1.5) (layers "F.Cu" "F.Paste" "F.Mask") (net 3) (uuid "pad-u3-3")) ) ; --- J1: USB-C Receptacle --- (footprint "Connector_USB:USB_C_Receptacle_HRO_TYPE-C-31-M-12" (layer "F.Cu") (attr smd) (property "Reference" "J1") (property "Value" "USB-C 2.0") (at 3 15) (pad "A4" smd rect (at -4.0 -3.5) (size 0.8 1.5) (layers "F.Cu" "F.Paste" "F.Mask") (net 4) (uuid "pad-j1-a4")) (pad "B4" smd rect (at 4.0 -3.5) (size 0.8 1.5) (layers "F.Cu" "F.Paste" "F.Mask") (net 4) (uuid "pad-j1-b4")) (pad "A6" smd rect (at -0.5 -3.5) (size 0.3 1.5) (layers "F.Cu" "F.Paste" "F.Mask") (net 19) (uuid "pad-j1-a6")) (pad "A7" smd rect (at 0.5 -3.5) (size 0.3 1.5) (layers "F.Cu" "F.Paste" "F.Mask") (net 18) (uuid "pad-j1-a7")) (pad "B6" smd rect (at 0.5 -3.5) (size 0.3 1.5) (layers "F.Cu" "F.Paste" "F.Mask") (net 19) (uuid "pad-j1-b6")) (pad "B7" smd rect (at -0.5 -3.5) (size 0.3 1.5) (layers "F.Cu" "F.Paste" "F.Mask") (net 18) (uuid "pad-j1-b7")) (pad "S1" smd rect (at -5.0 0.0) (size 1.0 2.0) (layers "F.Cu" "F.Paste" "F.Mask") (net 1) (uuid "pad-j1-s1")) (pad "S2" smd rect (at 5.0 0.0) (size 1.0 2.0) (layers "F.Cu" "F.Paste" "F.Mask") (net 1) (uuid "pad-j1-s2")) ) ; --- J2: LPC Probe Header (2x5) --- (footprint "Connector_PinHeader_2.54mm:PinHeader_2x05_P2.54mm_Vertical" (layer "F.Cu") (attr through_hole) (property "Reference" "J2") (property "Value" "LPC Probe") (at 52 8) (pad "1" thru_hole rect (at 0 0) (size 1.6 1.6) (drill 0.8) (layers "*.Cu" "*.Mask") (net 5) (uuid "pad-j2-1")) (pad "2" thru_hole circle (at 0 2.54) (size 1.6 1.6) (drill 0.8) (layers "*.Cu" "*.Mask") (net 6) (uuid "pad-j2-2")) (pad "3" thru_hole circle (at 2.54 0) (size 1.6 1.6) (drill 0.8) (layers "*.Cu" "*.Mask") (net 7) (uuid "pad-j2-3")) (pad "4" thru_hole circle (at 2.54 2.54) (size 1.6 1.6) (drill 0.8) (layers "*.Cu" "*.Mask") (net 8) (uuid "pad-j2-4")) (pad "5" thru_hole circle (at 5.08 0) (size 1.6 1.6) (drill 0.8) (layers "*.Cu" "*.Mask") (net 9) (uuid "pad-j2-5")) (pad "6" thru_hole circle (at 5.08 2.54) (size 1.6 1.6) (drill 0.8) (layers "*.Cu" "*.Mask") (net 10) (uuid "pad-j2-6")) (pad "7" thru_hole circle (at 7.62 0) (size 1.6 1.6) (drill 0.8) (layers "*.Cu" "*.Mask") (net 11) (uuid "pad-j2-7")) (pad "8" thru_hole circle (at 7.62 2.54) (size 1.6 1.6) (drill 0.8) (layers "*.Cu" "*.Mask") (net 12) (uuid "pad-j2-8")) (pad "9" thru_hole circle (at 10.16 0) (size 1.6 1.6) (drill 0.8) (layers "*.Cu" "*.Mask") (net 1) (uuid "pad-j2-9")) (pad "10" thru_hole circle (at 10.16 2.54) (size 1.6 1.6) (drill 0.8) (layers "*.Cu" "*.Mask") (net 2) (uuid "pad-j2-10")) ) ; --- J3: SPI TPM Probe Header (2x4) --- (footprint "Connector_PinHeader_2.54mm:PinHeader_2x04_P2.54mm_Vertical" (layer "F.Cu") (attr through_hole) (property "Reference" "J3") (property "Value" "SPI TPM Probe") (at 52 18) (pad "1" thru_hole rect (at 0 0) (size 1.6 1.6) (drill 0.8) (layers "*.Cu" "*.Mask") (net 13) (uuid "pad-j3-1")) (pad "2" thru_hole circle (at 0 2.54) (size 1.6 1.6) (drill 0.8) (layers "*.Cu" "*.Mask") (net 14) (uuid "pad-j3-2")) (pad "3" thru_hole circle (at 2.54 0) (size 1.6 1.6) (drill 0.8) (layers "*.Cu" "*.Mask") (net 15) (uuid "pad-j3-3")) (pad "4" thru_hole circle (at 2.54 2.54) (size 1.6 1.6) (drill 0.8) (layers "*.Cu" "*.Mask") (net 16) (uuid "pad-j3-4")) (pad "5" thru_hole circle (at 5.08 0) (size 1.6 1.6) (drill 0.8) (layers "*.Cu" "*.Mask") (net 17) (uuid "pad-j3-5")) (pad "6" thru_hole circle (at 5.08 2.54) (size 1.6 1.6) (drill 0.8) (layers "*.Cu" "*.Mask") (net 1) (uuid "pad-j3-6")) (pad "7" thru_hole circle (at 7.62 0) (size 1.6 1.6) (drill 0.8) (layers "*.Cu" "*.Mask") (net 2) (uuid "pad-j3-7")) ) ; --- J4: MicroSD card socket --- (footprint "Connector_Card:microSD_HC_Hirose_DM3D-SF" (layer "F.Cu") (attr smd) (property "Reference" "J4") (property "Value" "MicroSD") (at 15 5) (pad "1" smd rect (at -4.0 -2.0) (size 0.8 1.5) (layers "F.Cu" "F.Paste" "F.Mask") (net 26) (uuid "pad-j4-1")) (pad "2" smd rect (at -3.0 -2.0) (size 0.8 1.5) (layers "F.Cu" "F.Paste" "F.Mask") (net 27) (uuid "pad-j4-2")) (pad "3" smd rect (at -2.0 -2.0) (size 0.8 1.5) (layers "F.Cu" "F.Paste" "F.Mask") (net 29) (uuid "pad-j4-3")) (pad "4" smd rect (at -1.0 -2.0) (size 0.8 1.5) (layers "F.Cu" "F.Paste" "F.Mask") (net 2) (uuid "pad-j4-4")) (pad "5" smd rect (at 0.0 -2.0) (size 0.8 1.5) (layers "F.Cu" "F.Paste" "F.Mask") (net 28) (uuid "pad-j4-5")) (pad "6" smd rect (at 1.0 -2.0) (size 0.8 1.5) (layers "F.Cu" "F.Paste" "F.Mask") (net 1) (uuid "pad-j4-6")) (pad "7" smd rect (at 2.0 -2.0) (size 0.8 1.5) (layers "F.Cu" "F.Paste" "F.Mask") (net 24) (uuid "pad-j4-7")) (pad "8" smd rect (at 3.0 -2.0) (size 0.8 1.5) (layers "F.Cu" "F.Paste" "F.Mask") (net 25) (uuid "pad-j4-8")) ) ; --- Y1: 25 MHz Crystal (3225 SMD) --- (footprint "Crystal:Crystal_SMD_3225-4Pin_3.2x2.5mm" (layer "F.Cu") (attr smd) (property "Reference" "Y1") (property "Value" "25MHz") (at 18 22) (pad "1" smd rect (at -1.0 -0.8) (size 1.2 1.0) (layers "F.Cu" "F.Paste" "F.Mask") (uuid "pad-y1-1")) (pad "3" smd rect (at 1.0 0.8) (size 1.2 1.0) (layers "F.Cu" "F.Paste" "F.Mask") (uuid "pad-y1-3")) (pad "2" smd rect (at 1.0 -0.8) (size 1.2 1.0) (layers "F.Cu" "F.Paste" "F.Mask") (net 1) (uuid "pad-y1-2")) (pad "4" smd rect (at -1.0 0.8) (size 1.2 1.0) (layers "F.Cu" "F.Paste" "F.Mask") (net 1) (uuid "pad-y1-4")) ) ; --- U5: USBLC6-2SC6 ESD protection (SOT-23-6) --- (footprint "Package_TO_SOT_SMD:SOT-23-6" (layer "F.Cu") (attr smd) (property "Reference" "U5") (property "Value" "USBLC6-2SC6") (at 8 12) (pad "1" smd rect (at -1.2 -0.65) (size 0.6 1.0) (layers "F.Cu" "F.Paste" "F.Mask") (net 18) (uuid "pad-u5-1")) (pad "6" smd rect (at 1.2 -0.65) (size 0.6 1.0) (layers "F.Cu" "F.Paste" "F.Mask") (net 19) (uuid "pad-u5-6")) (pad "2" smd rect (at -1.2 0.0) (size 0.6 1.0) (layers "F.Cu" "F.Paste" "F.Mask") (net 1) (uuid "pad-u5-2")) (pad "5" smd rect (at 1.2 0.0) (size 0.6 1.0) (layers "F.Cu" "F.Paste" "F.Mask") (net 4) (uuid "pad-u5-5")) ) ; =================================================================== ; Copper zones ; =================================================================== (zone (net 1) (net_name "GND") (layer "In1.Cu") (tstamp 0) (hatch edge 0.5) (connect_pads (clearance 0.2)) (min_thickness 0.2) (fill yes (thermal_gap 0.3) (thermal_bridge_width 0.4)) (polygon (pts (xy 0 0) (xy 60 0) (xy 60 30) (xy 0 30))) ) (zone (net 2) (net_name "+3V3") (layer "In2.Cu") (tstamp 1) (hatch edge 0.5) (connect_pads (clearance 0.2)) (min_thickness 0.2) (fill yes (thermal_gap 0.3) (thermal_bridge_width 0.4)) (polygon (pts (xy 0 0) (xy 60 0) (xy 60 30) (xy 0 30))) ) ; =================================================================== ; Dimension and fab notes ; =================================================================== (gr_text "60 x 30 mm — 4-layer FR4 1.6mm" (at 30 27) (layer "Cmts.User") (uuid "dim1")) (gr_text "Impedance: USB 90Ω diff, SPI/LPC single-ended" (at 30 28.5) (layer "Cmts.User") (uuid "dim2")) (dimension (type orthogonal) (layer "Dwgs.User") (pts (xy 0 0) (xy 60 0)) (height -3) (format (units 2) (units_format 1) (precision 1)) (style (thickness 0.15) (arrow_length 1.0) (text_position_mode 0)) (dimension (type orthogonal) (layer "Dwgs.User") (pts (xy 60 0) (xy 60 30)) (height 5) (format (units 2) (units_format 1) (precision 1)) (style (thickness 0.15) (arrow_length 1.0) (text_position_mode 0)) )