Hygiene: digit-terminate all generated refdeses — clears kicad-cli annotation errors

33 component refs (J_E->J_E1, C_VCAP->C_VCAP1, C_IN5a->C_IN5a1, ...) plus 8
power-symbol refs (#FLG15IN->#FLG15IN1, #PWRC_E1g->#PWRC_E1g1, ...) now end
in a digit; emit helpers normalize tags so future sheets stay clean.
kicad-cli netlist annotation warning GONE. ERC 133->133 identical types;
analyzer +73/-4/~0 unchanged; SPICE 24 pass / 2 benign warn / 0 fail.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This commit is contained in:
noise
2026-07-04 09:35:29 -04:00
parent dbfe4b22f7
commit 8124b411bf
6 changed files with 378 additions and 371 deletions

View File

@@ -1155,18 +1155,18 @@
(at 59.69 80.01 0)
(unit 1)
(exclude_from_sim no) (in_bom yes) (on_board yes) (dnp no)
(uuid "7a076bd1-3589-5316-897d-6ab0d06183ba")
(property "Reference" "J_GPS" (at 62.23 79.01 0) (effects (font (size 1.27 1.27)) (justify left)))
(uuid "4f27bcc3-fe35-57d4-bdd7-7401f34f978e")
(property "Reference" "J_GPS1" (at 62.23 79.01 0) (effects (font (size 1.27 1.27)) (justify left)))
(property "Value" "GPS_5pin_PPS_UART" (at 62.23 81.01 0) (effects (font (size 1.27 1.27)) (justify left)))
(property "Footprint" "Connector_PinHeader_2.54mm:PinHeader_1x05_P2.54mm_Vertical" (at 59.69 80.01 0) (effects (font (size 1.27 1.27)) (hide yes)))
(property "Datasheet" "" (at 59.69 80.01 0) (effects (font (size 1.27 1.27)) (hide yes)))
(property "Description" "" (at 59.69 80.01 0) (effects (font (size 1.27 1.27)) (hide yes)))
(pin "1" (uuid "2800b758-4e63-5406-9dc3-186319d34c26"))
(pin "2" (uuid "8629d0b8-e972-5f9e-a4bf-9c4d77598d49"))
(pin "3" (uuid "eb14636c-36ea-5f12-9638-ab5dbf1e88dc"))
(pin "4" (uuid "adc66aba-f702-5a90-ba64-00edf9d37c0f"))
(pin "5" (uuid "de9497d8-1db5-5818-ad9f-17088ecfc768"))
(instances (project "CM5IO" (path "/e63e39d7-6ac0-4ffd-8aa3-1841a4541b55/5efffb63-edbb-5986-86d3-84ead412bc65" (reference "J_GPS") (unit 1))))
(pin "1" (uuid "7c5d8c3f-cce3-5374-ba5b-44306aec9727"))
(pin "2" (uuid "80b042ce-fd50-5373-ab82-8a2d27cd8a75"))
(pin "3" (uuid "582342e6-abcd-51f1-b703-8a57b2cd7aff"))
(pin "4" (uuid "9721de5d-b26b-5962-bf0d-d90fc5178d9a"))
(pin "5" (uuid "48269ff7-9597-57ff-8f76-37d15390ed62"))
(instances (project "CM5IO" (path "/e63e39d7-6ac0-4ffd-8aa3-1841a4541b55/5efffb63-edbb-5986-86d3-84ead412bc65" (reference "J_GPS1") (unit 1))))
)
(label "GPS_PPS_RAW"
(at 54.61 74.93 0)
@@ -1196,28 +1196,28 @@
(at 54.61 85.09 0)
(unit 1)
(exclude_from_sim no) (in_bom yes) (on_board yes) (dnp no)
(uuid "01e18e05-a999-5bec-930e-f710b0678f9c")
(property "Reference" "#PWRJ_GPS5" (at 54.61 88.09 0) (effects (font (size 1.27 1.27)) (hide yes)))
(uuid "647c79e2-1303-5fd4-8bcf-1023efe3f0c5")
(property "Reference" "#PWRJ_GPS15" (at 54.61 88.09 0) (effects (font (size 1.27 1.27)) (hide yes)))
(property "Value" "GND" (at 54.61 87.09 0) (effects (font (size 1.27 1.27))))
(property "Footprint" "" (at 54.61 85.09 0) (effects (font (size 1.27 1.27)) (hide yes)))
(property "Datasheet" "" (at 54.61 85.09 0) (effects (font (size 1.27 1.27)) (hide yes)))
(pin "1" (uuid "6f24e473-b057-5455-a8f6-b9f8c95bd2e0"))
(instances (project "CM5IO" (path "/e63e39d7-6ac0-4ffd-8aa3-1841a4541b55/5efffb63-edbb-5986-86d3-84ead412bc65" (reference "#PWRJ_GPS5") (unit 1))))
(pin "1" (uuid "d752166c-c018-56ba-a844-3a20be187493"))
(instances (project "CM5IO" (path "/e63e39d7-6ac0-4ffd-8aa3-1841a4541b55/5efffb63-edbb-5986-86d3-84ead412bc65" (reference "#PWRJ_GPS15") (unit 1))))
)
(symbol
(lib_id "Device:D_TVS")
(at 85.09 95.25 0)
(unit 1)
(exclude_from_sim no) (in_bom yes) (on_board yes) (dnp no)
(uuid "9e9aee7c-1576-5761-afbb-0e9ea077ab86")
(property "Reference" "TVS_PPS" (at 87.63000000000001 94.25 0) (effects (font (size 1.27 1.27)) (justify left)))
(uuid "c1101394-8315-5e9a-aa40-81e63e561002")
(property "Reference" "TVS_PPS1" (at 87.63000000000001 94.25 0) (effects (font (size 1.27 1.27)) (justify left)))
(property "Value" "PESD3V3L1BA" (at 87.63000000000001 96.25 0) (effects (font (size 1.27 1.27)) (justify left)))
(property "Footprint" "Diode_SMD:D_SOD-323" (at 85.09 95.25 0) (effects (font (size 1.27 1.27)) (hide yes)))
(property "Datasheet" "" (at 85.09 95.25 0) (effects (font (size 1.27 1.27)) (hide yes)))
(property "Description" "" (at 85.09 95.25 0) (effects (font (size 1.27 1.27)) (hide yes)))
(pin "1" (uuid "0bbe2ed0-ed29-5580-a5aa-d33761afc0a3"))
(pin "2" (uuid "d76dcdde-6b02-55f1-bd71-0bcaf3d2b329"))
(instances (project "CM5IO" (path "/e63e39d7-6ac0-4ffd-8aa3-1841a4541b55/5efffb63-edbb-5986-86d3-84ead412bc65" (reference "TVS_PPS") (unit 1))))
(pin "1" (uuid "d3926af7-9347-5d02-aaf7-b9c5335b2424"))
(pin "2" (uuid "dfb5b33b-dc6a-530b-978e-e555800bce59"))
(instances (project "CM5IO" (path "/e63e39d7-6ac0-4ffd-8aa3-1841a4541b55/5efffb63-edbb-5986-86d3-84ead412bc65" (reference "TVS_PPS1") (unit 1))))
)
(label "GPS_PPS_RAW"
(at 81.28 95.25 0)
@@ -1229,31 +1229,31 @@
(at 88.9 95.25 0)
(unit 1)
(exclude_from_sim no) (in_bom yes) (on_board yes) (dnp no)
(uuid "0c7c62b4-f16d-5844-82d2-fb1373bab471")
(property "Reference" "#PWRTVS_PPS2" (at 88.9 98.25 0) (effects (font (size 1.27 1.27)) (hide yes)))
(uuid "692c8f56-cf02-50f2-95ee-7c754f67d483")
(property "Reference" "#PWRTVS_PPS12" (at 88.9 98.25 0) (effects (font (size 1.27 1.27)) (hide yes)))
(property "Value" "GND" (at 88.9 97.25 0) (effects (font (size 1.27 1.27))))
(property "Footprint" "" (at 88.9 95.25 0) (effects (font (size 1.27 1.27)) (hide yes)))
(property "Datasheet" "" (at 88.9 95.25 0) (effects (font (size 1.27 1.27)) (hide yes)))
(pin "1" (uuid "70ebf9ed-18f8-5f65-9320-3ca48ac752fb"))
(instances (project "CM5IO" (path "/e63e39d7-6ac0-4ffd-8aa3-1841a4541b55/5efffb63-edbb-5986-86d3-84ead412bc65" (reference "#PWRTVS_PPS2") (unit 1))))
(pin "1" (uuid "d43e17ff-22a1-524c-918f-da86220a7723"))
(instances (project "CM5IO" (path "/e63e39d7-6ac0-4ffd-8aa3-1841a4541b55/5efffb63-edbb-5986-86d3-84ead412bc65" (reference "#PWRTVS_PPS12") (unit 1))))
)
(symbol
(lib_id "74xGxx:74LVC1G17")
(at 110.49 80.01 0)
(unit 1)
(exclude_from_sim no) (in_bom yes) (on_board yes) (dnp no)
(uuid "b9a5c7d5-1d79-5486-9853-8569ecb1c277")
(property "Reference" "U_PPS" (at 113.03 79.01 0) (effects (font (size 1.27 1.27)) (justify left)))
(uuid "173623e0-6def-51e8-a796-83d0c80793c5")
(property "Reference" "U_PPS1" (at 113.03 79.01 0) (effects (font (size 1.27 1.27)) (justify left)))
(property "Value" "74LVC1G17" (at 113.03 81.01 0) (effects (font (size 1.27 1.27)) (justify left)))
(property "Footprint" "Package_TO_SOT_SMD:SOT-23-5" (at 110.49 80.01 0) (effects (font (size 1.27 1.27)) (hide yes)))
(property "Datasheet" "" (at 110.49 80.01 0) (effects (font (size 1.27 1.27)) (hide yes)))
(property "Description" "" (at 110.49 80.01 0) (effects (font (size 1.27 1.27)) (hide yes)))
(pin "1" (uuid "1a1a2182-9411-5c6b-8833-bf2529edb275"))
(pin "2" (uuid "242d5819-8cf5-58ce-bd6d-0c2a2de6979b"))
(pin "3" (uuid "2cb9ef1c-5101-5f27-a2df-081cff8ac0a6"))
(pin "4" (uuid "6b04d93d-0dda-5fc4-b7f9-7cc4a4e96f59"))
(pin "5" (uuid "8a47cd9f-b4a4-5e36-ac7f-11c086d08151"))
(instances (project "CM5IO" (path "/e63e39d7-6ac0-4ffd-8aa3-1841a4541b55/5efffb63-edbb-5986-86d3-84ead412bc65" (reference "U_PPS") (unit 1))))
(pin "1" (uuid "9d3dfff9-72ef-5a0a-9622-b04061f9b419"))
(pin "2" (uuid "bf6c1218-0384-58f6-aef2-5d067c9b8f8c"))
(pin "3" (uuid "5ebdcaf2-e15c-5ffd-a9c8-8041c1e1b485"))
(pin "4" (uuid "21539873-1f2e-5876-900e-e1524dfe4afb"))
(pin "5" (uuid "16ccf057-3cad-5678-b45e-590ded0ffe66"))
(instances (project "CM5IO" (path "/e63e39d7-6ac0-4ffd-8aa3-1841a4541b55/5efffb63-edbb-5986-86d3-84ead412bc65" (reference "U_PPS1") (unit 1))))
)
(label "GPS_PPS_RAW"
(at 97.79 80.01 0)
@@ -1276,29 +1276,29 @@
(at 105.41 90.17 0)
(unit 1)
(exclude_from_sim no) (in_bom yes) (on_board yes) (dnp no)
(uuid "150b7c14-ad6b-5275-86ea-8a7681618fe1")
(property "Reference" "#PWRU_PPS3" (at 105.41 93.17 0) (effects (font (size 1.27 1.27)) (hide yes)))
(uuid "cdfb90ac-dab7-5285-ab08-d77338ef0f36")
(property "Reference" "#PWRU_PPS13" (at 105.41 93.17 0) (effects (font (size 1.27 1.27)) (hide yes)))
(property "Value" "GND" (at 105.41 92.17 0) (effects (font (size 1.27 1.27))))
(property "Footprint" "" (at 105.41 90.17 0) (effects (font (size 1.27 1.27)) (hide yes)))
(property "Datasheet" "" (at 105.41 90.17 0) (effects (font (size 1.27 1.27)) (hide yes)))
(pin "1" (uuid "9e7034db-c1af-5d71-b106-8f708c4fd18e"))
(instances (project "CM5IO" (path "/e63e39d7-6ac0-4ffd-8aa3-1841a4541b55/5efffb63-edbb-5986-86d3-84ead412bc65" (reference "#PWRU_PPS3") (unit 1))))
(pin "1" (uuid "a02a99f8-4f4d-546e-8ceb-d2a022be078a"))
(instances (project "CM5IO" (path "/e63e39d7-6ac0-4ffd-8aa3-1841a4541b55/5efffb63-edbb-5986-86d3-84ead412bc65" (reference "#PWRU_PPS13") (unit 1))))
)
(no_connect (at 102.87 74.93) (uuid "f7cb859a-b2a2-52fc-8bf4-fbb0ad6f5c33"))
(no_connect (at 102.87 74.93) (uuid "d6a49c31-d4ab-5b76-aa0b-da425b8acb89"))
(symbol
(lib_id "Device:C")
(at 100.33 95.25 0)
(unit 1)
(exclude_from_sim no) (in_bom yes) (on_board yes) (dnp no)
(uuid "0ee7ad07-7dd3-527f-b230-1f11a45b867e")
(property "Reference" "C_PPS" (at 102.87 94.25 0) (effects (font (size 1.27 1.27)) (justify left)))
(uuid "7357e4fa-9fe4-5a41-9883-db5825d69857")
(property "Reference" "C_PPS1" (at 102.87 94.25 0) (effects (font (size 1.27 1.27)) (justify left)))
(property "Value" "100n" (at 102.87 96.25 0) (effects (font (size 1.27 1.27)) (justify left)))
(property "Footprint" "Capacitor_SMD:C_0402_1005Metric" (at 100.33 95.25 0) (effects (font (size 1.27 1.27)) (hide yes)))
(property "Datasheet" "" (at 100.33 95.25 0) (effects (font (size 1.27 1.27)) (hide yes)))
(property "Description" "" (at 100.33 95.25 0) (effects (font (size 1.27 1.27)) (hide yes)))
(pin "1" (uuid "32b3a373-61a6-563b-a411-19c849e1ae47"))
(pin "2" (uuid "f9561ed0-6227-5d01-8a2e-9ce824637de9"))
(instances (project "CM5IO" (path "/e63e39d7-6ac0-4ffd-8aa3-1841a4541b55/5efffb63-edbb-5986-86d3-84ead412bc65" (reference "C_PPS") (unit 1))))
(pin "1" (uuid "33f4c458-dc28-5b29-be3b-4e9116ed9665"))
(pin "2" (uuid "91fadf2f-5269-5886-9be8-c0ff4053e8a9"))
(instances (project "CM5IO" (path "/e63e39d7-6ac0-4ffd-8aa3-1841a4541b55/5efffb63-edbb-5986-86d3-84ead412bc65" (reference "C_PPS1") (unit 1))))
)
(global_label "+3V3_AUX"
(shape input)
@@ -1311,28 +1311,28 @@
(at 100.33 99.06 0)
(unit 1)
(exclude_from_sim no) (in_bom yes) (on_board yes) (dnp no)
(uuid "422ec18f-9697-5423-a10f-0e04a697658e")
(property "Reference" "#PWRC_PPS2" (at 100.33 102.06 0) (effects (font (size 1.27 1.27)) (hide yes)))
(uuid "ad750203-89d3-5581-80e4-ad5369324bbd")
(property "Reference" "#PWRC_PPS12" (at 100.33 102.06 0) (effects (font (size 1.27 1.27)) (hide yes)))
(property "Value" "GND" (at 100.33 101.06 0) (effects (font (size 1.27 1.27))))
(property "Footprint" "" (at 100.33 99.06 0) (effects (font (size 1.27 1.27)) (hide yes)))
(property "Datasheet" "" (at 100.33 99.06 0) (effects (font (size 1.27 1.27)) (hide yes)))
(pin "1" (uuid "2a23c7de-328c-5fc7-8008-4f91a4374ca6"))
(instances (project "CM5IO" (path "/e63e39d7-6ac0-4ffd-8aa3-1841a4541b55/5efffb63-edbb-5986-86d3-84ead412bc65" (reference "#PWRC_PPS2") (unit 1))))
(pin "1" (uuid "1617fba4-0efb-5fa9-93ef-e977e782868f"))
(instances (project "CM5IO" (path "/e63e39d7-6ac0-4ffd-8aa3-1841a4541b55/5efffb63-edbb-5986-86d3-84ead412bc65" (reference "#PWRC_PPS12") (unit 1))))
)
(symbol
(lib_id "Device:C")
(at 69.85 95.25 0)
(unit 1)
(exclude_from_sim no) (in_bom yes) (on_board yes) (dnp no)
(uuid "f69070b4-27bb-5123-995b-1bcd40a2ac1f")
(property "Reference" "C_GPS" (at 72.39 94.25 0) (effects (font (size 1.27 1.27)) (justify left)))
(uuid "14a38a83-0121-570a-9aa7-a0ce15c0daa1")
(property "Reference" "C_GPS1" (at 72.39 94.25 0) (effects (font (size 1.27 1.27)) (justify left)))
(property "Value" "10u" (at 72.39 96.25 0) (effects (font (size 1.27 1.27)) (justify left)))
(property "Footprint" "Capacitor_SMD:C_0603_1608Metric" (at 69.85 95.25 0) (effects (font (size 1.27 1.27)) (hide yes)))
(property "Datasheet" "" (at 69.85 95.25 0) (effects (font (size 1.27 1.27)) (hide yes)))
(property "Description" "" (at 69.85 95.25 0) (effects (font (size 1.27 1.27)) (hide yes)))
(pin "1" (uuid "bd0e3c17-a76b-5372-badd-1b2f9e849915"))
(pin "2" (uuid "a8c446db-7686-5485-b6bd-ceb0a29e779c"))
(instances (project "CM5IO" (path "/e63e39d7-6ac0-4ffd-8aa3-1841a4541b55/5efffb63-edbb-5986-86d3-84ead412bc65" (reference "C_GPS") (unit 1))))
(pin "1" (uuid "2affcab1-49c1-5346-8e2e-08a12ec28332"))
(pin "2" (uuid "8f3f3fd8-14d0-5c16-9289-f573603f0120"))
(instances (project "CM5IO" (path "/e63e39d7-6ac0-4ffd-8aa3-1841a4541b55/5efffb63-edbb-5986-86d3-84ead412bc65" (reference "C_GPS1") (unit 1))))
)
(global_label "+3V3_AUX"
(shape input)
@@ -1345,28 +1345,28 @@
(at 69.85 99.06 0)
(unit 1)
(exclude_from_sim no) (in_bom yes) (on_board yes) (dnp no)
(uuid "4f1bc8a1-6fed-5585-99e9-762c65b4838f")
(property "Reference" "#PWRC_GPS2" (at 69.85 102.06 0) (effects (font (size 1.27 1.27)) (hide yes)))
(uuid "895d1f98-37a2-5ae0-ac10-c4fecd5d65a9")
(property "Reference" "#PWRC_GPS12" (at 69.85 102.06 0) (effects (font (size 1.27 1.27)) (hide yes)))
(property "Value" "GND" (at 69.85 101.06 0) (effects (font (size 1.27 1.27))))
(property "Footprint" "" (at 69.85 99.06 0) (effects (font (size 1.27 1.27)) (hide yes)))
(property "Datasheet" "" (at 69.85 99.06 0) (effects (font (size 1.27 1.27)) (hide yes)))
(pin "1" (uuid "a71f135c-ae41-5218-aa40-00fcf83a461f"))
(instances (project "CM5IO" (path "/e63e39d7-6ac0-4ffd-8aa3-1841a4541b55/5efffb63-edbb-5986-86d3-84ead412bc65" (reference "#PWRC_GPS2") (unit 1))))
(pin "1" (uuid "ebc8eec2-8b7e-5014-b287-9f708e0e091f"))
(instances (project "CM5IO" (path "/e63e39d7-6ac0-4ffd-8aa3-1841a4541b55/5efffb63-edbb-5986-86d3-84ead412bc65" (reference "#PWRC_GPS12") (unit 1))))
)
(symbol
(lib_id "Device:R")
(at 139.7 80.01 0)
(unit 1)
(exclude_from_sim no) (in_bom yes) (on_board yes) (dnp no)
(uuid "249ff202-abac-547f-bce5-9b1af41e5ce6")
(property "Reference" "R_PPS" (at 142.23999999999998 79.01 0) (effects (font (size 1.27 1.27)) (justify left)))
(uuid "4133ee59-513b-5828-8746-5ef950568b4d")
(property "Reference" "R_PPS1" (at 142.23999999999998 79.01 0) (effects (font (size 1.27 1.27)) (justify left)))
(property "Value" "33" (at 142.23999999999998 81.01 0) (effects (font (size 1.27 1.27)) (justify left)))
(property "Footprint" "Resistor_SMD:R_0402_1005Metric" (at 139.7 80.01 0) (effects (font (size 1.27 1.27)) (hide yes)))
(property "Datasheet" "" (at 139.7 80.01 0) (effects (font (size 1.27 1.27)) (hide yes)))
(property "Description" "" (at 139.7 80.01 0) (effects (font (size 1.27 1.27)) (hide yes)))
(pin "1" (uuid "7bb99321-fcc6-5c6a-980b-49f4c1a8b53c"))
(pin "2" (uuid "1be0babc-6c15-5a07-bfb9-01f0fc283e8b"))
(instances (project "CM5IO" (path "/e63e39d7-6ac0-4ffd-8aa3-1841a4541b55/5efffb63-edbb-5986-86d3-84ead412bc65" (reference "R_PPS") (unit 1))))
(pin "1" (uuid "03c81412-548d-5321-9215-96803c037dd5"))
(pin "2" (uuid "853807ec-fab1-5700-b01a-39893d7f090c"))
(instances (project "CM5IO" (path "/e63e39d7-6ac0-4ffd-8aa3-1841a4541b55/5efffb63-edbb-5986-86d3-84ead412bc65" (reference "R_PPS1") (unit 1))))
)
(label "PPS_CLEAN"
(at 139.7 76.2 0)

View File

@@ -1802,8 +1802,8 @@
(at 170.18 105.41 0)
(unit 1)
(exclude_from_sim no) (in_bom yes) (on_board yes) (dnp no)
(uuid "c5b68be4-c170-5c81-8da1-d4c9e4c5c682")
(property "Reference" "J_E" (at 170 53 0) (effects (font (size 1.27 1.27))))
(uuid "9cfd8f15-0052-56b6-a872-7bc1d714bd78")
(property "Reference" "J_E1" (at 170 53 0) (effects (font (size 1.27 1.27))))
(property "Value" "M.2_Ekey_WiFi" (at 170 55 0) (effects (font (size 1.27 1.27))))
(property "Footprint" "Connector_PCBEdge:M.2_2230-xx-E" (at 170 105 0) (effects (font (size 1.27 1.27)) (hide yes)))
(property "Datasheet" "" (at 170 105 0) (effects (font (size 1.27 1.27)) (hide yes)))
@@ -1875,7 +1875,7 @@
(pin "73" (uuid "4d023968-563b-594c-8828-90b959a69fbc"))
(pin "74" (uuid "3feab80a-f23d-57f7-be7f-16fb7efc0cc4"))
(pin "75" (uuid "8e0a1780-b855-573b-93d8-0cb618e05b8e"))
(instances (project "CM5IO" (path "/e63e39d7-6ac0-4ffd-8aa3-1841a4541b55/c57f5f03-e2c5-5c1b-ba90-8072a2a088a0" (reference "J_E") (unit 1))))
(instances (project "CM5IO" (path "/e63e39d7-6ac0-4ffd-8aa3-1841a4541b55/c57f5f03-e2c5-5c1b-ba90-8072a2a088a0" (reference "J_E1") (unit 1))))
)
(global_label "PCIE_TX_P"
(shape input)
@@ -2224,13 +2224,13 @@
(at 214.63 114.3 0)
(unit 1)
(exclude_from_sim no) (in_bom yes) (on_board yes) (dnp no)
(uuid "16d1ee5f-7d20-5f3d-ada1-ed9e5154bc76")
(property "Reference" "#PWRC_E1g" (at 214.63 117.3 0) (effects (font (size 1.27 1.27)) (hide yes)))
(uuid "fc3f2eea-dc38-5565-8d22-180c3e7a31bd")
(property "Reference" "#PWRC_E1g1" (at 214.63 117.3 0) (effects (font (size 1.27 1.27)) (hide yes)))
(property "Value" "GND" (at 214.63 116.3 0) (effects (font (size 1.27 1.27))))
(property "Footprint" "" (at 214.63 114.3 0) (effects (font (size 1.27 1.27)) (hide yes)))
(property "Datasheet" "" (at 214.63 114.3 0) (effects (font (size 1.27 1.27)) (hide yes)))
(pin "1" (uuid "f81e6b93-0385-5c25-9d9f-a753ae73f11c"))
(instances (project "CM5IO" (path "/e63e39d7-6ac0-4ffd-8aa3-1841a4541b55/c57f5f03-e2c5-5c1b-ba90-8072a2a088a0" (reference "#PWRC_E1g") (unit 1))))
(pin "1" (uuid "477507a7-dd98-57ff-a0c7-78bb4bc6759f"))
(instances (project "CM5IO" (path "/e63e39d7-6ac0-4ffd-8aa3-1841a4541b55/c57f5f03-e2c5-5c1b-ba90-8072a2a088a0" (reference "#PWRC_E1g1") (unit 1))))
)
(symbol
(lib_id "Device:C")
@@ -2257,13 +2257,13 @@
(at 222.25 114.3 0)
(unit 1)
(exclude_from_sim no) (in_bom yes) (on_board yes) (dnp no)
(uuid "649014b2-7027-547c-8fae-c42cdec405a4")
(property "Reference" "#PWRC_E2g" (at 222.25 117.3 0) (effects (font (size 1.27 1.27)) (hide yes)))
(uuid "8880f2d0-fa49-5451-9445-120a7162fc7b")
(property "Reference" "#PWRC_E2g1" (at 222.25 117.3 0) (effects (font (size 1.27 1.27)) (hide yes)))
(property "Value" "GND" (at 222.25 116.3 0) (effects (font (size 1.27 1.27))))
(property "Footprint" "" (at 222.25 114.3 0) (effects (font (size 1.27 1.27)) (hide yes)))
(property "Datasheet" "" (at 222.25 114.3 0) (effects (font (size 1.27 1.27)) (hide yes)))
(pin "1" (uuid "21ee945b-167e-5eb2-ad27-7bfcf5e00d73"))
(instances (project "CM5IO" (path "/e63e39d7-6ac0-4ffd-8aa3-1841a4541b55/c57f5f03-e2c5-5c1b-ba90-8072a2a088a0" (reference "#PWRC_E2g") (unit 1))))
(pin "1" (uuid "0e0779c5-5cde-5daa-91bf-5b61d357cb25"))
(instances (project "CM5IO" (path "/e63e39d7-6ac0-4ffd-8aa3-1841a4541b55/c57f5f03-e2c5-5c1b-ba90-8072a2a088a0" (reference "#PWRC_E2g1") (unit 1))))
)
(symbol
(lib_id "Device:C")
@@ -2290,13 +2290,13 @@
(at 229.87 114.3 0)
(unit 1)
(exclude_from_sim no) (in_bom yes) (on_board yes) (dnp no)
(uuid "d1e54328-43fe-5fb8-9c85-ccdc06cb33c3")
(property "Reference" "#PWRC_E3g" (at 229.87 117.3 0) (effects (font (size 1.27 1.27)) (hide yes)))
(uuid "a1a7410f-74ff-5776-850d-1b5bd9d7abfc")
(property "Reference" "#PWRC_E3g1" (at 229.87 117.3 0) (effects (font (size 1.27 1.27)) (hide yes)))
(property "Value" "GND" (at 229.87 116.3 0) (effects (font (size 1.27 1.27))))
(property "Footprint" "" (at 229.87 114.3 0) (effects (font (size 1.27 1.27)) (hide yes)))
(property "Datasheet" "" (at 229.87 114.3 0) (effects (font (size 1.27 1.27)) (hide yes)))
(pin "1" (uuid "4b6d8ed9-33cb-576b-b25a-4d7450c86b69"))
(instances (project "CM5IO" (path "/e63e39d7-6ac0-4ffd-8aa3-1841a4541b55/c57f5f03-e2c5-5c1b-ba90-8072a2a088a0" (reference "#PWRC_E3g") (unit 1))))
(pin "1" (uuid "baf3d2ab-371e-5ce8-9eaf-c20627ee3dcf"))
(instances (project "CM5IO" (path "/e63e39d7-6ac0-4ffd-8aa3-1841a4541b55/c57f5f03-e2c5-5c1b-ba90-8072a2a088a0" (reference "#PWRC_E3g1") (unit 1))))
)
(sheet_instances
(path "/"

File diff suppressed because it is too large Load Diff

View File

@@ -134,9 +134,11 @@ def loc_label(name, x, y, ang):
f'\t\t(effects (font (size 1.27 1.27)) (justify left))\n\t\t(uuid "{U("ll-"+name+"-"+str(x)+"-"+str(y))}")\n\t)\n')
def no_connect(x, y, tag):
tag = tag if tag[-1].isdigit() else tag + "1" # refs must end in a digit (KiCad annotation)
return f'\t(no_connect (at {x} {y}) (uuid "{U("nc-"+tag)}"))\n'
def gnd_sym(x, y, tag):
tag = tag if tag[-1].isdigit() else tag + "1" # refs must end in a digit (KiCad annotation)
return (f'\t(symbol\n\t\t(lib_id "power:GND")\n\t\t(at {x} {y} 0)\n\t\t(unit 1)\n'
f'\t\t(exclude_from_sim no) (in_bom yes) (on_board yes) (dnp no)\n'
f'\t\t(uuid "{U("gnd-"+tag)}")\n'
@@ -148,6 +150,7 @@ def gnd_sym(x, y, tag):
f'\t\t(instances (project "{PROJECT}" (path "/{ROOT_UUID}/{SHEET_SYMBOL_UUID}" (reference "#PWR{tag}") (unit 1))))\n\t)\n')
def pwr_flag(x, y, tag):
tag = tag if tag[-1].isdigit() else tag + "1" # refs must end in a digit (KiCad annotation)
return (f'\t(symbol\n\t\t(lib_id "power:PWR_FLAG")\n\t\t(at {x} {y} 0)\n\t\t(unit 1)\n'
f'\t\t(exclude_from_sim no) (in_bom yes) (on_board yes) (dnp no)\n'
f'\t\t(uuid "{U("pflag-"+tag)}")\n'
@@ -172,7 +175,7 @@ def passive(lib_id, ref, value, footprint, x, y, tag):
def socket_symbol():
# the placed J_E (multi-unit symbol uses unit 1; both graphic units share lib def)
props = ('\t\t(property "Reference" "J_E" (at 170 53 0) (effects (font (size 1.27 1.27))))\n'
props = ('\t\t(property "Reference" "J_E1" (at 170 53 0) (effects (font (size 1.27 1.27))))\n'
'\t\t(property "Value" "M.2_Ekey_WiFi" (at 170 55 0) (effects (font (size 1.27 1.27))))\n'
'\t\t(property "Footprint" "Connector_PCBEdge:M.2_2230-xx-E" (at 170 105 0) (effects (font (size 1.27 1.27)) (hide yes)))\n'
'\t\t(property "Datasheet" "" (at 170 105 0) (effects (font (size 1.27 1.27)) (hide yes)))\n'
@@ -180,8 +183,8 @@ def socket_symbol():
pins = "".join(f'\t\t(pin "{n}" (uuid "{U("jepin-"+n)}"))\n' for n in sorted(SOCK_PINS, key=int))
return (f'\t(symbol\n\t\t(lib_id "Connector:Bus_M.2_Socket_E")\n\t\t(at {PX} {PY} 0)\n\t\t(unit 1)\n'
f'\t\t(exclude_from_sim no) (in_bom yes) (on_board yes) (dnp no)\n'
f'\t\t(uuid "{U("J_E")}")\n' + props + pins +
f'\t\t(instances (project "{PROJECT}" (path "/{ROOT_UUID}/{SHEET_SYMBOL_UUID}" (reference "J_E") (unit 1))))\n\t)\n')
f'\t\t(uuid "{U("J_E1")}")\n' + props + pins +
f'\t\t(instances (project "{PROJECT}" (path "/{ROOT_UUID}/{SHEET_SYMBOL_UUID}" (reference "J_E1") (unit 1))))\n\t)\n')
# ---- assemble the sheet ------------------------------------------------------------
body = []

View File

@@ -97,8 +97,10 @@ def emit_glabel(net, x, y, ang=0):
body.append(f'\t(global_label "{net}"\n\t\t(shape input)\n\t\t(at {x} {y} {ang})\n'
f'\t\t(effects (font (size 1.27 1.27)) (justify left))\n\t\t(uuid "{U("gl-"+net+f"-{x}-{y}")}")\n\t)\n')
def emit_nc(x, y, tag):
tag = tag if tag[-1].isdigit() else tag + "1" # refs must end in a digit (KiCad annotation)
body.append(f'\t(no_connect (at {x} {y}) (uuid "{U("nc-"+tag)}"))\n')
def emit_gnd(x, y, tag):
tag = tag if tag[-1].isdigit() else tag + "1" # refs must end in a digit (KiCad annotation)
body.append(f'\t(symbol\n\t\t(lib_id "power:GND")\n\t\t(at {x} {y} 0)\n\t\t(unit 1)\n'
f'\t\t(exclude_from_sim no) (in_bom yes) (on_board yes) (dnp no)\n\t\t(uuid "{U("gnd-"+tag)}")\n'
f'\t\t(property "Reference" "#PWR{tag}" (at {x} {y+3} 0) (effects (font (size 1.27 1.27)) (hide yes)))\n'
@@ -134,17 +136,17 @@ def place(lib_id, ref, value, footprint, ox, oy, pin_nets):
GND = ('gnd',); NC = ('nc',)
# ---- the GPS + PPS block ----------------------------------------------------------
place("Connector_Generic:Conn_01x05", "J_GPS", "GPS_5pin_PPS_UART", "Connector_PinHeader_2.54mm:PinHeader_1x05_P2.54mm_Vertical",
place("Connector_Generic:Conn_01x05", "J_GPS1", "GPS_5pin_PPS_UART", "Connector_PinHeader_2.54mm:PinHeader_1x05_P2.54mm_Vertical",
60, 80, {'1': 'GPS_PPS_RAW', '2': 'GPIO5', '3': 'GPIO4', '4': '+3V3_AUX', '5': GND})
place("Device:D_TVS", "TVS_PPS", "PESD3V3L1BA", "Diode_SMD:D_SOD-323", 85, 95, {'1': 'GPS_PPS_RAW', '2': GND})
place("Device:D_TVS", "TVS_PPS1", "PESD3V3L1BA", "Diode_SMD:D_SOD-323", 85, 95, {'1': 'GPS_PPS_RAW', '2': GND})
# 74LVC1G17: 1=NC 2=A 3=GND 4=Y 5=VCC (KiCad lib types: input/power_in/output/power_in)
place("74xGxx:74LVC1G17", "U_PPS", "74LVC1G17", "Package_TO_SOT_SMD:SOT-23-5",
place("74xGxx:74LVC1G17", "U_PPS1", "74LVC1G17", "Package_TO_SOT_SMD:SOT-23-5",
110, 80, {'2': 'GPS_PPS_RAW', '4': 'PPS_CLEAN', '5': '+3V3_AUX', '3': GND, '1': NC})
place("Device:C", "C_PPS", "100n", "Capacitor_SMD:C_0402_1005Metric", 100, 95, {'1': '+3V3_AUX', '2': GND})
place("Device:C", "C_GPS", "10u", "Capacitor_SMD:C_0603_1608Metric", 70, 95, {'1': '+3V3_AUX', '2': GND})
place("Device:C", "C_PPS1", "100n", "Capacitor_SMD:C_0402_1005Metric", 100, 95, {'1': '+3V3_AUX', '2': GND})
place("Device:C", "C_GPS1", "10u", "Capacitor_SMD:C_0603_1608Metric", 70, 95, {'1': '+3V3_AUX', '2': GND})
# series R guards the LVC1G17 output against a driver fight (CM5 pin 18 is bidi;
# board policy configures it as input — spec Rs 33-100R, pick 33R)
place("Device:R", "R_PPS", "33", "Resistor_SMD:R_0402_1005Metric", 140, 80, {'1': 'PPS_CLEAN', '2': 'SYNC_OUT'})
place("Device:R", "R_PPS1", "33", "Resistor_SMD:R_0402_1005Metric", 140, 80, {'1': 'PPS_CLEAN', '2': 'SYNC_OUT'})
place("Connector_Generic:Conn_01x02", "J_PPS1", "PPS_tap_UWB", "Connector_PinHeader_2.54mm:PinHeader_1x02_P2.54mm_Vertical",
170, 75, {'1': 'PPS_CLEAN', '2': GND})
place("Connector_Generic:Conn_01x02", "J_PPS2", "PPS_tap_scope", "Connector_PinHeader_2.54mm:PinHeader_1x02_P2.54mm_Vertical",

View File

@@ -148,6 +148,7 @@ def emit_hlabel(net, x, y, ang=0):
body.append(f'\t(hierarchical_label "{net}"\n\t\t(shape passive)\n\t\t(at {x} {y} {ang})\n'
f'\t\t(effects (font (size 1.27 1.27)) (justify left))\n\t\t(uuid "{U("hl-"+net+f"-{x}-{y}")}")\n\t)\n')
def emit_gnd(x, y, tag):
tag = tag if tag[-1].isdigit() else tag + "1" # refs must end in a digit (KiCad annotation)
body.append(f'\t(symbol\n\t\t(lib_id "power:GND")\n\t\t(at {x} {y} 0)\n\t\t(unit 1)\n'
f'\t\t(exclude_from_sim no) (in_bom yes) (on_board yes) (dnp no)\n\t\t(uuid "{U("gnd-"+tag)}")\n'
f'\t\t(property "Reference" "#PWR{tag}" (at {x} {y+3} 0) (effects (font (size 1.27 1.27)) (hide yes)))\n'
@@ -157,6 +158,7 @@ def emit_gnd(x, y, tag):
f'\t\t(pin "1" (uuid "{U("gp-"+tag)}"))\n'
f'\t\t(instances (project "{PROJECT}" (path "/{ROOT_UUID}/{SHEET_SYMBOL_UUID}" (reference "#PWR{tag}") (unit 1))))\n\t)\n')
def emit_flag(x, y, tag):
tag = tag if tag[-1].isdigit() else tag + "1" # refs must end in a digit (KiCad annotation)
body.append(f'\t(symbol\n\t\t(lib_id "power:PWR_FLAG")\n\t\t(at {x} {y} 0)\n\t\t(unit 1)\n'
f'\t\t(exclude_from_sim no) (in_bom yes) (on_board yes) (dnp no)\n\t\t(uuid "{U("flg-"+tag)}")\n'
f'\t\t(property "Reference" "#FLG{tag}" (at {x} {y-3} 0) (effects (font (size 1.27 1.27)) (hide yes)))\n'
@@ -193,14 +195,14 @@ def place(lib_id, ref, value, footprint, ox, oy, pin_nets):
# ---- STAGE 1: input protection ----------------------------------------------------
GND = ('gnd',)
place("Connector:Screw_Terminal_01x02", "J_PWR", "15V_DC_IN", "TerminalBlock_Phoenix:TerminalBlock_Phoenix_MKDS-1,5-2_1x02_P5.00mm_Horizontal",
place("Connector:Screw_Terminal_01x02", "J_PWR1", "15V_DC_IN", "TerminalBlock_Phoenix:TerminalBlock_Phoenix_MKDS-1,5-2_1x02_P5.00mm_Horizontal",
80, 80, {'1': '+15V_IN', '2': GND})
drev = place("Power_Management:LM74700", "D_REV", "LM74700-Q1", "Package_TO_SOT_SMD:SOT-23-6",
drev = place("Power_Management:LM74700", "D_REV1", "LM74700-Q1", "Package_TO_SOT_SMD:SOT-23-6",
120, 80, {'6': '+15V_IN', '3': '+15V_IN', '4': 'VIN_PROT', '5': 'GATE_REV', '1': 'VCAP_REV', '2': GND})
place("Transistor_FET:Q_NMOS_GDS", "Q_REV", "CSD18540 (Vds>=30V)", "Package_TO_SOT_SMD:TO-263-2",
place("Transistor_FET:Q_NMOS_GDS", "Q_REV1", "CSD18540 (Vds>=30V)", "Package_TO_SOT_SMD:TO-263-2",
140, 90, {'1': 'GATE_REV', '2': 'VIN_PROT', '3': '+15V_IN'})
place("Device:C", "C_VCAP", "1u", "Capacitor_SMD:C_0402_1005Metric", 120, 100, {'1': 'VCAP_REV', '2': GND})
tvs = place("Device:D_TVS", "TVS_IN", "SMBJ18A", "Diode_SMD:D_SMB", 160, 80, {'1': 'VIN_PROT', '2': GND})
place("Device:C", "C_VCAP1", "1u", "Capacitor_SMD:C_0402_1005Metric", 120, 100, {'1': 'VCAP_REV', '2': GND})
tvs = place("Device:D_TVS", "TVS_IN1", "SMBJ18A", "Diode_SMD:D_SMB", 160, 80, {'1': 'VIN_PROT', '2': GND})
place("Device:C_Polarized", "C_BULK1", "100u/35V", "Capacitor_SMD:CP_Elec_8x10", 170, 80, {'1': 'VIN_PROT', '2': GND}) # 35V: must survive SMBJ18A clamp (<=29.2V surge)
place("Device:C", "C_BULK2", "10u/50V", "Capacitor_SMD:C_1210_3225Metric", 180, 80, {'1': 'VIN_PROT', '2': GND})
# PWR_FLAGs co-located exactly on real pins so they bind: +15V_IN @ D_REV.6 (ANODE),
@@ -226,10 +228,10 @@ place("Device:R", "R_PG5", "100k", "Resistor_SMD:R_0402_1005Metric", 135, 143, {
place("Device:R", "R_FBT5", "40.2k", "Resistor_SMD:R_0402_1005Metric", 165, 150, {'1': '+5v', '2': 'FB5'})
place("Device:R", "R_FBB5", "10.0k", "Resistor_SMD:R_0402_1005Metric", 165, 158, {'1': 'FB5', '2': GND})
place("Device:C", "C_VCC5", "1u", "Capacitor_SMD:C_0402_1005Metric", 100, 158, {'1': 'VCC5', '2': GND})
place("Device:C", "C_IN5a", "10u/50V", "Capacitor_SMD:C_1210_3225Metric", 95, 145, {'1': 'VIN_PROT', '2': GND})
place("Device:C", "C_IN5b", "10u/50V", "Capacitor_SMD:C_1210_3225Metric", 100, 145, {'1': 'VIN_PROT', '2': GND})
place("Device:C", "C_OUT5a", "47u/16V", "Capacitor_SMD:C_1210_3225Metric", 175, 138, {'1': '+5v', '2': GND})
place("Device:C", "C_OUT5b", "47u/16V", "Capacitor_SMD:C_1210_3225Metric", 180, 138, {'1': '+5v', '2': GND})
place("Device:C", "C_IN5a1", "10u/50V", "Capacitor_SMD:C_1210_3225Metric", 95, 145, {'1': 'VIN_PROT', '2': GND})
place("Device:C", "C_IN5b1", "10u/50V", "Capacitor_SMD:C_1210_3225Metric", 100, 145, {'1': 'VIN_PROT', '2': GND})
place("Device:C", "C_OUT5a1", "47u/16V", "Capacitor_SMD:C_1210_3225Metric", 175, 138, {'1': '+5v', '2': GND})
place("Device:C", "C_OUT5b1", "47u/16V", "Capacitor_SMD:C_1210_3225Metric", 180, 138, {'1': '+5v', '2': GND})
# +5v is now sourced by this buck -> PWR_FLAG co-located on L5 pin2 (+5v)
p5x, p5y = pin_abs(l5, "Device:L", "2"); emit_flag(p5x, p5y, "P5V")
@@ -239,7 +241,7 @@ p5x, p5y = pin_abs(l5, "Device:L", "2"); emit_flag(p5x, p5y, "P5V")
# BIAS -> +3V3_RF (datasheet: BIAS>=3.1V uses output LDO path; falls back to VIN below).
# EN <- PCIE_PWR_EN (CM5 Module1 pin 106, global net) + 100k pull-down (= reference R14)
# so the Wi-Fi rail stays OFF until the CM5 asserts it.
place("CM5IO:LM61460-Q1", "U_BUCK33R", "LM61460-Q1", "Package_SO:Texas_HTSSOP-14-1EP_4.4x5mm_P0.65mm_EP3.4x5mm_Mask3.155x3.255mm_ThermalVias",
place("CM5IO:LM61460-Q1", "U_BUCK33R1", "LM61460-Q1", "Package_SO:Texas_HTSSOP-14-1EP_4.4x5mm_P0.65mm_EP3.4x5mm_Mask3.155x3.255mm_ThermalVias",
230, 150, {'8': 'VIN_PROT', '12': 'VIN_PROT', '7': 'PCIE_PWR_EN', '1': '+3V3_RF', '2': 'VCC33',
'6': 'RT33', '5': 'PG33', '4': 'FB33', '10': 'SW33', '14': 'BOOT33', '13': 'RBOOT33',
'9': GND, '11': GND, '3': GND, '15': GND})
@@ -252,10 +254,10 @@ place("Device:R", "R_FBT33", "23.2k", "Resistor_SMD:R_0402_1005Metric", 285, 150
place("Device:R", "R_FBB33", "10.0k", "Resistor_SMD:R_0402_1005Metric", 285, 158, {'1': 'FB33', '2': GND})
place("Device:R", "R_EN33", "100k", "Resistor_SMD:R_0402_1005Metric", 200, 165, {'1': 'PCIE_PWR_EN', '2': GND})
place("Device:C", "C_VCC33", "1u", "Capacitor_SMD:C_0402_1005Metric", 220, 158, {'1': 'VCC33', '2': GND})
place("Device:C", "C_IN33a", "10u/50V", "Capacitor_SMD:C_1210_3225Metric", 215, 145, {'1': 'VIN_PROT', '2': GND})
place("Device:C", "C_IN33b", "10u/50V", "Capacitor_SMD:C_1210_3225Metric", 220, 145, {'1': 'VIN_PROT', '2': GND})
place("Device:C", "C_OUT33a", "47u/16V", "Capacitor_SMD:C_1210_3225Metric", 240, 165, {'1': '+3V3_RF', '2': GND})
place("Device:C", "C_OUT33b", "47u/16V", "Capacitor_SMD:C_1210_3225Metric", 245, 165, {'1': '+3V3_RF', '2': GND})
place("Device:C", "C_IN33a1", "10u/50V", "Capacitor_SMD:C_1210_3225Metric", 215, 145, {'1': 'VIN_PROT', '2': GND})
place("Device:C", "C_IN33b1", "10u/50V", "Capacitor_SMD:C_1210_3225Metric", 220, 145, {'1': 'VIN_PROT', '2': GND})
place("Device:C", "C_OUT33a1", "47u/16V", "Capacitor_SMD:C_1210_3225Metric", 240, 165, {'1': '+3V3_RF', '2': GND})
place("Device:C", "C_OUT33b1", "47u/16V", "Capacitor_SMD:C_1210_3225Metric", 245, 165, {'1': '+3V3_RF', '2': GND})
# +3V3_RF is now sourced by this buck -> PWR_FLAG on L33 pin2 (replaces the E-key temp flag)
p33x, p33y = pin_abs(l33, "Device:L", "2"); emit_flag(p33x, p33y, "P33R")
@@ -267,22 +269,22 @@ p33x, p33y = pin_abs(l33, "Device:L", "2"); emit_flag(p33x, p33y, "P33R")
# L=10uH (dI~0.52A, Ipk~1.26A), Cout 2x22uF. EN abs-max is 7V -> NO direct VIN tie;
# UVLO divider 866k/110k (Ip=0.7uA/Ih=1.55uA, Ven 1.21/1.19V) -> start 10.1V/stop 8.6V,
# EN sits ~1.9V at 15V in (~3.5V at 29V surge clamp, still < 7V abs-max).
place("CM5IO:TPS54202", "U_BUCK33A", "TPS54202", "Package_TO_SOT_SMD:SOT-23-6",
place("CM5IO:TPS54202", "U_BUCK33A1", "TPS54202", "Package_TO_SOT_SMD:SOT-23-6",
230, 95, {'3': 'VIN_PROT', '5': 'EN33A', '6': 'BOOT33A', '2': 'SW33A',
'4': 'FB33A', '1': GND})
l33a = place("Device:L", "L33A", "10uH/2.5A", "Inductor_SMD:L_1210_3225Metric", 260, 85, {'1': 'SW33A', '2': '+3V3_AUX'})
place("Device:C", "C_BOOT33A", "100n", "Capacitor_SMD:C_0402_1005Metric", 250, 78, {'1': 'SW33A', '2': 'BOOT33A'})
place("Device:R", "R_UVT33A", "866k", "Resistor_SMD:R_0402_1005Metric", 205, 85, {'1': 'VIN_PROT', '2': 'EN33A'})
place("Device:R", "R_UVB33A", "110k", "Resistor_SMD:R_0402_1005Metric", 205, 95, {'1': 'EN33A', '2': GND})
place("Device:R", "R_FBT33A", "100k", "Resistor_SMD:R_0402_1005Metric", 280, 95, {'1': '+3V3_AUX', '2': 'FB33A'})
place("Device:C", "C_FF33A", "56p", "Capacitor_SMD:C_0402_1005Metric", 288, 95, {'1': '+3V3_AUX', '2': 'FB33A'})
place("Device:R", "R_FBB33A", "22.1k", "Resistor_SMD:R_0402_1005Metric", 280, 105, {'1': 'FB33A', '2': GND})
l33a = place("Device:L", "L33A1", "10uH/2.5A", "Inductor_SMD:L_1210_3225Metric", 260, 85, {'1': 'SW33A', '2': '+3V3_AUX'})
place("Device:C", "C_BOOT33A1", "100n", "Capacitor_SMD:C_0402_1005Metric", 250, 78, {'1': 'SW33A', '2': 'BOOT33A'})
place("Device:R", "R_UVT33A1", "866k", "Resistor_SMD:R_0402_1005Metric", 205, 85, {'1': 'VIN_PROT', '2': 'EN33A'})
place("Device:R", "R_UVB33A1", "110k", "Resistor_SMD:R_0402_1005Metric", 205, 95, {'1': 'EN33A', '2': GND})
place("Device:R", "R_FBT33A1", "100k", "Resistor_SMD:R_0402_1005Metric", 280, 95, {'1': '+3V3_AUX', '2': 'FB33A'})
place("Device:C", "C_FF33A1", "56p", "Capacitor_SMD:C_0402_1005Metric", 288, 95, {'1': '+3V3_AUX', '2': 'FB33A'})
place("Device:R", "R_FBB33A1", "22.1k", "Resistor_SMD:R_0402_1005Metric", 280, 105, {'1': 'FB33A', '2': GND})
# NB refdes must not differ from stage-3's C_IN33a by case alone — SPICE names are
# case-insensitive and the simulate_subcircuits testbench collides ("device already exists").
place("Device:C", "C_IN33Aa", "10u/50V", "Capacitor_SMD:C_1210_3225Metric", 215, 105, {'1': 'VIN_PROT', '2': GND})
place("Device:C", "C_INHF33A", "100n", "Capacitor_SMD:C_0402_1005Metric", 220, 105, {'1': 'VIN_PROT', '2': GND})
place("Device:C", "C_OUT33Aa", "22u/16V", "Capacitor_SMD:C_1210_3225Metric", 265, 105, {'1': '+3V3_AUX', '2': GND})
place("Device:C", "C_OUT33Ab", "22u/16V", "Capacitor_SMD:C_1210_3225Metric", 270, 105, {'1': '+3V3_AUX', '2': GND})
place("Device:C", "C_IN33Aa1", "10u/50V", "Capacitor_SMD:C_1210_3225Metric", 215, 105, {'1': 'VIN_PROT', '2': GND})
place("Device:C", "C_INHF33A1", "100n", "Capacitor_SMD:C_0402_1005Metric", 220, 105, {'1': 'VIN_PROT', '2': GND})
place("Device:C", "C_OUT33Aa1", "22u/16V", "Capacitor_SMD:C_1210_3225Metric", 265, 105, {'1': '+3V3_AUX', '2': GND})
place("Device:C", "C_OUT33Ab1", "22u/16V", "Capacitor_SMD:C_1210_3225Metric", 270, 105, {'1': '+3V3_AUX', '2': GND})
# +3V3_AUX sourced here -> PWR_FLAG on L33A pin2
p33ax, p33ay = pin_abs(l33a, "Device:L", "2"); emit_flag(p33ax, p33ay, "P33A")