ShiboSoftwareDev/t113-s3-linux-computer-p9
The code defines a PCB subcircuit for a buck converter module featuring a TMI3112H IC, FTC252010S power switch, and associated passive components like capacitors and resistors for voltage regulation and feedback control.
- Version
- 0.1.4
- License
- unset
- Stars
- 0
dist/index.js
import { jsxs, jsx } from 'react/jsx-runtime';
const jlc = (partNumber) => ({ jlcpcb: [partNumber] });
const footprint0402 = (jsxs("footprint", { children: [jsx("smtpad", { portHints: ["pin1"], pcbX: "-0.43mm", pcbY: "0mm", width: "0.56mm", height: "0.54mm", shape: "rect" }), jsx("smtpad", { portHints: ["pin2"], pcbX: "0.43mm", pcbY: "0mm", width: "0.56mm", height: "0.54mm", shape: "rect" }), jsx("courtyardrect", { width: "1.35mm", height: "0.70mm" })] }));
const footprint0603 = (jsxs("footprint", { children: [jsx("smtpad", { portHints: ["pin1"], pcbX: "-0.75mm", pcbY: "0mm", width: "0.80mm", height: "0.90mm", shape: "rect" }), jsx("smtpad", { portHints: ["pin2"], pcbX: "0.75mm", pcbY: "0mm", width: "0.80mm", height: "0.90mm", shape: "rect" }), jsx("courtyardrect", { width: "2.15mm", height: "1.25mm" })] }));
const R = ({ name, resistance, mpn, lcsc, x, y, rotation = 0, sectionName, size = "0402", }) => (jsx("resistor", { name: name, resistance: resistance, footprint: size === "0402" ? footprint0402 : footprint0603, manufacturerPartNumber: mpn, supplierPartNumbers: jlc(lcsc), pcbX: x, pcbY: y, pcbRotation: rotation, schSectionName: sectionName }));
const C = ({ name, capacitance, mpn, lcsc, x, y, rotation = 0, sectionName, size = "0402", maxVoltageRating = "10V", maxDecouplingTraceLength, }) => (jsx("capacitor", { name: name, capacitance: capacitance, maxVoltageRating: maxVoltageRating, footprint: size === "0402" ? footprint0402 : footprint0603, manufacturerPartNumber: mpn, supplierPartNumbers: jlc(lcsc), pcbX: x, pcbY: y, pcbRotation: rotation, schSectionName: sectionName, maxDecouplingTraceLength: maxDecouplingTraceLength }));
const part = {
r4k7: { mpn: "0402WGF4701TCE", lcsc: "C25900", value: "4.7kohm" },
r10k: { mpn: "0402WGF1002TCE", lcsc: "C25744", value: "10kohm" },
c100n: { mpn: "CL05B104KO5NNNC", lcsc: "C1525", value: "100nF" },
c10u: { mpn: "CL10A106KP8NNNC", lcsc: "C19702", value: "10uF" }};
const pinLabels = {
pin1: ["DAT2"],
pin2: ["DAT3", "CD_DAT3"],
pin3: ["CMD"],
pin4: ["VDD"],
pin5: ["CLK"],
pin6: ["VSS"],
pin7: ["DAT0"],
pin8: ["DAT1"],
pin9: ["CD", "CARD_DETECT_N"],
pin10: ["GND1"],
pin11: ["GND4"],
pin12: ["GND3"],
pin13: ["GND2"]
};
const TF_01A = (props) => {
return (jsx("connector", { pinCount: 13, pinLabels: pinLabels, pinAttributes: {
DAT2: { mustBeConnected: true },
DAT3: { mustBeConnected: true },
CMD: { mustBeConnected: true },
VDD: {
requiresPower: true,
requiresVoltage: "3.3V",
mustBeConnected: true,
shouldHaveDecouplingCapacitor: true,
},
CLK: { mustBeConnected: true },
VSS: { requiresGround: true, mustBeConnected: true },
DAT0: { mustBeConnected: true },
DAT1: { mustBeConnected: true },
CARD_DETECT_N: { mustBeConnected: true },
GND1: { requiresGround: true, mustBeConnected: true },
GND2: { requiresGround: true, mustBeConnected: true },
GND3: { requiresGround: true, mustBeConnected: true },
GND4: { requiresGround: true, mustBeConnected: true },
}, supplierPartNumbers: {
"jlcpcb": [
"C91145"
]
}, manufacturerPartNumber: "TF-01A", footprint: jsxs("footprint", { children: [jsx("hole", { pcbX: "-4.9499393mm", pcbY: "-5.39108015mm", diameter: "0.999998mm" }), jsx("hole", { pcbX: "3.0500447mm", pcbY: "-5.39108015mm", diameter: "0.999998mm" }), jsx("smtpad", { portHints: ["pin1"], pcbX: "2.2400133mm", pcbY: "5.45108765mm", width: "0.5999988mm", height: "1.2999974mm", shape: "rect" }), jsx("smtpad", { portHints: ["pin2"], pcbX: "1.1399647mm", pcbY: "5.45108765mm", width: "0.5999988mm", height: "1.2999974mm", shape: "rect" }), jsx("smtpad", { portHints: ["pin3"], pcbX: "0.0399161mm", pcbY: "5.45108765mm", width: "0.5999988mm", height: "1.2999974mm", shape: "rect" }), jsx("smtpad", { portHints: ["pin4"], pcbX: "-1.0601325mm", pcbY: "5.45108765mm", width: "0.5999988mm", height: "1.2999974mm", shape: "rect" }), jsx("smtpad", { portHints: ["pin5"], pcbX: "-2.1599525mm", pcbY: "5.45108765mm", width: "0.5999988mm", height: "1.2999974mm", shape: "rect" }), jsx("smtpad", { portHints: ["pin6"], pcbX: "-3.2600011mm", pcbY: "5.45108765mm", width: "0.5999988mm", height: "1.2999974mm", shape: "rect" }), jsx("smtpad", { portHints: ["pin7"], pcbX: "-4.3600497mm", pcbY: "5.45108765mm", width: "0.5999988mm", height: "1.2999974mm", shape: "rect" }), jsx("smtpad", { portHints: ["pin8"], pcbX: "-5.4598697mm", pcbY: "5.45108765mm", width: "0.5999988mm", height: "1.2999974mm", shape: "rect" }), jsx("smtpad", { portHints: ["pin9"], pcbX: "-6.5599691mm", pcbY: "5.45068125mm", width: "0.5999988mm", height: "1.2999974mm", shape: "rect" }), jsx("smtpad", { portHints: ["pin10"], pcbX: "-7.7599667mm", pcbY: "4.60069565mm", width: "1.1999976mm", height: "1.3999972mm", shape: "rect" }), jsx("smtpad", { portHints: ["pin13"], pcbX: "6.9200141mm", pcbY: "4.60069565mm", width: "1.1999976mm", height: "1.3999972mm", shape: "rect" }), jsx("smtpad", { portHints: ["pin12"], pcbX: "7.7599667mm", pcbY: "-5.10108835mm", width: "1.1999976mm", height: "1.999996mm", shape: "rect" }), jsx("smtpad", { portHints: ["pin11"], pcbX: "-7.7599667mm", pcbY: "-5.10108835mm", width: "1.1999976mm", height: "1.999996mm", shape: "rect" }), jsx("silkscreenpath", { route: [{ "x": -7.365987300000029, "y": 3.581139650000182 }, { "x": -7.365987300000029, "y": -3.927989349999848 }] }), jsx("silkscreenpath", { route: [{ "x": 7.366012699999828, "y": -3.991514749999851 }, { "x": 7.366012699999828, "y": 3.501485250000087 }] }), jsx("silkscreenpath", { route: [{ "x": -7.365987300000029, "y": -6.340963949999946 }, { "x": -7.365987300000029, "y": -9.401054349999981 }, { "x": 7.366012699999828, "y": -9.401028949999954 }, { "x": 7.366012699999828, "y": -6.491027149999923 }] }), jsx("silkscreenpath", { route: [{ "x": -7.365987300000029, "y": -8.915685749999966 }, { "x": -7.365987300000029, "y": -8.691022750000116 }, { "x": 1.000010699999848, "y": -8.691022750000116 }, { "x": 3.9370126999999684, "y": -9.388100349999945 }] }), jsx("silkscreentext", { text: "{NAME}", pcbX: "0.0000127mm", pcbY: "7.11097965mm", anchorAlignment: "center", fontSize: "1mm" }), jsx("courtyardoutline", { outline: [{ "x": -8.606587300000115, "y": 6.360979650000104 }, { "x": 8.606612699999914, "y": 6.360979650000104 }, { "x": 8.606612699999914, "y": -9.73462035 }, { "x": -8.606587300000115, "y": -9.73462035 }, { "x": -8.606587300000115, "y": 6.360979650000104 }] })] }), cadModel: {
objUrl: "https://modelcdn.tscircuit.com/easyeda_models/assets/C91145.obj?uuid=5685a23adc9a4e3e9b914abe5ae03aae",
stepUrl: "https://modelcdn.tscircuit.com/easyeda_models/assets/C91145.step?uuid=5685a23adc9a4e3e9b914abe5ae03aae",
pcbRotationOffset: 0,
modelOriginPosition: { x: -0.0022224999997728645, y: 5.101310850000045, z: -0.14733820000000009 },
}, ...props }));
};
const SECTION = "MICROSD_BOOT";
const breakoutPad = (name, net, label, x) => (jsx("testpoint", { name: name, footprint: jsxs("footprint", { children: [jsx("smtpad", { portHints: ["pin1"], pcbX: "0mm", pcbY: "0mm", width: "1.0mm", height: "1.0mm", shape: "rect" }), jsx("courtyardrect", { width: "1.5mm", height: "1.5mm" })] }), pcbX: x, pcbY: 13, schSectionName: SECTION, connections: { pin1: `net.${net}` }, pcbSx: { "& silkscreentext": { visibility: "hidden" } }, children: jsx("silkscreentext", { text: label, pcbX: x, pcbY: 14.2, fontSize: "0.55mm" }) }));
const MicroSdBootSubcircuit = ({ exposeToParent = true, }) => (jsxs("subcircuit", { name: "MICROSD_BOOT", width: "42mm", height: "34mm", autorouter: "default", autorouterVersion: "beta_pipeline9", autorouterEffortLevel: "10x", defaultTraceWidth: "0.15mm", exposeNets: exposeToParent, schAutoLayoutEnabled: true, schTraceAutoLabelEnabled: true, children: [jsx("net", { name: "VDD_3V3", isPowerNet: true, nominalTraceWidth: "0.5mm" }), jsx("net", { name: "GND", isGroundNet: true, nominalTraceWidth: "0.5mm" }), jsx("net", { name: "SD_DAT0" }), jsx("net", { name: "SD_DAT1" }), jsx("net", { name: "SD_DAT2" }), jsx("net", { name: "SD_DAT3" }), jsx("net", { name: "SD_CMD" }), jsx("net", { name: "SD_CLK" }), jsx("net", { name: "SD_CARD_DETECT_N" }), jsx(TF_01A, { name: "J_SD", pcbX: 0, pcbY: -6, schX: 0, schY: 0, schSectionName: SECTION, pcbSx: { "& silkscreentext": { visibility: "hidden" } } }), breakoutPad("TP_SD_DAT2", "SD_DAT2", "D2", 9), breakoutPad("TP_SD_DAT3", "SD_DAT3", "D3", 6), breakoutPad("TP_SD_CMD", "SD_CMD", "CMD", 3), breakoutPad("TP_SD_CLK", "SD_CLK", "CLK", 0), breakoutPad("TP_SD_DAT0", "SD_DAT0", "D0", -3), breakoutPad("TP_SD_DAT1", "SD_DAT1", "D1", -6), breakoutPad("TP_SD_CD", "SD_CARD_DETECT_N", "CD", -9), jsx(R, { name: "R_SD_DAT2_PU", resistance: part.r4k7.value, mpn: part.r4k7.mpn, lcsc: part.r4k7.lcsc, x: 7.4, y: 4.2, rotation: 90, sectionName: SECTION }), jsx(R, { name: "R_SD_DAT3_PU", resistance: part.r4k7.value, mpn: part.r4k7.mpn, lcsc: part.r4k7.lcsc, x: 5.4, y: 4.2, rotation: 90, sectionName: SECTION }), jsx(R, { name: "R_SD_CMD_PU", resistance: part.r4k7.value, mpn: part.r4k7.mpn, lcsc: part.r4k7.lcsc, x: 3.4, y: 4.2, rotation: 90, sectionName: SECTION }), jsx(R, { name: "R_SD_DAT0_PU", resistance: part.r4k7.value, mpn: part.r4k7.mpn, lcsc: part.r4k7.lcsc, x: -5.4, y: 4.2, rotation: 90, sectionName: SECTION }), jsx(R, { name: "R_SD_DAT1_PU", resistance: part.r4k7.value, mpn: part.r4k7.mpn, lcsc: part.r4k7.lcsc, x: -7.4, y: 4.2, rotation: 90, sectionName: SECTION }), jsx(R, { name: "R_SD_CD_PU", resistance: part.r10k.value, mpn: part.r10k.mpn, lcsc: part.r10k.lcsc, x: -9.4, y: 4.2, rotation: 90, sectionName: SECTION }), jsx(C, { name: "C_SD_HF", capacitance: part.c100n.value, mpn: part.c100n.mpn, lcsc: part.c100n.lcsc, x: -2.16, y: 1.6, rotation: 180, sectionName: SECTION }), jsx(C, { name: "C_SD_BULK", capacitance: part.c10u.value, mpn: part.c10u.mpn, lcsc: part.c10u.lcsc, x: -2.16, y: 3.6, rotation: 90, size: "0603", sectionName: SECTION }), jsx("trace", { name: "SD_DAT2_ESCAPE", from: ".J_SD > .DAT2", to: ".TP_SD_DAT2 > .pin1", width: "0.15mm" }), jsx("trace", { name: "SD_DAT3_ESCAPE", from: ".J_SD > .DAT3", to: ".TP_SD_DAT3 > .pin1", width: "0.15mm" }), jsx("trace", { name: "SD_CMD_ESCAPE", from: ".J_SD > .CMD", to: ".TP_SD_CMD > .pin1", width: "0.15mm" }), jsx("trace", { name: "SD_CLK_ESCAPE", from: ".J_SD > .CLK", to: ".TP_SD_CLK > .pin1", width: "0.15mm" }), jsx("trace", { name: "SD_DAT0_ESCAPE", from: ".J_SD > .DAT0", to: ".TP_SD_DAT0 > .pin1", width: "0.15mm" }), jsx("trace", { name: "SD_DAT1_ESCAPE", from: ".J_SD > .DAT1", to: ".TP_SD_DAT1 > .pin1", width: "0.15mm" }), jsx("trace", { name: "SD_CD_ESCAPE", from: ".J_SD > .CARD_DETECT_N", to: ".TP_SD_CD > .pin1", width: "0.15mm" }), jsx("bus", { name: "SDC0_TOP_BUS", pcbAllowedLayers: ["top"], pcbTraceWidth: "0.15mm", maxLengthSkew: "2.5mm", connections: [
"SD_DAT2_ESCAPE",
"SD_DAT3_ESCAPE",
"SD_CMD_ESCAPE",
"SD_CLK_ESCAPE",
"SD_DAT0_ESCAPE",
"SD_DAT1_ESCAPE",
] }), jsx("trace", { name: "SD_DAT2_PULLUP", from: ".J_SD > .DAT2", to: ".R_SD_DAT2_PU > .pin1" }), jsx("trace", { name: "SD_DAT3_PULLUP", from: ".J_SD > .DAT3", to: ".R_SD_DAT3_PU > .pin1" }), jsx("trace", { name: "SD_CMD_PULLUP", from: ".J_SD > .CMD", to: ".R_SD_CMD_PU > .pin1" }), jsx("trace", { name: "SD_DAT0_PULLUP", from: ".J_SD > .DAT0", to: ".R_SD_DAT0_PU > .pin1" }), jsx("trace", { name: "SD_DAT1_PULLUP", from: ".J_SD > .DAT1", to: ".R_SD_DAT1_PU > .pin1" }), jsx("trace", { name: "SD_CD_PULLUP", from: ".J_SD > .CARD_DETECT_N", to: ".R_SD_CD_PU > .pin1" }), jsx("bus", { name: "SDC0_PULLUPS_TOP", pcbAllowedLayers: ["top"], connections: [
"SD_DAT2_PULLUP",
"SD_DAT3_PULLUP",
"SD_CMD_PULLUP",
"SD_DAT0_PULLUP",
"SD_DAT1_PULLUP",
"SD_CD_PULLUP",
] }), jsx("trace", { name: "SD_VDD_LOCAL", from: ".J_SD > .VDD", to: ".C_SD_HF > .pin1", width: "0.4mm" }), jsx("trace", { name: "SD_VSS_LOCAL", from: ".J_SD > .VSS", to: ".C_SD_HF > .pin2", width: "0.4mm" }), jsx("trace", { name: "SD_VDD_BULK", from: ".C_SD_HF > .pin1", to: ".C_SD_BULK > .pin1", width: "0.5mm" }), jsx("trace", { name: "SD_VSS_BULK", from: ".C_SD_HF > .pin2", to: ".C_SD_BULK > .pin2", width: "0.5mm" }), jsx("bus", { name: "SD_POWER_LOCAL_TOP", pcbAllowedLayers: ["top"], connections: [
"SD_VDD_LOCAL", "SD_VSS_LOCAL", "SD_VDD_BULK", "SD_VSS_BULK",
] }), jsx("trace", { name: "SD_VDD_PLANE", from: ".C_SD_BULK > .pin1", to: "net.VDD_3V3", width: "0.5mm" }), jsx("trace", { name: "SD_GND_PLANE", from: ".C_SD_BULK > .pin2", to: "net.GND", width: "0.5mm" }), jsx("trace", { name: "SD_DAT2_PULLUP_POWER", from: ".R_SD_DAT2_PU > .pin2", to: "net.VDD_3V3" }), jsx("trace", { name: "SD_DAT3_PULLUP_POWER", from: ".R_SD_DAT3_PU > .pin2", to: "net.VDD_3V3" }), jsx("trace", { name: "SD_CMD_PULLUP_POWER", from: ".R_SD_CMD_PU > .pin2", to: "net.VDD_3V3" }), jsx("trace", { name: "SD_DAT0_PULLUP_POWER", from: ".R_SD_DAT0_PU > .pin2", to: "net.VDD_3V3" }), jsx("trace", { name: "SD_DAT1_PULLUP_POWER", from: ".R_SD_DAT1_PU > .pin2", to: "net.VDD_3V3" }), jsx("trace", { name: "SD_CD_PULLUP_POWER", from: ".R_SD_CD_PU > .pin2", to: "net.VDD_3V3" }), jsx("trace", { name: "SD_SHELL_GROUND_1", from: ".J_SD > .GND1", to: "net.GND", width: "0.5mm" }), jsx("trace", { name: "SD_SHELL_GROUND_2", from: ".J_SD > .GND2", to: "net.GND", width: "0.5mm" }), jsx("trace", { name: "SD_SHELL_GROUND_3", from: ".J_SD > .GND3", to: "net.GND", width: "0.5mm" }), jsx("trace", { name: "SD_SHELL_GROUND_4", from: ".J_SD > .GND4", to: "net.GND", width: "0.5mm" }), jsx("silkscreentext", { text: "microSD BOOT / ROOTFS", pcbX: 0, pcbY: 8.1, fontSize: "0.7mm" })] }));
function MicroSdBootStage() {
return (jsxs("board", { name: "T113_S3_MICROSD_BOOT_STAGE", title: "T113-S3 removable Linux boot and root filesystem", width: "48mm", height: "40mm", layers: 10, allowBlindAndBuriedVias: false, isViaInPadAllowed: false, autorouter: "default", autorouterVersion: "beta_pipeline9", autorouterEffortLevel: "10x", defaultTraceWidth: "0.15mm", minTraceWidth: "0.10mm", minTraceToPadEdgeClearance: "0.08mm", minPadEdgeToPadEdgeClearance: "0.08mm", minViaEdgeToPadEdgeClearance: "0.10mm", minViaHoleDiameter: "0.30mm", minViaPadDiameter: "0.55mm", pcbStyle: { viaHoleDiameter: "0.30mm", viaPadDiameter: "0.55mm" }, schAutoLayoutEnabled: true, children: [jsx("schematicsheet", { name: "STORAGE_STAGE", displayName: "Linux boot storage", sheetSize: "ANSI_B", children: jsx("schematicsection", { name: "MICROSD_BOOT", displayName: "SDC0 microSD boot and rootfs" }) }), jsx(MicroSdBootSubcircuit, { exposeToParent: false }), jsx("copperpour", { name: "MICROSD_3V3_PLANE", connectsTo: "net.VDD_3V3", layer: "inner2", clearance: "0.25mm", boardEdgeMargin: "0.5mm" }), jsx("copperpour", { name: "MICROSD_GND_PLANE", connectsTo: "net.GND", layer: "inner5", clearance: "0.25mm", boardEdgeMargin: "0.5mm" })] }));
}
export { MicroSdBootStage as default };