silkscreen, rotate panels, fpc connector, breakout nets
This commit is contained in:
+416
-340
@@ -1,445 +1,521 @@
|
||||
(kicad_pcb (version 20221018) (generator "panel_gen_v3")
|
||||
(kicad_pcb (version 20221018) (generator "panel_v4")
|
||||
(general (thickness 1.6))
|
||||
(paper "A4")
|
||||
(title_block
|
||||
(title "Baby Mobile — Combined Panel")
|
||||
(title "Baby Mobile Combined Panel v4")
|
||||
(date "2026-03-11")
|
||||
(rev "3.0")
|
||||
(comment 1 "Carrier: XIAO nRF52840 + IS25LP128F + TPS61220")
|
||||
(comment 2 "Breakaway: SOP-8, SOP-16N, SOP-16W castellated adapters")
|
||||
(comment 3 "Order as one panel from JLCPCB with castellated holes + v-score")
|
||||
(rev "4.0")
|
||||
(comment 1 "Carrier: XIAO nRF52840 + IS25LP128F + TPS61220 + FPC-20")
|
||||
(comment 2 "Adapters: SOP-8, SOP-16N, SOP-16W — castellated, FPC connected")
|
||||
(comment 3 "Order: JLCPCB, 2-layer, castellated holes=yes, v-score=yes")
|
||||
)
|
||||
(layers
|
||||
(0 "F.Cu" signal) (31 "B.Cu" signal)
|
||||
(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) (49 "F.Fab" user "F.Fab") (48 "B.Fab" user "B.Fab")
|
||||
(44 "Edge.Cuts" user)
|
||||
(48 "B.Fab" user "B.Fab") (49 "F.Fab" user "F.Fab")
|
||||
)
|
||||
(setup (pad_to_mask_clearance 0.05))
|
||||
(setup
|
||||
(pad_to_mask_clearance 0.05)
|
||||
(pcbplotparams (layerselection 0x00010fc_ffffffff) (outputdirectory "gerbers/"))
|
||||
)
|
||||
|
||||
(net 0 "")
|
||||
(net 1 "GND") (net 2 "VBAT") (net 3 "3V3")
|
||||
(net 4 "SPI_MOSI") (net 5 "SPI_MISO") (net 6 "SPI_SCK") (net 7 "FLASH_CS")
|
||||
(net 8 "BOOST_SW")
|
||||
(net 9 "SIG_1") (net 10 "SIG_2") (net 11 "SIG_3") (net 12 "SIG_4")
|
||||
(net 13 "SIG_5") (net 14 "SIG_6") (net 15 "SIG_7") (net 16 "SIG_8")
|
||||
(net 8 "BOOST_SW") (net 9 "AUDIO_FILT")
|
||||
|
||||
(gr_line (start 100 100) (end 148.0 100) (layer "Edge.Cuts") (width 0.1) (uuid "7b1700cb-2e02-4e2e-9378-f797465d2604"))
|
||||
(gr_line (start 148.0 100) (end 148.0 136.0) (layer "Edge.Cuts") (width 0.1) (uuid "74de5cee-1470-42ab-ae12-5d13adf0da95"))
|
||||
(gr_line (start 148.0 136.0) (end 100 136.0) (layer "Edge.Cuts") (width 0.1) (uuid "7673667b-18a1-446c-aa5c-fe52e4354265"))
|
||||
(gr_line (start 100 136.0) (end 100 100) (layer "Edge.Cuts") (width 0.1) (uuid "918f360a-2692-439d-a5c9-ac14740cb644"))
|
||||
(gr_line (start 100 125.0) (end 148.0 125.0) (layer "Edge.Cuts") (width 0.1) (uuid "783f22f9-02f5-42c4-a763-c768f7fc670f"))
|
||||
(gr_text "— SNAP HERE —" (at 124.0 125.0) (layer "F.SilkS") (uuid "b18cbfec-4605-45b0-b128-89ced7badd2b") (effects (font (size 0.6 0.6) (thickness 0.09))))
|
||||
(gr_line (start 111.5 126.0) (end 111.5 136.0) (layer "Edge.Cuts") (width 0.1) (uuid "a783dca9-0c36-4d1f-8397-d0c443740d11"))
|
||||
(gr_line (start 126.5 126.0) (end 126.5 136.0) (layer "Edge.Cuts") (width 0.1) (uuid "ebef14ed-7814-4b0b-a462-71d18131efff"))
|
||||
(gr_rect (start 105.5 104.25) (end 126.5 121.75) (layer "F.SilkS") (width 0.15) (uuid "df1a4a4b-4fe2-47f9-8823-a6a873b671d3"))
|
||||
(gr_rect (start 104.5 111.25) (end 105.5 114.75) (layer "F.SilkS") (width 0.15) (uuid "751bafa2-2bb5-45ab-a9d5-a4633e786a63"))
|
||||
(gr_text "USB-C" (at 102.5 113.0) (layer "F.SilkS") (uuid "4da04b1c-4fcd-42b3-b4d6-46a9c04dfe43") (effects (font (size 0.5 0.5) (thickness 0.075))))
|
||||
(gr_text "XIAO nRF52840" (at 116 113.0) (layer "F.SilkS") (uuid "c5647cc5-4310-45d9-9aee-757ce667d5f0") (effects (font (size 0.7 0.7) (thickness 0.105) bold)))
|
||||
(net 10 "S1")
|
||||
(net 11 "S2")
|
||||
(net 12 "S3")
|
||||
(net 13 "S4")
|
||||
(net 14 "S5")
|
||||
(net 15 "S6")
|
||||
(net 16 "S7")
|
||||
(net 17 "S8")
|
||||
(net 18 "S9")
|
||||
(net 19 "S10")
|
||||
(net 20 "S11")
|
||||
(net 21 "S12")
|
||||
(net 22 "S13")
|
||||
(net 23 "S14")
|
||||
(net 24 "S15")
|
||||
(net 25 "S16")
|
||||
(gr_line (start 100.000 100.000) (end 148.000 100.000) (layer "Edge.Cuts") (width 0.1) (uuid "104212ff-f746-4f58-943d-69bf8fceaca8"))
|
||||
(gr_line (start 148.000 100.000) (end 148.000 141.000) (layer "Edge.Cuts") (width 0.1) (uuid "3582d3c9-13f0-45b2-adcc-377473ebe9d0"))
|
||||
(gr_line (start 148.000 141.000) (end 100.000 141.000) (layer "Edge.Cuts") (width 0.1) (uuid "6f73522e-31e6-40f3-bcc3-1fc0e689e4ea"))
|
||||
(gr_line (start 100.000 141.000) (end 100.000 100.000) (layer "Edge.Cuts") (width 0.1) (uuid "32abf0f8-c4bc-4bb1-b0ff-b04110a51d70"))
|
||||
(gr_line (start 100.000 126.500) (end 148.000 126.500) (layer "Edge.Cuts") (width 0.1) (uuid "abacf90f-5f8e-4ef2-a121-e18193bb9676"))
|
||||
(gr_text "▼ SNAP ▼" (at 124.000 126.200) (layer "F.SilkS") (uuid "08a10b1f-8577-4491-91b9-4716c74212a0") (effects (font (size 0.5 0.5) (thickness 0.080))))
|
||||
(gr_line (start 113.000 127.000) (end 113.000 141.000) (layer "Edge.Cuts") (width 0.1) (uuid "d345fc06-cad9-479e-93ef-620198f44922"))
|
||||
(gr_line (start 129.000 127.000) (end 129.000 141.000) (layer "Edge.Cuts") (width 0.1) (uuid "dbae9c2c-4bd9-4726-8c84-b1c184d8c290"))
|
||||
(gr_rect (start 103.000 104.250) (end 124.000 121.750) (layer "F.SilkS") (width 0.2) (uuid "92f1750d-b8eb-47ce-a180-938d8eda924b"))
|
||||
(gr_rect (start 101.500 108.550) (end 103.000 117.450) (layer "F.SilkS") (width 0.2) (uuid "fa01c07d-7e52-4025-af49-3981a6177d03"))
|
||||
(gr_rect (start 101.800 108.850) (end 102.900 117.150) (layer "F.SilkS") (width 0.15) (uuid "439700fa-f28d-4385-98da-44b6cda43749"))
|
||||
(gr_text "USB-C" (at 103.500 113.000) (layer "F.SilkS") (uuid "60eea485-b0b6-45aa-bbf0-1643b0cbc37f") (effects (font (size 0.5 0.5) (thickness 0.080))))
|
||||
(gr_text "XIAO nRF52840" (at 114.500 113.000) (layer "F.SilkS") (uuid "3adb0e5f-2bbe-4501-87b2-19458737e92a") (effects (font (size 0.8 0.8) (thickness 0.104))))
|
||||
(gr_text "RST" (at 105.000 105.750) (layer "F.SilkS") (uuid "9b669ce2-3e3d-4a36-b6de-afcd6552af5e") (effects (font (size 0.4 0.4) (thickness 0.080))))
|
||||
(gr_circle (center 104.000 105.750) (end 104.500 105.750) (layer "F.SilkS") (width 0.1) (fill none) (uuid "419559c3-f3cb-4448-801f-1bc1dc635a8f"))
|
||||
|
||||
(footprint "panel:XIAO_L" (layer "F.Cu")
|
||||
(at 107.11 113.0)
|
||||
(uuid "424b9417-5f41-43c3-8293-a8e6cb933576")
|
||||
(fp_text reference "XIAO_L" (at 0 0) (layer "F.Fab") (uuid "1a192681-0423-4f3e-891c-0eab3ca39c22")
|
||||
(footprint "panel:J2_XIAO_L" (layer "F.Cu")
|
||||
(at 104.610 113.000)
|
||||
(uuid "1880d745-c8b8-49c4-801a-b7dded7fa4d4")
|
||||
(fp_text reference "J2_XIAO_L" (at 0 0) (layer "F.Fab") (uuid "e72c399e-a106-4b11-9587-416d6d129d19")
|
||||
(effects (font (size 0.5 0.5) (thickness 0.08)) hide))
|
||||
(fp_text value "" (at 0 0) (layer "F.Fab") (uuid "720cd57c-edcc-4b50-ad35-7338533983cd")
|
||||
(fp_text value "" (at 0 0) (layer "F.Fab") (uuid "8ecd4411-88bc-41b3-85aa-c4c431acdc2d")
|
||||
(effects (font (size 0.5 0.5) (thickness 0.08)) hide))
|
||||
(pad "D0" thru_hole circle (at 0.000 -7.620) (size 1.7 1.7) (drill 1.0) (layers "*.Cu" "*.Mask") (net 9 "SIG_1") (uuid "13d7148a-50c1-4a94-8c11-e9dcb6a754c6"))
|
||||
(pad "D1" thru_hole circle (at 0.000 -5.080) (size 1.7 1.7) (drill 1.0) (layers "*.Cu" "*.Mask") (net 10 "SIG_2") (uuid "7ca7a9e0-026d-402d-ab32-548113b484a6"))
|
||||
(pad "D2" thru_hole circle (at 0.000 -2.540) (size 1.7 1.7) (drill 1.0) (layers "*.Cu" "*.Mask") (net 11 "SIG_3") (uuid "2d34971b-f0cc-450a-b01f-c96eef28ae65"))
|
||||
(pad "D3" thru_hole circle (at 0.000 0.000) (size 1.7 1.7) (drill 1.0) (layers "*.Cu" "*.Mask") (net 12 "SIG_4") (uuid "fbb508a4-080e-4393-b007-24b8441ed40c"))
|
||||
(pad "D4" thru_hole circle (at 0.000 2.540) (size 1.7 1.7) (drill 1.0) (layers "*.Cu" "*.Mask") (net 13 "SIG_5") (uuid "057c4634-92da-473b-bd74-636c3b5da05a"))
|
||||
(pad "D5" thru_hole circle (at 0.000 5.080) (size 1.7 1.7) (drill 1.0) (layers "*.Cu" "*.Mask") (net 14 "SIG_6") (uuid "e996f8e8-cba1-4124-adea-6e6a55822cf2"))
|
||||
(pad "D6" thru_hole circle (at 0.000 7.620) (size 1.7 1.7) (drill 1.0) (layers "*.Cu" "*.Mask") (net 15 "SIG_7") (uuid "c1ecb403-d181-4f94-8a3f-f0d904a321af"))
|
||||
(pad "D0" thru_hole circle (at 0.000 -7.620) (size 1.7 1.7) (drill 1.0) (layers "*.Cu" "*.Mask") (net 10 "S1") (uuid "5f654290-e6f5-4cd1-b3e0-1e01b5e10eee"))
|
||||
(pad "D1" thru_hole circle (at 0.000 -5.080) (size 1.7 1.7) (drill 1.0) (layers "*.Cu" "*.Mask") (net 11 "S2") (uuid "c221edd1-da4f-427b-834a-117c9d1e8d1b"))
|
||||
(pad "D2" thru_hole circle (at 0.000 -2.540) (size 1.7 1.7) (drill 1.0) (layers "*.Cu" "*.Mask") (net 12 "S3") (uuid "08153f73-e1a6-455d-8b7a-a176f096ce82"))
|
||||
(pad "D3" thru_hole circle (at 0.000 0.000) (size 1.7 1.7) (drill 1.0) (layers "*.Cu" "*.Mask") (net 13 "S4") (uuid "5cc418f2-0d3d-46d8-ab1e-da6298ae825b"))
|
||||
(pad "D4" thru_hole circle (at 0.000 2.540) (size 1.7 1.7) (drill 1.0) (layers "*.Cu" "*.Mask") (net 14 "S5") (uuid "63e8f300-12fc-4b25-864b-a3ce15756f84"))
|
||||
(pad "D5" thru_hole circle (at 0.000 5.080) (size 1.7 1.7) (drill 1.0) (layers "*.Cu" "*.Mask") (net 15 "S6") (uuid "e116be82-17b5-489e-b602-501c0cb2c5e8"))
|
||||
(pad "D6" thru_hole circle (at 0.000 7.620) (size 1.7 1.7) (drill 1.0) (layers "*.Cu" "*.Mask") (net 16 "S7") (uuid "12b9d945-953b-4147-abb0-b33958ede447"))
|
||||
)
|
||||
(gr_text "D0" (at 104.11 105.38) (layer "F.SilkS") (uuid "8ccee08b-7714-4ea7-a015-9ac7c7007746") (effects (font (size 0.5 0.5) (thickness 0.075))))
|
||||
(gr_text "D1" (at 104.11 107.92) (layer "F.SilkS") (uuid "b369c277-cc9e-477d-aa9c-3cbfea32fea2") (effects (font (size 0.5 0.5) (thickness 0.075))))
|
||||
(gr_text "D2" (at 104.11 110.46) (layer "F.SilkS") (uuid "aeb4b4c5-29de-460e-820d-bc8d6b3af6d1") (effects (font (size 0.5 0.5) (thickness 0.075))))
|
||||
(gr_text "D3" (at 104.11 113.0) (layer "F.SilkS") (uuid "8548eb5a-87f5-4282-9d87-f43ad4cc7c3e") (effects (font (size 0.5 0.5) (thickness 0.075))))
|
||||
(gr_text "D4" (at 104.11 115.53999999999999) (layer "F.SilkS") (uuid "fecb2fc5-5665-4cb4-a0f0-96b5f4e7b60b") (effects (font (size 0.5 0.5) (thickness 0.075))))
|
||||
(gr_text "D5" (at 104.11 118.08) (layer "F.SilkS") (uuid "fd67dc0f-1c74-4a8f-8058-5237b0164175") (effects (font (size 0.5 0.5) (thickness 0.075))))
|
||||
(gr_text "D6" (at 104.11 120.61999999999999) (layer "F.SilkS") (uuid "ada138f6-8731-4fc5-ae8d-e392f03f1f5e") (effects (font (size 0.5 0.5) (thickness 0.075))))
|
||||
(gr_text "D0" (at 102.110 105.380) (layer "F.SilkS") (uuid "062baf94-9f37-4f1b-a75a-447e7bbf4e87") (effects (font (size 0.45 0.45) (thickness 0.080))))
|
||||
(gr_text "D1" (at 102.110 107.920) (layer "F.SilkS") (uuid "7e51d748-6cf6-4fbe-83a2-e22517497b30") (effects (font (size 0.45 0.45) (thickness 0.080))))
|
||||
(gr_text "D2" (at 102.110 110.460) (layer "F.SilkS") (uuid "c536f2ba-04dd-469b-86bf-b64989766eaa") (effects (font (size 0.45 0.45) (thickness 0.080))))
|
||||
(gr_text "D3" (at 102.110 113.000) (layer "F.SilkS") (uuid "fb1f005c-01fe-40b4-9f5e-19520b5e40e6") (effects (font (size 0.45 0.45) (thickness 0.080))))
|
||||
(gr_text "D4" (at 102.110 115.540) (layer "F.SilkS") (uuid "87c7cbff-7db0-4c52-8c48-617a5fe31e7f") (effects (font (size 0.45 0.45) (thickness 0.080))))
|
||||
(gr_text "D5" (at 102.110 118.080) (layer "F.SilkS") (uuid "9a253003-4842-4a93-99cf-fb57fcc7cf41") (effects (font (size 0.45 0.45) (thickness 0.080))))
|
||||
(gr_text "D6" (at 102.110 120.620) (layer "F.SilkS") (uuid "b5b93455-6fbe-4017-ab71-710bfc3c2f9c") (effects (font (size 0.45 0.45) (thickness 0.080))))
|
||||
|
||||
(footprint "panel:XIAO_R" (layer "F.Cu")
|
||||
(at 124.89 113.0)
|
||||
(uuid "3cd83d54-c4bd-49db-8108-1fea4f7216d3")
|
||||
(fp_text reference "XIAO_R" (at 0 0) (layer "F.Fab") (uuid "757c0392-628e-4915-bd7c-e069da6da9e3")
|
||||
(footprint "panel:J3_XIAO_R" (layer "F.Cu")
|
||||
(at 122.390 113.000)
|
||||
(uuid "478daaf8-7483-4c18-8d16-3af8d13f1e5a")
|
||||
(fp_text reference "J3_XIAO_R" (at 0 0) (layer "F.Fab") (uuid "bbc610eb-4935-4d5b-998f-73da0871fd8a")
|
||||
(effects (font (size 0.5 0.5) (thickness 0.08)) hide))
|
||||
(fp_text value "" (at 0 0) (layer "F.Fab") (uuid "4c8ac95c-7732-46f0-bf26-80e8ae16043a")
|
||||
(fp_text value "" (at 0 0) (layer "F.Fab") (uuid "78b14adf-d763-48b5-830a-4f4a7961ee99")
|
||||
(effects (font (size 0.5 0.5) (thickness 0.08)) hide))
|
||||
(pad "D10" thru_hole circle (at 0.000 -7.620) (size 1.7 1.7) (drill 1.0) (layers "*.Cu" "*.Mask") (net 16 "SIG_8") (uuid "f264cff2-da9c-43e9-963b-b94769bdfcb1"))
|
||||
(pad "D9" thru_hole circle (at 0.000 -5.080) (size 1.7 1.7) (drill 1.0) (layers "*.Cu" "*.Mask") (net 6 "SPI_SCK") (uuid "308ce269-69a0-432d-905a-673545bacbe6"))
|
||||
(pad "D8" thru_hole circle (at 0.000 -2.540) (size 1.7 1.7) (drill 1.0) (layers "*.Cu" "*.Mask") (net 4 "SPI_MOSI") (uuid "ad23c509-4739-4079-a75c-e5e315d806b5"))
|
||||
(pad "D7" thru_hole circle (at 0.000 0.000) (size 1.7 1.7) (drill 1.0) (layers "*.Cu" "*.Mask") (net 5 "SPI_MISO") (uuid "da735dbd-fa9b-43d3-b598-21925b5096d2"))
|
||||
(pad "3V3" thru_hole circle (at 0.000 2.540) (size 1.7 1.7) (drill 1.0) (layers "*.Cu" "*.Mask") (net 3 "3V3") (uuid "b903209b-71fb-41d3-a113-1733752b5319"))
|
||||
(pad "GND" thru_hole circle (at 0.000 5.080) (size 1.7 1.7) (drill 1.0) (layers "*.Cu" "*.Mask") (net 1 "GND") (uuid "2960e5f3-39de-410d-8c2e-1efa6f5d6d41"))
|
||||
(pad "5V" thru_hole circle (at 0 7.62) (size 1.7 1.7) (drill 1.0) (layers "*.Cu" "*.Mask") (uuid "ebbd6673-2b72-4e71-bdb3-9884752f82ec"))
|
||||
(pad "D10" thru_hole circle (at 0.000 -7.620) (size 1.7 1.7) (drill 1.0) (layers "*.Cu" "*.Mask") (net 17 "S8") (uuid "59eb4432-199b-4695-a612-a5507fa984d7"))
|
||||
(pad "D9" thru_hole circle (at 0.000 -5.080) (size 1.7 1.7) (drill 1.0) (layers "*.Cu" "*.Mask") (net 6 "SPI_SCK") (uuid "a57f5812-d1e7-46cd-89f7-6c8d3477a874"))
|
||||
(pad "D8" thru_hole circle (at 0.000 -2.540) (size 1.7 1.7) (drill 1.0) (layers "*.Cu" "*.Mask") (net 4 "SPI_MOSI") (uuid "0b2075c5-c1ed-4d53-873d-f83ba55d10e9"))
|
||||
(pad "D7" thru_hole circle (at 0.000 0.000) (size 1.7 1.7) (drill 1.0) (layers "*.Cu" "*.Mask") (net 5 "SPI_MISO") (uuid "5cbd35af-04be-4259-a124-3627c72fea10"))
|
||||
(pad "3V3" thru_hole circle (at 0.000 2.540) (size 1.7 1.7) (drill 1.0) (layers "*.Cu" "*.Mask") (net 3 "3V3") (uuid "670919f1-8cc6-40c5-98fc-401b537c26c1"))
|
||||
(pad "GND" thru_hole circle (at 0.000 5.080) (size 1.7 1.7) (drill 1.0) (layers "*.Cu" "*.Mask") (net 1 "GND") (uuid "bd89036b-ac87-476a-89fc-3ea51828db98"))
|
||||
(pad "5V" thru_hole circle (at 0 7.62) (size 1.7 1.7) (drill 1.0) (layers "*.Cu" "*.Mask") (uuid "f3f13533-e920-4db6-80a9-3517b7a64c80"))
|
||||
)
|
||||
(gr_text "D10" (at 127.89 105.38) (layer "F.SilkS") (uuid "5203eb0b-f267-4c9a-8362-5d4ad5b4b82e") (effects (font (size 0.5 0.5) (thickness 0.075))))
|
||||
(gr_text "D9" (at 127.89 107.92) (layer "F.SilkS") (uuid "c6ce93ba-42a5-4a0e-97c8-5c5cbb22a23f") (effects (font (size 0.5 0.5) (thickness 0.075))))
|
||||
(gr_text "D8" (at 127.89 110.46) (layer "F.SilkS") (uuid "3847168c-3ec1-4ab3-8c8c-1a387e691cd9") (effects (font (size 0.5 0.5) (thickness 0.075))))
|
||||
(gr_text "D7" (at 127.89 113.0) (layer "F.SilkS") (uuid "d5d839c4-a0fb-4936-9647-afd65ec22baf") (effects (font (size 0.5 0.5) (thickness 0.075))))
|
||||
(gr_text "3V3" (at 127.89 115.53999999999999) (layer "F.SilkS") (uuid "7f208461-157c-4f2e-9ba8-9ff7a92e2592") (effects (font (size 0.5 0.5) (thickness 0.075))))
|
||||
(gr_text "GND" (at 127.89 118.08) (layer "F.SilkS") (uuid "0d7bb0f3-d447-40c0-8c0d-852c0888bd95") (effects (font (size 0.5 0.5) (thickness 0.075))))
|
||||
(gr_text "5V" (at 127.89 120.61999999999999) (layer "F.SilkS") (uuid "41673efe-250c-4f9d-b726-a4a3323f0a55") (effects (font (size 0.5 0.5) (thickness 0.075))))
|
||||
(gr_circle (center 131.5 110.0) (end 131.8 110.0) (layer "F.SilkS") (width 0.15) (fill solid) (uuid "13a16cf6-f659-4a1b-a214-eaa0051e312f"))
|
||||
(gr_rect (start 131.5 104.5) (end 136.5 108.5) (layer "F.SilkS") (width 0.15) (uuid "e3237dd4-989a-4291-8a2d-4dc17b1b3a49"))
|
||||
(gr_text "U2 IS25LP128F" (at 134 103.0) (layer "F.SilkS") (uuid "0f957ce0-a31e-4bdc-ab4e-cfa38072838b") (effects (font (size 0.5 0.5) (thickness 0.075))))
|
||||
(gr_text "●1" (at 131.5 110.7) (layer "F.SilkS") (uuid "d38fce73-c8ac-41f6-a19f-8c9bf104fcb0") (effects (font (size 0.4 0.4) (thickness 0.06))))
|
||||
(gr_text "D10" (at 125.190 105.380) (layer "F.SilkS") (uuid "4275c31d-9b16-4856-8700-6c07cc109456") (effects (font (size 0.45 0.45) (thickness 0.080))))
|
||||
(gr_text "D9" (at 125.190 107.920) (layer "F.SilkS") (uuid "69073532-7c55-47b6-a165-1f93082b8c35") (effects (font (size 0.45 0.45) (thickness 0.080))))
|
||||
(gr_text "D8" (at 125.190 110.460) (layer "F.SilkS") (uuid "b5cae429-dc50-4fe2-9378-264ff635ac1a") (effects (font (size 0.45 0.45) (thickness 0.080))))
|
||||
(gr_text "D7" (at 125.190 113.000) (layer "F.SilkS") (uuid "71f6b3e5-56d1-4f91-9b80-34363d2cc403") (effects (font (size 0.45 0.45) (thickness 0.080))))
|
||||
(gr_text "3V3" (at 125.190 115.540) (layer "F.SilkS") (uuid "df934edf-0319-4bd5-ab19-f93733b9b9a4") (effects (font (size 0.45 0.45) (thickness 0.080))))
|
||||
(gr_text "GND" (at 125.190 118.080) (layer "F.SilkS") (uuid "49eef609-08c6-4002-a11d-552004ad1233") (effects (font (size 0.45 0.45) (thickness 0.080))))
|
||||
(gr_text "5V" (at 125.190 120.620) (layer "F.SilkS") (uuid "29c03aea-4a86-4e11-a534-6e8a142e738f") (effects (font (size 0.45 0.45) (thickness 0.080))))
|
||||
(gr_rect (start 129.500 102.300) (end 134.500 108.700) (layer "F.SilkS") (width 0.15) (uuid "ece65163-9657-4253-9e7c-cf0e2df69d41"))
|
||||
(gr_circle (center 130.500 107.700) (end 130.750 107.700) (layer "F.SilkS") (width 0.1) (fill solid) (uuid "ffc30771-b96d-4890-92ef-8a49a59bf10d"))
|
||||
(gr_circle (center 132.000 108.700) (end 132.400 108.700) (layer "F.SilkS") (width 0.1) (fill none) (uuid "2cf964ff-8310-4b73-ac5b-8c0325559520"))
|
||||
(gr_text "U2" (at 132.000 101.300) (layer "F.SilkS") (uuid "4b61fa0a-ae7c-463f-85a2-f1b1079f263a") (effects (font (size 0.5 0.5) (thickness 0.080))))
|
||||
(gr_text "IS25LP128F" (at 132.000 110.200) (layer "F.SilkS") (uuid "91213253-1da6-483e-9a33-132cc1cfeec0") (effects (font (size 0.4 0.4) (thickness 0.080))))
|
||||
(gr_text "1" (at 130.095 109.400) (layer "F.SilkS") (uuid "c389beaf-bb8a-42b8-ada0-cead80b18723") (effects (font (size 0.3 0.3) (thickness 0.080))))
|
||||
(gr_text "2" (at 131.365 109.400) (layer "F.SilkS") (uuid "9a047c7e-335c-40b2-9d91-a0164c53e686") (effects (font (size 0.3 0.3) (thickness 0.080))))
|
||||
(gr_text "3" (at 132.635 109.400) (layer "F.SilkS") (uuid "acce117a-e72e-48b0-8bbc-7291cc3faed1") (effects (font (size 0.3 0.3) (thickness 0.080))))
|
||||
(gr_text "4" (at 133.905 109.400) (layer "F.SilkS") (uuid "5d0bfd10-bc74-416b-a1e2-b3ea899497d9") (effects (font (size 0.3 0.3) (thickness 0.080))))
|
||||
(gr_text "8" (at 130.095 101.600) (layer "F.SilkS") (uuid "eecce093-ba35-41a5-866a-ebf3b5f6bf7e") (effects (font (size 0.3 0.3) (thickness 0.080))))
|
||||
(gr_text "7" (at 131.365 101.600) (layer "F.SilkS") (uuid "572fb423-e189-4760-be9c-6aa1fe68470e") (effects (font (size 0.3 0.3) (thickness 0.080))))
|
||||
(gr_text "6" (at 132.635 101.600) (layer "F.SilkS") (uuid "076ee973-262b-4d67-b110-8d39e6bf5aec") (effects (font (size 0.3 0.3) (thickness 0.080))))
|
||||
(gr_text "5" (at 133.905 101.600) (layer "F.SilkS") (uuid "53062d13-f3c8-4ffc-a340-7303f1916a86") (effects (font (size 0.3 0.3) (thickness 0.080))))
|
||||
|
||||
(footprint "panel:IS25LP128F" (layer "F.Cu")
|
||||
(at 134 106.5)
|
||||
(uuid "035c717e-5224-4dae-b80e-c5ad937661b4")
|
||||
(fp_text reference "IS25LP128F" (at 0 0) (layer "F.Fab") (uuid "a831eb77-f12b-4f9c-a65a-1ea2a8eecb84")
|
||||
(footprint "panel:U2_Flash" (layer "F.Cu")
|
||||
(at 132.000 105.500)
|
||||
(uuid "33f564be-74cb-4b07-9514-48c38bcf8b14")
|
||||
(fp_text reference "U2_Flash" (at 0 0) (layer "F.Fab") (uuid "2891d898-66a3-4f26-86ab-d7c3390f90b8")
|
||||
(effects (font (size 0.5 0.5) (thickness 0.08)) hide))
|
||||
(fp_text value "" (at 0 0) (layer "F.Fab") (uuid "80984351-2ea3-4c2d-8c81-2146ab830536")
|
||||
(fp_text value "" (at 0 0) (layer "F.Fab") (uuid "7c379697-fc67-4742-9331-165515e56009")
|
||||
(effects (font (size 0.5 0.5) (thickness 0.08)) hide))
|
||||
(pad "1" smd rect (at -1.905 2.700) (size 0.6 1.5) (layers "F.Cu" "F.Paste" "F.Mask") (net 7 "FLASH_CS") (uuid "a9a47098-819e-4532-ac33-07c50281d653"))
|
||||
(pad "2" smd rect (at -0.635 2.700) (size 0.6 1.5) (layers "F.Cu" "F.Paste" "F.Mask") (net 5 "SPI_MISO") (uuid "2351be0b-b569-4b8c-8140-aaac92581886"))
|
||||
(pad "3" smd rect (at 0.635 2.700) (size 0.6 1.5) (layers "F.Cu" "F.Paste" "F.Mask") (net 3 "3V3") (uuid "bac05db0-0409-4c26-a620-50caf6c4cca8"))
|
||||
(pad "4" smd rect (at 1.905 2.700) (size 0.6 1.5) (layers "F.Cu" "F.Paste" "F.Mask") (net 1 "GND") (uuid "edcc2bd9-c8ae-403f-bbf2-f4626fdcdb9e"))
|
||||
(pad "5" smd rect (at 1.905 -2.700) (size 0.6 1.5) (layers "F.Cu" "F.Paste" "F.Mask") (net 4 "SPI_MOSI") (uuid "219218ea-ebfb-487d-a51e-c42592053dbe"))
|
||||
(pad "6" smd rect (at 0.635 -2.700) (size 0.6 1.5) (layers "F.Cu" "F.Paste" "F.Mask") (net 6 "SPI_SCK") (uuid "c81ade0d-58ae-4354-95f3-c81c0bdef5e8"))
|
||||
(pad "7" smd rect (at -0.635 -2.700) (size 0.6 1.5) (layers "F.Cu" "F.Paste" "F.Mask") (net 3 "3V3") (uuid "4c34d938-b3ee-470b-8f42-ccb75644e447"))
|
||||
(pad "8" smd rect (at -1.905 -2.700) (size 0.6 1.5) (layers "F.Cu" "F.Paste" "F.Mask") (net 3 "3V3") (uuid "8b9ebe9d-3c52-4bda-9d1f-7dcc2a6431e5"))
|
||||
(pad "1" smd rect (at -1.905 2.700) (size 0.600 1.500) (layers "F.Cu" "F.Paste" "F.Mask") (net 7 "FLASH_CS") (uuid "0f15bea3-f2c1-49e6-97b1-573cd5a98bcd"))
|
||||
(pad "2" smd rect (at -0.635 2.700) (size 0.600 1.500) (layers "F.Cu" "F.Paste" "F.Mask") (net 5 "SPI_MISO") (uuid "d5cca333-1aa2-4ac6-b73b-2efb9e83ca32"))
|
||||
(pad "3" smd rect (at 0.635 2.700) (size 0.600 1.500) (layers "F.Cu" "F.Paste" "F.Mask") (net 3 "3V3") (uuid "9af46e90-187d-4c3f-a493-83d009f15909"))
|
||||
(pad "4" smd rect (at 1.905 2.700) (size 0.600 1.500) (layers "F.Cu" "F.Paste" "F.Mask") (net 1 "GND") (uuid "9a67a279-fb78-4946-be3e-06ab38e9cf5c"))
|
||||
(pad "5" smd rect (at 1.905 -2.700) (size 0.600 1.500) (layers "F.Cu" "F.Paste" "F.Mask") (net 4 "SPI_MOSI") (uuid "1aa3f49b-ee12-4257-bd98-b46343cb6ec3"))
|
||||
(pad "6" smd rect (at 0.635 -2.700) (size 0.600 1.500) (layers "F.Cu" "F.Paste" "F.Mask") (net 6 "SPI_SCK") (uuid "e3656871-82ec-4a1f-a339-a99e38566725"))
|
||||
(pad "7" smd rect (at -0.635 -2.700) (size 0.600 1.500) (layers "F.Cu" "F.Paste" "F.Mask") (net 3 "3V3") (uuid "c01e362b-fa39-45fd-9d08-20192e13cc0e"))
|
||||
(pad "8" smd rect (at -1.905 -2.700) (size 0.600 1.500) (layers "F.Cu" "F.Paste" "F.Mask") (net 3 "3V3") (uuid "bf52d31d-3fa3-44c6-b949-39bb7be69947"))
|
||||
)
|
||||
|
||||
(footprint "panel:C3" (layer "F.Cu")
|
||||
(at 139 106.5)
|
||||
(uuid "6c849ca5-09fb-49a3-9c51-234d3277ff4c")
|
||||
(fp_text reference "C3" (at 0 0) (layer "F.Fab") (uuid "64dfb9e1-c603-44f5-9695-85e9febe5068")
|
||||
(at 137.500 104.500)
|
||||
(uuid "efd45baf-76b1-41b8-9a69-d16c4aff9996")
|
||||
(fp_text reference "C3" (at 0 0) (layer "F.Fab") (uuid "a96b08f3-828d-4372-a868-703ccc8aa653")
|
||||
(effects (font (size 0.5 0.5) (thickness 0.08)) hide))
|
||||
(fp_text value "" (at 0 0) (layer "F.Fab") (uuid "d71421ef-b387-4165-9478-3494261bb3eb")
|
||||
(fp_text value "" (at 0 0) (layer "F.Fab") (uuid "b58de4ee-0bc1-4028-90e3-53d63e842878")
|
||||
(effects (font (size 0.5 0.5) (thickness 0.08)) hide))
|
||||
(pad "1" smd rect (at -1.000 0.000) (size 1.0 1.2) (layers "F.Cu" "F.Paste" "F.Mask") (net 3 "3V3") (uuid "75dbbfeb-def5-4b8b-9cb1-935bbd23f5ac"))
|
||||
(pad "2" smd rect (at 1.000 0.000) (size 1.0 1.2) (layers "F.Cu" "F.Paste" "F.Mask") (net 1 "GND") (uuid "754aa1fe-fa86-4f71-ae83-8a549899f4ca"))
|
||||
(pad "1" smd rect (at -1.000 0.000) (size 1.000 1.200) (layers "F.Cu" "F.Paste" "F.Mask") (net 3 "3V3") (uuid "f3c64e10-394d-4f53-8c70-3ebc293cde64"))
|
||||
(pad "2" smd rect (at 1.000 0.000) (size 1.000 1.200) (layers "F.Cu" "F.Paste" "F.Mask") (net 1 "GND") (uuid "fbdd13da-6c60-4ea6-911e-fe65eede2847"))
|
||||
)
|
||||
(gr_text "C3 100n" (at 139 105.3) (layer "F.SilkS") (uuid "63cd6760-d68d-4280-b7ab-b1bec1a5435b") (effects (font (size 0.4 0.4) (thickness 0.06))))
|
||||
(gr_text "+" (at 137.8 106.5) (layer "F.SilkS") (uuid "5df09abb-4d82-48fa-b277-3d8e5c8c9ff0") (effects (font (size 0.4 0.4) (thickness 0.06))))
|
||||
(gr_text "C3" (at 137.500 103.200) (layer "F.SilkS") (uuid "808da9f5-dde2-4311-8f1f-0a875d9add55") (effects (font (size 0.4 0.4) (thickness 0.080))))
|
||||
(gr_text "100n" (at 137.500 105.800) (layer "F.SilkS") (uuid "a3914fa0-a733-4591-911f-a6d26678ce2b") (effects (font (size 0.35 0.35) (thickness 0.080))))
|
||||
|
||||
(footprint "panel:R2" (layer "F.Cu")
|
||||
(at 139 109.5)
|
||||
(uuid "f285b94d-6fb7-4652-94cc-c59818678108")
|
||||
(fp_text reference "R2" (at 0 0) (layer "F.Fab") (uuid "7eff1e64-ff06-429f-8417-782c8082dd8c")
|
||||
(at 137.500 107.500)
|
||||
(uuid "4828ff79-0549-47d3-8288-89dd7fd1ffc0")
|
||||
(fp_text reference "R2" (at 0 0) (layer "F.Fab") (uuid "7807c9fe-f96b-4071-82d0-21ac015980fd")
|
||||
(effects (font (size 0.5 0.5) (thickness 0.08)) hide))
|
||||
(fp_text value "" (at 0 0) (layer "F.Fab") (uuid "edbb8ed0-6a3c-4b9a-af54-f1496efc2bff")
|
||||
(fp_text value "" (at 0 0) (layer "F.Fab") (uuid "f3fb6f6e-1ef7-42eb-a348-8b6d7aab4538")
|
||||
(effects (font (size 0.5 0.5) (thickness 0.08)) hide))
|
||||
(pad "1" smd rect (at -1.000 0.000) (size 1.0 1.2) (layers "F.Cu" "F.Paste" "F.Mask") (net 7 "FLASH_CS") (uuid "b945b811-e8b4-45d6-b1ab-1a67524b65bc"))
|
||||
(pad "2" smd rect (at 1.000 0.000) (size 1.0 1.2) (layers "F.Cu" "F.Paste" "F.Mask") (net 3 "3V3") (uuid "822ffa6c-5cfc-465e-a985-4ce3593ff60a"))
|
||||
(pad "1" smd rect (at -1.000 0.000) (size 1.000 1.200) (layers "F.Cu" "F.Paste" "F.Mask") (net 7 "FLASH_CS") (uuid "1ccfaa3c-7ea6-4eda-888b-928d091041ad"))
|
||||
(pad "2" smd rect (at 1.000 0.000) (size 1.000 1.200) (layers "F.Cu" "F.Paste" "F.Mask") (net 3 "3V3") (uuid "f8c4ab39-a4c3-4458-bdd8-29f399b1abee"))
|
||||
)
|
||||
(gr_text "R2 10K" (at 139 108.3) (layer "F.SilkS") (uuid "ada14ace-3cd5-44e2-9165-76e0941f655b") (effects (font (size 0.4 0.4) (thickness 0.06))))
|
||||
(gr_text "R2" (at 137.500 106.300) (layer "F.SilkS") (uuid "c690803d-f367-4a01-baaf-b0f211e95d90") (effects (font (size 0.4 0.4) (thickness 0.080))))
|
||||
(gr_text "10K" (at 137.500 108.800) (layer "F.SilkS") (uuid "71947797-a79c-4b48-9356-ef04c53cb56e") (effects (font (size 0.35 0.35) (thickness 0.080))))
|
||||
|
||||
(footprint "panel:R1" (layer "F.Cu")
|
||||
(at 134 113)
|
||||
(uuid "31b61a4c-cb67-41fe-abde-6237a02672e7")
|
||||
(fp_text reference "R1" (at 0 0) (layer "F.Fab") (uuid "f8c37308-786e-400d-81b0-fb29dc6121b0")
|
||||
(at 132.000 114.000)
|
||||
(uuid "37cc5e4d-7bf4-41a9-b81e-78764e60f07e")
|
||||
(fp_text reference "R1" (at 0 0) (layer "F.Fab") (uuid "2ce5f8a6-fc73-4909-a493-fa4121752043")
|
||||
(effects (font (size 0.5 0.5) (thickness 0.08)) hide))
|
||||
(fp_text value "" (at 0 0) (layer "F.Fab") (uuid "6554f611-3d96-4bd4-9be6-ff4f31f8e0f9")
|
||||
(fp_text value "" (at 0 0) (layer "F.Fab") (uuid "7e4aacb8-c4cd-441b-8889-70d980a27059")
|
||||
(effects (font (size 0.5 0.5) (thickness 0.08)) hide))
|
||||
(pad "1" smd rect (at -1.000 0.000) (size 1.0 1.2) (layers "F.Cu" "F.Paste" "F.Mask") (net 16 "SIG_8") (uuid "664bc9f2-d270-4113-9d41-1649df5b63e0"))
|
||||
(pad "2" smd rect (at 1.000 0.000) (size 1.0 1.2) (layers "F.Cu" "F.Paste" "F.Mask") (net 0 "AUDIO_FILT") (uuid "9c4ec3bf-1942-4b3b-a0bc-d2270af990a1"))
|
||||
(pad "1" smd rect (at -1.000 0.000) (size 1.000 1.200) (layers "F.Cu" "F.Paste" "F.Mask") (net 17 "S8") (uuid "8cbfc39f-b0c1-4776-87f0-5c46aa4adca7"))
|
||||
(pad "2" smd rect (at 1.000 0.000) (size 1.000 1.200) (layers "F.Cu" "F.Paste" "F.Mask") (net 9 "AUDIO_FILT") (uuid "7f43e904-361c-47d3-9be2-9a180465ee3a"))
|
||||
)
|
||||
(gr_text "R1 4.7K" (at 134 111.8) (layer "F.SilkS") (uuid "c302f0de-3645-4a12-bfb6-d6e0acc191bb") (effects (font (size 0.4 0.4) (thickness 0.06))))
|
||||
(gr_text "R1 4.7K" (at 132.000 112.700) (layer "F.SilkS") (uuid "60598c4b-e455-4930-9b04-61573d2f5eca") (effects (font (size 0.4 0.4) (thickness 0.080))))
|
||||
|
||||
(footprint "panel:C5" (layer "F.Cu")
|
||||
(at 134 115.5)
|
||||
(uuid "c70ac8eb-9f06-48c7-a731-46c4ce383b29")
|
||||
(fp_text reference "C5" (at 0 0) (layer "F.Fab") (uuid "6dfa0d66-c59f-4fd3-8df3-928ab755c88b")
|
||||
(at 132.000 117.000)
|
||||
(uuid "c2dc742d-aa63-4e4f-937b-6eca10fc9c75")
|
||||
(fp_text reference "C5" (at 0 0) (layer "F.Fab") (uuid "3a7604db-e795-488a-81b5-f79e4a9493dd")
|
||||
(effects (font (size 0.5 0.5) (thickness 0.08)) hide))
|
||||
(fp_text value "" (at 0 0) (layer "F.Fab") (uuid "c931a903-19ee-46b1-9846-5939fc8aa326")
|
||||
(fp_text value "" (at 0 0) (layer "F.Fab") (uuid "68eb2d54-0fbe-4929-a0a8-f4257e22fdb0")
|
||||
(effects (font (size 0.5 0.5) (thickness 0.08)) hide))
|
||||
(pad "1" smd rect (at -1.000 0.000) (size 1.0 1.2) (layers "F.Cu" "F.Paste" "F.Mask") (net 0 "AUDIO_FILT") (uuid "3fa692ca-1d5a-4a89-b1a2-f01428dc22f4"))
|
||||
(pad "2" smd rect (at 1.000 0.000) (size 1.0 1.2) (layers "F.Cu" "F.Paste" "F.Mask") (net 1 "GND") (uuid "6b0bca98-110f-45d1-aed4-e862f8a1202e"))
|
||||
(pad "1" smd rect (at -1.000 0.000) (size 1.000 1.200) (layers "F.Cu" "F.Paste" "F.Mask") (net 9 "AUDIO_FILT") (uuid "dd5bc709-6ccd-4d90-84d9-e2ba222d74ee"))
|
||||
(pad "2" smd rect (at 1.000 0.000) (size 1.000 1.200) (layers "F.Cu" "F.Paste" "F.Mask") (net 1 "GND") (uuid "9c8ee84f-d527-41d9-8387-55957a1174d3"))
|
||||
)
|
||||
(gr_text "C5 10n" (at 134 114.3) (layer "F.SilkS") (uuid "5e2e8cd8-6382-4870-a049-816dd507fa2d") (effects (font (size 0.4 0.4) (thickness 0.06))))
|
||||
(gr_circle (center 132.8 121.5) (end 133.10000000000002 121.5) (layer "F.SilkS") (width 0.15) (fill solid) (uuid "a9e16b85-e4af-4e84-94a7-f47d0120bcb1"))
|
||||
(gr_text "U1 TPS61220" (at 134 117.5) (layer "F.SilkS") (uuid "b124be9f-a3a8-4149-946d-a031307b61a4") (effects (font (size 0.5 0.5) (thickness 0.075))))
|
||||
(gr_text "●1" (at 132.8 122.2) (layer "F.SilkS") (uuid "33ea581f-e2cb-4990-94a7-1983dac9d167") (effects (font (size 0.4 0.4) (thickness 0.06))))
|
||||
(gr_text "C5 10n" (at 132.000 115.700) (layer "F.SilkS") (uuid "d0cfaf10-7857-4574-950b-26e43f1545b7") (effects (font (size 0.4 0.4) (thickness 0.080))))
|
||||
(gr_rect (start 130.800 119.900) (end 133.200 122.100) (layer "F.SilkS") (width 0.15) (uuid "0fa298c0-2c90-4739-a08a-2c2f49b38083"))
|
||||
(gr_circle (center 131.200 121.600) (end 131.400 121.600) (layer "F.SilkS") (width 0.1) (fill solid) (uuid "e2f3da83-8936-4675-9858-21bfae676a64"))
|
||||
(gr_text "U1" (at 132.000 119.000) (layer "F.SilkS") (uuid "cb9a68ed-419f-491d-8137-cf10ee619bad") (effects (font (size 0.5 0.5) (thickness 0.080))))
|
||||
(gr_text "TPS61220" (at 132.000 123.000) (layer "F.SilkS") (uuid "1bfc84ca-8d74-42f9-9cb8-03875e1b2e62") (effects (font (size 0.4 0.4) (thickness 0.080))))
|
||||
(gr_text "●1" (at 130.500 121.700) (layer "F.SilkS") (uuid "3a4a9480-9920-4f69-a857-f558f0f96f1c") (effects (font (size 0.35 0.35) (thickness 0.080))))
|
||||
|
||||
(footprint "panel:TPS61220" (layer "F.Cu")
|
||||
(at 134 120)
|
||||
(uuid "1f475038-a4b5-4175-91c9-7d26e3766a1e")
|
||||
(fp_text reference "TPS61220" (at 0 0) (layer "F.Fab") (uuid "40582112-b236-436a-afdc-dbcb9ca5417b")
|
||||
(footprint "panel:U1_Boost" (layer "F.Cu")
|
||||
(at 132.000 121.000)
|
||||
(uuid "2af40a9c-cc47-4186-b24a-afbc0dc415d2")
|
||||
(fp_text reference "U1_Boost" (at 0 0) (layer "F.Fab") (uuid "8bd65444-2019-4305-bd42-ac670d94d03f")
|
||||
(effects (font (size 0.5 0.5) (thickness 0.08)) hide))
|
||||
(fp_text value "" (at 0 0) (layer "F.Fab") (uuid "1acbc7e6-9df7-4224-b91b-20582215db1d")
|
||||
(fp_text value "" (at 0 0) (layer "F.Fab") (uuid "db837181-13dc-4a5b-8aa0-2ff6b17d2bf3")
|
||||
(effects (font (size 0.5 0.5) (thickness 0.08)) hide))
|
||||
(pad "1" smd rect (at -0.650 0.700) (size 0.4 0.55) (layers "F.Cu" "F.Paste" "F.Mask") (net 2 "VBAT") (uuid "8b9f424f-e807-4bf0-ac6e-68a45cefae72"))
|
||||
(pad "2" smd rect (at 0.000 0.700) (size 0.4 0.55) (layers "F.Cu" "F.Paste" "F.Mask") (net 1 "GND") (uuid "8aab62be-1aaf-44e0-bc10-877fc0c5cef0"))
|
||||
(pad "3" smd rect (at 0.650 0.700) (size 0.4 0.55) (layers "F.Cu" "F.Paste" "F.Mask") (net 2 "VBAT") (uuid "dcc4a5fd-3515-412c-bc9a-04d98d276173"))
|
||||
(pad "4" smd rect (at 0.650 -0.700) (size 0.4 0.55) (layers "F.Cu" "F.Paste" "F.Mask") (net 3 "3V3") (uuid "b4de3046-f675-425b-ba3b-b91d0a31f6a0"))
|
||||
(pad "5" smd rect (at -0.650 -0.700) (size 0.4 0.55) (layers "F.Cu" "F.Paste" "F.Mask") (net 8 "BOOST_SW") (uuid "1296667a-5140-4529-b8c0-e3e5c52ffe73"))
|
||||
(pad "1" smd rect (at -0.650 0.700) (size 0.400 0.550) (layers "F.Cu" "F.Paste" "F.Mask") (net 2 "VBAT") (uuid "ce1de65a-77a3-4577-be0e-4fcc3d33231e"))
|
||||
(pad "2" smd rect (at 0.000 0.700) (size 0.400 0.550) (layers "F.Cu" "F.Paste" "F.Mask") (net 1 "GND") (uuid "217a9c08-efa3-4774-b954-18bbf01ecb7c"))
|
||||
(pad "3" smd rect (at 0.650 0.700) (size 0.400 0.550) (layers "F.Cu" "F.Paste" "F.Mask") (net 2 "VBAT") (uuid "5babc1dc-21a4-49d0-9020-12feaa08bc0a"))
|
||||
(pad "4" smd rect (at 0.650 -0.700) (size 0.400 0.550) (layers "F.Cu" "F.Paste" "F.Mask") (net 3 "3V3") (uuid "2ba70765-f8dd-4b1c-83e9-0f937f0f9ab8"))
|
||||
(pad "5" smd rect (at -0.650 -0.700) (size 0.400 0.550) (layers "F.Cu" "F.Paste" "F.Mask") (net 8 "BOOST_SW") (uuid "73df7ccd-cf26-49c3-8502-9e90cde88ae1"))
|
||||
)
|
||||
|
||||
(footprint "panel:L1" (layer "F.Cu")
|
||||
(at 130 120)
|
||||
(uuid "31c56158-ebf0-488e-9c27-a7b32fcbf6c4")
|
||||
(fp_text reference "L1" (at 0 0) (layer "F.Fab") (uuid "e44c635a-7a50-48bd-8af2-1c65a923068a")
|
||||
(at 128.000 121.000)
|
||||
(uuid "f96fa760-64a2-473d-899a-25cdad7c3597")
|
||||
(fp_text reference "L1" (at 0 0) (layer "F.Fab") (uuid "c21c63d8-c2c4-4bbb-99d9-1b274744d5fe")
|
||||
(effects (font (size 0.5 0.5) (thickness 0.08)) hide))
|
||||
(fp_text value "" (at 0 0) (layer "F.Fab") (uuid "201cfb60-ce63-47dd-bb3f-2377cfdd3367")
|
||||
(fp_text value "" (at 0 0) (layer "F.Fab") (uuid "4279096d-5d93-4770-9180-7becc894136d")
|
||||
(effects (font (size 0.5 0.5) (thickness 0.08)) hide))
|
||||
(pad "1" smd rect (at -1.000 0.000) (size 1.0 1.2) (layers "F.Cu" "F.Paste" "F.Mask") (net 8 "BOOST_SW") (uuid "db0d1c42-7f1c-4fc8-bbc2-50d413f665fc"))
|
||||
(pad "2" smd rect (at 1.000 0.000) (size 1.0 1.2) (layers "F.Cu" "F.Paste" "F.Mask") (net 2 "VBAT") (uuid "07b425f3-ebae-4c23-bdbe-3f3ae544a11f"))
|
||||
(pad "1" smd rect (at -1.000 0.000) (size 1.000 1.200) (layers "F.Cu" "F.Paste" "F.Mask") (net 8 "BOOST_SW") (uuid "b20ee262-c535-417a-a73c-0e2687cad09d"))
|
||||
(pad "2" smd rect (at 1.000 0.000) (size 1.000 1.200) (layers "F.Cu" "F.Paste" "F.Mask") (net 2 "VBAT") (uuid "a540c5d1-5051-4643-9505-79000e44981c"))
|
||||
)
|
||||
(gr_text "L1 4.7u" (at 130 118.8) (layer "F.SilkS") (uuid "6a6d0334-20cc-4df5-b4a8-d678450ff424") (effects (font (size 0.4 0.4) (thickness 0.06))))
|
||||
(gr_text "L1 4.7u" (at 128.000 119.700) (layer "F.SilkS") (uuid "2a91a58a-e32d-4523-bea1-97ba117814e3") (effects (font (size 0.4 0.4) (thickness 0.080))))
|
||||
|
||||
(footprint "panel:C1" (layer "F.Cu")
|
||||
(at 130 123)
|
||||
(uuid "388f4ff3-38e6-4b57-ade2-7879dd444e34")
|
||||
(fp_text reference "C1" (at 0 0) (layer "F.Fab") (uuid "86f3204f-e9bc-4f25-a3a9-238b9ef0f036")
|
||||
(at 128.000 124.000)
|
||||
(uuid "3a657071-f4ee-4825-bfba-26a1fb04f5d2")
|
||||
(fp_text reference "C1" (at 0 0) (layer "F.Fab") (uuid "1aea0979-c014-4c85-8e1d-bcbd79658f12")
|
||||
(effects (font (size 0.5 0.5) (thickness 0.08)) hide))
|
||||
(fp_text value "" (at 0 0) (layer "F.Fab") (uuid "862f86fc-3311-4743-904b-b0a7d0a1d8b4")
|
||||
(fp_text value "" (at 0 0) (layer "F.Fab") (uuid "9acc7a02-d4b1-4c31-b43c-5faf0a849ed4")
|
||||
(effects (font (size 0.5 0.5) (thickness 0.08)) hide))
|
||||
(pad "1" smd rect (at -1.000 0.000) (size 1.0 1.2) (layers "F.Cu" "F.Paste" "F.Mask") (net 2 "VBAT") (uuid "3f9ec573-2045-4f59-8aa1-61f1e6c044d6"))
|
||||
(pad "2" smd rect (at 1.000 0.000) (size 1.0 1.2) (layers "F.Cu" "F.Paste" "F.Mask") (net 1 "GND") (uuid "4098d85d-3560-4bfe-88d1-62fdca17533f"))
|
||||
(pad "1" smd rect (at -1.000 0.000) (size 1.000 1.200) (layers "F.Cu" "F.Paste" "F.Mask") (net 2 "VBAT") (uuid "0152ceb3-ddd4-40be-a449-d93331e07083"))
|
||||
(pad "2" smd rect (at 1.000 0.000) (size 1.000 1.200) (layers "F.Cu" "F.Paste" "F.Mask") (net 1 "GND") (uuid "8913c282-793c-456e-89fe-6977c0fafc66"))
|
||||
)
|
||||
(gr_text "C1 10u" (at 130 121.8) (layer "F.SilkS") (uuid "e13ad2f1-be9f-4c11-b453-5b3056c504dc") (effects (font (size 0.4 0.4) (thickness 0.06))))
|
||||
(gr_text "C1 10u" (at 128.000 122.700) (layer "F.SilkS") (uuid "4ea7e5b0-191d-4413-83a4-aad980f4e93a") (effects (font (size 0.4 0.4) (thickness 0.080))))
|
||||
|
||||
(footprint "panel:C2" (layer "F.Cu")
|
||||
(at 138 120)
|
||||
(uuid "71039fd9-95ff-4065-9c59-60105470ff55")
|
||||
(fp_text reference "C2" (at 0 0) (layer "F.Fab") (uuid "4507f636-6ecc-4887-b582-643579401f00")
|
||||
(at 136.000 121.000)
|
||||
(uuid "e8f514a1-88cd-43b2-a781-335492bcbcf2")
|
||||
(fp_text reference "C2" (at 0 0) (layer "F.Fab") (uuid "b87afcab-872d-49c9-82fb-f78b84d927e3")
|
||||
(effects (font (size 0.5 0.5) (thickness 0.08)) hide))
|
||||
(fp_text value "" (at 0 0) (layer "F.Fab") (uuid "dbc71da1-b782-46b4-88c6-c69d9b4fed69")
|
||||
(fp_text value "" (at 0 0) (layer "F.Fab") (uuid "60db2f2f-22a9-4755-a5d2-a3ee5f2fb6d4")
|
||||
(effects (font (size 0.5 0.5) (thickness 0.08)) hide))
|
||||
(pad "1" smd rect (at -1.000 0.000) (size 1.0 1.2) (layers "F.Cu" "F.Paste" "F.Mask") (net 3 "3V3") (uuid "a0201b14-401e-4afb-b31f-fe5fcb82fdd6"))
|
||||
(pad "2" smd rect (at 1.000 0.000) (size 1.0 1.2) (layers "F.Cu" "F.Paste" "F.Mask") (net 1 "GND") (uuid "cc269e12-18cf-4357-b7bb-a725b6e8a234"))
|
||||
(pad "1" smd rect (at -1.000 0.000) (size 1.000 1.200) (layers "F.Cu" "F.Paste" "F.Mask") (net 3 "3V3") (uuid "358331d0-8b7a-41a9-8a9e-1087840ee3d9"))
|
||||
(pad "2" smd rect (at 1.000 0.000) (size 1.000 1.200) (layers "F.Cu" "F.Paste" "F.Mask") (net 1 "GND") (uuid "f221174c-b9f9-4891-8017-4adfc612ccaf"))
|
||||
)
|
||||
(gr_text "C2 10u" (at 138 118.8) (layer "F.SilkS") (uuid "6b0a22cf-83cb-4569-8a04-62d5d0dfec82") (effects (font (size 0.4 0.4) (thickness 0.06))))
|
||||
(gr_text "J1 TO TOY →" (at 136 107) (layer "F.SilkS") (uuid "c569cf60-f111-4dff-83db-fafbd8197660") (effects (font (size 0.5 0.5) (thickness 0.075))))
|
||||
(gr_text "1=VBAT 2=GND 3-10=SIG" (at 136 116) (layer "F.SilkS") (uuid "3a1c1424-149b-42dd-9647-76ba66d15e60") (effects (font (size 0.35 0.35) (thickness 0.0525))))
|
||||
(gr_circle (center 135.7 111) (end 136.0 111) (layer "F.SilkS") (width 0.15) (fill solid) (uuid "937dca26-8795-40b6-aa11-cd91fa320aec"))
|
||||
(gr_text "C2 10u" (at 136.000 119.700) (layer "F.SilkS") (uuid "044bb87c-741d-4368-a57d-c8266bbc1771") (effects (font (size 0.4 0.4) (thickness 0.080))))
|
||||
(gr_rect (start 132.250 112.000) (end 143.750 116.000) (layer "F.SilkS") (width 0.15) (uuid "9ea3ca6a-5fda-4f29-b7db-6ebf9ba7c626"))
|
||||
(gr_text "J1 FPC-20" (at 138.000 111.000) (layer "F.SilkS") (uuid "3422609b-3569-40cb-9db7-0109b17c6ed7") (effects (font (size 0.5 0.5) (thickness 0.080))))
|
||||
(gr_text "0.5mm TO TOY" (at 138.000 117.000) (layer "F.SilkS") (uuid "2d55e91d-3585-4aff-9c9c-22b9c00432d6") (effects (font (size 0.35 0.35) (thickness 0.080))))
|
||||
(gr_circle (center 132.450 114.000) (end 132.650 114.000) (layer "F.SilkS") (width 0.1) (fill solid) (uuid "e391d4d7-a95d-4220-a7df-956ab2b8c543"))
|
||||
|
||||
(footprint "panel:J1_JST_SH10" (layer "F.Cu")
|
||||
(at 141 111)
|
||||
(uuid "1bf0b2d9-7ef1-4f6f-aa3a-336ad20f828f")
|
||||
(fp_text reference "J1_JST_SH10" (at 0 0) (layer "F.Fab") (uuid "4a61bb05-8474-4184-a42c-e0f0eb360403")
|
||||
(footprint "panel:J1_FPC20" (layer "F.Cu")
|
||||
(at 138.000 114.000)
|
||||
(uuid "3f816365-83a9-4ff8-b514-ccf442363914")
|
||||
(fp_text reference "J1_FPC20" (at 0 0) (layer "F.Fab") (uuid "aee8fc4f-a915-4316-8fbb-0f0efa9ae59e")
|
||||
(effects (font (size 0.5 0.5) (thickness 0.08)) hide))
|
||||
(fp_text value "" (at 0 0) (layer "F.Fab") (uuid "96812a3b-b2ef-44d8-b9b0-b38e2233d654")
|
||||
(fp_text value "" (at 0 0) (layer "F.Fab") (uuid "f0439331-00e3-4de4-a54f-cc01f3b478f6")
|
||||
(effects (font (size 0.5 0.5) (thickness 0.08)) hide))
|
||||
(pad "1" smd rect (at -4.500 0.000) (size 0.6 1.2) (layers "F.Cu" "F.Paste" "F.Mask") (net 2 "VBAT") (uuid "c5100258-7976-444f-aa98-b9e4d45bace7"))
|
||||
(pad "2" smd rect (at -3.500 0.000) (size 0.6 1.2) (layers "F.Cu" "F.Paste" "F.Mask") (net 1 "GND") (uuid "65697aea-87a9-40cf-9a90-60397ae8e81d"))
|
||||
(pad "3" smd rect (at -2.500 0.000) (size 0.6 1.2) (layers "F.Cu" "F.Paste" "F.Mask") (net 9 "SIG_1") (uuid "b415ff5e-b50e-4f91-a350-43f232c23ab3"))
|
||||
(pad "4" smd rect (at -1.500 0.000) (size 0.6 1.2) (layers "F.Cu" "F.Paste" "F.Mask") (net 10 "SIG_2") (uuid "9bf989cb-344e-43ab-bc5e-1ca8a620a89b"))
|
||||
(pad "5" smd rect (at -0.500 0.000) (size 0.6 1.2) (layers "F.Cu" "F.Paste" "F.Mask") (net 11 "SIG_3") (uuid "c81114ae-ab4a-4351-9aef-979bd5776fc5"))
|
||||
(pad "6" smd rect (at 0.500 0.000) (size 0.6 1.2) (layers "F.Cu" "F.Paste" "F.Mask") (net 12 "SIG_4") (uuid "d2de3994-f605-4758-89d3-32dbf3b28812"))
|
||||
(pad "7" smd rect (at 1.500 0.000) (size 0.6 1.2) (layers "F.Cu" "F.Paste" "F.Mask") (net 13 "SIG_5") (uuid "f29d020f-6822-424e-b2a0-22e7d1669a86"))
|
||||
(pad "8" smd rect (at 2.500 0.000) (size 0.6 1.2) (layers "F.Cu" "F.Paste" "F.Mask") (net 14 "SIG_6") (uuid "f88f3dcc-efde-4594-ae2b-410f3ca1a074"))
|
||||
(pad "9" smd rect (at 3.500 0.000) (size 0.6 1.2) (layers "F.Cu" "F.Paste" "F.Mask") (net 15 "SIG_7") (uuid "2fb195c4-5246-46f4-a2a1-7718847f4819"))
|
||||
(pad "10" smd rect (at 4.500 0.000) (size 0.6 1.2) (layers "F.Cu" "F.Paste" "F.Mask") (net 16 "SIG_8") (uuid "7933cf14-f6ed-4f06-b736-87fe37541f89"))
|
||||
(pad "S1" smd rect (at -6.000 2.150) (size 1.2 1.8) (layers "F.Cu") (net 0 "") (uuid "77da10bc-5247-4236-90c2-afbb80680c20"))
|
||||
(pad "S2" smd rect (at 6.000 2.150) (size 1.2 1.8) (layers "F.Cu") (net 0 "") (uuid "a31546da-deff-4b09-a1bb-bb654a1e05c4"))
|
||||
(pad "1" smd rect (at -4.750 0.000) (size 0.300 1.200) (layers "F.Cu" "F.Paste" "F.Mask") (net 2 "VBAT") (uuid "d1433479-2a86-4aa3-b4bd-c125eaa16e08"))
|
||||
(pad "2" smd rect (at -4.250 0.000) (size 0.300 1.200) (layers "F.Cu" "F.Paste" "F.Mask") (net 1 "GND") (uuid "b27d4a5e-566f-4a1d-a6ed-6f366e0afc57"))
|
||||
(pad "3" smd rect (at -3.750 0.000) (size 0.300 1.200) (layers "F.Cu" "F.Paste" "F.Mask") (net 10 "S1") (uuid "18fd493e-b7c7-4bed-8dc1-13621b62cc84"))
|
||||
(pad "4" smd rect (at -3.250 0.000) (size 0.300 1.200) (layers "F.Cu" "F.Paste" "F.Mask") (net 11 "S2") (uuid "94d7cc29-fce9-4f0e-b5e9-6f12af13ef92"))
|
||||
(pad "5" smd rect (at -2.750 0.000) (size 0.300 1.200) (layers "F.Cu" "F.Paste" "F.Mask") (net 12 "S3") (uuid "59420d4c-db3e-4240-9b1a-c90c8ae1542e"))
|
||||
(pad "6" smd rect (at -2.250 0.000) (size 0.300 1.200) (layers "F.Cu" "F.Paste" "F.Mask") (net 13 "S4") (uuid "faadeab4-57ef-4ef5-b311-b1c7761bc9f7"))
|
||||
(pad "7" smd rect (at -1.750 0.000) (size 0.300 1.200) (layers "F.Cu" "F.Paste" "F.Mask") (net 14 "S5") (uuid "7efd0d58-367e-4771-ad2a-a3686881bd63"))
|
||||
(pad "8" smd rect (at -1.250 0.000) (size 0.300 1.200) (layers "F.Cu" "F.Paste" "F.Mask") (net 15 "S6") (uuid "7ac40232-945a-46eb-aa7e-8ccccbc12a77"))
|
||||
(pad "9" smd rect (at -0.750 0.000) (size 0.300 1.200) (layers "F.Cu" "F.Paste" "F.Mask") (net 16 "S7") (uuid "d3c3fb8a-d27f-4f02-bcc3-8545e2054792"))
|
||||
(pad "10" smd rect (at -0.250 0.000) (size 0.300 1.200) (layers "F.Cu" "F.Paste" "F.Mask") (net 17 "S8") (uuid "70aba067-8afc-49ee-add4-9bbfcb9453f2"))
|
||||
(pad "11" smd rect (at 0.250 0.000) (size 0.300 1.200) (layers "F.Cu" "F.Paste" "F.Mask") (net 18 "S9") (uuid "ac6c3278-3618-4701-bd24-d977ce37f602"))
|
||||
(pad "12" smd rect (at 0.750 0.000) (size 0.300 1.200) (layers "F.Cu" "F.Paste" "F.Mask") (net 19 "S10") (uuid "b058dd64-c190-4754-99a3-6064013c3e39"))
|
||||
(pad "13" smd rect (at 1.250 0.000) (size 0.300 1.200) (layers "F.Cu" "F.Paste" "F.Mask") (net 20 "S11") (uuid "511b95d4-8977-4d1c-9e3b-a92b188b596c"))
|
||||
(pad "14" smd rect (at 1.750 0.000) (size 0.300 1.200) (layers "F.Cu" "F.Paste" "F.Mask") (net 21 "S12") (uuid "b54af070-335e-4cb5-b91f-bf78e0053d94"))
|
||||
(pad "15" smd rect (at 2.250 0.000) (size 0.300 1.200) (layers "F.Cu" "F.Paste" "F.Mask") (net 22 "S13") (uuid "e804928f-a7ea-40f2-9f2f-3f025713e55a"))
|
||||
(pad "16" smd rect (at 2.750 0.000) (size 0.300 1.200) (layers "F.Cu" "F.Paste" "F.Mask") (net 23 "S14") (uuid "63e74f2d-64c0-4b70-bba4-19f6d732dc1a"))
|
||||
(pad "17" smd rect (at 3.250 0.000) (size 0.300 1.200) (layers "F.Cu" "F.Paste" "F.Mask") (net 24 "S15") (uuid "30b4a519-b7da-4868-b855-f7a9e654003a"))
|
||||
(pad "18" smd rect (at 3.750 0.000) (size 0.300 1.200) (layers "F.Cu" "F.Paste" "F.Mask") (net 25 "S16") (uuid "57dba54c-08f3-41ce-9b9f-f76d817e86bc"))
|
||||
(pad "19" smd rect (at 4.250 0.000) (size 0.300 1.200) (layers "F.Cu" "F.Paste" "F.Mask") (net 1 "GND") (uuid "d060e6ed-acef-4d5c-ae20-63a58c88c1bd"))
|
||||
(pad "20" smd rect (at 4.750 0.000) (size 0.300 1.200) (layers "F.Cu" "F.Paste" "F.Mask") (net 1 "GND") (uuid "ffa04cb1-489a-4f21-80b9-afb8abf193e0"))
|
||||
(pad "S1" smd rect (at -5.250 2.500) (size 1.500 1.000) (layers "F.Cu" "F.Paste" "F.Mask") (net 0 "") (uuid "7a1aa6df-4bda-470f-847f-5ae83570ed09"))
|
||||
(pad "S2" smd rect (at 5.250 2.500) (size 1.500 1.000) (layers "F.Cu" "F.Paste" "F.Mask") (net 0 "") (uuid "e5bbf1ea-2226-4cc0-ad10-798b08f15f04"))
|
||||
)
|
||||
|
||||
(footprint "panel:MH" (layer "F.Cu")
|
||||
(at 104.5 102.5)
|
||||
(uuid "3d6c895f-0a9b-464e-8536-a32c4457a246")
|
||||
(fp_text reference "MH" (at 0 0) (layer "F.Fab") (uuid "5d96b049-f10c-447b-9bac-97113e1219ec")
|
||||
(at 102.000 124.000)
|
||||
(uuid "571767de-220f-4747-a455-fa2326a12da0")
|
||||
(fp_text reference "MH" (at 0 0) (layer "F.Fab") (uuid "d9ad2950-5233-4182-bfbe-31ea3e304164")
|
||||
(effects (font (size 0.5 0.5) (thickness 0.08)) hide))
|
||||
(fp_text value "" (at 0 0) (layer "F.Fab") (uuid "4b13c3b7-8e4f-472a-9fd7-8dbbc87151ca")
|
||||
(fp_text value "" (at 0 0) (layer "F.Fab") (uuid "e161b347-8c67-4494-ac88-921b1c6b2902")
|
||||
(effects (font (size 0.5 0.5) (thickness 0.08)) hide))
|
||||
(pad "" thru_hole circle (at 0 0) (size 3.5 3.5) (drill 2.2) (layers "*.Cu" "*.Mask") (uuid "6909aca5-a5b1-46df-bfbd-d664ad4f9dd8"))
|
||||
(pad "" thru_hole circle (at 0 0) (size 3.5 3.5) (drill 2.2) (layers "*.Cu" "*.Mask") (uuid "1e1e030e-d951-4662-8166-be001a7a274f"))
|
||||
)
|
||||
|
||||
(footprint "panel:MH" (layer "F.Cu")
|
||||
(at 141.0 123.0)
|
||||
(uuid "993bf336-b07f-4cf2-99b9-4b6f1dd8c0fc")
|
||||
(fp_text reference "MH" (at 0 0) (layer "F.Fab") (uuid "0e7ad9bf-ded2-4dac-8aed-3b81f17dd8b6")
|
||||
(at 141.000 124.000)
|
||||
(uuid "079cc614-6c0f-45dc-ab83-9ca22a61e4de")
|
||||
(fp_text reference "MH" (at 0 0) (layer "F.Fab") (uuid "7f3bdd48-fbea-40ba-b4e0-433e609224df")
|
||||
(effects (font (size 0.5 0.5) (thickness 0.08)) hide))
|
||||
(fp_text value "" (at 0 0) (layer "F.Fab") (uuid "6fbeac64-dc35-4fbc-9311-d5e822009ffb")
|
||||
(fp_text value "" (at 0 0) (layer "F.Fab") (uuid "e9850b50-cc1e-4a98-ad13-079fd24495c1")
|
||||
(effects (font (size 0.5 0.5) (thickness 0.08)) hide))
|
||||
(pad "" thru_hole circle (at 0 0) (size 3.5 3.5) (drill 2.2) (layers "*.Cu" "*.Mask") (uuid "f384efc5-884c-4fc7-be90-6214a76d9363"))
|
||||
(pad "" thru_hole circle (at 0 0) (size 3.5 3.5) (drill 2.2) (layers "*.Cu" "*.Mask") (uuid "fcdaf0bc-fced-4f6d-a9ef-7bd7b8d60db2"))
|
||||
)
|
||||
(gr_text "Baby Mobile Carrier v3.0" (at 124.0 100.5) (layer "F.SilkS") (uuid "536313ba-aa0f-43ca-ad0d-46a9123ce61d") (effects (font (size 0.7 0.7) (thickness 0.105) bold)))
|
||||
(gr_text "3V3" (at 132.0 125.3) (layer "F.SilkS") (uuid "45d2ab75-759c-4f37-8618-87f620e2d745") (effects (font (size 0.4 0.4) (thickness 0.06))))
|
||||
(gr_text "XIAO D0-D6 = SIG_1-7 (buttons/speaker/motor)" (at 124.0 106) (layer "B.SilkS") (uuid "30f97b1f-9a2e-424f-8178-488ab913f73c") (effects (font (size 0.4 0.4) (thickness 0.06))))
|
||||
(gr_text "XIAO D7=MISO D8=MOSI D9=SCK D10=AUDIO" (at 124.0 108) (layer "B.SilkS") (uuid "fd1a9361-d67c-4b32-ae97-80ae719e4cf5") (effects (font (size 0.4 0.4) (thickness 0.06))))
|
||||
(gr_text "JST: 1=VBAT 2=GND 3-10=SIG_1-8" (at 124.0 110) (layer "B.SilkS") (uuid "adb6bbb5-5687-41b9-b2df-cef2d9088d0e") (effects (font (size 0.4 0.4) (thickness 0.06))))
|
||||
(gr_line (start 103.095 127.55) (end 108.905 127.55) (layer "Edge.Cuts") (width 0.1) (uuid "c6351db3-0d63-4b19-b879-1096a1ebb7cc"))
|
||||
(gr_line (start 108.905 127.55) (end 108.905 134.45) (layer "Edge.Cuts") (width 0.1) (uuid "4ecacc87-37c8-48d7-a1ef-e7991a4153f9"))
|
||||
(gr_line (start 108.905 134.45) (end 103.095 134.45) (layer "Edge.Cuts") (width 0.1) (uuid "4ce6f3f0-4e32-4c24-a6d9-84ec04c0c836"))
|
||||
(gr_line (start 103.095 134.45) (end 103.095 127.55) (layer "Edge.Cuts") (width 0.1) (uuid "997589ec-4d8b-4593-b35f-180de9f3fc82"))
|
||||
(gr_text "SOP-8" (at 106 126.55) (layer "F.SilkS") (uuid "1b597be2-2a34-4900-98bf-1f2517842d20") (effects (font (size 0.6 0.6) (thickness 0.09) bold)))
|
||||
(gr_text "XIAO: D0-D6→SIG1-7 D7=MISO D8=MOSI D9=SCK D10=AUDIO(S8)" (at 122.000 113.000) (layer "B.SilkS") (uuid "db3546b9-49a3-48f2-8c4f-0b7752eeafe2") (effects (font (size 0.4 0.4) (thickness 0.080))))
|
||||
(gr_text "FPC: 1=VBAT 2=GND 3-10=S1-S8 19-20=GND" (at 122.000 115.000) (layer "B.SilkS") (uuid "753ca2e9-ce32-4abf-9dd9-52a997487dc0") (effects (font (size 0.4 0.4) (thickness 0.080))))
|
||||
(gr_line (start 103.095 132.050) (end 109.905 132.050) (layer "Edge.Cuts") (width 0.1) (uuid "9a7f2724-0131-4c3b-bea2-2264285f74e4"))
|
||||
(gr_line (start 109.905 132.050) (end 109.905 135.950) (layer "Edge.Cuts") (width 0.1) (uuid "0b095cb1-b39a-4054-9f58-00d6b4936664"))
|
||||
(gr_line (start 109.905 135.950) (end 103.095 135.950) (layer "Edge.Cuts") (width 0.1) (uuid "cab1f064-a98c-4d49-9397-25d7695f6423"))
|
||||
(gr_line (start 103.095 135.950) (end 103.095 132.050) (layer "Edge.Cuts") (width 0.1) (uuid "b29ece6a-b547-4e60-9752-00ce868059b9"))
|
||||
(gr_text "SOP-8" (at 106.500 134.000) (layer "F.SilkS") (uuid "539e9b84-172f-48da-b0dd-0b9eba546029") (effects (font (size 0.6 0.6) (thickness 0.080))))
|
||||
|
||||
(footprint "panel:SOP-8_pads" (layer "B.Cu")
|
||||
(at 106 132.5)
|
||||
(uuid "0eca431f-4ee4-44a9-afdf-51d718534b5c")
|
||||
(fp_text reference "SOP-8_pads" (at 0 0) (layer "B.Fab") (uuid "afa5c0fb-39e0-4941-8a90-6419f4300c8d")
|
||||
(footprint "panel:SOP-8_cast" (layer "B.Cu")
|
||||
(at 106.500 134.000)
|
||||
(uuid "4c7c992b-b0fd-4d6b-95e8-d3b01e40d0b8")
|
||||
(fp_text reference "SOP-8_cast" (at 0 0) (layer "B.Fab") (uuid "23717134-9635-41ca-ae3e-c922dc622cbb")
|
||||
(effects (font (size 0.5 0.5) (thickness 0.08)) hide))
|
||||
(fp_text value "" (at 0 0) (layer "B.Fab") (uuid "b5533d64-7952-40ea-beb6-a2586cf440e5")
|
||||
(fp_text value "" (at 0 0) (layer "B.Fab") (uuid "1e7921d7-68b6-484d-96d5-d0275c185e0c")
|
||||
(effects (font (size 0.5 0.5) (thickness 0.08)) hide))
|
||||
(pad "1" thru_hole circle (at -1.905 1.950) (size 1.0 1.0) (drill 0.6) (layers "*.Cu" "*.Mask") (net 0 "") (uuid "361b27a3-f477-4c94-879b-4e123751cf63"))
|
||||
(pad "8" thru_hole circle (at -1.905 -1.950) (size 1.0 1.0) (drill 0.6) (layers "*.Cu" "*.Mask") (net 0 "") (uuid "e38495d5-30b3-4bc4-893d-c51c476300f1"))
|
||||
(pad "2" thru_hole circle (at -0.635 1.950) (size 1.0 1.0) (drill 0.6) (layers "*.Cu" "*.Mask") (net 0 "") (uuid "050516cc-4844-453e-a4c8-92cc0ef936d1"))
|
||||
(pad "7" thru_hole circle (at -0.635 -1.950) (size 1.0 1.0) (drill 0.6) (layers "*.Cu" "*.Mask") (net 0 "") (uuid "5d2afb12-8ea1-4d80-9e8a-22d4e3620ed3"))
|
||||
(pad "3" thru_hole circle (at 0.635 1.950) (size 1.0 1.0) (drill 0.6) (layers "*.Cu" "*.Mask") (net 0 "") (uuid "14975a05-c721-4062-afb2-9f336a44c385"))
|
||||
(pad "6" thru_hole circle (at 0.635 -1.950) (size 1.0 1.0) (drill 0.6) (layers "*.Cu" "*.Mask") (net 0 "") (uuid "5de5a38d-5292-44a0-b866-5a5d6b86edef"))
|
||||
(pad "4" thru_hole circle (at 1.905 1.950) (size 1.0 1.0) (drill 0.6) (layers "*.Cu" "*.Mask") (net 0 "") (uuid "7cdb28e0-15e0-45ae-a7e0-88e0cce8f6b9"))
|
||||
(pad "5" thru_hole circle (at 1.905 -1.950) (size 1.0 1.0) (drill 0.6) (layers "*.Cu" "*.Mask") (net 0 "") (uuid "d4f5b25e-b4aa-4dae-9928-7e05078eb636"))
|
||||
(pad "1" thru_hole circle (at -1.905 1.950) (size 1.0 1.0) (drill 0.6) (layers "*.Cu" "*.Mask") (net 10 "S1") (uuid "5452e05e-b51a-4170-8795-b36d7a08bfdc"))
|
||||
(pad "8" thru_hole circle (at -1.905 -1.950) (size 1.0 1.0) (drill 0.6) (layers "*.Cu" "*.Mask") (net 17 "S8") (uuid "e2f7fbbf-e763-4611-9f49-65a8753d77d0"))
|
||||
(pad "2" thru_hole circle (at -0.635 1.950) (size 1.0 1.0) (drill 0.6) (layers "*.Cu" "*.Mask") (net 11 "S2") (uuid "2adf23e2-bc6e-47e3-909a-81b097715476"))
|
||||
(pad "7" thru_hole circle (at -0.635 -1.950) (size 1.0 1.0) (drill 0.6) (layers "*.Cu" "*.Mask") (net 16 "S7") (uuid "5a265b71-f783-4e9e-9398-592ee8632a06"))
|
||||
(pad "3" thru_hole circle (at 0.635 1.950) (size 1.0 1.0) (drill 0.6) (layers "*.Cu" "*.Mask") (net 12 "S3") (uuid "7eb87ed8-e8dc-4ea9-a54d-f8c22c3d32ad"))
|
||||
(pad "6" thru_hole circle (at 0.635 -1.950) (size 1.0 1.0) (drill 0.6) (layers "*.Cu" "*.Mask") (net 15 "S6") (uuid "c8f53fcb-3148-4aad-848f-2c48fb98bbf4"))
|
||||
(pad "4" thru_hole circle (at 1.905 1.950) (size 1.0 1.0) (drill 0.6) (layers "*.Cu" "*.Mask") (net 13 "S4") (uuid "4316b7f9-5e81-40aa-9f9d-c7877c13ed09"))
|
||||
(pad "5" thru_hole circle (at 1.905 -1.950) (size 1.0 1.0) (drill 0.6) (layers "*.Cu" "*.Mask") (net 14 "S5") (uuid "fcbc4fd6-99db-4c24-8ac9-e9f56db86444"))
|
||||
)
|
||||
(gr_text "1" (at 104.095 135.25) (layer "F.SilkS") (uuid "f5c9593e-7259-4d40-9547-c3fa917499db") (effects (font (size 0.35 0.35) (thickness 0.0525))))
|
||||
(gr_text "8" (at 104.095 129.75) (layer "F.SilkS") (uuid "9c12d426-d109-4879-8f62-fa55ac473f6c") (effects (font (size 0.35 0.35) (thickness 0.0525))))
|
||||
(gr_text "2" (at 105.365 135.25) (layer "F.SilkS") (uuid "80f87ae1-198d-4372-9e7f-94238f2ca0b8") (effects (font (size 0.35 0.35) (thickness 0.0525))))
|
||||
(gr_text "7" (at 105.365 129.75) (layer "F.SilkS") (uuid "b567e07a-b5a7-4b34-83a4-5875666ab5a1") (effects (font (size 0.35 0.35) (thickness 0.0525))))
|
||||
(gr_text "3" (at 106.635 135.25) (layer "F.SilkS") (uuid "1c61d6e3-ba47-4305-89c9-436eef9a9b54") (effects (font (size 0.35 0.35) (thickness 0.0525))))
|
||||
(gr_text "6" (at 106.635 129.75) (layer "F.SilkS") (uuid "c1fcc1ba-1bd8-4e73-8262-9251a35ffc5c") (effects (font (size 0.35 0.35) (thickness 0.0525))))
|
||||
(gr_text "4" (at 107.905 135.25) (layer "F.SilkS") (uuid "81633807-bc28-4f41-a567-02907c6e5656") (effects (font (size 0.35 0.35) (thickness 0.0525))))
|
||||
(gr_text "5" (at 107.905 129.75) (layer "F.SilkS") (uuid "55462181-2c84-4bfa-8ca2-613eedb69ac4") (effects (font (size 0.35 0.35) (thickness 0.0525))))
|
||||
(gr_circle (center 103.495 134.95) (end 103.745 134.95) (layer "F.SilkS") (width 0.15) (fill solid) (uuid "4b74368f-179f-40bd-b0c4-1c6a2e65a838"))
|
||||
(gr_text "1" (at 104.595 136.650) (layer "F.SilkS") (uuid "4d1476db-ee68-4e0b-9e08-d4a273920de4") (effects (font (size 0.3 0.3) (thickness 0.080))))
|
||||
(gr_text "8" (at 104.595 131.350) (layer "F.SilkS") (uuid "52018866-9c48-40f7-b7e7-5fdd0e592704") (effects (font (size 0.3 0.3) (thickness 0.080))))
|
||||
(gr_text "2" (at 105.865 136.650) (layer "F.SilkS") (uuid "e2f9cc71-ad1f-40c0-a864-88aa307f1780") (effects (font (size 0.3 0.3) (thickness 0.080))))
|
||||
(gr_text "7" (at 105.865 131.350) (layer "F.SilkS") (uuid "819aa9b0-f2d7-4b9c-a70b-fb0079192465") (effects (font (size 0.3 0.3) (thickness 0.080))))
|
||||
(gr_text "3" (at 107.135 136.650) (layer "F.SilkS") (uuid "57194f12-e19b-4c4c-8b66-1f03f908c4e6") (effects (font (size 0.3 0.3) (thickness 0.080))))
|
||||
(gr_text "6" (at 107.135 131.350) (layer "F.SilkS") (uuid "8a059530-c396-41e1-8d70-47ff4277db88") (effects (font (size 0.3 0.3) (thickness 0.080))))
|
||||
(gr_text "4" (at 108.405 136.650) (layer "F.SilkS") (uuid "62a91cfa-52ac-4f30-81f0-69ac4ace680a") (effects (font (size 0.3 0.3) (thickness 0.080))))
|
||||
(gr_text "5" (at 108.405 131.350) (layer "F.SilkS") (uuid "3e364889-9ab4-48ab-a77b-1d878eb4b0b9") (effects (font (size 0.3 0.3) (thickness 0.080))))
|
||||
(gr_circle (center 104.095 136.450) (end 104.295 136.450) (layer "F.SilkS") (width 0.1) (fill solid) (uuid "97174ff1-068b-4d5b-82b6-5ac872da565b"))
|
||||
(gr_text "●1" (at 104.095 137.250) (layer "F.SilkS") (uuid "d0f33f1d-5655-45da-8910-dab6754cdf35") (effects (font (size 0.3 0.3) (thickness 0.080))))
|
||||
(gr_text "SOP-8 ●1→" (at 106.500 134.000) (layer "B.SilkS") (uuid "ac735036-ae6b-4610-92b6-cc5fb111887a") (effects (font (size 0.5 0.5) (thickness 0.080)) (justify mirror)))
|
||||
|
||||
(footprint "panel:SOP-8_JST" (layer "F.Cu")
|
||||
(at 106 129.05)
|
||||
(uuid "e98f9c1d-98b1-4684-8a3b-8ded8d0454b1")
|
||||
(fp_text reference "SOP-8_JST" (at 0 0) (layer "F.Fab") (uuid "1024358b-e61c-4657-b5f9-482448a2a8cc")
|
||||
(footprint "panel:SOP-8_FPC" (layer "F.Cu")
|
||||
(at 106.500 134.000)
|
||||
(uuid "3dad6b1d-9358-4cc3-ac58-82f1c58a2804")
|
||||
(fp_text reference "SOP-8_FPC" (at 0 0) (layer "F.Fab") (uuid "1e680e55-dad0-461a-b3eb-1a4fe213f66c")
|
||||
(effects (font (size 0.5 0.5) (thickness 0.08)) hide))
|
||||
(fp_text value "" (at 0 0) (layer "F.Fab") (uuid "b482a232-0071-4793-a66b-b8244ac0dfd7")
|
||||
(fp_text value "" (at 0 0) (layer "F.Fab") (uuid "23e95c73-5511-413b-83a3-e85bb9e2152a")
|
||||
(effects (font (size 0.5 0.5) (thickness 0.08)) hide))
|
||||
(pad "J1" smd rect (at -3.500 0.000) (size 0.6 1.0) (layers "F.Cu" "F.Paste" "F.Mask") (net 0 "") (uuid "7f4a8271-2243-4f28-a589-efa81177ed32"))
|
||||
(pad "J2" smd rect (at -2.500 0.000) (size 0.6 1.0) (layers "F.Cu" "F.Paste" "F.Mask") (net 0 "") (uuid "671447e7-c863-49e3-880d-4153c11d9ed4"))
|
||||
(pad "J3" smd rect (at -1.500 0.000) (size 0.6 1.0) (layers "F.Cu" "F.Paste" "F.Mask") (net 0 "") (uuid "f7d739a7-0996-49df-accc-1e980e86064a"))
|
||||
(pad "J4" smd rect (at -0.500 0.000) (size 0.6 1.0) (layers "F.Cu" "F.Paste" "F.Mask") (net 0 "") (uuid "5b438e3d-d561-44da-a542-434a7cb7e986"))
|
||||
(pad "J5" smd rect (at 0.500 0.000) (size 0.6 1.0) (layers "F.Cu" "F.Paste" "F.Mask") (net 0 "") (uuid "379acc48-9b28-4dcf-880b-ea34cbdbc194"))
|
||||
(pad "J6" smd rect (at 1.500 0.000) (size 0.6 1.0) (layers "F.Cu" "F.Paste" "F.Mask") (net 0 "") (uuid "eac7ffe5-08d0-4880-a0bf-9a65086e63d9"))
|
||||
(pad "J7" smd rect (at 2.500 0.000) (size 0.6 1.0) (layers "F.Cu" "F.Paste" "F.Mask") (net 0 "") (uuid "0414d2bc-e60a-49e3-a499-16dc1f3287c8"))
|
||||
(pad "J8" smd rect (at 3.500 0.000) (size 0.6 1.0) (layers "F.Cu" "F.Paste" "F.Mask") (net 0 "") (uuid "acb37cf8-1c43-4d18-9ab7-bf5dbef4393c"))
|
||||
(pad "F1" smd rect (at -2.250 0.000) (size 0.300 1.000) (layers "F.Cu" "F.Paste" "F.Mask") (net 10 "S1") (uuid "38559afc-7c70-4617-805a-91274340e041"))
|
||||
(pad "F2" smd rect (at -1.750 0.000) (size 0.300 1.000) (layers "F.Cu" "F.Paste" "F.Mask") (net 11 "S2") (uuid "147c5bcd-be57-4d50-885a-34322ffd14c2"))
|
||||
(pad "F3" smd rect (at -1.250 0.000) (size 0.300 1.000) (layers "F.Cu" "F.Paste" "F.Mask") (net 12 "S3") (uuid "53cf8a80-96f5-44e5-abd1-11ecafdd614a"))
|
||||
(pad "F4" smd rect (at -0.750 0.000) (size 0.300 1.000) (layers "F.Cu" "F.Paste" "F.Mask") (net 13 "S4") (uuid "c770c45d-d862-4e7e-b1ea-c8b4ef1abd91"))
|
||||
(pad "F5" smd rect (at -0.250 0.000) (size 0.300 1.000) (layers "F.Cu" "F.Paste" "F.Mask") (net 14 "S5") (uuid "be84ab5c-4222-40f7-a3a7-31283ee8bde9"))
|
||||
(pad "F6" smd rect (at 0.250 0.000) (size 0.300 1.000) (layers "F.Cu" "F.Paste" "F.Mask") (net 15 "S6") (uuid "ff8e54c9-95c0-4f37-9a99-9a48bbc51cc8"))
|
||||
(pad "F7" smd rect (at 0.750 0.000) (size 0.300 1.000) (layers "F.Cu" "F.Paste" "F.Mask") (net 16 "S7") (uuid "546ad7c7-0baf-40e2-9f87-6a7745fc11c2"))
|
||||
(pad "F8" smd rect (at 1.250 0.000) (size 0.300 1.000) (layers "F.Cu" "F.Paste" "F.Mask") (net 17 "S8") (uuid "f7015feb-900c-423c-a6a2-8ae7a5d6fa3e"))
|
||||
(pad "F9" smd rect (at 1.750 0.000) (size 0.300 1.000) (layers "F.Cu" "F.Paste" "F.Mask") (net 1 "GND") (uuid "ef98022a-359f-4fe2-b212-5df918c9f07b"))
|
||||
(pad "F10" smd rect (at 2.250 0.000) (size 0.300 1.000) (layers "F.Cu" "F.Paste" "F.Mask") (net 2 "VBAT") (uuid "8ab83d95-5a3b-4bdd-a4b3-9fd0ab8f0aa6"))
|
||||
(pad "SA" smd rect (at -3.750 1.500) (size 1.200 0.800) (layers "F.Cu" "F.Paste" "F.Mask") (net 0 "") (uuid "605581d3-b6b6-43c9-9b42-c9bf5be3d496"))
|
||||
(pad "SB" smd rect (at 3.750 1.500) (size 1.200 0.800) (layers "F.Cu" "F.Paste" "F.Mask") (net 0 "") (uuid "df35960c-79c1-4d08-9e83-e3e8bf37b583"))
|
||||
)
|
||||
(gr_text "JST" (at 106 127.55000000000001) (layer "F.SilkS") (uuid "7fa426dc-36e1-4889-8e8c-927910eeb31a") (effects (font (size 0.35 0.35) (thickness 0.0525))))
|
||||
(gr_circle (center 101.7 129.05) (end 101.9 129.05) (layer "F.SilkS") (width 0.15) (fill solid) (uuid "fece2278-867a-421f-a49d-78a23eca6b39"))
|
||||
(gr_line (start 114.555 126.5) (end 125.44500000000001 126.5) (layer "Edge.Cuts") (width 0.1) (uuid "2fc6e446-43a3-405a-a030-10f6e05f5310"))
|
||||
(gr_line (start 125.44500000000001 126.5) (end 125.44500000000001 135.5) (layer "Edge.Cuts") (width 0.1) (uuid "b924be81-09cb-4afa-b7cd-ba218190706f"))
|
||||
(gr_line (start 125.44500000000001 135.5) (end 114.555 135.5) (layer "Edge.Cuts") (width 0.1) (uuid "36c5db66-cf81-4c2f-b7c4-0c0a89a59d87"))
|
||||
(gr_line (start 114.555 135.5) (end 114.555 126.5) (layer "Edge.Cuts") (width 0.1) (uuid "b47949f9-1b7f-430b-bfb0-f9f4a17a28ec"))
|
||||
(gr_text "SOP-16N" (at 120 125.5) (layer "F.SilkS") (uuid "fe5e0f87-c3ec-44c3-9bdb-2943579813c4") (effects (font (size 0.6 0.6) (thickness 0.09) bold)))
|
||||
(gr_text "FPC" (at 106.500 132.200) (layer "F.SilkS") (uuid "d8523f7a-d337-4251-9764-b43c43afa08b") (effects (font (size 0.35 0.35) (thickness 0.080))))
|
||||
(gr_circle (center 103.650 134.000) (end 103.800 134.000) (layer "F.SilkS") (width 0.1) (fill solid) (uuid "9e6c0818-e3e5-4e00-a639-9c2f3edd8185"))
|
||||
(gr_line (start 115.055 131.000) (end 126.945 131.000) (layer "Edge.Cuts") (width 0.1) (uuid "278bea3d-fc54-47d1-8ced-327a716b464c"))
|
||||
(gr_line (start 126.945 131.000) (end 126.945 137.000) (layer "Edge.Cuts") (width 0.1) (uuid "6b756ef1-0a91-4f02-8b4c-fb525bd364dd"))
|
||||
(gr_line (start 126.945 137.000) (end 115.055 137.000) (layer "Edge.Cuts") (width 0.1) (uuid "3123ee0d-079a-4ded-b59f-1ef2174dcc8f"))
|
||||
(gr_line (start 115.055 137.000) (end 115.055 131.000) (layer "Edge.Cuts") (width 0.1) (uuid "fbe1d789-50b3-4764-9f8f-c38d1cae5222"))
|
||||
(gr_text "SOP-16N" (at 121.000 134.000) (layer "F.SilkS") (uuid "e0f52eb7-7282-4579-9095-232aefd08e8f") (effects (font (size 0.6 0.6) (thickness 0.080))))
|
||||
|
||||
(footprint "panel:SOP-16N_pads" (layer "B.Cu")
|
||||
(at 120 132.5)
|
||||
(uuid "3701fa1b-825b-4648-bb67-5661713c49b3")
|
||||
(fp_text reference "SOP-16N_pads" (at 0 0) (layer "B.Fab") (uuid "fa9d17ce-47e3-4163-8bbb-ef21c48e8a5b")
|
||||
(footprint "panel:SOP-16N_cast" (layer "B.Cu")
|
||||
(at 121.000 134.000)
|
||||
(uuid "63a9c132-87a0-471b-8398-9b33799cea4c")
|
||||
(fp_text reference "SOP-16N_cast" (at 0 0) (layer "B.Fab") (uuid "8bd9b964-5325-4a22-a5c7-3cecff8bb689")
|
||||
(effects (font (size 0.5 0.5) (thickness 0.08)) hide))
|
||||
(fp_text value "" (at 0 0) (layer "B.Fab") (uuid "31bd2f24-ffb9-4929-8e62-b567ca5fa457")
|
||||
(fp_text value "" (at 0 0) (layer "B.Fab") (uuid "d5510553-a0dc-42dc-b640-acc6fe82d989")
|
||||
(effects (font (size 0.5 0.5) (thickness 0.08)) hide))
|
||||
(pad "1" thru_hole circle (at -4.445 3.000) (size 1.0 1.0) (drill 0.6) (layers "*.Cu" "*.Mask") (net 0 "") (uuid "96894655-c1fd-4926-95e1-720467b1d1db"))
|
||||
(pad "16" thru_hole circle (at -4.445 -3.000) (size 1.0 1.0) (drill 0.6) (layers "*.Cu" "*.Mask") (net 0 "") (uuid "f24a95ec-fb94-441c-af60-354b16c413b4"))
|
||||
(pad "2" thru_hole circle (at -3.175 3.000) (size 1.0 1.0) (drill 0.6) (layers "*.Cu" "*.Mask") (net 0 "") (uuid "f617f3fe-ed62-4736-b8b7-ffc7e30e4c77"))
|
||||
(pad "15" thru_hole circle (at -3.175 -3.000) (size 1.0 1.0) (drill 0.6) (layers "*.Cu" "*.Mask") (net 0 "") (uuid "ffb8c150-9b59-44d2-8de6-ea9761fab4a1"))
|
||||
(pad "3" thru_hole circle (at -1.905 3.000) (size 1.0 1.0) (drill 0.6) (layers "*.Cu" "*.Mask") (net 0 "") (uuid "eca590f6-c2d0-4081-8a03-b9732a4cde1c"))
|
||||
(pad "14" thru_hole circle (at -1.905 -3.000) (size 1.0 1.0) (drill 0.6) (layers "*.Cu" "*.Mask") (net 0 "") (uuid "2bb228b2-3315-41bb-8a55-7f1a67adac95"))
|
||||
(pad "4" thru_hole circle (at -0.635 3.000) (size 1.0 1.0) (drill 0.6) (layers "*.Cu" "*.Mask") (net 0 "") (uuid "ac0baa4b-7af9-4749-88dc-ab7009d200b2"))
|
||||
(pad "13" thru_hole circle (at -0.635 -3.000) (size 1.0 1.0) (drill 0.6) (layers "*.Cu" "*.Mask") (net 0 "") (uuid "b8e3c538-e5bc-4a47-822c-1f8333c82a28"))
|
||||
(pad "5" thru_hole circle (at 0.635 3.000) (size 1.0 1.0) (drill 0.6) (layers "*.Cu" "*.Mask") (net 0 "") (uuid "0e3a6f08-8df6-4b07-b647-b5c2ac8ff96e"))
|
||||
(pad "12" thru_hole circle (at 0.635 -3.000) (size 1.0 1.0) (drill 0.6) (layers "*.Cu" "*.Mask") (net 0 "") (uuid "61698711-bd67-4626-9590-ddd735effbd7"))
|
||||
(pad "6" thru_hole circle (at 1.905 3.000) (size 1.0 1.0) (drill 0.6) (layers "*.Cu" "*.Mask") (net 0 "") (uuid "38d4335c-662f-4be5-9fbf-53ee1084c374"))
|
||||
(pad "11" thru_hole circle (at 1.905 -3.000) (size 1.0 1.0) (drill 0.6) (layers "*.Cu" "*.Mask") (net 0 "") (uuid "b8e01f00-14d1-4280-bb10-1682af9b6a1b"))
|
||||
(pad "7" thru_hole circle (at 3.175 3.000) (size 1.0 1.0) (drill 0.6) (layers "*.Cu" "*.Mask") (net 0 "") (uuid "9fa33513-28db-41b0-b412-d76ce27b9e18"))
|
||||
(pad "10" thru_hole circle (at 3.175 -3.000) (size 1.0 1.0) (drill 0.6) (layers "*.Cu" "*.Mask") (net 0 "") (uuid "4a533dd2-9097-4ef2-afad-921cfb7e3983"))
|
||||
(pad "8" thru_hole circle (at 4.445 3.000) (size 1.0 1.0) (drill 0.6) (layers "*.Cu" "*.Mask") (net 0 "") (uuid "85330de0-c53d-4800-9578-0cc3dafb2e3f"))
|
||||
(pad "9" thru_hole circle (at 4.445 -3.000) (size 1.0 1.0) (drill 0.6) (layers "*.Cu" "*.Mask") (net 0 "") (uuid "93c0d157-1a13-4732-997c-4469b9eb4ffa"))
|
||||
(pad "1" thru_hole circle (at -4.445 3.000) (size 1.0 1.0) (drill 0.6) (layers "*.Cu" "*.Mask") (net 10 "S1") (uuid "de25202a-0f4b-4f7b-9b73-97e035153c33"))
|
||||
(pad "16" thru_hole circle (at -4.445 -3.000) (size 1.0 1.0) (drill 0.6) (layers "*.Cu" "*.Mask") (net 25 "S16") (uuid "0b62ef46-ff73-4621-8ff7-ec3ff2dba80b"))
|
||||
(pad "2" thru_hole circle (at -3.175 3.000) (size 1.0 1.0) (drill 0.6) (layers "*.Cu" "*.Mask") (net 11 "S2") (uuid "369eea38-5703-43c2-b1ef-40c9369089bc"))
|
||||
(pad "15" thru_hole circle (at -3.175 -3.000) (size 1.0 1.0) (drill 0.6) (layers "*.Cu" "*.Mask") (net 24 "S15") (uuid "2c6f5a7d-5516-4a78-abbf-5373f4d04169"))
|
||||
(pad "3" thru_hole circle (at -1.905 3.000) (size 1.0 1.0) (drill 0.6) (layers "*.Cu" "*.Mask") (net 12 "S3") (uuid "7a5fada2-9023-4d4e-8276-14e77ec74bd1"))
|
||||
(pad "14" thru_hole circle (at -1.905 -3.000) (size 1.0 1.0) (drill 0.6) (layers "*.Cu" "*.Mask") (net 23 "S14") (uuid "629acbd3-a15a-4b66-8d96-4b13ef86f732"))
|
||||
(pad "4" thru_hole circle (at -0.635 3.000) (size 1.0 1.0) (drill 0.6) (layers "*.Cu" "*.Mask") (net 13 "S4") (uuid "69b92902-85e6-43ef-963b-8a83a6e99108"))
|
||||
(pad "13" thru_hole circle (at -0.635 -3.000) (size 1.0 1.0) (drill 0.6) (layers "*.Cu" "*.Mask") (net 22 "S13") (uuid "efdd3233-a26a-4941-83e3-ea736ac2087b"))
|
||||
(pad "5" thru_hole circle (at 0.635 3.000) (size 1.0 1.0) (drill 0.6) (layers "*.Cu" "*.Mask") (net 14 "S5") (uuid "b31cc215-de29-41a6-be18-5801d8cb0b68"))
|
||||
(pad "12" thru_hole circle (at 0.635 -3.000) (size 1.0 1.0) (drill 0.6) (layers "*.Cu" "*.Mask") (net 21 "S12") (uuid "f8449e7e-881c-4476-b784-1df7da95acae"))
|
||||
(pad "6" thru_hole circle (at 1.905 3.000) (size 1.0 1.0) (drill 0.6) (layers "*.Cu" "*.Mask") (net 15 "S6") (uuid "b37926b4-9547-4f90-bb69-5be24f954dca"))
|
||||
(pad "11" thru_hole circle (at 1.905 -3.000) (size 1.0 1.0) (drill 0.6) (layers "*.Cu" "*.Mask") (net 20 "S11") (uuid "7846e631-5ac4-4d85-be2a-f9a7314b5beb"))
|
||||
(pad "7" thru_hole circle (at 3.175 3.000) (size 1.0 1.0) (drill 0.6) (layers "*.Cu" "*.Mask") (net 16 "S7") (uuid "5a158927-c1d4-4794-8d5c-f6c10469b84f"))
|
||||
(pad "10" thru_hole circle (at 3.175 -3.000) (size 1.0 1.0) (drill 0.6) (layers "*.Cu" "*.Mask") (net 19 "S10") (uuid "f1598ad1-7c80-4052-97a6-dd1a86f1d28b"))
|
||||
(pad "8" thru_hole circle (at 4.445 3.000) (size 1.0 1.0) (drill 0.6) (layers "*.Cu" "*.Mask") (net 17 "S8") (uuid "9cddec30-5010-4a9e-98ac-3aee52581bb9"))
|
||||
(pad "9" thru_hole circle (at 4.445 -3.000) (size 1.0 1.0) (drill 0.6) (layers "*.Cu" "*.Mask") (net 18 "S9") (uuid "30c995c0-e685-4468-ac69-76f89e09f5cb"))
|
||||
)
|
||||
(gr_text "1" (at 115.555 136.3) (layer "F.SilkS") (uuid "5875da56-cd75-453c-99b1-d99292331ce7") (effects (font (size 0.35 0.35) (thickness 0.0525))))
|
||||
(gr_text "16" (at 115.555 128.7) (layer "F.SilkS") (uuid "05383887-6c29-421f-b812-5af47aeb8af4") (effects (font (size 0.35 0.35) (thickness 0.0525))))
|
||||
(gr_text "2" (at 116.825 136.3) (layer "F.SilkS") (uuid "58407aeb-0041-4ff3-bc69-3d05922b6680") (effects (font (size 0.35 0.35) (thickness 0.0525))))
|
||||
(gr_text "15" (at 116.825 128.7) (layer "F.SilkS") (uuid "2cec8f90-d7fb-497e-80fa-0528ae2e7f4c") (effects (font (size 0.35 0.35) (thickness 0.0525))))
|
||||
(gr_text "3" (at 118.09500000000001 136.3) (layer "F.SilkS") (uuid "3c345293-b744-436e-baca-e390c07ec531") (effects (font (size 0.35 0.35) (thickness 0.0525))))
|
||||
(gr_text "14" (at 118.09500000000001 128.7) (layer "F.SilkS") (uuid "ddf9ffdf-da47-44a8-96e8-016d1b8e39d0") (effects (font (size 0.35 0.35) (thickness 0.0525))))
|
||||
(gr_text "4" (at 119.36500000000001 136.3) (layer "F.SilkS") (uuid "1ba584bd-a85f-436e-93c0-f14382e4f112") (effects (font (size 0.35 0.35) (thickness 0.0525))))
|
||||
(gr_text "13" (at 119.36500000000001 128.7) (layer "F.SilkS") (uuid "b43e5efc-f5cd-4fa0-975b-3a5c455bf433") (effects (font (size 0.35 0.35) (thickness 0.0525))))
|
||||
(gr_text "5" (at 120.635 136.3) (layer "F.SilkS") (uuid "638812b1-cf4a-43d5-882c-65ebf45d50a8") (effects (font (size 0.35 0.35) (thickness 0.0525))))
|
||||
(gr_text "12" (at 120.635 128.7) (layer "F.SilkS") (uuid "5ed17165-92a2-4292-924b-4a996778b40e") (effects (font (size 0.35 0.35) (thickness 0.0525))))
|
||||
(gr_text "6" (at 121.905 136.3) (layer "F.SilkS") (uuid "c61c18a6-703d-442b-b5b1-6b2cc330178d") (effects (font (size 0.35 0.35) (thickness 0.0525))))
|
||||
(gr_text "11" (at 121.905 128.7) (layer "F.SilkS") (uuid "612d5b34-c3aa-43d7-b5c6-bc3bcd5edf85") (effects (font (size 0.35 0.35) (thickness 0.0525))))
|
||||
(gr_text "7" (at 123.17500000000001 136.3) (layer "F.SilkS") (uuid "8c73cee8-e49b-4516-b1b2-d5b458c65ed3") (effects (font (size 0.35 0.35) (thickness 0.0525))))
|
||||
(gr_text "10" (at 123.17500000000001 128.7) (layer "F.SilkS") (uuid "81415c0e-b422-417b-891c-9b265f3a9490") (effects (font (size 0.35 0.35) (thickness 0.0525))))
|
||||
(gr_text "8" (at 124.44500000000001 136.3) (layer "F.SilkS") (uuid "4643670c-3e2e-4898-93fa-f94089b8bc70") (effects (font (size 0.35 0.35) (thickness 0.0525))))
|
||||
(gr_text "9" (at 124.44500000000001 128.7) (layer "F.SilkS") (uuid "3f211df8-900b-4182-9056-dafbab78e44c") (effects (font (size 0.35 0.35) (thickness 0.0525))))
|
||||
(gr_circle (center 114.95500000000001 136.0) (end 115.20500000000001 136.0) (layer "F.SilkS") (width 0.15) (fill solid) (uuid "ae452f51-64f3-492c-800f-0a92aae3f25a"))
|
||||
(gr_text "1" (at 116.555 137.700) (layer "F.SilkS") (uuid "861255cc-92e3-4c96-b0db-972a8710ec3d") (effects (font (size 0.3 0.3) (thickness 0.080))))
|
||||
(gr_text "16" (at 116.555 130.300) (layer "F.SilkS") (uuid "0e4ef0cf-a2c7-423b-805f-de6ffcd9f267") (effects (font (size 0.3 0.3) (thickness 0.080))))
|
||||
(gr_text "2" (at 117.825 137.700) (layer "F.SilkS") (uuid "22d4ec78-a50f-4388-96ef-a207c0a58414") (effects (font (size 0.3 0.3) (thickness 0.080))))
|
||||
(gr_text "15" (at 117.825 130.300) (layer "F.SilkS") (uuid "ef78018b-037e-4f76-ba7a-45d5add286b9") (effects (font (size 0.3 0.3) (thickness 0.080))))
|
||||
(gr_text "3" (at 119.095 137.700) (layer "F.SilkS") (uuid "9bbad598-2f86-4b65-bf7e-64302411428b") (effects (font (size 0.3 0.3) (thickness 0.080))))
|
||||
(gr_text "14" (at 119.095 130.300) (layer "F.SilkS") (uuid "e7dbf952-de95-47cc-b419-cf2e47830265") (effects (font (size 0.3 0.3) (thickness 0.080))))
|
||||
(gr_text "4" (at 120.365 137.700) (layer "F.SilkS") (uuid "beb5fdc3-67e1-43fe-89f8-d0530b801154") (effects (font (size 0.3 0.3) (thickness 0.080))))
|
||||
(gr_text "13" (at 120.365 130.300) (layer "F.SilkS") (uuid "f8550647-8a68-4391-8c52-510da97112ee") (effects (font (size 0.3 0.3) (thickness 0.080))))
|
||||
(gr_text "5" (at 121.635 137.700) (layer "F.SilkS") (uuid "cabc9c30-5616-41f8-90ab-8ead0c566664") (effects (font (size 0.3 0.3) (thickness 0.080))))
|
||||
(gr_text "12" (at 121.635 130.300) (layer "F.SilkS") (uuid "96123fc0-6fbd-40d5-937d-8fe24c727f5c") (effects (font (size 0.3 0.3) (thickness 0.080))))
|
||||
(gr_text "6" (at 122.905 137.700) (layer "F.SilkS") (uuid "280e8d2b-d3ab-4379-abad-ffe3fce84cdc") (effects (font (size 0.3 0.3) (thickness 0.080))))
|
||||
(gr_text "11" (at 122.905 130.300) (layer "F.SilkS") (uuid "18759563-886c-4a36-860b-9678bfe74593") (effects (font (size 0.3 0.3) (thickness 0.080))))
|
||||
(gr_text "7" (at 124.175 137.700) (layer "F.SilkS") (uuid "3665623e-544a-46ba-95f8-a6bc45cba4ca") (effects (font (size 0.3 0.3) (thickness 0.080))))
|
||||
(gr_text "10" (at 124.175 130.300) (layer "F.SilkS") (uuid "e6e0fac5-49f7-4ee4-abba-67b11f4b4e95") (effects (font (size 0.3 0.3) (thickness 0.080))))
|
||||
(gr_text "8" (at 125.445 137.700) (layer "F.SilkS") (uuid "a5c0cc95-a0b6-4332-9c29-0c542602f42a") (effects (font (size 0.3 0.3) (thickness 0.080))))
|
||||
(gr_text "9" (at 125.445 130.300) (layer "F.SilkS") (uuid "75f820d9-7ff4-43cf-bdc2-d4e0c478675c") (effects (font (size 0.3 0.3) (thickness 0.080))))
|
||||
(gr_circle (center 116.055 137.500) (end 116.255 137.500) (layer "F.SilkS") (width 0.1) (fill solid) (uuid "507b13c4-cf63-48f5-91a3-dd9ad8a64909"))
|
||||
(gr_text "●1" (at 116.055 138.300) (layer "F.SilkS") (uuid "c0b75fc3-1a01-4266-9de1-e238d54be244") (effects (font (size 0.3 0.3) (thickness 0.080))))
|
||||
(gr_text "SOP-16N ●1→" (at 121.000 134.000) (layer "B.SilkS") (uuid "51a0fff5-be82-46bc-b9c4-dee3cf88dd4d") (effects (font (size 0.5 0.5) (thickness 0.080)) (justify mirror)))
|
||||
|
||||
(footprint "panel:SOP-16N_JST" (layer "F.Cu")
|
||||
(at 120 128.0)
|
||||
(uuid "2b8602d1-de42-4302-8ea1-29bc923063a5")
|
||||
(fp_text reference "SOP-16N_JST" (at 0 0) (layer "F.Fab") (uuid "2f071088-2901-4294-850e-43ec54f05465")
|
||||
(footprint "panel:SOP-16N_FPC" (layer "F.Cu")
|
||||
(at 121.000 134.000)
|
||||
(uuid "ae74481d-2f56-49a1-8f27-a926411ea186")
|
||||
(fp_text reference "SOP-16N_FPC" (at 0 0) (layer "F.Fab") (uuid "b30597ce-ea92-4731-ab3f-c4a67e4da731")
|
||||
(effects (font (size 0.5 0.5) (thickness 0.08)) hide))
|
||||
(fp_text value "" (at 0 0) (layer "F.Fab") (uuid "cfe264e6-6db0-4df7-b0ee-fd08effe36a3")
|
||||
(fp_text value "" (at 0 0) (layer "F.Fab") (uuid "0212948b-b15d-4aa6-bf09-fc15310b842b")
|
||||
(effects (font (size 0.5 0.5) (thickness 0.08)) hide))
|
||||
(pad "J1" smd rect (at -4.500 0.000) (size 0.6 1.0) (layers "F.Cu" "F.Paste" "F.Mask") (net 0 "") (uuid "2fc2338d-5959-41d5-9e87-4249c11d83b0"))
|
||||
(pad "J2" smd rect (at -3.500 0.000) (size 0.6 1.0) (layers "F.Cu" "F.Paste" "F.Mask") (net 0 "") (uuid "174d4da3-c824-49a7-9289-2a4bafb40c61"))
|
||||
(pad "J3" smd rect (at -2.500 0.000) (size 0.6 1.0) (layers "F.Cu" "F.Paste" "F.Mask") (net 0 "") (uuid "08f931bf-579d-4e3d-bb8a-a6098144ae7f"))
|
||||
(pad "J4" smd rect (at -1.500 0.000) (size 0.6 1.0) (layers "F.Cu" "F.Paste" "F.Mask") (net 0 "") (uuid "68b1fdc4-e36c-4465-8f13-0607f1033394"))
|
||||
(pad "J5" smd rect (at -0.500 0.000) (size 0.6 1.0) (layers "F.Cu" "F.Paste" "F.Mask") (net 0 "") (uuid "2e06c2a5-df6d-4454-bf8a-fa56768057da"))
|
||||
(pad "J6" smd rect (at 0.500 0.000) (size 0.6 1.0) (layers "F.Cu" "F.Paste" "F.Mask") (net 0 "") (uuid "2a0a15c9-cafb-43cc-be75-43a66b0addd0"))
|
||||
(pad "J7" smd rect (at 1.500 0.000) (size 0.6 1.0) (layers "F.Cu" "F.Paste" "F.Mask") (net 0 "") (uuid "f8733fb3-787d-4024-8852-abe90145d2e2"))
|
||||
(pad "J8" smd rect (at 2.500 0.000) (size 0.6 1.0) (layers "F.Cu" "F.Paste" "F.Mask") (net 0 "") (uuid "cd9cac1b-2505-4223-ba93-11ace821e5ad"))
|
||||
(pad "J9" smd rect (at 3.500 0.000) (size 0.6 1.0) (layers "F.Cu" "F.Paste" "F.Mask") (net 0 "") (uuid "248f8301-96c2-4e99-9d41-86b8ba211321"))
|
||||
(pad "J10" smd rect (at 4.500 0.000) (size 0.6 1.0) (layers "F.Cu" "F.Paste" "F.Mask") (net 0 "") (uuid "556be4a5-a310-44b4-88c4-a8a0729e0d1f"))
|
||||
(pad "F1" smd rect (at -4.750 0.000) (size 0.300 1.000) (layers "F.Cu" "F.Paste" "F.Mask") (net 10 "S1") (uuid "6848f536-3f15-4874-81cd-ee627c008269"))
|
||||
(pad "F2" smd rect (at -4.250 0.000) (size 0.300 1.000) (layers "F.Cu" "F.Paste" "F.Mask") (net 11 "S2") (uuid "81fb8224-31be-403d-923e-024cd32561cc"))
|
||||
(pad "F3" smd rect (at -3.750 0.000) (size 0.300 1.000) (layers "F.Cu" "F.Paste" "F.Mask") (net 12 "S3") (uuid "2796dc95-3f16-4100-b52c-92c4ac906d3f"))
|
||||
(pad "F4" smd rect (at -3.250 0.000) (size 0.300 1.000) (layers "F.Cu" "F.Paste" "F.Mask") (net 13 "S4") (uuid "3f766e02-4a7e-4428-a83d-2e06642f7ae6"))
|
||||
(pad "F5" smd rect (at -2.750 0.000) (size 0.300 1.000) (layers "F.Cu" "F.Paste" "F.Mask") (net 14 "S5") (uuid "e9cbd5db-efc1-4b63-a729-797be1dbbfb9"))
|
||||
(pad "F6" smd rect (at -2.250 0.000) (size 0.300 1.000) (layers "F.Cu" "F.Paste" "F.Mask") (net 15 "S6") (uuid "69816290-ddc2-42b1-9af8-e71fd8ca8c72"))
|
||||
(pad "F7" smd rect (at -1.750 0.000) (size 0.300 1.000) (layers "F.Cu" "F.Paste" "F.Mask") (net 16 "S7") (uuid "78f01e2e-e0cc-4469-8922-b5dcdcd597f5"))
|
||||
(pad "F8" smd rect (at -1.250 0.000) (size 0.300 1.000) (layers "F.Cu" "F.Paste" "F.Mask") (net 17 "S8") (uuid "93d8934a-283d-4d71-a8e8-09d43810a953"))
|
||||
(pad "F9" smd rect (at -0.750 0.000) (size 0.300 1.000) (layers "F.Cu" "F.Paste" "F.Mask") (net 18 "S9") (uuid "ca8a122d-e1a2-495c-a51b-3e97a9af9513"))
|
||||
(pad "F10" smd rect (at -0.250 0.000) (size 0.300 1.000) (layers "F.Cu" "F.Paste" "F.Mask") (net 19 "S10") (uuid "4d8e31d4-788c-4e42-beb0-e9a37a23f85b"))
|
||||
(pad "F11" smd rect (at 0.250 0.000) (size 0.300 1.000) (layers "F.Cu" "F.Paste" "F.Mask") (net 20 "S11") (uuid "bd63a3a5-0eeb-433e-8257-b50cd07b5172"))
|
||||
(pad "F12" smd rect (at 0.750 0.000) (size 0.300 1.000) (layers "F.Cu" "F.Paste" "F.Mask") (net 21 "S12") (uuid "32e6090c-7faa-4808-9aff-079d9ebba9f7"))
|
||||
(pad "F13" smd rect (at 1.250 0.000) (size 0.300 1.000) (layers "F.Cu" "F.Paste" "F.Mask") (net 22 "S13") (uuid "b4fa6767-5a92-49b6-bc03-e75491fc8c90"))
|
||||
(pad "F14" smd rect (at 1.750 0.000) (size 0.300 1.000) (layers "F.Cu" "F.Paste" "F.Mask") (net 23 "S14") (uuid "e6df1ce7-ebed-46ca-91ea-96d7da4e1db1"))
|
||||
(pad "F15" smd rect (at 2.250 0.000) (size 0.300 1.000) (layers "F.Cu" "F.Paste" "F.Mask") (net 24 "S15") (uuid "f12fd116-36fa-4ef7-904b-2a45a879c8ec"))
|
||||
(pad "F16" smd rect (at 2.750 0.000) (size 0.300 1.000) (layers "F.Cu" "F.Paste" "F.Mask") (net 25 "S16") (uuid "145a463b-34e7-4992-8e32-26ad922eef42"))
|
||||
(pad "F17" smd rect (at 3.250 0.000) (size 0.300 1.000) (layers "F.Cu" "F.Paste" "F.Mask") (net 0 "") (uuid "7eb4c597-28b9-4cdd-ae44-ec068e750df4"))
|
||||
(pad "F18" smd rect (at 3.750 0.000) (size 0.300 1.000) (layers "F.Cu" "F.Paste" "F.Mask") (net 0 "") (uuid "a48b4d56-cec4-42ea-8715-4343536f6520"))
|
||||
(pad "F19" smd rect (at 4.250 0.000) (size 0.300 1.000) (layers "F.Cu" "F.Paste" "F.Mask") (net 1 "GND") (uuid "6f125c32-ae8c-4334-8a38-915d07b4125b"))
|
||||
(pad "F20" smd rect (at 4.750 0.000) (size 0.300 1.000) (layers "F.Cu" "F.Paste" "F.Mask") (net 2 "VBAT") (uuid "af4c0452-c4b9-49cd-8270-df566bbf77e5"))
|
||||
(pad "SA" smd rect (at -6.250 1.500) (size 1.200 0.800) (layers "F.Cu" "F.Paste" "F.Mask") (net 0 "") (uuid "9de6e6ba-362f-4860-a44e-7e34486d26be"))
|
||||
(pad "SB" smd rect (at 6.250 1.500) (size 1.200 0.800) (layers "F.Cu" "F.Paste" "F.Mask") (net 0 "") (uuid "6414e199-3e57-4f5d-bba4-b5a40acdaefc"))
|
||||
)
|
||||
(gr_text "JST" (at 120 126.5) (layer "F.SilkS") (uuid "2c02c675-43b7-4b85-86c0-a10cc14fcc7a") (effects (font (size 0.35 0.35) (thickness 0.0525))))
|
||||
(gr_circle (center 114.7 128.0) (end 114.9 128.0) (layer "F.SilkS") (width 0.15) (fill solid) (uuid "f09b75e7-7351-43cd-8a0e-b9e9d795466a"))
|
||||
(gr_line (start 131.555 124.35) (end 142.445 124.35) (layer "Edge.Cuts") (width 0.1) (uuid "4c7738b5-0870-478d-9fa0-2f96294e88d7"))
|
||||
(gr_line (start 142.445 124.35) (end 142.445 137.65) (layer "Edge.Cuts") (width 0.1) (uuid "378b3434-232b-4372-899d-ec56bb14c57a"))
|
||||
(gr_line (start 142.445 137.65) (end 131.555 137.65) (layer "Edge.Cuts") (width 0.1) (uuid "60769822-3a55-41ba-af35-1c3058e26ba6"))
|
||||
(gr_line (start 131.555 137.65) (end 131.555 124.35) (layer "Edge.Cuts") (width 0.1) (uuid "6284e709-5244-43f8-a2f5-660046cfbd85"))
|
||||
(gr_text "SOP-16W" (at 137 123.35) (layer "F.SilkS") (uuid "b3ed8f8b-4c73-41b1-99a1-da1b41dd4dd5") (effects (font (size 0.6 0.6) (thickness 0.09) bold)))
|
||||
(gr_text "FPC" (at 121.000 132.200) (layer "F.SilkS") (uuid "943d37c1-f507-48e5-8177-c2ebf5f5a780") (effects (font (size 0.35 0.35) (thickness 0.080))))
|
||||
(gr_circle (center 115.650 134.000) (end 115.800 134.000) (layer "F.SilkS") (width 0.1) (fill solid) (uuid "053a0376-4a1e-4705-b71b-cc4c63126042"))
|
||||
(gr_line (start 131.055 128.850) (end 142.945 128.850) (layer "Edge.Cuts") (width 0.1) (uuid "3245e263-e9ff-4d71-bdfb-9acc132ce614"))
|
||||
(gr_line (start 142.945 128.850) (end 142.945 139.150) (layer "Edge.Cuts") (width 0.1) (uuid "11ad8e29-3b20-4828-95cc-13e98813d5e3"))
|
||||
(gr_line (start 142.945 139.150) (end 131.055 139.150) (layer "Edge.Cuts") (width 0.1) (uuid "f5a4c984-26e9-4937-92b1-ea733f952833"))
|
||||
(gr_line (start 131.055 139.150) (end 131.055 128.850) (layer "Edge.Cuts") (width 0.1) (uuid "b8de84fe-6c42-4d66-abc7-46eb7ccab318"))
|
||||
(gr_text "SOP-16W" (at 137.000 134.000) (layer "F.SilkS") (uuid "d4af9f08-ad58-4094-9ae5-5250505e1bf3") (effects (font (size 0.6 0.6) (thickness 0.080))))
|
||||
|
||||
(footprint "panel:SOP-16W_pads" (layer "B.Cu")
|
||||
(at 137 132.5)
|
||||
(uuid "9c71ac82-8fc0-478d-9d35-73f765bda15d")
|
||||
(fp_text reference "SOP-16W_pads" (at 0 0) (layer "B.Fab") (uuid "8cea900b-c79a-43fe-844a-148f69cb95b6")
|
||||
(footprint "panel:SOP-16W_cast" (layer "B.Cu")
|
||||
(at 137.000 134.000)
|
||||
(uuid "03adeb81-8fd2-4f41-b6ec-9a19c25be013")
|
||||
(fp_text reference "SOP-16W_cast" (at 0 0) (layer "B.Fab") (uuid "a063439b-bfd8-432a-8bab-34fdb81a51e1")
|
||||
(effects (font (size 0.5 0.5) (thickness 0.08)) hide))
|
||||
(fp_text value "" (at 0 0) (layer "B.Fab") (uuid "ae30beaa-083f-4fb7-bdec-79c9dc2cc012")
|
||||
(fp_text value "" (at 0 0) (layer "B.Fab") (uuid "8c828d50-7aea-4415-9738-1eaed69c83ac")
|
||||
(effects (font (size 0.5 0.5) (thickness 0.08)) hide))
|
||||
(pad "1" thru_hole circle (at -4.445 5.150) (size 1.0 1.0) (drill 0.6) (layers "*.Cu" "*.Mask") (net 0 "") (uuid "d0432d6f-61ac-448a-85c6-181ddbd1aa33"))
|
||||
(pad "16" thru_hole circle (at -4.445 -5.150) (size 1.0 1.0) (drill 0.6) (layers "*.Cu" "*.Mask") (net 0 "") (uuid "22a1e7eb-27d6-4233-b5b8-f36767df33e9"))
|
||||
(pad "2" thru_hole circle (at -3.175 5.150) (size 1.0 1.0) (drill 0.6) (layers "*.Cu" "*.Mask") (net 0 "") (uuid "5bfa1d99-38b6-4ab7-a56b-61b1a2a3db1d"))
|
||||
(pad "15" thru_hole circle (at -3.175 -5.150) (size 1.0 1.0) (drill 0.6) (layers "*.Cu" "*.Mask") (net 0 "") (uuid "b934db02-c5d7-497f-bc1f-2486399da781"))
|
||||
(pad "3" thru_hole circle (at -1.905 5.150) (size 1.0 1.0) (drill 0.6) (layers "*.Cu" "*.Mask") (net 0 "") (uuid "a700b37c-bc69-41b5-9de2-fbc9e8dc036b"))
|
||||
(pad "14" thru_hole circle (at -1.905 -5.150) (size 1.0 1.0) (drill 0.6) (layers "*.Cu" "*.Mask") (net 0 "") (uuid "b30fe8b5-1352-435a-85dc-749e62f01ebb"))
|
||||
(pad "4" thru_hole circle (at -0.635 5.150) (size 1.0 1.0) (drill 0.6) (layers "*.Cu" "*.Mask") (net 0 "") (uuid "bd6026e4-be88-4e7d-b235-9808417d9423"))
|
||||
(pad "13" thru_hole circle (at -0.635 -5.150) (size 1.0 1.0) (drill 0.6) (layers "*.Cu" "*.Mask") (net 0 "") (uuid "e3c51d8e-b93e-4342-a5a1-2d09b8b808ab"))
|
||||
(pad "5" thru_hole circle (at 0.635 5.150) (size 1.0 1.0) (drill 0.6) (layers "*.Cu" "*.Mask") (net 0 "") (uuid "bc05b28d-1c31-4589-b8fb-1d60035d7232"))
|
||||
(pad "12" thru_hole circle (at 0.635 -5.150) (size 1.0 1.0) (drill 0.6) (layers "*.Cu" "*.Mask") (net 0 "") (uuid "77ceab5c-f996-4bb3-97e8-a590fc7a88ae"))
|
||||
(pad "6" thru_hole circle (at 1.905 5.150) (size 1.0 1.0) (drill 0.6) (layers "*.Cu" "*.Mask") (net 0 "") (uuid "6ae748a9-ab27-400b-ae2d-80637c92e869"))
|
||||
(pad "11" thru_hole circle (at 1.905 -5.150) (size 1.0 1.0) (drill 0.6) (layers "*.Cu" "*.Mask") (net 0 "") (uuid "afb69667-cf85-4248-88bf-bd9764348c2e"))
|
||||
(pad "7" thru_hole circle (at 3.175 5.150) (size 1.0 1.0) (drill 0.6) (layers "*.Cu" "*.Mask") (net 0 "") (uuid "7f3f8b8a-0c4e-4bdd-abb4-0ce85369336f"))
|
||||
(pad "10" thru_hole circle (at 3.175 -5.150) (size 1.0 1.0) (drill 0.6) (layers "*.Cu" "*.Mask") (net 0 "") (uuid "bca205a0-edf1-4a22-b9c5-3dc5b2876199"))
|
||||
(pad "8" thru_hole circle (at 4.445 5.150) (size 1.0 1.0) (drill 0.6) (layers "*.Cu" "*.Mask") (net 0 "") (uuid "3cb40bf6-e26f-4ede-9c6f-1d92a4cbca15"))
|
||||
(pad "9" thru_hole circle (at 4.445 -5.150) (size 1.0 1.0) (drill 0.6) (layers "*.Cu" "*.Mask") (net 0 "") (uuid "4fbaa12e-f2bf-4e17-99fd-1da6892472bb"))
|
||||
(pad "1" thru_hole circle (at -4.445 5.150) (size 1.0 1.0) (drill 0.6) (layers "*.Cu" "*.Mask") (net 10 "S1") (uuid "e0ed2364-e190-4cf2-8bea-cf8f45e119fc"))
|
||||
(pad "16" thru_hole circle (at -4.445 -5.150) (size 1.0 1.0) (drill 0.6) (layers "*.Cu" "*.Mask") (net 25 "S16") (uuid "001966ad-6dd5-4e9f-b5b9-63347ca7c1b6"))
|
||||
(pad "2" thru_hole circle (at -3.175 5.150) (size 1.0 1.0) (drill 0.6) (layers "*.Cu" "*.Mask") (net 11 "S2") (uuid "821ef136-a9ea-4b5b-89d3-84e095c5f317"))
|
||||
(pad "15" thru_hole circle (at -3.175 -5.150) (size 1.0 1.0) (drill 0.6) (layers "*.Cu" "*.Mask") (net 24 "S15") (uuid "0d2d71f9-2c61-48de-8f03-1db0c5453a99"))
|
||||
(pad "3" thru_hole circle (at -1.905 5.150) (size 1.0 1.0) (drill 0.6) (layers "*.Cu" "*.Mask") (net 12 "S3") (uuid "ef0d1353-6360-46f4-b3f4-f14335357361"))
|
||||
(pad "14" thru_hole circle (at -1.905 -5.150) (size 1.0 1.0) (drill 0.6) (layers "*.Cu" "*.Mask") (net 23 "S14") (uuid "6d2b475a-67d8-4e80-b832-1d98d07e8e74"))
|
||||
(pad "4" thru_hole circle (at -0.635 5.150) (size 1.0 1.0) (drill 0.6) (layers "*.Cu" "*.Mask") (net 13 "S4") (uuid "43030b6e-0a10-436a-a613-e1181199d3f1"))
|
||||
(pad "13" thru_hole circle (at -0.635 -5.150) (size 1.0 1.0) (drill 0.6) (layers "*.Cu" "*.Mask") (net 22 "S13") (uuid "c2477dc6-9cbd-489d-a00b-73158c3c0639"))
|
||||
(pad "5" thru_hole circle (at 0.635 5.150) (size 1.0 1.0) (drill 0.6) (layers "*.Cu" "*.Mask") (net 14 "S5") (uuid "2bcc30fb-ab58-44e5-9a13-afb44638e3c6"))
|
||||
(pad "12" thru_hole circle (at 0.635 -5.150) (size 1.0 1.0) (drill 0.6) (layers "*.Cu" "*.Mask") (net 21 "S12") (uuid "3ea6995b-c3f3-43ba-bd8f-f075b1e471d1"))
|
||||
(pad "6" thru_hole circle (at 1.905 5.150) (size 1.0 1.0) (drill 0.6) (layers "*.Cu" "*.Mask") (net 15 "S6") (uuid "d1f2206e-2195-4a07-9a04-38a4bc7cf3c1"))
|
||||
(pad "11" thru_hole circle (at 1.905 -5.150) (size 1.0 1.0) (drill 0.6) (layers "*.Cu" "*.Mask") (net 20 "S11") (uuid "d17321cf-ade0-45fb-aeee-06e5fdaa68e7"))
|
||||
(pad "7" thru_hole circle (at 3.175 5.150) (size 1.0 1.0) (drill 0.6) (layers "*.Cu" "*.Mask") (net 16 "S7") (uuid "bbe5650f-8272-4951-826c-0219408d73cd"))
|
||||
(pad "10" thru_hole circle (at 3.175 -5.150) (size 1.0 1.0) (drill 0.6) (layers "*.Cu" "*.Mask") (net 19 "S10") (uuid "63cb5f6b-69ec-4b02-a58d-0f747f085670"))
|
||||
(pad "8" thru_hole circle (at 4.445 5.150) (size 1.0 1.0) (drill 0.6) (layers "*.Cu" "*.Mask") (net 17 "S8") (uuid "41ec5aee-f8ba-4088-8232-1c50ad81a9d8"))
|
||||
(pad "9" thru_hole circle (at 4.445 -5.150) (size 1.0 1.0) (drill 0.6) (layers "*.Cu" "*.Mask") (net 18 "S9") (uuid "4cdbd15b-f470-4028-aa99-11f1bc409fce"))
|
||||
)
|
||||
(gr_text "1" (at 132.555 138.45000000000002) (layer "F.SilkS") (uuid "67ae8809-6189-4d62-b63d-803a1ebc7814") (effects (font (size 0.35 0.35) (thickness 0.0525))))
|
||||
(gr_text "16" (at 132.555 126.55) (layer "F.SilkS") (uuid "622f424c-467e-421c-8185-b39ea5ae0bdf") (effects (font (size 0.35 0.35) (thickness 0.0525))))
|
||||
(gr_text "2" (at 133.82500000000002 138.45000000000002) (layer "F.SilkS") (uuid "0cd9df21-e290-4ee6-903d-cf3c63deac08") (effects (font (size 0.35 0.35) (thickness 0.0525))))
|
||||
(gr_text "15" (at 133.82500000000002 126.55) (layer "F.SilkS") (uuid "40292e2a-5cb6-4a2a-9ed0-22db669f357d") (effects (font (size 0.35 0.35) (thickness 0.0525))))
|
||||
(gr_text "3" (at 135.095 138.45000000000002) (layer "F.SilkS") (uuid "12e4979e-2a43-45f2-b74a-391e6a055358") (effects (font (size 0.35 0.35) (thickness 0.0525))))
|
||||
(gr_text "14" (at 135.095 126.55) (layer "F.SilkS") (uuid "da1908e3-ab44-4984-9043-1b1aa520e82f") (effects (font (size 0.35 0.35) (thickness 0.0525))))
|
||||
(gr_text "4" (at 136.365 138.45000000000002) (layer "F.SilkS") (uuid "a75049c3-ea78-4cd6-a54f-87776bf27ee9") (effects (font (size 0.35 0.35) (thickness 0.0525))))
|
||||
(gr_text "13" (at 136.365 126.55) (layer "F.SilkS") (uuid "8e30096f-00c5-40c7-b944-51f8150dfa61") (effects (font (size 0.35 0.35) (thickness 0.0525))))
|
||||
(gr_text "5" (at 137.63500000000002 138.45000000000002) (layer "F.SilkS") (uuid "d6d623cc-8f41-430b-b77d-e20779841d1f") (effects (font (size 0.35 0.35) (thickness 0.0525))))
|
||||
(gr_text "12" (at 137.63500000000002 126.55) (layer "F.SilkS") (uuid "47fd108a-17c2-4c89-966b-b517d9e672a9") (effects (font (size 0.35 0.35) (thickness 0.0525))))
|
||||
(gr_text "6" (at 138.905 138.45000000000002) (layer "F.SilkS") (uuid "0de8b8ae-d871-45cf-ab0f-5ae66919b156") (effects (font (size 0.35 0.35) (thickness 0.0525))))
|
||||
(gr_text "11" (at 138.905 126.55) (layer "F.SilkS") (uuid "699f7121-2403-4879-99d8-231f07b64ab6") (effects (font (size 0.35 0.35) (thickness 0.0525))))
|
||||
(gr_text "7" (at 140.175 138.45000000000002) (layer "F.SilkS") (uuid "7d6d6327-5063-4d9f-b917-295688569b83") (effects (font (size 0.35 0.35) (thickness 0.0525))))
|
||||
(gr_text "10" (at 140.175 126.55) (layer "F.SilkS") (uuid "814b9dfc-3c9a-4780-a49d-859adbf1ec8f") (effects (font (size 0.35 0.35) (thickness 0.0525))))
|
||||
(gr_text "8" (at 141.445 138.45000000000002) (layer "F.SilkS") (uuid "e6b7e389-6169-4f6c-b8cc-28f43917672e") (effects (font (size 0.35 0.35) (thickness 0.0525))))
|
||||
(gr_text "9" (at 141.445 126.55) (layer "F.SilkS") (uuid "c9db7018-eb0b-4187-b0b1-a5f271ecc5a8") (effects (font (size 0.35 0.35) (thickness 0.0525))))
|
||||
(gr_circle (center 131.955 138.15) (end 132.205 138.15) (layer "F.SilkS") (width 0.15) (fill solid) (uuid "906e42c9-101a-4cb8-a69d-e5abb20041b7"))
|
||||
(gr_text "1" (at 132.555 139.850) (layer "F.SilkS") (uuid "903925f1-1ab0-4ef8-8091-eee1ba4ce83c") (effects (font (size 0.3 0.3) (thickness 0.080))))
|
||||
(gr_text "16" (at 132.555 128.150) (layer "F.SilkS") (uuid "da86f49d-5143-47ea-b69d-4b9832fead6f") (effects (font (size 0.3 0.3) (thickness 0.080))))
|
||||
(gr_text "2" (at 133.825 139.850) (layer "F.SilkS") (uuid "574499ab-7233-4486-83cb-f54f410f254c") (effects (font (size 0.3 0.3) (thickness 0.080))))
|
||||
(gr_text "15" (at 133.825 128.150) (layer "F.SilkS") (uuid "abab922c-b06d-42a5-a83f-dd0fdee84413") (effects (font (size 0.3 0.3) (thickness 0.080))))
|
||||
(gr_text "3" (at 135.095 139.850) (layer "F.SilkS") (uuid "a7206bb0-3b93-40f7-b721-b0f8e559a08a") (effects (font (size 0.3 0.3) (thickness 0.080))))
|
||||
(gr_text "14" (at 135.095 128.150) (layer "F.SilkS") (uuid "7554af84-eaab-46e6-a23b-61be3208358c") (effects (font (size 0.3 0.3) (thickness 0.080))))
|
||||
(gr_text "4" (at 136.365 139.850) (layer "F.SilkS") (uuid "754ceb56-2739-4ffb-95b6-f74fec1b55fe") (effects (font (size 0.3 0.3) (thickness 0.080))))
|
||||
(gr_text "13" (at 136.365 128.150) (layer "F.SilkS") (uuid "8eba4921-1108-42f3-a832-725064d0b8a9") (effects (font (size 0.3 0.3) (thickness 0.080))))
|
||||
(gr_text "5" (at 137.635 139.850) (layer "F.SilkS") (uuid "39081f0f-c80d-4f8e-93ab-18f7d2073f11") (effects (font (size 0.3 0.3) (thickness 0.080))))
|
||||
(gr_text "12" (at 137.635 128.150) (layer "F.SilkS") (uuid "4fafe525-5c4a-4ad0-a9bd-fa1b7525e18c") (effects (font (size 0.3 0.3) (thickness 0.080))))
|
||||
(gr_text "6" (at 138.905 139.850) (layer "F.SilkS") (uuid "4de276b8-3628-4e51-91a7-ccc54c74f700") (effects (font (size 0.3 0.3) (thickness 0.080))))
|
||||
(gr_text "11" (at 138.905 128.150) (layer "F.SilkS") (uuid "d27ef244-2781-49c2-9afe-ea795a76c9e0") (effects (font (size 0.3 0.3) (thickness 0.080))))
|
||||
(gr_text "7" (at 140.175 139.850) (layer "F.SilkS") (uuid "a5febf7b-e28d-475b-9d51-13676d8adec6") (effects (font (size 0.3 0.3) (thickness 0.080))))
|
||||
(gr_text "10" (at 140.175 128.150) (layer "F.SilkS") (uuid "84b49153-2c4a-4ece-8a04-6b499665a85c") (effects (font (size 0.3 0.3) (thickness 0.080))))
|
||||
(gr_text "8" (at 141.445 139.850) (layer "F.SilkS") (uuid "a2b8a7f3-e99c-4581-86b4-3fd69ba4a35a") (effects (font (size 0.3 0.3) (thickness 0.080))))
|
||||
(gr_text "9" (at 141.445 128.150) (layer "F.SilkS") (uuid "c05f3d6b-67d3-4d21-a81e-3839951a4f75") (effects (font (size 0.3 0.3) (thickness 0.080))))
|
||||
(gr_circle (center 132.055 139.650) (end 132.255 139.650) (layer "F.SilkS") (width 0.1) (fill solid) (uuid "c9f11721-a6fa-42bc-befe-e2f4dd6eaf33"))
|
||||
(gr_text "●1" (at 132.055 140.450) (layer "F.SilkS") (uuid "3b2f91bf-64bb-4074-ab2b-bfe789fec0a6") (effects (font (size 0.3 0.3) (thickness 0.080))))
|
||||
(gr_text "SOP-16W ●1→" (at 137.000 134.000) (layer "B.SilkS") (uuid "8e3f70e7-d940-41f4-8f33-40a7fedc23e1") (effects (font (size 0.5 0.5) (thickness 0.080)) (justify mirror)))
|
||||
|
||||
(footprint "panel:SOP-16W_JST" (layer "F.Cu")
|
||||
(at 137 125.85)
|
||||
(uuid "2b5d7da6-43b0-4993-a157-1ea204151ee4")
|
||||
(fp_text reference "SOP-16W_JST" (at 0 0) (layer "F.Fab") (uuid "9be5d86d-f26d-41db-b3d5-96aa9ffdc96b")
|
||||
(footprint "panel:SOP-16W_FPC" (layer "F.Cu")
|
||||
(at 137.000 134.000)
|
||||
(uuid "5478245e-9ede-494c-86f7-8c704435e999")
|
||||
(fp_text reference "SOP-16W_FPC" (at 0 0) (layer "F.Fab") (uuid "2a4de4cb-a137-40c1-abd2-23c8d6f4a50e")
|
||||
(effects (font (size 0.5 0.5) (thickness 0.08)) hide))
|
||||
(fp_text value "" (at 0 0) (layer "F.Fab") (uuid "61ef7135-26fc-4a16-b06c-1053aa39fbe3")
|
||||
(fp_text value "" (at 0 0) (layer "F.Fab") (uuid "c72e6768-7d5d-4b2e-b8cc-c93c7f06de68")
|
||||
(effects (font (size 0.5 0.5) (thickness 0.08)) hide))
|
||||
(pad "J1" smd rect (at -4.500 0.000) (size 0.6 1.0) (layers "F.Cu" "F.Paste" "F.Mask") (net 0 "") (uuid "be81bea1-903d-41cf-b073-ceca5dc11f48"))
|
||||
(pad "J2" smd rect (at -3.500 0.000) (size 0.6 1.0) (layers "F.Cu" "F.Paste" "F.Mask") (net 0 "") (uuid "24e8d037-1b4b-4fa5-8c6c-8ae2af43cae8"))
|
||||
(pad "J3" smd rect (at -2.500 0.000) (size 0.6 1.0) (layers "F.Cu" "F.Paste" "F.Mask") (net 0 "") (uuid "93959318-9fd0-4326-9d33-1f4193cf2727"))
|
||||
(pad "J4" smd rect (at -1.500 0.000) (size 0.6 1.0) (layers "F.Cu" "F.Paste" "F.Mask") (net 0 "") (uuid "ef1e10ae-c8eb-4b8e-a528-b2dc4a061704"))
|
||||
(pad "J5" smd rect (at -0.500 0.000) (size 0.6 1.0) (layers "F.Cu" "F.Paste" "F.Mask") (net 0 "") (uuid "5f83f573-7a00-49f9-b631-c93ab0c829a0"))
|
||||
(pad "J6" smd rect (at 0.500 0.000) (size 0.6 1.0) (layers "F.Cu" "F.Paste" "F.Mask") (net 0 "") (uuid "27ec44ef-d97a-4997-81fc-b7e4957caa76"))
|
||||
(pad "J7" smd rect (at 1.500 0.000) (size 0.6 1.0) (layers "F.Cu" "F.Paste" "F.Mask") (net 0 "") (uuid "c0cd43f0-19ef-4813-935c-1dd41339f027"))
|
||||
(pad "J8" smd rect (at 2.500 0.000) (size 0.6 1.0) (layers "F.Cu" "F.Paste" "F.Mask") (net 0 "") (uuid "a4360e04-4d1a-466c-b637-3b5738c34df4"))
|
||||
(pad "J9" smd rect (at 3.500 0.000) (size 0.6 1.0) (layers "F.Cu" "F.Paste" "F.Mask") (net 0 "") (uuid "ce94402f-7c99-45e6-9b2f-04a9a8e1103e"))
|
||||
(pad "J10" smd rect (at 4.500 0.000) (size 0.6 1.0) (layers "F.Cu" "F.Paste" "F.Mask") (net 0 "") (uuid "6535b20a-7bf1-4cf8-9d59-9f4228e74d47"))
|
||||
(pad "F1" smd rect (at -4.750 0.000) (size 0.300 1.000) (layers "F.Cu" "F.Paste" "F.Mask") (net 10 "S1") (uuid "4df4fcc1-91f4-4143-a052-5d489d23ba9e"))
|
||||
(pad "F2" smd rect (at -4.250 0.000) (size 0.300 1.000) (layers "F.Cu" "F.Paste" "F.Mask") (net 11 "S2") (uuid "99e5aca1-d974-42e7-bd70-3947a4c12696"))
|
||||
(pad "F3" smd rect (at -3.750 0.000) (size 0.300 1.000) (layers "F.Cu" "F.Paste" "F.Mask") (net 12 "S3") (uuid "f1cbc508-4e8b-4b32-bf5e-720b074714a1"))
|
||||
(pad "F4" smd rect (at -3.250 0.000) (size 0.300 1.000) (layers "F.Cu" "F.Paste" "F.Mask") (net 13 "S4") (uuid "674c45c4-5c55-40a1-a9d2-6b3ed7341da9"))
|
||||
(pad "F5" smd rect (at -2.750 0.000) (size 0.300 1.000) (layers "F.Cu" "F.Paste" "F.Mask") (net 14 "S5") (uuid "337b151c-41af-467f-87b2-00234db90bc2"))
|
||||
(pad "F6" smd rect (at -2.250 0.000) (size 0.300 1.000) (layers "F.Cu" "F.Paste" "F.Mask") (net 15 "S6") (uuid "db978209-cdee-4ef7-af46-de8b822bbe8e"))
|
||||
(pad "F7" smd rect (at -1.750 0.000) (size 0.300 1.000) (layers "F.Cu" "F.Paste" "F.Mask") (net 16 "S7") (uuid "e1d6460e-2b6d-46b4-b939-75c0977105d2"))
|
||||
(pad "F8" smd rect (at -1.250 0.000) (size 0.300 1.000) (layers "F.Cu" "F.Paste" "F.Mask") (net 17 "S8") (uuid "577260c3-7e9a-4765-8b88-c508c82ca5fe"))
|
||||
(pad "F9" smd rect (at -0.750 0.000) (size 0.300 1.000) (layers "F.Cu" "F.Paste" "F.Mask") (net 18 "S9") (uuid "4b3b0582-a33d-4365-888e-d1d87161e6f9"))
|
||||
(pad "F10" smd rect (at -0.250 0.000) (size 0.300 1.000) (layers "F.Cu" "F.Paste" "F.Mask") (net 19 "S10") (uuid "d76146ee-cf79-4036-88c0-20f702a2d563"))
|
||||
(pad "F11" smd rect (at 0.250 0.000) (size 0.300 1.000) (layers "F.Cu" "F.Paste" "F.Mask") (net 20 "S11") (uuid "e4e0ff0d-fc4f-4c4e-bbbf-aa1ca1b1c93a"))
|
||||
(pad "F12" smd rect (at 0.750 0.000) (size 0.300 1.000) (layers "F.Cu" "F.Paste" "F.Mask") (net 21 "S12") (uuid "b0734618-3cdf-45c4-ba08-e3388c711631"))
|
||||
(pad "F13" smd rect (at 1.250 0.000) (size 0.300 1.000) (layers "F.Cu" "F.Paste" "F.Mask") (net 22 "S13") (uuid "dda517bb-3b46-438f-8d3f-2dfa9a5b3245"))
|
||||
(pad "F14" smd rect (at 1.750 0.000) (size 0.300 1.000) (layers "F.Cu" "F.Paste" "F.Mask") (net 23 "S14") (uuid "abace38a-0077-4aaf-a85a-6ff5e8583256"))
|
||||
(pad "F15" smd rect (at 2.250 0.000) (size 0.300 1.000) (layers "F.Cu" "F.Paste" "F.Mask") (net 24 "S15") (uuid "7909ec78-3977-4645-a41f-da0b47002a7e"))
|
||||
(pad "F16" smd rect (at 2.750 0.000) (size 0.300 1.000) (layers "F.Cu" "F.Paste" "F.Mask") (net 25 "S16") (uuid "c83088b7-ac0b-4663-b84e-feef5eeb0723"))
|
||||
(pad "F17" smd rect (at 3.250 0.000) (size 0.300 1.000) (layers "F.Cu" "F.Paste" "F.Mask") (net 0 "") (uuid "a7bda6dd-b3b3-47e9-b511-fcb766a1837a"))
|
||||
(pad "F18" smd rect (at 3.750 0.000) (size 0.300 1.000) (layers "F.Cu" "F.Paste" "F.Mask") (net 0 "") (uuid "89ad3bdd-bdf4-4183-9438-c2e232e12f60"))
|
||||
(pad "F19" smd rect (at 4.250 0.000) (size 0.300 1.000) (layers "F.Cu" "F.Paste" "F.Mask") (net 1 "GND") (uuid "4d94e0ec-cf5e-4e0d-90c7-67e79b8895fa"))
|
||||
(pad "F20" smd rect (at 4.750 0.000) (size 0.300 1.000) (layers "F.Cu" "F.Paste" "F.Mask") (net 2 "VBAT") (uuid "bdf4aaea-e105-4332-8cc8-e82574c5981d"))
|
||||
(pad "SA" smd rect (at -6.250 1.500) (size 1.200 0.800) (layers "F.Cu" "F.Paste" "F.Mask") (net 0 "") (uuid "bec1c65a-3746-408f-8e77-1658a529d58f"))
|
||||
(pad "SB" smd rect (at 6.250 1.500) (size 1.200 0.800) (layers "F.Cu" "F.Paste" "F.Mask") (net 0 "") (uuid "68022482-2ede-4193-8fcc-50f4c15238fc"))
|
||||
)
|
||||
(gr_text "JST" (at 137 124.35) (layer "F.SilkS") (uuid "3ebcdaf3-af81-4207-8b30-06bce9658c7b") (effects (font (size 0.35 0.35) (thickness 0.0525))))
|
||||
(gr_circle (center 131.7 125.85) (end 131.89999999999998 125.85) (layer "F.SilkS") (width 0.15) (fill solid) (uuid "41121629-2cd5-4e5c-928d-2e259710e93a"))
|
||||
(gr_text "Snap off adapter matching your toy's MCU. Castellations solder into SOP footprint." (at 124.0 136.0) (layer "B.SilkS") (uuid "8a35efdd-15ba-4ffe-82f7-1ca8fb1d6665") (effects (font (size 0.4 0.4) (thickness 0.06))))
|
||||
(gr_text "JST cable connects adapter to carrier board J1." (at 124.0 137.0) (layer "B.SilkS") (uuid "03798201-3787-40a2-a031-6838215cea81") (effects (font (size 0.4 0.4) (thickness 0.06))))
|
||||
(gr_text "FPC" (at 137.000 132.200) (layer "F.SilkS") (uuid "3c9ae79a-befd-49b6-89e8-48dfbfb5a408") (effects (font (size 0.35 0.35) (thickness 0.080))))
|
||||
(gr_circle (center 131.650 134.000) (end 131.800 134.000) (layer "F.SilkS") (width 0.1) (fill solid) (uuid "1554c550-4b83-40cc-8602-7a4138599540"))
|
||||
(gr_text "Baby Mobile v4 — JLCPCB Panel" (at 124.000 98.000) (layer "F.SilkS") (uuid "02d054e6-07a0-4ad2-a9a2-903bf039b5bc") (effects (font (size 1.0 1.0) (thickness 0.130))))
|
||||
(gr_text "Castellated Holes=YES V-Score=YES 2-Layer 1.6mm" (at 124.000 143.000) (layer "F.SilkS") (uuid "1a248073-4356-45d5-9f5d-0b7d77830e4a") (effects (font (size 0.5 0.5) (thickness 0.080))))
|
||||
)
|
||||
@@ -6,8 +6,7 @@
|
||||
"board": {
|
||||
"design_settings": {
|
||||
"rules": {
|
||||
"min_track_width": 0.15,
|
||||
"min_via_diameter": 0.4
|
||||
"min_track_width": 0.15
|
||||
}
|
||||
}
|
||||
},
|
||||
@@ -17,11 +16,6 @@
|
||||
"name": "Default",
|
||||
"clearance": 0.15,
|
||||
"track_width": 0.25
|
||||
},
|
||||
{
|
||||
"name": "Power",
|
||||
"clearance": 0.2,
|
||||
"track_width": 0.5
|
||||
}
|
||||
]
|
||||
}
|
||||
|
||||
+12
-10
@@ -1,14 +1,16 @@
|
||||
Comment,Designator,Footprint,LCSC Part Number,Qty,Value,Description
|
||||
"Boost Converter","U1","SOT-353_SC-70-5","C83951",1,"TPS61220DCKR","3.3V fixed output boost converter 0.7-5.5V in"
|
||||
"SPI Flash 16MB","U2","SOIC-8_3.9x4.9mm_P1.27mm","C194872",1,"IS25LP128F-JBLE","128Mbit SPI NOR Flash 2.3-3.6V"
|
||||
"Boost Inductor","L1","L_0805_2012Metric","C408336",1,"4.7uH","Inductor 4.7µH 1.2A saturation"
|
||||
"Boost Input Cap","C1","C_0805_2012Metric","C15850",1,"10uF","Ceramic capacitor 10µF 10V X5R"
|
||||
"Boost Output Cap","C2","C_0805_2012Metric","C15850",1,"10uF","Ceramic capacitor 10µF 10V X5R"
|
||||
"Boost Inductor","L1","L_0805_2012Metric","C408336",1,"4.7uH","Inductor 4.7uH 1.2A saturation"
|
||||
"Boost Input Cap","C1","C_0805_2012Metric","C15850",1,"10uF","Ceramic capacitor 10uF 10V X5R"
|
||||
"Boost Output Cap","C2","C_0805_2012Metric","C15850",1,"10uF","Ceramic capacitor 10uF 10V X5R"
|
||||
"Flash Decoupling","C3","C_0805_2012Metric","C49678",1,"100nF","Ceramic capacitor 100nF 25V X7R"
|
||||
"XIAO Decoupling","C4","C_0805_2012Metric","C49678",1,"100nF","Ceramic capacitor 100nF 25V X7R"
|
||||
"RC Filter R (audio LPF)","R1","R_0805_2012Metric","C17673",1,"4.7K","Resistor 4.7KΩ 1%"
|
||||
"RC Filter C (audio LPF)","C5","C_0805_2012Metric","C1710",1,"10nF","Ceramic capacitor 10nF 50V"
|
||||
"Flash CS Pullup","R2","R_0805_2012Metric","C17414",1,"10K","Resistor 10KΩ 1% (holds CS high during boot)"
|
||||
"Toy Connector","J1","JST_SH_SM10B-SRSS-TB_1x10_P1.00mm","C160404",1,"SM10B-SRSS-TB","JST SH 1.0mm 10-pin SMD right-angle"
|
||||
"XIAO Header Left","J2","PinHeader_1x07_P2.54mm_Vertical","C124378",1,"1x7 2.54mm","Female pin header 1x7"
|
||||
"XIAO Header Right","J3","PinHeader_1x07_P2.54mm_Vertical","C124378",1,"1x7 2.54mm","Female pin header 1x7"
|
||||
"Audio LPF Capacitor","C5","C_0805_2012Metric","C1710",1,"10nF","Ceramic capacitor 10nF 50V"
|
||||
"Audio LPF Resistor","R1","R_0805_2012Metric","C17673",1,"4.7K","Resistor 4.7K 1%"
|
||||
"Flash CS Pullup","R2","R_0805_2012Metric","C17414",1,"10K","Resistor 10K 1%"
|
||||
"Carrier FPC Connector","J1","FPC_0.5mm_20pin_bottom","C262657",1,"20pin 0.5mm","FPC/FFC connector 20-pin 0.5mm bottom contact"
|
||||
"XIAO Header Left","J2","PinHeader_1x07_P2.54mm","C124378",1,"1x7 2.54mm","Female pin header 1x7"
|
||||
"XIAO Header Right","J3","PinHeader_1x07_P2.54mm","C124378",1,"1x7 2.54mm","Female pin header 1x7"
|
||||
"Adapter FPC (SOP-16)","J_A16","FPC_0.5mm_20pin_bottom","C262657",2,"20pin 0.5mm","For SOP-16N and SOP-16W adapters"
|
||||
"Adapter FPC (SOP-8)","J_A8","FPC_0.5mm_10pin_bottom","C262270",1,"10pin 0.5mm","For SOP-8 adapter"
|
||||
"FPC Cable 20-pin","CABLE","N/A","N/A",1,"20pin 0.5mm 50mm","FPC ribbon cable 20-pin 0.5mm same-side contacts"
|
||||
|
||||
|
+399
-361
@@ -1,34 +1,40 @@
|
||||
#!/usr/bin/env python3
|
||||
"""
|
||||
Generate KiCad 7 combined panel PCB for Baby Mobile project.
|
||||
Baby Mobile — Combined Panel v4
|
||||
|
||||
PANEL LAYOUT (v-score breakaway):
|
||||
┌─────────────────────────────────────────────────────┐
|
||||
│ │
|
||||
│ CARRIER BOARD (42mm × 24mm) │
|
||||
│ ┌──────────────────────────────────────────────┐ │
|
||||
│ │ ┌─────────────┐ [IS25LP128F] [JST SH 10] │ │
|
||||
│ │ │ XIAO ■USB │ ●1 J1 │ │
|
||||
│ │ │ nRF52840 │ [C3] [R1][C5] │ │
|
||||
│ │ │ │ │ │
|
||||
│ │ │ D0 .... D10│ [TPS61220] [R2] │ │
|
||||
│ │ │ D1 D9 │ [L1][C1][C2] │ │
|
||||
│ │ │ ... ...│ │ │
|
||||
│ │ │ D6 3V3│ (M2) (M2) │ │
|
||||
│ │ └─────────────┘ │ │
|
||||
│ └──────────────────────────────────────────────┘ │
|
||||
│ - - SNAP - - - - - - - - - - - - - - - - - - - - - │
|
||||
│ ┌──────────┐ ┌────────────┐ ┌────────────┐ │
|
||||
│ │ SOP-8 │ │ SOP-16N │ │ SOP-16W │ │
|
||||
│ │ castell. │ │ castellated│ │ castellated│ │
|
||||
│ │ [JST 8p] │ │ [JST 10p] │ │ [JST 10p] │ │
|
||||
│ └──────────┘ └────────────┘ └────────────┘ │
|
||||
└─────────────────────────────────────────────────────┘
|
||||
PANEL LAYOUT:
|
||||
┌───────────────────────────────────────────────┐
|
||||
│ CARRIER BOARD (44×26mm) │
|
||||
│ ┌───────USB-C──┐ │
|
||||
│ │ █████████████ │ │
|
||||
│ │ │ [U2 IS25LP128F] [C3][R2] │
|
||||
│ │ XIAO BLE │ ●1 │
|
||||
│ │ nRF52840 │ [R1][C5] │
|
||||
│ │ │ │
|
||||
│ │ D0 D10│ [U1 TPS61220] │
|
||||
│ │ D1 D9│ ●1 [L1][C1][C2] │
|
||||
│ │ D2 D8│ │
|
||||
│ │ D3 D7│ ┌────────────────┐ │
|
||||
│ │ D4 3V3│ │ J1 FPC-20 0.5mm│ │
|
||||
│ │ D5 GND│ └────────────────┘ │
|
||||
│ │ D6 5V│ │
|
||||
│ └───────────────┘ (M2) (M2) │
|
||||
├ ─ ─ ─ ─ ─ SNAP ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ┤
|
||||
│ ┌──────┐ ┃ ┌──────────┐ ┃ ┌──────────┐ │
|
||||
│ │SOP-8 │ ┃ │SOP-16 N │ ┃ │SOP-16 W │ │
|
||||
│ C│ │C┃C│ │C┃C│ │C │
|
||||
│ A│[FPC] │A┃A│ [FPC] │A┃A│ [FPC] │A │
|
||||
│ S│ │S┃S│ │S┃S│ │S │
|
||||
│ T│ │T┃T│ │T┃T│ │T │
|
||||
│ └──────┘ ┃ └──────────┘ ┃ └──────────┘ │
|
||||
└───────────┸──────────────┸─────────────────────┘
|
||||
C=castellated edges ┃=v-score snap lines
|
||||
|
||||
Each SOP adapter:
|
||||
- Board edges cut through SOP pad centers → castellated half-holes
|
||||
- Top surface: JST SH connector + pin 1 dot + pin number silk labels
|
||||
- Bottom surface: nothing (sits flush on toy PCB)
|
||||
- Long edges (top/bottom): castellated half-holes = SOP pads
|
||||
- Short edges: v-score snap lines
|
||||
- Center top: FPC 0.5mm connector (20-pin for SOP-16, 10-pin for SOP-8)
|
||||
- All SOP pins netted to corresponding FPC pins
|
||||
"""
|
||||
|
||||
import uuid, os, json
|
||||
@@ -37,469 +43,501 @@ def uid():
|
||||
return str(uuid.uuid4())
|
||||
|
||||
# ============================================================
|
||||
# Geometry Constants
|
||||
# KiCad drawing primitives
|
||||
# ============================================================
|
||||
|
||||
CARRIER_W = 42.0
|
||||
CARRIER_H = 24.0
|
||||
ADAPTER_AREA_H = 10.0 # height for adapter strip below carrier
|
||||
PANEL_W = 48.0
|
||||
PANEL_H = CARRIER_H + ADAPTER_AREA_H + 2.0 # +2 for v-score margin
|
||||
def gr_line(x1, y1, x2, y2, layer="Edge.Cuts", w=0.1):
|
||||
return f' (gr_line (start {x1:.3f} {y1:.3f}) (end {x2:.3f} {y2:.3f}) (layer "{layer}") (width {w}) (uuid "{uid()}"))'
|
||||
|
||||
SOP_PITCH = 1.27
|
||||
SOP8_PINS_PER_SIDE = 4
|
||||
SOP16_PINS_PER_SIDE = 8
|
||||
def gr_rect(x1, y1, x2, y2, layer="F.SilkS", w=0.15):
|
||||
return f' (gr_rect (start {x1:.3f} {y1:.3f}) (end {x2:.3f} {y2:.3f}) (layer "{layer}") (width {w}) (uuid "{uid()}"))'
|
||||
|
||||
# SOP pad dimensions
|
||||
PAD_W = 0.6
|
||||
PAD_H = 1.5
|
||||
def gr_text(s, x, y, sz=0.8, layer="F.SilkS", mirror=False):
|
||||
th = max(0.08, sz * 0.13)
|
||||
mir = " (justify mirror)" if mirror else ""
|
||||
return f' (gr_text "{s}" (at {x:.3f} {y:.3f}) (layer "{layer}") (uuid "{uid()}") (effects (font (size {sz} {sz}) (thickness {th:.3f})){mir}))'
|
||||
|
||||
# Castellated hole
|
||||
CAST_DRILL = 0.6
|
||||
CAST_PAD = 1.0
|
||||
def gr_circle(x, y, r=0.3, layer="F.SilkS", fill="solid"):
|
||||
return f' (gr_circle (center {x:.3f} {y:.3f}) (end {x+r:.3f} {y:.3f}) (layer "{layer}") (width 0.1) (fill {fill}) (uuid "{uid()}"))'
|
||||
|
||||
# JST SH 1.0mm pitch
|
||||
JST_PITCH = 1.0
|
||||
|
||||
# ============================================================
|
||||
# Helpers
|
||||
# ============================================================
|
||||
|
||||
def smd(name, x, y, w, h, net, nname, layer="F.Cu", mask=True):
|
||||
ml = f'"{layer}" "{layer[0]}.Paste" "{layer[0]}.Mask"' if mask else f'"{layer}"'
|
||||
return f' (pad "{name}" smd rect (at {x:.3f} {y:.3f}) (size {w} {h}) (layers {ml}) (net {net} "{nname}") (uuid "{uid()}"))'
|
||||
|
||||
def thru(name, x, y, pd, dd, net, nname):
|
||||
return f' (pad "{name}" thru_hole circle (at {x:.3f} {y:.3f}) (size {pd} {pd}) (drill {dd}) (layers "*.Cu" "*.Mask") (net {net} "{nname}") (uuid "{uid()}"))'
|
||||
|
||||
def cast(name, x, y, net, nname):
|
||||
"""Castellated half-hole: thru-hole pad on board edge."""
|
||||
return f' (pad "{name}" thru_hole circle (at {x:.3f} {y:.3f}) (size {CAST_PAD} {CAST_PAD}) (drill {CAST_DRILL}) (layers "*.Cu" "*.Mask") (net {net} "{nname}") (uuid "{uid()}"))'
|
||||
|
||||
def line(x1, y1, x2, y2, layer="Edge.Cuts", w=0.1):
|
||||
return f' (gr_line (start {x1} {y1}) (end {x2} {y2}) (layer "{layer}") (width {w}) (uuid "{uid()}"))'
|
||||
|
||||
def rect(x1, y1, x2, y2, layer="F.SilkS", w=0.15):
|
||||
return f' (gr_rect (start {x1} {y1}) (end {x2} {y2}) (layer "{layer}") (width {w}) (uuid "{uid()}"))'
|
||||
|
||||
def txt(s, x, y, sz=0.8, layer="F.SilkS", bold=False):
|
||||
th = sz * 0.15
|
||||
b = " bold" if bold else ""
|
||||
return f' (gr_text "{s}" (at {x} {y}) (layer "{layer}") (uuid "{uid()}") (effects (font (size {sz} {sz}) (thickness {th}){b})))'
|
||||
|
||||
def circle_mark(x, y, r=0.3, layer="F.SilkS"):
|
||||
"""Pin 1 dot marker."""
|
||||
return f' (gr_circle (center {x} {y}) (end {x+r} {y}) (layer "{layer}") (width 0.15) (fill solid) (uuid "{uid()}"))'
|
||||
|
||||
def fp_start(name, x, y, layer="F.Cu"):
|
||||
def fp_hdr(name, x, y, layer="F.Cu"):
|
||||
return f"""
|
||||
(footprint "panel:{name}" (layer "{layer}")
|
||||
(at {x} {y})
|
||||
(at {x:.3f} {y:.3f})
|
||||
(uuid "{uid()}")
|
||||
(fp_text reference "{name}" (at 0 0) (layer "{layer[0]}.Fab") (uuid "{uid()}")
|
||||
(effects (font (size 0.5 0.5) (thickness 0.08)) hide))
|
||||
(fp_text value "" (at 0 0) (layer "{layer[0]}.Fab") (uuid "{uid()}")
|
||||
(effects (font (size 0.5 0.5) (thickness 0.08)) hide))"""
|
||||
|
||||
def pad_smd(name, x, y, w, h, net, nname, layer="F.Cu"):
|
||||
layers = f'"{layer}" "{layer[0]}.Paste" "{layer[0]}.Mask"'
|
||||
return f' (pad "{name}" smd rect (at {x:.3f} {y:.3f}) (size {w:.3f} {h:.3f}) (layers {layers}) (net {net} "{nname}") (uuid "{uid()}"))'
|
||||
|
||||
def pad_thru(name, x, y, pd, dd, net, nname):
|
||||
return f' (pad "{name}" thru_hole circle (at {x:.3f} {y:.3f}) (size {pd} {pd}) (drill {dd}) (layers "*.Cu" "*.Mask") (net {net} "{nname}") (uuid "{uid()}"))'
|
||||
|
||||
def pad_cast(name, x, y, net, nname):
|
||||
"""Castellated half-hole on board edge."""
|
||||
return f' (pad "{name}" thru_hole circle (at {x:.3f} {y:.3f}) (size 1.0 1.0) (drill 0.6) (layers "*.Cu" "*.Mask") (net {net} "{nname}") (uuid "{uid()}"))'
|
||||
|
||||
|
||||
# ============================================================
|
||||
# Generate Panel
|
||||
# XIAO nRF52840 Dimensions (from Seeed docs)
|
||||
# ============================================================
|
||||
# PCB: 21.0mm x 17.5mm
|
||||
# USB-C: centered on one 17.5mm short edge, ~9mm wide, protrudes ~2.5mm
|
||||
# Pin headers: 2x7, 2.54mm pitch, rows 17.78mm apart (center-center)
|
||||
# Pin 1 (D0) at top-left when USB faces left
|
||||
# Reset button on USB side, LED on opposite side
|
||||
|
||||
XIAO_W = 21.0
|
||||
XIAO_H = 17.5
|
||||
XIAO_ROW_SPAN = 17.78 # center to center of pin rows
|
||||
XIAO_USB_W = 8.9
|
||||
XIAO_USB_H = 3.2
|
||||
XIAO_USB_PROTRUDE = 1.5 # how far USB sticks past PCB edge
|
||||
|
||||
|
||||
# ============================================================
|
||||
# Main generator
|
||||
# ============================================================
|
||||
|
||||
def generate_panel():
|
||||
ox, oy = 100, 100 # KiCad origin offset
|
||||
def generate():
|
||||
# Panel dimensions
|
||||
CARRIER_W = 44.0
|
||||
CARRIER_H = 26.0
|
||||
ADAPTER_STRIP_H = 14.0
|
||||
PANEL_W = 48.0
|
||||
PANEL_H = CARRIER_H + ADAPTER_STRIP_H + 1.0 # 1mm v-score gap
|
||||
|
||||
ox, oy = 100.0, 100.0 # KiCad origin
|
||||
|
||||
pcb = []
|
||||
|
||||
# --- Header ---
|
||||
pcb.append(f"""(kicad_pcb (version 20221018) (generator "panel_gen_v3")
|
||||
# ---- File header ----
|
||||
pcb.append(f"""(kicad_pcb (version 20221018) (generator "panel_v4")
|
||||
(general (thickness 1.6))
|
||||
(paper "A4")
|
||||
(title_block
|
||||
(title "Baby Mobile — Combined Panel")
|
||||
(title "Baby Mobile Combined Panel v4")
|
||||
(date "2026-03-11")
|
||||
(rev "3.0")
|
||||
(comment 1 "Carrier: XIAO nRF52840 + IS25LP128F + TPS61220")
|
||||
(comment 2 "Breakaway: SOP-8, SOP-16N, SOP-16W castellated adapters")
|
||||
(comment 3 "Order as one panel from JLCPCB with castellated holes + v-score")
|
||||
(rev "4.0")
|
||||
(comment 1 "Carrier: XIAO nRF52840 + IS25LP128F + TPS61220 + FPC-20")
|
||||
(comment 2 "Adapters: SOP-8, SOP-16N, SOP-16W — castellated, FPC connected")
|
||||
(comment 3 "Order: JLCPCB, 2-layer, castellated holes=yes, v-score=yes")
|
||||
)
|
||||
(layers
|
||||
(0 "F.Cu" signal) (31 "B.Cu" signal)
|
||||
(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) (49 "F.Fab" user "F.Fab") (48 "B.Fab" user "B.Fab")
|
||||
(44 "Edge.Cuts" user)
|
||||
(48 "B.Fab" user "B.Fab") (49 "F.Fab" user "F.Fab")
|
||||
)
|
||||
(setup (pad_to_mask_clearance 0.05))
|
||||
(setup
|
||||
(pad_to_mask_clearance 0.05)
|
||||
(pcbplotparams (layerselection 0x00010fc_ffffffff) (outputdirectory "gerbers/"))
|
||||
)
|
||||
|
||||
(net 0 "")
|
||||
(net 1 "GND") (net 2 "VBAT") (net 3 "3V3")
|
||||
(net 4 "SPI_MOSI") (net 5 "SPI_MISO") (net 6 "SPI_SCK") (net 7 "FLASH_CS")
|
||||
(net 8 "BOOST_SW")
|
||||
(net 9 "SIG_1") (net 10 "SIG_2") (net 11 "SIG_3") (net 12 "SIG_4")
|
||||
(net 13 "SIG_5") (net 14 "SIG_6") (net 15 "SIG_7") (net 16 "SIG_8")
|
||||
(net 8 "BOOST_SW") (net 9 "AUDIO_FILT")
|
||||
""")
|
||||
|
||||
# ============================
|
||||
# PANEL OUTLINE (Edge.Cuts)
|
||||
# ============================
|
||||
# 16 signal nets for SOP pins / FPC
|
||||
for i in range(1, 17):
|
||||
pcb.append(f' (net {i+9} "S{i}")')
|
||||
# Total nets: 0-25
|
||||
|
||||
# Main panel rectangle
|
||||
pcb.append(line(ox, oy, ox+PANEL_W, oy))
|
||||
pcb.append(line(ox+PANEL_W, oy, ox+PANEL_W, oy+PANEL_H))
|
||||
pcb.append(line(ox+PANEL_W, oy+PANEL_H, ox, oy+PANEL_H))
|
||||
pcb.append(line(ox, oy+PANEL_H, ox, oy))
|
||||
# ================================================================
|
||||
# PANEL OUTLINE
|
||||
# ================================================================
|
||||
|
||||
# V-score line between carrier and adapter strip
|
||||
vscore_y = oy + CARRIER_H + 1.0
|
||||
pcb.append(line(ox, vscore_y, ox+PANEL_W, vscore_y))
|
||||
# Mark v-score on silk
|
||||
pcb.append(txt("— SNAP HERE —", ox + PANEL_W/2, vscore_y, 0.6))
|
||||
|
||||
# V-score lines between adapters in the strip
|
||||
adapt_y = vscore_y + 1.0
|
||||
# Adapter positions in the strip
|
||||
a8_x = ox + 1.0
|
||||
a8_w = 10.0
|
||||
a16n_x = a8_x + a8_w + 1.0
|
||||
a16n_w = 14.0
|
||||
a16w_x = a16n_x + a16n_w + 1.0
|
||||
a16w_w = 14.0
|
||||
# Outer rectangle
|
||||
pcb.append(gr_line(ox, oy, ox+PANEL_W, oy))
|
||||
pcb.append(gr_line(ox+PANEL_W, oy, ox+PANEL_W, oy+PANEL_H))
|
||||
pcb.append(gr_line(ox+PANEL_W, oy+PANEL_H, ox, oy+PANEL_H))
|
||||
pcb.append(gr_line(ox, oy+PANEL_H, ox, oy))
|
||||
|
||||
pcb.append(line(a16n_x - 0.5, adapt_y, a16n_x - 0.5, oy + PANEL_H))
|
||||
pcb.append(line(a16w_x - 0.5, adapt_y, a16w_x - 0.5, oy + PANEL_H))
|
||||
|
||||
# ============================
|
||||
# CARRIER BOARD COMPONENTS
|
||||
# ============================
|
||||
# V-score: carrier / adapter strip
|
||||
vs_y = oy + CARRIER_H + 0.5
|
||||
pcb.append(gr_line(ox, vs_y, ox+PANEL_W, vs_y))
|
||||
pcb.append(gr_text("▼ SNAP ▼", ox + PANEL_W/2, vs_y - 0.3, 0.5))
|
||||
|
||||
cx = ox + 3 # carrier area left edge (with margin)
|
||||
cy = oy + 1 # carrier area top edge
|
||||
# V-score: between adapters
|
||||
adapt_base = vs_y + 0.5
|
||||
# SOP-8: 10mm wide, SOP-16N: 16mm wide, SOP-16W: 16mm wide
|
||||
a8_w = 12.0
|
||||
a16n_w = 16.0
|
||||
a16w_w = 16.0
|
||||
gap = 0.0 # v-score is zero-width
|
||||
|
||||
# ---- XIAO SOCKET ----
|
||||
xiao_cx = cx + 13
|
||||
xiao_cy = cy + CARRIER_H/2
|
||||
xiao_w, xiao_h = 21, 17.5
|
||||
row_half = 17.78 / 2
|
||||
vs_x1 = ox + a8_w + 1.0
|
||||
vs_x2 = vs_x1 + a16n_w
|
||||
pcb.append(gr_line(vs_x1, adapt_base, vs_x1, oy + PANEL_H))
|
||||
pcb.append(gr_line(vs_x2, adapt_base, vs_x2, oy + PANEL_H))
|
||||
|
||||
# XIAO outline with USB-C rectangle
|
||||
pcb.append(rect(xiao_cx - xiao_w/2, xiao_cy - xiao_h/2,
|
||||
xiao_cx + xiao_w/2, xiao_cy + xiao_h/2))
|
||||
# USB-C bump
|
||||
usb_w, usb_h = 9, 3.5
|
||||
pcb.append(rect(xiao_cx - xiao_w/2 - 1, xiao_cy - usb_h/2,
|
||||
xiao_cx - xiao_w/2, xiao_cy + usb_h/2))
|
||||
pcb.append(txt("USB-C", xiao_cx - xiao_w/2 - 3, xiao_cy, 0.5))
|
||||
pcb.append(txt("XIAO nRF52840", xiao_cx, xiao_cy, 0.7, bold=True))
|
||||
# ================================================================
|
||||
# CARRIER: XIAO SOCKET with accurate outline
|
||||
# ================================================================
|
||||
|
||||
# Pin labels along XIAO outline
|
||||
left_labels = ["D0", "D1", "D2", "D3", "D4", "D5", "D6"]
|
||||
right_labels = ["D10", "D9", "D8", "D7", "3V3", "GND", "5V"]
|
||||
# Place XIAO with USB-C facing left edge of carrier
|
||||
xiao_cx = ox + 3 + XIAO_W/2 # center of XIAO
|
||||
xiao_cy = oy + CARRIER_H/2
|
||||
|
||||
# Left header (D0-D6 → signals from toy)
|
||||
left_nets = [9, 10, 11, 12, 13, 14, 15] # SIG_1 through SIG_7
|
||||
pcb.append(fp_start("XIAO_L", xiao_cx - row_half, xiao_cy))
|
||||
# Board outline rectangle
|
||||
xb_l = xiao_cx - XIAO_W/2 # left edge of XIAO PCB
|
||||
xb_r = xiao_cx + XIAO_W/2 # right edge
|
||||
xb_t = xiao_cy - XIAO_H/2 # top
|
||||
xb_b = xiao_cy + XIAO_H/2 # bottom
|
||||
pcb.append(gr_rect(xb_l, xb_t, xb_r, xb_b, "F.SilkS", 0.2))
|
||||
|
||||
# USB-C rectangle protruding from left edge
|
||||
usb_l = xb_l - XIAO_USB_PROTRUDE
|
||||
usb_t = xiao_cy - XIAO_USB_W/2
|
||||
usb_b = xiao_cy + XIAO_USB_W/2
|
||||
pcb.append(gr_rect(usb_l, usb_t, xb_l, usb_b, "F.SilkS", 0.2))
|
||||
# Fill USB area
|
||||
pcb.append(gr_rect(usb_l + 0.3, usb_t + 0.3, xb_l - 0.1, usb_b - 0.3, "F.SilkS", 0.15))
|
||||
pcb.append(gr_text("USB-C", usb_l + 2, xiao_cy, 0.5))
|
||||
pcb.append(gr_text("XIAO nRF52840", xiao_cx + 1, xiao_cy, 0.8))
|
||||
|
||||
# Reset button indicator (top-left corner of XIAO near USB)
|
||||
pcb.append(gr_text("RST", xb_l + 2, xb_t + 1.5, 0.4))
|
||||
pcb.append(gr_circle(xb_l + 1, xb_t + 1.5, 0.5, "F.SilkS", "none"))
|
||||
|
||||
# Pin labels
|
||||
left_labels = ["D0","D1","D2","D3","D4","D5","D6"]
|
||||
right_labels = ["D10","D9","D8","D7","3V3","GND","5V"]
|
||||
|
||||
# Left row nets: SIG_1..7 → S1..S7 (from toy via FPC)
|
||||
left_nets = [(10,"S1"),(11,"S2"),(12,"S3"),(13,"S4"),(14,"S5"),(15,"S6"),(16,"S7")]
|
||||
# Right row: D10→S8(audio), D9→SCK, D8→MOSI, D7→MISO, 3V3, GND, 5V(NC)
|
||||
right_nets = [(17,"S8"),(6,"SPI_SCK"),(4,"SPI_MOSI"),(5,"SPI_MISO"),(3,"3V3"),(1,"GND"),(0,"")]
|
||||
|
||||
# Left header
|
||||
pcb.append(fp_hdr("J2_XIAO_L", xiao_cx - XIAO_ROW_SPAN/2, xiao_cy))
|
||||
for i in range(7):
|
||||
y = -7.62 + i * 2.54
|
||||
pcb.append(thru(left_labels[i], 0, y, 1.7, 1.0, left_nets[i], f"SIG_{i+1}"))
|
||||
net_id, net_name = left_nets[i]
|
||||
pcb.append(pad_thru(left_labels[i], 0, y, 1.7, 1.0, net_id, net_name))
|
||||
pcb.append(" )")
|
||||
for i, lbl in enumerate(left_labels):
|
||||
pcb.append(txt(lbl, xiao_cx - row_half - 3, xiao_cy - 7.62 + i*2.54, 0.5))
|
||||
pcb.append(gr_text(lbl, xiao_cx - XIAO_ROW_SPAN/2 - 2.5, xiao_cy - 7.62 + i*2.54, 0.45))
|
||||
|
||||
# Right header (D10,D9,D8,D7 → audio/SPI/motor; 3V3,GND,5V → power)
|
||||
right_nets = [16, 6, 4, 5, 3, 1, 0]
|
||||
right_nnames = ["SIG_8", "SPI_SCK", "SPI_MOSI", "SPI_MISO", "3V3", "GND", ""]
|
||||
pcb.append(fp_start("XIAO_R", xiao_cx + row_half, xiao_cy))
|
||||
# Right header
|
||||
pcb.append(fp_hdr("J3_XIAO_R", xiao_cx + XIAO_ROW_SPAN/2, xiao_cy))
|
||||
for i in range(7):
|
||||
y = -7.62 + i * 2.54
|
||||
n = right_nets[i]
|
||||
nn = right_nnames[i]
|
||||
if n > 0:
|
||||
pcb.append(thru(right_labels[i], 0, y, 1.7, 1.0, n, nn))
|
||||
net_id, net_name = right_nets[i]
|
||||
if net_id > 0:
|
||||
pcb.append(pad_thru(right_labels[i], 0, y, 1.7, 1.0, net_id, net_name))
|
||||
else:
|
||||
pcb.append(f' (pad "{right_labels[i]}" thru_hole circle (at 0 {y:.2f}) (size 1.7 1.7) (drill 1.0) (layers "*.Cu" "*.Mask") (uuid "{uid()}"))')
|
||||
pcb.append(" )")
|
||||
for i, lbl in enumerate(right_labels):
|
||||
pcb.append(txt(lbl, xiao_cx + row_half + 3, xiao_cy - 7.62 + i*2.54, 0.5))
|
||||
|
||||
# ---- IS25LP128F (SOIC-8) ----
|
||||
fl_cx = cx + 31
|
||||
fl_cy = cy + 5.5
|
||||
pcb.append(gr_text(lbl, xiao_cx + XIAO_ROW_SPAN/2 + 2.8, xiao_cy - 7.62 + i*2.54, 0.45))
|
||||
|
||||
# ================================================================
|
||||
# CARRIER: IS25LP128F (SOIC-8)
|
||||
# ================================================================
|
||||
|
||||
fl_cx = ox + 32
|
||||
fl_cy = oy + 5.5
|
||||
soic_span = 5.4
|
||||
|
||||
# SOIC-8 body outline on silk
|
||||
pcb.append(gr_rect(fl_cx - 2.5, fl_cy - soic_span/2 - 0.5,
|
||||
fl_cx + 2.5, fl_cy + soic_span/2 + 0.5))
|
||||
# Pin 1 dot
|
||||
pcb.append(circle_mark(fl_cx - 2.5, fl_cy + soic_span/2 + 0.8))
|
||||
# Outline
|
||||
pcb.append(rect(fl_cx - 2.5, fl_cy - 2, fl_cx + 2.5, fl_cy + 2))
|
||||
pcb.append(txt("U2 IS25LP128F", fl_cx, fl_cy - 3.5, 0.5))
|
||||
pcb.append(txt("●1", fl_cx - 2.5, fl_cy + soic_span/2 + 1.5, 0.4))
|
||||
pcb.append(gr_circle(fl_cx - 1.5, fl_cy + soic_span/2 - 0.5, 0.25))
|
||||
# Notch on pin 1 end
|
||||
pcb.append(gr_circle(fl_cx, fl_cy + soic_span/2 + 0.5, 0.4, "F.SilkS", "none"))
|
||||
pcb.append(gr_text("U2", fl_cx, fl_cy - soic_span/2 - 1.5, 0.5))
|
||||
pcb.append(gr_text("IS25LP128F", fl_cx, fl_cy + soic_span/2 + 2, 0.4))
|
||||
# Pin numbers on silk
|
||||
for i, num in enumerate([1,2,3,4]):
|
||||
pcb.append(gr_text(str(num), fl_cx - 1.905 + i*1.27, fl_cy + soic_span/2 + 1.2, 0.3))
|
||||
for i, num in enumerate([8,7,6,5]):
|
||||
pcb.append(gr_text(str(num), fl_cx - 1.905 + i*1.27, fl_cy - soic_span/2 - 1.2, 0.3))
|
||||
|
||||
flash_pins = [
|
||||
(1, -1.905, soic_span/2, 7, "FLASH_CS"),
|
||||
(2, -0.635, soic_span/2, 5, "SPI_MISO"),
|
||||
(3, 0.635, soic_span/2, 3, "3V3"),
|
||||
(3, 0.635, soic_span/2, 3, "3V3"), # ~WP tie high
|
||||
(4, 1.905, soic_span/2, 1, "GND"),
|
||||
(5, 1.905, -soic_span/2, 4, "SPI_MOSI"),
|
||||
(6, 0.635, -soic_span/2, 6, "SPI_SCK"),
|
||||
(7, -0.635, -soic_span/2, 3, "3V3"),
|
||||
(8, -1.905, -soic_span/2, 3, "3V3"),
|
||||
(7, -0.635, -soic_span/2, 3, "3V3"), # ~HOLD tie high
|
||||
(8, -1.905, -soic_span/2, 3, "3V3"), # VCC
|
||||
]
|
||||
pcb.append(fp_start("IS25LP128F", fl_cx, fl_cy))
|
||||
pcb.append(fp_hdr("U2_Flash", fl_cx, fl_cy))
|
||||
for pin, x, y, net, nn in flash_pins:
|
||||
pcb.append(smd(str(pin), x, y, 0.6, 1.5, net, nn))
|
||||
pcb.append(pad_smd(str(pin), x, y, 0.6, 1.5, net, nn))
|
||||
pcb.append(" )")
|
||||
|
||||
# Flash decoupling C3 (0805)
|
||||
pcb.append(fp_start("C3", fl_cx + 5, fl_cy))
|
||||
pcb.append(smd("1", -1.0, 0, 1.0, 1.2, 3, "3V3"))
|
||||
pcb.append(smd("2", 1.0, 0, 1.0, 1.2, 1, "GND"))
|
||||
# Flash decoupling C3
|
||||
pcb.append(fp_hdr("C3", fl_cx + 5.5, fl_cy - 1))
|
||||
pcb.append(pad_smd("1", -1.0, 0, 1.0, 1.2, 3, "3V3"))
|
||||
pcb.append(pad_smd("2", 1.0, 0, 1.0, 1.2, 1, "GND"))
|
||||
pcb.append(" )")
|
||||
pcb.append(txt("C3 100n", fl_cx + 5, fl_cy - 1.2, 0.4))
|
||||
# Polarity: + mark on pin 1 side
|
||||
pcb.append(txt("+", fl_cx + 3.8, fl_cy, 0.4))
|
||||
|
||||
# ---- Flash CS pullup R2 ----
|
||||
pcb.append(fp_start("R2", fl_cx + 5, fl_cy + 3))
|
||||
pcb.append(smd("1", -1.0, 0, 1.0, 1.2, 7, "FLASH_CS"))
|
||||
pcb.append(smd("2", 1.0, 0, 1.0, 1.2, 3, "3V3"))
|
||||
pcb.append(" )")
|
||||
pcb.append(txt("R2 10K", fl_cx + 5, fl_cy + 1.8, 0.4))
|
||||
|
||||
# ---- Audio RC LPF: R1 + C5 ----
|
||||
pcb.append(fp_start("R1", cx + 31, cy + 12))
|
||||
pcb.append(smd("1", -1.0, 0, 1.0, 1.2, 16, "SIG_8")) # from D10 (audio PWM)
|
||||
pcb.append(smd("2", 1.0, 0, 1.0, 1.2, 0, "AUDIO_FILT")) # to cap & JST
|
||||
pcb.append(" )")
|
||||
pcb.append(txt("R1 4.7K", cx+31, cy+10.8, 0.4))
|
||||
pcb.append(gr_text("C3", fl_cx + 5.5, fl_cy - 2.3, 0.4))
|
||||
pcb.append(gr_text("100n", fl_cx + 5.5, fl_cy + 0.3, 0.35))
|
||||
|
||||
pcb.append(fp_start("C5", cx + 31, cy + 14.5))
|
||||
pcb.append(smd("1", -1.0, 0, 1.0, 1.2, 0, "AUDIO_FILT"))
|
||||
pcb.append(smd("2", 1.0, 0, 1.0, 1.2, 1, "GND"))
|
||||
# Flash CS pullup R2
|
||||
pcb.append(fp_hdr("R2", fl_cx + 5.5, fl_cy + 2))
|
||||
pcb.append(pad_smd("1", -1.0, 0, 1.0, 1.2, 7, "FLASH_CS"))
|
||||
pcb.append(pad_smd("2", 1.0, 0, 1.0, 1.2, 3, "3V3"))
|
||||
pcb.append(" )")
|
||||
pcb.append(txt("C5 10n", cx+31, cy+13.3, 0.4))
|
||||
|
||||
# ---- TPS61220 BOOST ----
|
||||
boost_cx = cx + 31
|
||||
boost_cy = cy + 19
|
||||
pcb.append(gr_text("R2", fl_cx + 5.5, fl_cy + 0.8, 0.4))
|
||||
pcb.append(gr_text("10K", fl_cx + 5.5, fl_cy + 3.3, 0.35))
|
||||
|
||||
# Pin 1 dot
|
||||
pcb.append(circle_mark(boost_cx - 1.2, boost_cy + 1.5))
|
||||
pcb.append(txt("U1 TPS61220", boost_cx, boost_cy - 2.5, 0.5))
|
||||
pcb.append(txt("●1", boost_cx - 1.2, boost_cy + 2.2, 0.4))
|
||||
# ================================================================
|
||||
# CARRIER: Audio RC filter (R1 + C5)
|
||||
# ================================================================
|
||||
|
||||
pcb.append(fp_start("TPS61220", boost_cx, boost_cy))
|
||||
pcb.append(smd("1", -0.65, 0.7, 0.4, 0.55, 2, "VBAT")) # VIN
|
||||
pcb.append(smd("2", 0, 0.7, 0.4, 0.55, 1, "GND")) # GND
|
||||
pcb.append(smd("3", 0.65, 0.7, 0.4, 0.55, 2, "VBAT")) # EN (tied to VIN)
|
||||
pcb.append(smd("4", 0.65,-0.7, 0.4, 0.55, 3, "3V3")) # VOUT
|
||||
pcb.append(smd("5", -0.65,-0.7, 0.4, 0.55, 8, "BOOST_SW")) # L (switch)
|
||||
rc_x = ox + 32
|
||||
rc_y = oy + 14
|
||||
|
||||
pcb.append(fp_hdr("R1", rc_x, rc_y))
|
||||
pcb.append(pad_smd("1", -1.0, 0, 1.0, 1.2, 17, "S8")) # from XIAO D10
|
||||
pcb.append(pad_smd("2", 1.0, 0, 1.0, 1.2, 9, "AUDIO_FILT"))
|
||||
pcb.append(" )")
|
||||
pcb.append(gr_text("R1 4.7K", rc_x, rc_y - 1.3, 0.4))
|
||||
|
||||
pcb.append(fp_hdr("C5", rc_x, rc_y + 3))
|
||||
pcb.append(pad_smd("1", -1.0, 0, 1.0, 1.2, 9, "AUDIO_FILT"))
|
||||
pcb.append(pad_smd("2", 1.0, 0, 1.0, 1.2, 1, "GND"))
|
||||
pcb.append(" )")
|
||||
pcb.append(gr_text("C5 10n", rc_x, rc_y + 1.7, 0.4))
|
||||
|
||||
# ================================================================
|
||||
# CARRIER: TPS61220 Boost Converter
|
||||
# ================================================================
|
||||
|
||||
bx = ox + 32
|
||||
by = oy + 21
|
||||
|
||||
# SC-70-5 outline
|
||||
pcb.append(gr_rect(bx - 1.2, by - 1.1, bx + 1.2, by + 1.1))
|
||||
pcb.append(gr_circle(bx - 0.8, by + 0.6, 0.2)) # pin 1 dot
|
||||
pcb.append(gr_text("U1", bx, by - 2, 0.5))
|
||||
pcb.append(gr_text("TPS61220", bx, by + 2, 0.4))
|
||||
pcb.append(gr_text("●1", bx - 1.5, by + 0.7, 0.35))
|
||||
|
||||
pcb.append(fp_hdr("U1_Boost", bx, by))
|
||||
pcb.append(pad_smd("1", -0.65, 0.7, 0.4, 0.55, 2, "VBAT")) # VIN
|
||||
pcb.append(pad_smd("2", 0, 0.7, 0.4, 0.55, 1, "GND")) # GND
|
||||
pcb.append(pad_smd("3", 0.65, 0.7, 0.4, 0.55, 2, "VBAT")) # EN=VIN
|
||||
pcb.append(pad_smd("4", 0.65, -0.7, 0.4, 0.55, 3, "3V3")) # VOUT
|
||||
pcb.append(pad_smd("5", -0.65, -0.7, 0.4, 0.55, 8, "BOOST_SW")) # L
|
||||
pcb.append(" )")
|
||||
|
||||
# L1 inductor (0805)
|
||||
pcb.append(fp_start("L1", boost_cx - 4, boost_cy))
|
||||
pcb.append(smd("1", -1.0, 0, 1.0, 1.2, 8, "BOOST_SW"))
|
||||
pcb.append(smd("2", 1.0, 0, 1.0, 1.2, 2, "VBAT"))
|
||||
# L1 (0805)
|
||||
pcb.append(fp_hdr("L1", bx - 4, by))
|
||||
pcb.append(pad_smd("1", -1.0, 0, 1.0, 1.2, 8, "BOOST_SW"))
|
||||
pcb.append(pad_smd("2", 1.0, 0, 1.0, 1.2, 2, "VBAT"))
|
||||
pcb.append(" )")
|
||||
pcb.append(txt("L1 4.7u", boost_cx - 4, boost_cy - 1.2, 0.4))
|
||||
pcb.append(gr_text("L1 4.7u", bx - 4, by - 1.3, 0.4))
|
||||
|
||||
# C1 boost input (0805)
|
||||
pcb.append(fp_start("C1", boost_cx - 4, boost_cy + 3))
|
||||
pcb.append(smd("1", -1.0, 0, 1.0, 1.2, 2, "VBAT"))
|
||||
pcb.append(smd("2", 1.0, 0, 1.0, 1.2, 1, "GND"))
|
||||
# C1 input (0805)
|
||||
pcb.append(fp_hdr("C1", bx - 4, by + 3))
|
||||
pcb.append(pad_smd("1", -1.0, 0, 1.0, 1.2, 2, "VBAT"))
|
||||
pcb.append(pad_smd("2", 1.0, 0, 1.0, 1.2, 1, "GND"))
|
||||
pcb.append(" )")
|
||||
pcb.append(txt("C1 10u", boost_cx - 4, boost_cy + 1.8, 0.4))
|
||||
pcb.append(gr_text("C1 10u", bx - 4, by + 1.7, 0.4))
|
||||
|
||||
# C2 boost output (0805)
|
||||
pcb.append(fp_start("C2", boost_cx + 4, boost_cy))
|
||||
pcb.append(smd("1", -1.0, 0, 1.0, 1.2, 3, "3V3"))
|
||||
pcb.append(smd("2", 1.0, 0, 1.0, 1.2, 1, "GND"))
|
||||
# C2 output (0805)
|
||||
pcb.append(fp_hdr("C2", bx + 4, by))
|
||||
pcb.append(pad_smd("1", -1.0, 0, 1.0, 1.2, 3, "3V3"))
|
||||
pcb.append(pad_smd("2", 1.0, 0, 1.0, 1.2, 1, "GND"))
|
||||
pcb.append(" )")
|
||||
pcb.append(txt("C2 10u", boost_cx + 4, boost_cy - 1.2, 0.4))
|
||||
|
||||
# ---- JST SH 10-pin connector (top-right of carrier) ----
|
||||
jst_cx = cx + 38
|
||||
jst_cy = cy + 10
|
||||
pcb.append(gr_text("C2 10u", bx + 4, by - 1.3, 0.4))
|
||||
|
||||
pcb.append(txt("J1 TO TOY →", jst_cx - 5, jst_cy - 4, 0.5))
|
||||
pcb.append(txt("1=VBAT 2=GND 3-10=SIG", jst_cx - 5, jst_cy + 5, 0.35))
|
||||
# Pin 1 mark
|
||||
pcb.append(circle_mark(jst_cx - 4.5 * JST_PITCH - 0.8, jst_cy))
|
||||
# ================================================================
|
||||
# CARRIER: FPC-20 Connector (0.5mm pitch, bottom-contact)
|
||||
# ================================================================
|
||||
|
||||
jst_pin_nets = [
|
||||
fpc_cx = ox + 38
|
||||
fpc_cy = oy + 14
|
||||
fpc_pitch = 0.5
|
||||
n_fpc = 20
|
||||
|
||||
# FPC connector outline
|
||||
fpc_w = (n_fpc - 1) * fpc_pitch + 2.0
|
||||
pcb.append(gr_rect(fpc_cx - fpc_w/2, fpc_cy - 2, fpc_cx + fpc_w/2, fpc_cy + 2))
|
||||
pcb.append(gr_text("J1 FPC-20", fpc_cx, fpc_cy - 3, 0.5))
|
||||
pcb.append(gr_text("0.5mm TO TOY", fpc_cx, fpc_cy + 3, 0.35))
|
||||
pcb.append(gr_circle(fpc_cx - (n_fpc-1)*fpc_pitch/2 - 0.8, fpc_cy, 0.2)) # pin 1
|
||||
|
||||
# FPC pin assignment:
|
||||
# 1=VBAT 2=GND 3=S1 4=S2 ... 10=S8 11-16=S9-S14(spare) 17-20=spare/GND
|
||||
fpc_nets = [
|
||||
(1, 2, "VBAT"), (2, 1, "GND"),
|
||||
(3, 9, "SIG_1"), (4, 10, "SIG_2"), (5, 11, "SIG_3"),
|
||||
(6, 12, "SIG_4"), (7, 13, "SIG_5"), (8, 14, "SIG_6"),
|
||||
(9, 15, "SIG_7"), (10, 16, "SIG_8"),
|
||||
(3, 10, "S1"), (4, 11, "S2"), (5, 12, "S3"), (6, 13, "S4"),
|
||||
(7, 14, "S5"), (8, 15, "S6"), (9, 16, "S7"), (10, 17, "S8"),
|
||||
(11, 18, "S9"), (12, 19, "S10"), (13, 20, "S11"), (14, 21, "S12"),
|
||||
(15, 22, "S13"), (16, 23, "S14"), (17, 24, "S15"), (18, 25, "S16"),
|
||||
(19, 1, "GND"), (20, 1, "GND"),
|
||||
]
|
||||
|
||||
pcb.append(fp_start("J1_JST_SH10", jst_cx, jst_cy))
|
||||
for pin, net, nn in jst_pin_nets:
|
||||
x = -(9 * JST_PITCH / 2) + (pin - 1) * JST_PITCH
|
||||
pcb.append(smd(str(pin), x, 0, 0.6, 1.2, net, nn))
|
||||
# Anchor pads
|
||||
pcb.append(smd("S1", -6, 2.15, 1.2, 1.8, 0, "", mask=False))
|
||||
pcb.append(smd("S2", 6, 2.15, 1.2, 1.8, 0, "", mask=False))
|
||||
pcb.append(fp_hdr("J1_FPC20", fpc_cx, fpc_cy))
|
||||
for pin, net, nn in fpc_nets:
|
||||
x = -((n_fpc - 1) * fpc_pitch / 2) + (pin - 1) * fpc_pitch
|
||||
pcb.append(pad_smd(str(pin), x, 0, 0.3, 1.2, net, nn))
|
||||
# Anchor/lock pads
|
||||
pcb.append(pad_smd("S1", -(fpc_w/2 - 0.5), 2.5, 1.5, 1.0, 0, ""))
|
||||
pcb.append(pad_smd("S2", (fpc_w/2 - 0.5), 2.5, 1.5, 1.0, 0, ""))
|
||||
pcb.append(" )")
|
||||
|
||||
# ---- Mounting holes ----
|
||||
for mx, my in [(cx + 1.5, cy + 1.5), (cx + CARRIER_W - 4, cy + CARRIER_H - 2)]:
|
||||
pcb.append(fp_start(f"MH", mx, my))
|
||||
|
||||
# ================================================================
|
||||
# CARRIER: Mounting holes
|
||||
# ================================================================
|
||||
|
||||
for mx, my in [(ox + 2, oy + CARRIER_H - 2), (ox + CARRIER_W - 3, oy + CARRIER_H - 2)]:
|
||||
pcb.append(fp_hdr("MH", mx, my))
|
||||
pcb.append(f' (pad "" thru_hole circle (at 0 0) (size 3.5 3.5) (drill 2.2) (layers "*.Cu" "*.Mask") (uuid "{uid()}"))')
|
||||
pcb.append(" )")
|
||||
|
||||
# ---- Carrier silkscreen ----
|
||||
pcb.append(txt("Baby Mobile Carrier v3.0", cx + CARRIER_W/2, cy - 0.5, 0.7, bold=True))
|
||||
pcb.append(txt("3V3", cx + CARRIER_W/2 + 8, cy + CARRIER_H + 0.3, 0.4))
|
||||
|
||||
# Back silk: wiring guide
|
||||
pcb.append(txt("XIAO D0-D6 = SIG_1-7 (buttons/speaker/motor)", cx + CARRIER_W/2, cy + 5, 0.4, "B.SilkS"))
|
||||
pcb.append(txt("XIAO D7=MISO D8=MOSI D9=SCK D10=AUDIO", cx + CARRIER_W/2, cy + 7, 0.4, "B.SilkS"))
|
||||
pcb.append(txt("JST: 1=VBAT 2=GND 3-10=SIG_1-8", cx + CARRIER_W/2, cy + 9, 0.4, "B.SilkS"))
|
||||
|
||||
# ============================
|
||||
# BREAKAWAY ADAPTERS
|
||||
# ============================
|
||||
# Carrier back silk
|
||||
pcb.append(gr_text("XIAO: D0-D6→SIG1-7 D7=MISO D8=MOSI D9=SCK D10=AUDIO(S8)", ox + CARRIER_W/2, oy + CARRIER_H/2, 0.4, "B.SilkS"))
|
||||
pcb.append(gr_text("FPC: 1=VBAT 2=GND 3-10=S1-S8 19-20=GND", ox + CARRIER_W/2, oy + CARRIER_H/2 + 2, 0.4, "B.SilkS"))
|
||||
|
||||
def make_adapter(name, cx, cy, pins_per_side, row_span, n_jst_pins):
|
||||
# ================================================================
|
||||
# ADAPTERS: Castellated SOP breakouts with FPC connectors
|
||||
# ================================================================
|
||||
|
||||
SOP_PITCH = 1.27
|
||||
|
||||
def make_adapter(name, board_cx, board_cy, pins_per_side, row_span, n_fpc_pins):
|
||||
"""
|
||||
Castellated SOP adapter.
|
||||
Board edges run through pad centers on both long sides.
|
||||
JST SH connector on one short edge (top).
|
||||
Adapter board with:
|
||||
- Castellated half-holes on TOP and BOTTOM long edges (SOP pads)
|
||||
- FPC connector centered on F.Cu
|
||||
- Board edges through SOP pad centers
|
||||
"""
|
||||
total_pins = pins_per_side * 2
|
||||
row_len = (pins_per_side - 1) * SOP_PITCH
|
||||
|
||||
# Board dimensions
|
||||
bw = row_len + 2.0 # a bit wider than pin span
|
||||
bh = row_span # exactly the distance between pin rows — edges at pad centers
|
||||
jst_tab = 3.0 # extra tab at top for JST connector
|
||||
total_h = bh + jst_tab
|
||||
bw = row_len + 3.0 # board width (along pin rows)
|
||||
bh = row_span # board height = exactly SOP row spacing
|
||||
|
||||
bx = cx - bw / 2
|
||||
by = cy - total_h / 2
|
||||
# Board outline — edges at castellation centers
|
||||
bl = board_cx - bw/2
|
||||
br = board_cx + bw/2
|
||||
bt = board_cy - bh/2 # top edge (pins N+1..2N)
|
||||
bb = board_cy + bh/2 # bottom edge (pins 1..N)
|
||||
|
||||
# Board outline
|
||||
pcb.append(line(bx, by, bx + bw, by))
|
||||
pcb.append(line(bx + bw, by, bx + bw, by + total_h))
|
||||
pcb.append(line(bx + bw, by + total_h, bx, by + total_h))
|
||||
pcb.append(line(bx, by + total_h, bx, by))
|
||||
# Don't draw left/right edges if they coincide with panel v-score
|
||||
# (they'll be part of the panel outline or v-score already)
|
||||
# Draw top and bottom edges
|
||||
pcb.append(gr_line(bl, bt, br, bt))
|
||||
pcb.append(gr_line(br, bt, br, bb))
|
||||
pcb.append(gr_line(br, bb, bl, bb))
|
||||
pcb.append(gr_line(bl, bb, bl, bt))
|
||||
|
||||
# Labels
|
||||
pcb.append(txt(name, cx, by - 1.0, 0.6, bold=True))
|
||||
# Label
|
||||
pcb.append(gr_text(name, board_cx, board_cy, 0.6))
|
||||
|
||||
# Castellated pads — pins 1..N on bottom edge, pins N+1..2N on top edge
|
||||
# Bottom edge (y = by + total_h): pins 1 through pins_per_side
|
||||
# Top edge (y = by + jst_tab): pins 2N down to pins_per_side+1 (SOP convention)
|
||||
|
||||
pcb.append(fp_start(f"{name}_pads", cx, cy + jst_tab/2, "B.Cu"))
|
||||
# Castellated pads footprint
|
||||
pcb.append(fp_hdr(f"{name}_cast", board_cx, board_cy, "B.Cu"))
|
||||
|
||||
for i in range(pins_per_side):
|
||||
pin = i + 1
|
||||
x = -row_len/2 + i * SOP_PITCH
|
||||
# Bottom row castellations (pins 1..N)
|
||||
pcb.append(cast(str(pin), x, bh/2, 0, f""))
|
||||
# Top row castellations (pins 2N..N+1, reversed per SOP convention)
|
||||
net_id = pin + 9 # S1=net10, S2=net11, etc.
|
||||
# Bottom edge: pins 1..N
|
||||
pcb.append(pad_cast(str(pin), x, bh/2, net_id, f"S{pin}"))
|
||||
# Top edge: pins 2N..N+1 (reversed, SOP convention)
|
||||
top_pin = total_pins - i
|
||||
pcb.append(cast(str(top_pin), x, -bh/2, 0, f""))
|
||||
top_net = top_pin + 9
|
||||
pcb.append(pad_cast(str(top_pin), x, -bh/2, top_net, f"S{top_pin}"))
|
||||
|
||||
pcb.append(" )")
|
||||
|
||||
# Pin number labels on top silk
|
||||
# Pin labels on front silk
|
||||
for i in range(pins_per_side):
|
||||
x = cx - row_len/2 + i * SOP_PITCH
|
||||
# Bottom row labels
|
||||
pcb.append(txt(str(i+1), x, cy + jst_tab/2 + bh/2 + 0.8, 0.35))
|
||||
# Top row labels
|
||||
pcb.append(txt(str(total_pins - i), x, cy + jst_tab/2 - bh/2 - 0.8, 0.35))
|
||||
x = board_cx - row_len/2 + i * SOP_PITCH
|
||||
pcb.append(gr_text(str(i+1), x, bb + 0.7, 0.3))
|
||||
pcb.append(gr_text(str(total_pins - i), x, bt - 0.7, 0.3))
|
||||
|
||||
# Pin 1 dot
|
||||
pcb.append(circle_mark(cx - row_len/2 - 0.6, cy + jst_tab/2 + bh/2 + 0.5, 0.25))
|
||||
pcb.append(gr_circle(board_cx - row_len/2 - 0.5, bb + 0.5, 0.2))
|
||||
pcb.append(gr_text("●1", board_cx - row_len/2 - 0.5, bb + 1.3, 0.3))
|
||||
|
||||
# JST SH connector at the top tab
|
||||
jst_y = by + jst_tab / 2
|
||||
pcb.append(fp_start(f"{name}_JST", cx, jst_y))
|
||||
for j in range(n_jst_pins):
|
||||
x = -((n_jst_pins - 1) * JST_PITCH / 2) + j * JST_PITCH
|
||||
pcb.append(smd(f"J{j+1}", x, 0, 0.6, 1.0, 0, ""))
|
||||
# Pin labels on back silk (mirror, for soldering reference)
|
||||
pcb.append(gr_text(f"{name} ●1→", board_cx, board_cy, 0.5, "B.SilkS", mirror=True))
|
||||
|
||||
# FPC connector centered
|
||||
fpc_pitch_a = 0.5
|
||||
pcb.append(fp_hdr(f"{name}_FPC", board_cx, board_cy))
|
||||
for j in range(n_fpc_pins):
|
||||
x = -((n_fpc_pins - 1) * fpc_pitch_a / 2) + j * fpc_pitch_a
|
||||
# Map FPC pins to SOP pin nets
|
||||
if j < total_pins:
|
||||
sop_pin = j + 1
|
||||
net_id = sop_pin + 9
|
||||
nn = f"S{sop_pin}"
|
||||
elif j == n_fpc_pins - 2:
|
||||
net_id = 1; nn = "GND" # second-to-last = GND
|
||||
elif j == n_fpc_pins - 1:
|
||||
net_id = 2; nn = "VBAT" # last = VBAT
|
||||
else:
|
||||
net_id = 0; nn = ""
|
||||
pcb.append(pad_smd(f"F{j+1}", x, 0, 0.3, 1.0, net_id, nn))
|
||||
# Anchor pads
|
||||
aw = (n_fpc_pins - 1) * fpc_pitch_a / 2 + 1.5
|
||||
pcb.append(pad_smd("SA", -aw, 1.5, 1.2, 0.8, 0, ""))
|
||||
pcb.append(pad_smd("SB", aw, 1.5, 1.2, 0.8, 0, ""))
|
||||
pcb.append(" )")
|
||||
pcb.append(txt("JST", cx, jst_y - 1.5, 0.35))
|
||||
pcb.append(circle_mark(cx - (n_jst_pins-1)*JST_PITCH/2 - 0.8, jst_y, 0.2))
|
||||
|
||||
pcb.append(gr_text("FPC", board_cx, board_cy - 1.8, 0.35))
|
||||
pcb.append(gr_circle(board_cx - (n_fpc_pins-1)*fpc_pitch_a/2 - 0.6, board_cy, 0.15))
|
||||
|
||||
# Place adapters in the strip
|
||||
strip_cy = vs_y + 0.5 + ADAPTER_STRIP_H / 2
|
||||
|
||||
# --- SOP-8 adapter ---
|
||||
make_adapter("SOP-8",
|
||||
ox + 6,
|
||||
vscore_y + 1 + ADAPTER_AREA_H/2,
|
||||
SOP8_PINS_PER_SIDE,
|
||||
3.9, # 150mil narrow row span
|
||||
8) # 8 JST pins (all SOP pins)
|
||||
# SOP-8: 4+4 pins, 3.9mm span, 10-pin FPC (8 signals + GND + VBAT)
|
||||
make_adapter("SOP-8", ox + a8_w/2 + 0.5, strip_cy, 4, 3.9, 10)
|
||||
|
||||
# --- SOP-16 narrow adapter ---
|
||||
make_adapter("SOP-16N",
|
||||
ox + 20,
|
||||
vscore_y + 1 + ADAPTER_AREA_H/2,
|
||||
SOP16_PINS_PER_SIDE,
|
||||
6.0, # narrow SOP-16 lead span
|
||||
10) # 10 JST pins (all 16 SOP + VBAT + GND → 10 JST via mapping)
|
||||
# SOP-16 narrow: 8+8 pins, 6.0mm span, 20-pin FPC (16 signals + GND + VBAT + 2 spare)
|
||||
make_adapter("SOP-16N", vs_x1 + a16n_w/2, strip_cy, 8, 6.0, 20)
|
||||
|
||||
# --- SOP-16 wide adapter ---
|
||||
make_adapter("SOP-16W",
|
||||
ox + 37,
|
||||
vscore_y + 1 + ADAPTER_AREA_H/2,
|
||||
SOP16_PINS_PER_SIDE,
|
||||
10.3, # wide SOP-16 (300mil body) lead span
|
||||
10)
|
||||
# SOP-16 wide: 8+8 pins, 10.3mm span, 20-pin FPC
|
||||
make_adapter("SOP-16W", vs_x2 + a16w_w/2, strip_cy, 8, 10.3, 20)
|
||||
|
||||
# Adapter strip instructions on back silk
|
||||
pcb.append(txt("Snap off adapter matching your toy's MCU. Castellations solder into SOP footprint.",
|
||||
ox + PANEL_W/2, vscore_y + ADAPTER_AREA_H + 1, 0.4, "B.SilkS"))
|
||||
pcb.append(txt("JST cable connects adapter to carrier board J1.",
|
||||
ox + PANEL_W/2, vscore_y + ADAPTER_AREA_H + 2, 0.4, "B.SilkS"))
|
||||
# ================================================================
|
||||
# Panel title
|
||||
# ================================================================
|
||||
pcb.append(gr_text("Baby Mobile v4 — JLCPCB Panel", ox + PANEL_W/2, oy - 2, 1.0))
|
||||
pcb.append(gr_text("Castellated Holes=YES V-Score=YES 2-Layer 1.6mm", ox + PANEL_W/2, oy + PANEL_H + 2, 0.5))
|
||||
|
||||
pcb.append(")")
|
||||
return "\n".join(pcb)
|
||||
|
||||
|
||||
# ============================================================
|
||||
# Project file
|
||||
# ============================================================
|
||||
|
||||
def generate_project():
|
||||
return json.dumps({
|
||||
"meta": {"filename": "baby-mobile-panel.kicad_pro", "version": 1},
|
||||
"board": {"design_settings": {"rules": {"min_track_width": 0.15, "min_via_diameter": 0.4}}},
|
||||
"net_settings": {"classes": [
|
||||
{"name": "Default", "clearance": 0.15, "track_width": 0.25},
|
||||
{"name": "Power", "clearance": 0.2, "track_width": 0.5},
|
||||
]},
|
||||
}, indent=2)
|
||||
|
||||
|
||||
# ============================================================
|
||||
# Main
|
||||
# ============================================================
|
||||
|
||||
if __name__ == "__main__":
|
||||
outdir = os.path.dirname(os.path.abspath(__file__))
|
||||
|
||||
pcb_text = generate_panel()
|
||||
pcb_text = generate()
|
||||
pcb_path = os.path.join(outdir, "baby-mobile-panel.kicad_pcb")
|
||||
with open(pcb_path, "w") as f:
|
||||
f.write(pcb_text)
|
||||
print(f"Written: baby-mobile-panel.kicad_pcb ({len(pcb_text)} bytes)")
|
||||
print(f"Written: {pcb_path} ({len(pcb_text)} bytes)")
|
||||
|
||||
proj_text = generate_project()
|
||||
proj = json.dumps({
|
||||
"meta": {"filename": "baby-mobile-panel.kicad_pro", "version": 1},
|
||||
"board": {"design_settings": {"rules": {"min_track_width": 0.15}}},
|
||||
"net_settings": {"classes": [{"name":"Default","clearance":0.15,"track_width":0.25}]},
|
||||
}, indent=2)
|
||||
with open(os.path.join(outdir, "baby-mobile-panel.kicad_pro"), "w") as f:
|
||||
f.write(proj_text)
|
||||
f.write(proj)
|
||||
|
||||
print(f"\nPanel contents:")
|
||||
print(f" Carrier board: 42mm × 24mm")
|
||||
print(f" - XIAO socket (2×7 TH, 2.54mm, 17.78mm apart)")
|
||||
print(f" - IS25LP128F SOIC-8 with pin 1 dot")
|
||||
print(f" - TPS61220 SC-70-5 with pin 1 dot")
|
||||
print(f" - L1 4.7µH, C1/C2 10µF, C3 100nF, R1 4.7K, C5 10nF, R2 10K")
|
||||
print(f" - JST SH 10-pin right-angle SMD (J1)")
|
||||
print(f" - 2× M2 mounting holes")
|
||||
print(f" Breakaway adapters:")
|
||||
print(f" - SOP-8 (4+4 pins, 3.9mm span, 8-pin JST)")
|
||||
print(f" - SOP-16 narrow (8+8 pins, 6.0mm span, 10-pin JST)")
|
||||
print(f" - SOP-16 wide (8+8 pins, 10.3mm span, 10-pin JST)")
|
||||
print(f" All adapters: castellated edges, pin 1 dots, numbered silk")
|
||||
print("\nPanel:")
|
||||
print(" Carrier (44×26mm): XIAO(accurate outline+USB-C), IS25LP128F(pin1 dot+notch), TPS61220(pin1 dot), FPC-20")
|
||||
print(" SOP-8 adapter: castellation on long edges, 10-pin FPC center")
|
||||
print(" SOP-16N adapter: castellation on long edges, 20-pin FPC center")
|
||||
print(" SOP-16W adapter: castellation on long edges, 20-pin FPC center")
|
||||
print(" V-score between carrier and adapter strip, and between each adapter")
|
||||
print(" All polarized parts have ●1 markers")
|
||||
|
||||
Reference in New Issue
Block a user