AnasSarkiz/usb-c-pwm-pa25
A component library defining an AO3400A N-channel MOSFET, 47 µF polarized capacitor, 3-pin through-hole connector, and 9.1 V Zener diode with PCB footprints and 3D CAD models.
- Version
- 0.1.0-prototype.2
- License
- unset
- Stars
- 0
dist/index.js
import { jsx, Fragment, jsxs } from 'react/jsx-runtime';
import { Fragment as Fragment$1 } from 'react';
import modelUrl from '././assets/ti-ref0038a-4f6caf7a.glb';
// Each native text element has its own bounds and an explicit baseline.
// This also keeps multiline IC notes inside their A4 sheet boundary.
function SchematicNote(props) {
const fontSize = props.fontSize ?? 0.23;
return (jsx(Fragment, { children: props.text.split("\n").map((line, index) => (jsx(Fragment$1, { children: jsx("schematictext", { text: line, schX: props.schX, schY: props.schY - index * fontSize * 1.55, fontSize: fontSize }) }, index))) }));
}
const pinLabels$j = {
pin1: ["LDO_3V3"],
pin2: ["ADCIN1"],
pin3: ["ADCIN2"],
pin4: ["LDO_1V5"],
pin5: ["ADCIN3"],
pin6: ["CAP_MIS"],
pin7: ["ADCIN4"],
pin8: ["I2Ct_SDA"],
pin9: ["I2Ct_SCL"],
pin10: ["DBG_ACC"],
pin11: ["GND1"],
pin12: ["GND2"],
pin13: ["PLUG_FLIP"],
pin14: ["GND3"],
pin15: ["DRAIN1"],
pin16: ["GND4"],
pin17: ["GND5"],
pin18: ["N_FAULT_IN"],
pin19: ["N_SINK_EN"],
pin20: ["PPHV1"],
pin21: ["PPHV2"],
pin22: ["PPHV3"],
pin23: ["VBUS_IN1"],
pin24: ["VBUS_IN2"],
pin25: ["VBUS_IN3"],
pin26: ["RESERVED1"],
pin27: ["RESERVED2"],
pin28: ["CC1"],
pin29: ["CC2"],
pin30: ["DRAIN2"],
pin31: ["GND6"],
pin32: ["VBUS1"],
pin33: ["VBUS2"],
pin34: ["GND7"],
pin35: ["GND8"],
pin36: ["RESERVED3"],
pin37: ["PLUG_EVENT"],
pin38: ["VIN_3V3"],
pin39: ["GND9"],
pin40: ["DRAIN3"],
};
const pinAttributes$7 = {
pin11: {
requiresGround: true,
},
pin12: {
requiresGround: true,
},
pin14: {
requiresGround: true,
},
pin16: {
requiresGround: true,
},
pin17: {
requiresGround: true,
},
pin31: {
requiresGround: true,
},
pin34: {
requiresGround: true,
},
pin35: {
requiresGround: true,
},
pin39: {
requiresGround: true,
},
pin1: {
providesPower: true,
},
pin2: {
isInput: true,
},
pin3: {
isInput: true,
},
pin4: {
providesPower: true,
},
pin5: {
isInput: true,
},
pin6: {
isOutput: true,
canUseOpenCollector: true,
isUsingOpenCollector: true,
},
pin7: {
isInput: true,
},
pin8: {
isBidirectional: true,
canUseOpenCollector: true,
isUsingOpenCollector: true,
},
pin9: {
isInput: true,
},
pin10: {
isOutput: true,
canUseOpenCollector: true,
isUsingOpenCollector: true,
},
pin13: {
isOutput: true,
canUseOpenCollector: true,
isUsingOpenCollector: true,
},
pin18: {
isInput: true,
},
pin19: {
isOutput: true,
canUseOpenCollector: true,
isUsingOpenCollector: true,
},
pin20: {
providesPower: true,
},
pin21: {
providesPower: true,
},
pin22: {
providesPower: true,
},
pin23: {
requiresPower: true,
},
pin24: {
requiresPower: true,
},
pin25: {
requiresPower: true,
},
pin26: {
isInput: true,
},
pin27: {
isInput: true,
},
pin28: {
isBidirectional: true,
},
pin29: {
isBidirectional: true,
},
pin32: {
requiresPower: true,
},
pin33: {
requiresPower: true,
},
pin36: {
isInput: true,
},
pin37: {
isOutput: true,
canUseOpenCollector: true,
isUsingOpenCollector: true,
},
pin38: {
isPassive: true,
},
};
const TPS25730DREFR = (props) => {
return (jsx("chip", { pinLabels: pinLabels$j, pinAttributes: pinAttributes$7, supplierPartNumbers: {
jlcpcb: ["C22438973"],
}, manufacturerPartNumber: "TPS25730DREFR", footprint: jsxs("footprint", { children: [jsx("smtpad", { portHints: ["pin1"], pcbX: "-2.8999942mm", pcbY: "0.999998mm", width: "0.5999988mm", height: "0.1999996mm", shape: "rect" }), jsx("smtpad", { portHints: ["pin2"], pcbX: "-2.8999942mm", pcbY: "0.599948mm", width: "0.5999988mm", height: "0.1999996mm", shape: "rect" }), jsx("smtpad", { portHints: ["pin3"], pcbX: "-2.8999942mm", pcbY: "0.199898mm", width: "0.5999988mm", height: "0.1999996mm", shape: "rect" }), jsx("smtpad", { portHints: ["pin4"], pcbX: "-2.8999942mm", pcbY: "-0.199898mm", width: "0.5999988mm", height: "0.1999996mm", shape: "rect" }), jsx("smtpad", { portHints: ["pin5"], pcbX: "-2.8999942mm", pcbY: "-0.599948mm", width: "0.5999988mm", height: "0.1999996mm", shape: "rect" }), jsx("smtpad", { portHints: ["pin6"], pcbX: "-2.8999942mm", pcbY: "-0.999998mm", width: "0.5999988mm", height: "0.1999996mm", shape: "rect" }), jsx("smtpad", { portHints: ["pin7"], pcbX: "-2.400046mm", pcbY: "-1.8999962mm", width: "0.1999996mm", height: "0.5999988mm", shape: "rect" }), jsx("smtpad", { portHints: ["pin8"], pcbX: "-1.999996mm", pcbY: "-1.8999962mm", width: "0.1999996mm", height: "0.5999988mm", shape: "rect" }), jsx("smtpad", { portHints: ["pin9"], pcbX: "-1.599946mm", pcbY: "-1.8999962mm", width: "0.1999996mm", height: "0.5999988mm", shape: "rect" }), jsx("smtpad", { portHints: ["pin10"], pcbX: "-1.199896mm", pcbY: "-1.8999962mm", width: "0.1999996mm", height: "0.5999988mm", shape: "rect" }), jsx("smtpad", { portHints: ["pin11"], pcbX: "-0.8001mm", pcbY: "-1.8999962mm", width: "0.1999996mm", height: "0.5999988mm", shape: "rect" }), jsx("smtpad", { portHints: ["pin12"], pcbX: "-0.40005mm", pcbY: "-1.8999962mm", width: "0.1999996mm", height: "0.5999988mm", shape: "rect" }), jsx("smtpad", { portHints: ["pin13"], pcbX: "0mm", pcbY: "-1.8999962mm", width: "0.1999996mm", height: "0.5999988mm", shape: "rect" }), jsx("smtpad", { portHints: ["pin14"], pcbX: "0.40005mm", pcbY: "-1.8999962mm", width: "0.1999996mm", height: "0.5999988mm", shape: "rect" }), jsx("smtpad", { portHints: ["pin15"], pcbX: "0.8001mm", pcbY: "-1.8999962mm", width: "0.1999996mm", height: "0.5999988mm", shape: "rect" }), jsx("smtpad", { portHints: ["pin16"], pcbX: "1.199896mm", pcbY: "-1.8999962mm", width: "0.1999996mm", height: "0.5999988mm", shape: "rect" }), jsx("smtpad", { portHints: ["pin17"], pcbX: "1.599946mm", pcbY: "-1.8999962mm", width: "0.1999996mm", height: "0.5999988mm", shape: "rect" }), jsx("smtpad", { portHints: ["pin18"], pcbX: "1.999996mm", pcbY: "-1.8999962mm", width: "0.1999996mm", height: "0.5999988mm", shape: "rect" }), jsx("smtpad", { portHints: ["pin19"], pcbX: "2.400046mm", pcbY: "-1.8999962mm", width: "0.1999996mm", height: "0.5999988mm", shape: "rect" }), jsx("smtpad", { portHints: ["pin20"], pcbX: "2.8999942mm", pcbY: "-1.1249914mm", width: "0.5999988mm", height: "0.2199894mm", shape: "rect" }), jsx("smtpad", { portHints: ["pin21"], pcbX: "2.8999942mm", pcbY: "-0.675005mm", width: "0.5999988mm", height: "0.2199894mm", shape: "rect" }), jsx("smtpad", { portHints: ["pin22"], pcbX: "2.8999942mm", pcbY: "-0.2249932mm", width: "0.5999988mm", height: "0.2199894mm", shape: "rect" }), jsx("smtpad", { portHints: ["pin23"], pcbX: "2.8999942mm", pcbY: "0.2249932mm", width: "0.5999988mm", height: "0.2199894mm", shape: "rect" }), jsx("smtpad", { portHints: ["pin24"], pcbX: "2.8999942mm", pcbY: "0.675005mm", width: "0.5999988mm", height: "0.2199894mm", shape: "rect" }), jsx("smtpad", { portHints: ["pin25"], pcbX: "2.8999942mm", pcbY: "1.1249914mm", width: "0.5999988mm", height: "0.2199894mm", shape: "rect" }), jsx("smtpad", { portHints: ["pin26"], pcbX: "2.400046mm", pcbY: "1.8999962mm", width: "0.1999996mm", height: "0.5999988mm", shape: "rect" }), jsx("smtpad", { portHints: ["pin27"], pcbX: "1.999996mm", pcbY: "1.8999962mm", width: "0.1999996mm", height: "0.5999988mm", shape: "rect" }), jsx("smtpad", { portHints: ["pin28"], pcbX: "1.599946mm", pcbY: "1.8999962mm", width: "0.1999996mm", height: "0.5999988mm", shape: "rect" }), jsx("smtpad", { portHints: ["pin29"], pcbX: "1.199896mm", pcbY: "1.8999962mm", width: "0.1999996mm", height: "0.5999988mm", shape: "rect" }), jsx("smtpad", { portHints: ["pin30"], pcbX: "0.8001mm", pcbY: "1.8999962mm", width: "0.1999996mm", height: "0.5999988mm", shape: "rect" }), jsx("smtpad", { portHints: ["pin31"], pcbX: "0.40005mm", pcbY: "1.8999962mm", width: "0.1999996mm", height: "0.5999988mm", shape: "rect" }), jsx("smtpad", { portHints: ["pin32"], pcbX: "0mm", pcbY: "1.8999962mm", width: "0.1999996mm", height: "0.5999988mm", shape: "rect" }), jsx("smtpad", { portHints: ["pin33"], pcbX: "-0.40005mm", pcbY: "1.8999962mm", width: "0.1999996mm", height: "0.5999988mm", shape: "rect" }), jsx("smtpad", { portHints: ["pin34"], pcbX: "-0.8001mm", pcbY: "1.8999962mm", width: "0.1999996mm", height: "0.5999988mm", shape: "rect" }), jsx("smtpad", { portHints: ["pin35"], pcbX: "-1.199896mm", pcbY: "1.8999962mm", width: "0.1999996mm", height: "0.5999988mm", shape: "rect" }), jsx("smtpad", { portHints: ["pin36"], pcbX: "-1.599946mm", pcbY: "1.8999962mm", width: "0.1999996mm", height: "0.5999988mm", shape: "rect" }), jsx("smtpad", { portHints: ["pin37"], pcbX: "-1.999996mm", pcbY: "1.8999962mm", width: "0.1999996mm", height: "0.5999988mm", shape: "rect" }), jsx("smtpad", { portHints: ["pin38"], pcbX: "-2.400046mm", pcbY: "1.8999962mm", width: "0.1999996mm", height: "0.5999988mm", shape: "rect" }), jsx("smtpad", { portHints: ["pin39"], pcbX: "-0.9649968mm", pcbY: "0mm", width: "2.6500074mm", height: "2.6500074mm", shape: "rect" }), jsx("smtpad", { portHints: ["pin35"], points: [
{ x: "-0.6999986mm", y: "1.959991mm" },
{ x: "-0.6999986mm", y: "1.5999968mm" },
{ x: "-1.2999974mm", y: "1.5999968mm" },
{ x: "-1.2999974mm", y: "1.959991mm" },
{ x: "-0.6999986mm", y: "1.959991mm" },
], shape: "polygon" }), jsx("smtpad", { portHints: ["pin33"], points: [
{ x: "0.0998474mm", y: "1.9599656mm" },
{ x: "0.0998474mm", y: "1.5999968mm" },
{ x: "-0.5001514mm", y: "1.5999968mm" },
{ x: "-0.5001514mm", y: "1.9599656mm" },
{ x: "0.0998474mm", y: "1.9599656mm" },
], shape: "polygon" }), jsx("smtpad", { portHints: ["pin25"], points: [
{ x: "2.959989mm", y: "1.2349988mm" },
{ x: "2.959989mm", y: "0.1149858mm" },
{ x: "2.5999948mm", y: "0.1149858mm" },
{ x: "2.5999948mm", y: "1.2349988mm" },
], shape: "polygon" }), jsx("smtpad", { portHints: ["pin22"], points: [
{ x: "2.959989mm", y: "-0.1149858mm" },
{ x: "2.959989mm", y: "-1.2349988mm" },
{ x: "2.5999948mm", y: "-1.2349988mm" },
{ x: "2.5999948mm", y: "-0.1149858mm" },
], shape: "polygon" }), jsx("smtpad", { portHints: ["pin40"], pcbX: "1.5599918mm", pcbY: "0mm", width: "1.5299944mm", height: "2.6500074mm", shape: "rect" }), jsx("silkscreenpath", { route: [
{ x: 2.999994000000015, y: 1.415135599999985 },
{ x: 2.999994000000015, y: 1.9999959999999817 },
] }), jsx("silkscreenpath", { route: [
{ x: 2.680182599999995, y: -1.99999600000001 },
{ x: 2.999994000000015, y: -1.99999600000001 },
{ x: 2.999994000000015, y: -1.4151356000000135 },
] }), jsx("silkscreenpath", { route: [
{ x: -2.999994000000015, y: -1.280134600000011 },
{ x: -2.999994000000015, y: -1.99999600000001 },
{ x: -2.680182599999995, y: -1.99999600000001 },
] }), jsx("silkscreenpath", { route: [
{ x: -2.680182599999995, y: 1.9999959999999817 },
{ x: -2.999994000000015, y: 1.9999959999999817 },
{ x: -2.999994000000015, y: 1.2801345999999967 },
] }), jsx("silkscreenpath", { route: [
{ x: 2.999994000000015, y: 1.9999959999999817 },
{ x: 2.680182599999995, y: 1.9999959999999817 },
] }), jsx("silkscreencircle", { pcbX: "-3.499993mm", pcbY: "1.499997mm", radius: "0.0999998mm" }), jsx("silkscreentext", { text: "{NAME}", pcbX: "-0.2031746mm", pcbY: "3.2098254mm", anchorAlignment: "center", fontSize: "1mm" }), jsx("courtyardoutline", { outline: [
{ x: -3.8567745999999943, y: 2.4598253999999855 },
{ x: 3.4504254000000145, y: 2.4598253999999855 },
{ x: 3.4504254000000145, y: -2.4343746000000124 },
{ x: -3.8567745999999943, y: -2.4343746000000124 },
{ x: -3.8567745999999943, y: 2.4598253999999855 },
] })] }), cadModel: {
glbUrl: modelUrl,
modelOriginPosition: { x: 0, y: 0, z: 0 },
size: { x: 6, y: 4, z: 0.75 },
pcbRotationOffset: 0,
}, ...props }));
};
const pinLabels$i = {
pin1: ["IN"],
pin2: ["GND"],
pin3: ["EN"],
pin4: ["NC"],
pin5: ["OUT"],
};
const pinAttributes$6 = {
pin2: {
requiresGround: true,
},
pin4: {
doNotConnect: true,
},
pin1: {
requiresPower: true,
},
pin3: {
isInput: true,
},
pin5: {
providesPower: true,
},
};
const TPS70933DBVR = (props) => {
return (jsx("chip", { pinLabels: pinLabels$i, pinAttributes: pinAttributes$6, supplierPartNumbers: {
jlcpcb: ["C89347"],
}, manufacturerPartNumber: "TPS70933DBVR", footprint: jsxs("footprint", { children: [jsx("smtpad", { portHints: ["pin5"], pcbX: "-1.300099mm", pcbY: "-0.94996mm", width: "1.0999978mm", height: "0.5999988mm", shape: "rect" }), jsx("smtpad", { portHints: ["pin4"], pcbX: "-1.300099mm", pcbY: "0.94996mm", width: "1.0999978mm", height: "0.5999988mm", shape: "rect" }), jsx("smtpad", { portHints: ["pin3"], pcbX: "1.300099mm", pcbY: "0.94996mm", width: "1.0999978mm", height: "0.5999988mm", shape: "rect" }), jsx("smtpad", { portHints: ["pin2"], pcbX: "1.300099mm", pcbY: "-0mm", width: "1.0999978mm", height: "0.5999988mm", shape: "rect" }), jsx("smtpad", { portHints: ["pin1"], pcbX: "1.300099mm", pcbY: "-0.94996mm", width: "1.0999978mm", height: "0.5999988mm", shape: "rect" }), jsx("silkscreenpath", { route: [
{ x: 0.8999728000000005, y: -1.404111999999941 },
{ x: 0.8999728000000005, y: -1.5500604000000067 },
] }), jsx("silkscreenpath", { route: [
{ x: 0.8999728000000005, y: -0.45412660000010874 },
{ x: 0.8999728000000005, y: -0.4958079999998972 },
] }), jsx("silkscreenpath", { route: [
{ x: 0.8999728000000005, y: 0.4958079999998972 },
{ x: 0.8999728000000005, y: 0.45415200000002187 },
] }), jsx("silkscreenpath", { route: [
{ x: 0.8999728000000005, y: 1.5499587999998994 },
{ x: 0.8999728000000005, y: 1.404111999999941 },
] }), jsx("silkscreenpath", { route: [
{ x: -0.9000489999999672, y: -1.404111999999941 },
{ x: -0.9000489999999672, y: -1.5500604000000067 },
] }), jsx("silkscreenpath", { route: [
{ x: -0.9000489999999672, y: 0.4958079999998972 },
{ x: -0.9000489999999672, y: -0.4958334000000377 },
] }), jsx("silkscreenpath", { route: [
{ x: -0.9000489999999672, y: 1.5499587999998994 },
{ x: -0.9000489999999672, y: 1.4040866000000278 },
] }), jsx("silkscreenpath", { route: [
{ x: -0.9000489999999672, y: 1.5499587999998994 },
{ x: 0.8999728000000005, y: 1.5499587999998994 },
] }), jsx("silkscreenpath", { route: [
{ x: -0.9000489999999672, y: -1.5500604000000067 },
{ x: 0.8999728000000005, y: -1.5500604000000067 },
] }), jsx("silkscreentext", { text: "{NAME}", pcbX: "0.012319mm", pcbY: "2.562354mm", anchorAlignment: "center", fontSize: "1mm" }), jsx("courtyardoutline", { outline: [
{ x: -2.091880999999944, y: 1.8123540000000276 },
{ x: 2.1165190000000393, y: 1.8123540000000276 },
{ x: 2.1165190000000393, y: -1.786446000000069 },
{ x: -2.091880999999944, y: -1.786446000000069 },
{ x: -2.091880999999944, y: 1.8123540000000276 },
] })] }), cadModel: {
objUrl: "https://modelcdn.tscircuit.com/easyeda_models/assets/C89347.obj?uuid=460193f9bf2d42e58cf3c2f675b07dc6",
stepUrl: "https://modelcdn.tscircuit.com/easyeda_models/assets/C89347.step?uuid=460193f9bf2d42e58cf3c2f675b07dc6",
pcbRotationOffset: 180,
modelOriginPosition: {
x: 0,
y: -12700000070253736e-21,
z: -0.049083,
},
}, ...props }));
};
const pinLabels$h = {
pin1: ["IO1"],
pin2: ["IO2"],
pin3: ["GND"],
};
const pinAttributes$5 = {
pin3: { requiresGround: true },
};
const TPD2E2U06DCKR = (props) => {
return (jsx("chip", { pinLabels: pinLabels$h, pinAttributes: pinAttributes$5, supplierPartNumbers: {
jlcpcb: ["C1855726"],
}, manufacturerPartNumber: "TPD2E2U06DCKR", footprint: jsxs("footprint", { children: [jsx("smtpad", { portHints: ["pin1"], pcbX: "-0.65024mm", pcbY: "-0.94996mm", width: "0.6999986mm", height: "0.999998mm", shape: "rect" }), jsx("smtpad", { portHints: ["pin2"], pcbX: "0.65024mm", pcbY: "-0.94996mm", width: "0.6999986mm", height: "0.999998mm", shape: "rect" }), jsx("smtpad", { portHints: ["pin3"], pcbX: "-0.000254mm", pcbY: "0.94996mm", width: "0.6999986mm", height: "0.999998mm", shape: "rect" }), jsx("silkscreenpath", { route: [
{ x: 1.1998705999999402, y: 0.7000239999999849 },
{ x: 1.1998705999999402, y: -0.6999478000000181 },
] }), jsx("silkscreenpath", { route: [
{ x: -1.200124599999981, y: 0.7000239999999849 },
{ x: -0.5042915999999877, y: 0.7000239999999849 },
] }), jsx("silkscreenpath", { route: [
{ x: 0.5040376000000606, y: 0.7000239999999849 },
{ x: 1.1936729999999898, y: 0.7000239999999849 },
] }), jsx("silkscreenpath", { route: [
{ x: -1.200124599999981, y: 0.7000239999999849 },
{ x: -1.200124599999981, y: -0.6802374000001237 },
] }), jsx("silkscreenpath", { route: [
{ x: 1.1998705999999402, y: -0.6999478000000181 },
{ x: 1.1539728000000196, y: -0.6999478000000181 },
] }), jsx("silkscreenpath", { route: [
{ x: 0.1457198000000517, y: -0.6999478000000181 },
{ x: -0.14597379999997884, y: -0.6999478000000181 },
] }), jsx("silkscreenpath", { route: [
{ x: -1.1542776000000003, y: -0.6999478000000181 },
{ x: -1.200124599999981, y: -0.6999478000000181 },
] }), jsx("silkscreentext", { text: "{NAME}", pcbX: "-0.225552mm", pcbY: "2.438148mm", anchorAlignment: "center", fontSize: "1mm" }), jsx("courtyardoutline", { outline: [
{ x: -1.885251999999923, y: 1.6881479999999556 },
{ x: 1.4341479999999365, y: 1.6881479999999556 },
{ x: 1.4341479999999365, y: -1.7074519999999893 },
{ x: -1.885251999999923, y: -1.7074519999999893 },
{ x: -1.885251999999923, y: 1.6881479999999556 },
] })] }), cadModel: {
objUrl: "https://modelcdn.tscircuit.com/easyeda_models/assets/C1855726.obj?uuid=00b27d59cda749e29c8c8e513111fee3",
stepUrl: "https://modelcdn.tscircuit.com/easyeda_models/assets/C1855726.step?uuid=00b27d59cda749e29c8c8e513111fee3",
pcbRotationOffset: 90,
modelOriginPosition: {
x: 0.000038099999983387534,
y: -12699999979304266e-20,
z: -0.1,
},
}, ...props }));
};
const pinLabels$g = {
pin1: ["GND4"],
pin2: ["GND3"],
pin3: ["GND2"],
pin4: ["IN3"],
pin5: ["IN2"],
pin6: ["IN1"],
pin7: ["GND1"],
};
const pinAttributes$4 = {
pin1: { requiresGround: true },
pin2: { requiresGround: true },
pin3: { requiresGround: true },
pin7: { requiresGround: true },
};
const TVS2200DRVR = (props) => {
return (jsx("chip", { pinLabels: pinLabels$g, pinAttributes: pinAttributes$4, supplierPartNumbers: {
jlcpcb: ["C523793"],
}, manufacturerPartNumber: "TVS2200DRVR", footprint: jsxs("footprint", { children: [jsx("smtpad", { portHints: ["pin7"], pcbX: "0mm", pcbY: "0mm", width: "1.5999968mm", height: "0.999998mm", shape: "rect" }), jsx("smtpad", { portHints: ["pin6"], pcbX: "-0.6500114mm", pcbY: "0.975106mm", width: "0.3999992mm", height: "0.4500118mm", shape: "rect" }), jsx("smtpad", { portHints: ["pin5"], pcbX: "0mm", pcbY: "0.975106mm", width: "0.3999992mm", height: "0.4500118mm", shape: "rect" }), jsx("smtpad", { portHints: ["pin4"], pcbX: "0.6500114mm", pcbY: "0.975106mm", width: "0.3999992mm", height: "0.4500118mm", shape: "rect" }), jsx("smtpad", { portHints: ["pin3"], pcbX: "0.6500114mm", pcbY: "-0.975106mm", width: "0.3999992mm", height: "0.4500118mm", shape: "rect" }), jsx("smtpad", { portHints: ["pin2"], pcbX: "0mm", pcbY: "-0.975106mm", width: "0.3999992mm", height: "0.4500118mm", shape: "rect" }), jsx("smtpad", { portHints: ["pin1"], pcbX: "-0.6500114mm", pcbY: "-0.975106mm", width: "0.3999992mm", height: "0.4500118mm", shape: "rect" }), jsx("silkscreenpath", { route: [
{ x: -1.0500360000000057, y: -1.0490199999999987 },
{ x: -1.0500360000000057, y: 1.0500360000000057 },
] }), jsx("silkscreenpath", { route: [
{ x: 1.0500359999999915, y: -1.0490199999999987 },
{ x: 1.0500359999999915, y: 1.0500360000000057 },
] }), jsx("silkscreencircle", { pcbX: "-1.0414mm", pcbY: "-1.2954mm", radius: "0.0635mm" }), jsx("silkscreentext", { text: "{NAME}", pcbX: "-0.0380492mm", pcbY: "2.1938508mm", anchorAlignment: "center", fontSize: "1mm" }), jsx("courtyardoutline", { outline: [
{ x: -1.3675491999999991, y: 1.443850800000007 },
{ x: 1.2914507999999927, y: 1.443850800000007 },
{ x: 1.2914507999999927, y: -1.621549200000004 },
{ x: -1.3675491999999991, y: -1.621549200000004 },
{ x: -1.3675491999999991, y: 1.443850800000007 },
] })] }), cadModel: {
objUrl: "https://modelcdn.tscircuit.com/easyeda_models/assets/C523793.obj?uuid=c909123e4a7a4da5a0270979fee6c02c",
stepUrl: "https://modelcdn.tscircuit.com/easyeda_models/assets/C523793.step?uuid=c909123e4a7a4da5a0270979fee6c02c",
pcbRotationOffset: 90,
modelOriginPosition: { x: -12700000013410317e-21, y: 0, z: 0 },
}, ...props }));
};
const pinLabels$f = {
pin1: ["EH1"],
pin2: ["EH2"],
pin3: ["EH3"],
pin4: ["EH4"],
pin5: ["A12", "GND1"],
pin6: ["B1", "GND2"],
pin7: ["A9", "VBUS1"],
pin8: ["B4", "VBUS2"],
pin9: ["B5", "CC2"],
pin10: ["A8", "SBU1"],
pin11: ["B6", "DP2"],
pin12: ["A7", "DN1"],
pin13: ["A6", "DP1"],
pin14: ["B7", "DN2"],
pin15: ["A5", "CC1"],
pin16: ["B8", "SBU2"],
pin17: ["B9", "VBUS3"],
pin18: ["A4", "VBUS4"],
pin19: ["B12", "GND3"],
pin20: ["A1", "GND4"],
};
const USB4105_GF_A = (props) => {
return (jsx("connector", { pinLabels: pinLabels$f, supplierPartNumbers: {
jlcpcb: ["C3020560"],
}, manufacturerPartNumber: "USB4105-GF-A", footprint: jsxs("footprint", { insertionDirection: "from_y_neg", children: [jsx("hole", { pcbX: "2.890012mm", pcbY: "1.0646474mm", diameter: "0.649986mm" }), jsx("hole", { pcbX: "-2.890012mm", pcbY: "1.0646474mm", diameter: "0.649986mm" }), jsx("platedhole", { portHints: ["pin1"], pcbX: "-4.320032mm", pcbY: "1.5444534mm", holeWidth: "0.700024mm", holeHeight: "1.700022mm", outerWidth: "1.0999978mm", outerHeight: "2.0999958mm", shape: "pill" }), jsx("platedhole", { portHints: ["pin2"], pcbX: "4.320032mm", pcbY: "1.5444534mm", holeWidth: "0.700024mm", holeHeight: "1.700022mm", outerWidth: "1.0999978mm", outerHeight: "2.0999958mm", shape: "pill" }), jsx("platedhole", { portHints: ["pin3"], pcbX: "4.320032mm", pcbY: "-2.6356246mm", holeWidth: "0.700024mm", holeHeight: "1.4000226mm", outerWidth: "1.0999978mm", outerHeight: "1.7999964mm", shape: "pill" }), jsx("platedhole", { portHints: ["pin4"], pcbX: "-4.320032mm", pcbY: "-2.6356246mm", holeWidth: "0.700024mm", holeHeight: "1.4000226mm", outerWidth: "1.0999978mm", outerHeight: "1.7999964mm", shape: "pill" }), jsx("smtpad", { portHints: ["pin5"], pcbX: "3.350006mm", pcbY: "2.1096034mm", width: "0.2999994mm", height: "1.1500104mm", shape: "rect" }), jsx("smtpad", { portHints: ["pin6"], pcbX: "3.050032mm", pcbY: "2.1096034mm", width: "0.2999994mm", height: "1.1500104mm", shape: "rect" }), jsx("smtpad", { portHints: ["pin7"], pcbX: "2.549906mm", pcbY: "2.1098574mm", width: "0.2999994mm", height: "1.1500104mm", shape: "rect" }), jsx("smtpad", { portHints: ["pin8"], pcbX: "2.249932mm", pcbY: "2.1098574mm", width: "0.2999994mm", height: "1.1500104mm", shape: "rect" }), jsx("smtpad", { portHints: ["pin9"], pcbX: "1.75006mm", pcbY: "2.1096034mm", width: "0.2999994mm", height: "1.1500104mm", shape: "rect" }), jsx("smtpad", { portHints: ["pin10"], pcbX: "1.24968mm", pcbY: "2.1106194mm", width: "0.2999994mm", height: "1.1500104mm", shape: "rect" }), jsx("smtpad", { portHints: ["pin11"], pcbX: "0.750062mm", pcbY: "2.1096034mm", width: "0.2999994mm", height: "1.1500104mm", shape: "rect" }), jsx("smtpad", { portHints: ["pin12"], pcbX: "0.249936mm", pcbY: "2.1096034mm", width: "0.2999994mm", height: "1.1500104mm", shape: "rect" }), jsx("smtpad", { portHints: ["pin13"], pcbX: "-0.249936mm", pcbY: "2.1096034mm", width: "0.2999994mm", height: "1.1500104mm", shape: "rect" }), jsx("smtpad", { portHints: ["pin14"], pcbX: "-0.750062mm", pcbY: "2.1096034mm", width: "0.2999994mm", height: "1.1500104mm", shape: "rect" }), jsx("smtpad", { portHints: ["pin15"], pcbX: "-1.249934mm", pcbY: "2.1096034mm", width: "0.2999994mm", height: "1.1500104mm", shape: "rect" }), jsx("smtpad", { portHints: ["pin16"], pcbX: "-1.75006mm", pcbY: "2.1106194mm", width: "0.2999994mm", height: "1.1500104mm", shape: "rect" }), jsx("smtpad", { portHints: ["pin17"], pcbX: "-2.249932mm", pcbY: "2.1096034mm", width: "0.2999994mm", height: "1.1500104mm", shape: "rect" }), jsx("smtpad", { portHints: ["pin18"], pcbX: "-2.549906mm", pcbY: "2.1096034mm", width: "0.2999994mm", height: "1.1500104mm", shape: "rect" }), jsx("smtpad", { portHints: ["pin19"], pcbX: "-3.050032mm", pcbY: "2.1096034mm", width: "0.2999994mm", height: "1.1500104mm", shape: "rect" }), jsx("smtpad", { portHints: ["pin20"], pcbX: "-3.350006mm", pcbY: "2.1096034mm", width: "0.2999994mm", height: "1.1500104mm", shape: "rect" }), jsx("silkscreenpath", { route: [
{ x: 4.4699935999999525, y: -1.5190659999998388 },
{ x: 4.4699935999999525, y: 0.2778824000001805 },
] }), jsx("silkscreenpath", { route: [
{ x: -4.469993600000066, y: -3.7522085999999035 },
{ x: -4.469993600000066, y: -5.254948799999966 },
{ x: 4.4699935999999525, y: -5.254948799999966 },
{ x: 4.4699935999999525, y: -3.7522085999999035 },
] }), jsx("silkscreenpath", { route: [
{ x: -4.469993600000066, y: 0.2778824000001805 },
{ x: -4.469993600000066, y: -1.5190659999998388 },
] }), jsx("silkscreentext", { text: "{NAME}", pcbX: "-0.018288mm", pcbY: "3.6902474mm", anchorAlignment: "center", fontSize: "1mm" }), jsx("courtyardoutline", { outline: [
{ x: -5.132387999999992, y: 2.9402474000000893 },
{ x: 5.0958120000000235, y: 2.9402474000000893 },
{ x: 5.0958120000000235, y: -5.509952599999906 },
{ x: -5.132387999999992, y: -5.509952599999906 },
{ x: -5.132387999999992, y: 2.9402474000000893 },
] })] }), cadModel: {
objUrl: "https://modelcdn.tscircuit.com/easyeda_models/assets/C3020560.obj?uuid=b568c80088e44e7787ac98e18b16aaa3",
stepUrl: "https://modelcdn.tscircuit.com/easyeda_models/assets/C3020560.step?uuid=b568c80088e44e7787ac98e18b16aaa3",
pcbRotationOffset: 0,
modelOriginPosition: {
x: 0,
y: 1.5075092000000494,
z: -20000000000575113e-22,
},
}, ...props }));
};
// Manufacturer ordering codes are explicit: a footprint size alone is not a BOM.
const resistorParts = {
"1k": { mpn: "0603WAF1001T5E", lcsc: "C21190" },
"2.8k": { mpn: "RC0603FR-072K8L", lcsc: "C482810" },
"3.3k": { mpn: "RC0603FR-073K3L", lcsc: "C108078" },
"4.7k": { mpn: "RC0603FR-074K7L", lcsc: "C99782" },
"9.53k": { mpn: "RC0603FR-079K53L", lcsc: "C273743" },
"10k": { mpn: "RC0603FR-0710KL", lcsc: "C98220" },
"26.7k": { mpn: "RC0603FR-0726K7L", lcsc: "C137756" },
"27.4k": { mpn: "RC0603FR-0727K4L", lcsc: "C165753" },
"38.3k": { mpn: "RC0603FR-0738K3L", lcsc: "C137736" },
"43.2k": { mpn: "RC0603FR-0743K2L", lcsc: "C137720" },
"80.6k": { mpn: "RC0603FR-0780K6L", lcsc: "C482928" },
"86.6k": { mpn: "RC0603FR-0786K6L", lcsc: "C141683" },
"100k": { mpn: "RC0603FR-07100KL", lcsc: "C14675" },
"130k": { mpn: "RC0603FR-07130KL", lcsc: "C163432" },
"162k": { mpn: "RC0603FR-07162KL", lcsc: "C165760" },
"191k": { mpn: "RC0603FR-07191KL", lcsc: "C273767" },
"240k": { mpn: "RC0603FR-07240KL", lcsc: "C137765" },
"820k": { mpn: "RC0603FR-07820KL", lcsc: "C141684" },
};
function R(props) {
return (jsx("resistor", { name: props.name, resistance: props.resistance, footprint: "0603", manufacturerPartNumber: resistorParts[props.resistance].mpn, supplierPartNumbers: { jlcpcb: [resistorParts[props.resistance].lcsc] }, pcbX: props.pcb[0], pcbY: props.pcb[1], pcbRotation: props.rotation, schX: props.sch[0], schY: props.sch[1], schRotation: props.schRotation ??
(props.nets[1] === "GND" ||
props.nets[0].startsWith("V") ||
props.nets[0] === "PD_3V3" ||
props.nets[0] === "PD_OUT"
? -90
: 0), connections: {
pin1: `net.${props.nets[0]}`,
pin2: `net.${props.nets[1]}`,
} }));
}
const capacitorParts = {
"47pF": { mpn: "CL10C470JB8NNNC", lcsc: "C1671", footprint: "0603" },
"100nF": { mpn: "GRM188R71H104KA93D", lcsc: "C77055", footprint: "0603" },
"10nF": { mpn: "GRM188R71H103KA01D", lcsc: "C77053", footprint: "0603" },
"22nF": { mpn: "GRM188R71H223KA01D", lcsc: "C77056", footprint: "0603" },
"330pF": { mpn: "GRM1885C1H331FA01D", lcsc: "C882521", footprint: "0603" },
"1uF": { mpn: "GRM21BR71H105KA12L", lcsc: "C77083", footprint: "0805" },
"4.7uF": { mpn: "GRM31CR71H475KA12L", lcsc: "C77096", footprint: "1206" },
"10uF": { mpn: "GRM32ER71H106KA12L", lcsc: "C77102", footprint: "1210" },
"22uF": { mpn: "GRM32ER71E226KE15L", lcsc: "C21397", footprint: "1210" },
};
function C(props) {
const part = capacitorParts[props.capacitance];
return (jsx("capacitor", { name: props.name, capacitance: props.capacitance, footprint: part.footprint, manufacturerPartNumber: part.mpn, supplierPartNumbers: { jlcpcb: [part.lcsc] }, pcbX: props.pcb[0], pcbY: props.pcb[1], pcbRotation: props.rotation, schX: props.sch[0], schY: props.sch[1], schRotation: props.nets[1] === "GND" || props.nets[0] === "V12_BUCK"
? -90
: props.nets[1] === "VM"
? 90
: 0, connections: {
pin1: `net.${props.nets[0]}`,
pin2: `net.${props.nets[1]}`,
} }));
}
function TestPad(props) {
return (jsx("testpoint", { name: props.name, footprint: jsxs("footprint", { children: [jsx("smtpad", { portHints: ["pin1"], shape: "circle", radius: 0.7 }), jsx("courtyardcircle", { radius: 1 })] }), pcbX: props.pcb[0], pcbY: props.pcb[1], schX: props.sch[0], schY: props.sch[1], connections: { pin1: `net.${props.net}` } }));
}
function UsbPower() {
return (jsxs("schematicsheet", { name: "usb", displayName: "01 USB-C PD and control supply \u2014 A1 prototype", sheetSize: "A4", sheetIndex: 0, children: [jsx(USB4105_GF_A, { name: "J1", pcbX: -40, pcbY: 0, pcbRotation: 270, schX: -10, schY: 4, connections: {
EH1: "net.GND",
EH2: "net.GND",
EH3: "net.GND",
EH4: "net.GND",
GND1: "net.GND",
GND2: "net.GND",
GND3: "net.GND",
GND4: "net.GND",
VBUS1: "net.VBUS",
VBUS2: "net.VBUS",
VBUS3: "net.VBUS",
VBUS4: "net.VBUS",
CC1: "net.CC1",
CC2: "net.CC2",
}, noConnect: ["SBU1", "SBU2", "DP1", "DP2", "DN1", "DN2"] }), jsx(TVS2200DRVR, { name: "D1", schHeight: 0.8, pcbX: -34, pcbY: 1, schX: -10, schY: -4, connections: {
IN1: "net.VBUS",
IN2: "net.VBUS",
IN3: "net.VBUS",
GND1: "net.GND",
GND2: "net.GND",
GND3: "net.GND",
GND4: "net.GND",
} }), jsx(TPD2E2U06DCKR, { name: "D2", pcbX: -34, pcbY: -3, schX: -10, schY: -7, connections: { IO1: "net.CC1", IO2: "net.CC2", GND: "net.GND" } }), jsx(TPS25730DREFR, { name: "U1", pcbX: -27, pcbY: 0, schX: 0, schY: 3, connections: {
LDO_3V3: "net.PD_3V3",
LDO_1V5: "net.PD_1V5",
ADCIN1: "net.PD_MIN",
ADCIN2: "net.PD_MAX",
ADCIN3: "net.PD_IOP",
ADCIN4: "net.GND",
I2Ct_SDA: "net.SDA",
I2Ct_SCL: "net.SCL",
N_FAULT_IN: "net.PD_3V3",
PPHV1: "net.PD_OUT",
PPHV2: "net.PD_OUT",
PPHV3: "net.PD_OUT",
VBUS_IN1: "net.VBUS",
VBUS_IN2: "net.VBUS",
VBUS_IN3: "net.VBUS",
VBUS1: "net.VBUS",
VBUS2: "net.VBUS",
GND1: "net.GND",
GND2: "net.GND",
GND3: "net.GND",
GND4: "net.GND",
GND5: "net.GND",
GND6: "net.GND",
GND7: "net.GND",
GND8: "net.GND",
GND9: "net.GND",
RESERVED1: "net.GND",
RESERVED2: "net.GND",
RESERVED3: "net.GND",
VIN_3V3: "net.GND",
CC1: "net.CC1",
CC2: "net.CC2",
}, noConnect: [
"DRAIN1",
"DRAIN2",
"DRAIN3",
"CAP_MIS",
"DBG_ACC",
"PLUG_FLIP",
"N_SINK_EN",
"PLUG_EVENT",
] }), jsx(SchematicNote, { schX: 0, schY: 9.4, fontSize: 0.23, text: "U1: stand-alone PD sink; no NVM. ADC straps 3/5/1/0\n15 V min/max, 1 A operating / 1.5 A maximum; I2C 0x21\nPPHV can carry default 5 V: U2 lockout + firmware qualification required." }), jsx(SchematicNote, { schX: -10, schY: -9.2, fontSize: 0.23, text: "D1: 22 V VBUS flat clamp; surge margin requires qualification.\nD2: CC-only 5.5 V ESD. Never connect D2 to VBUS.\nJ1 shield tied directly to local ground; USB data unused." }), jsx(R, { name: "R1", resistance: "162k", pcb: [-30, 6], sch: [8, 7], nets: ["PD_3V3", "PD_MIN"] }), jsx(R, { name: "R2", resistance: "38.3k", pcb: [-26, 6], sch: [12, 7], nets: ["PD_MIN", "GND"] }), jsx(R, { name: "R3", resistance: "86.6k", pcb: [-30, 8.5], sch: [8, 4.8], nets: ["PD_3V3", "PD_MAX"] }), jsx(R, { name: "R4", resistance: "100k", pcb: [-26, 8.5], sch: [12, 4.8], nets: ["PD_MAX", "GND"] }), jsx(R, { name: "R5", resistance: "191k", pcb: [-30, 11], sch: [8, 2.6], nets: ["PD_3V3", "PD_IOP"] }), jsx(R, { name: "R6", resistance: "9.53k", pcb: [-26, 11], sch: [12, 2.6], nets: ["PD_IOP", "GND"] }), jsx(C, { name: "C1", capacitance: "4.7uF", pcb: [-35, 9], sch: [-6, -2], nets: ["VBUS", "GND"] }), jsx(C, { name: "C2", capacitance: "10uF", pcb: [-33, -7], sch: [-2, -4], nets: ["PD_3V3", "GND"] }), jsx(C, { name: "C3", capacitance: "10uF", pcb: [-28, -7], sch: [3, -4], nets: ["PD_1V5", "GND"] }), jsx(C, { name: "C4", capacitance: "4.7uF", pcb: [-21, 2], sch: [2, -3.5], nets: ["PD_OUT", "GND"] }), jsx(C, { name: "C5", capacitance: "330pF", pcb: [-34, 4], sch: [-6, -5], nets: ["CC1", "GND"] }), jsx(C, { name: "C6", rotation: 180, capacitance: "330pF", pcb: [-38, -8], sch: [-6, -7], nets: ["CC2", "GND"] }), jsx(TPS70933DBVR, { name: "U3", schHeight: 0.6, pcbX: -27, pcbY: -14, schX: 7, schY: -6, connections: { IN: "net.PD_OUT", GND: "net.GND", OUT: "net.V3V3" }, noConnect: ["EN", "NC"] }), jsx(C, { name: "C7", capacitance: "1uF", pcb: [-31, -14], sch: [2, -7], nets: ["PD_OUT", "GND"] }), jsx(C, { name: "C8", capacitance: "4.7uF", pcb: [-22, -14], sch: [12, -7], nets: ["V3V3", "GND"] }), jsx(SchematicNote, { schX: 7, schY: -9.2, fontSize: 0.23, text: "U3: 3.3 V / 150 mA control LDO, 30 V input rating.\nEN floating = enabled. Intended control load <15 mA.\nPower present does not mean motor ready." }), jsx(TestPad, { name: "TP1", net: "VBUS", pcb: [-39, 12], sch: [-13, -1] }), jsx(TestPad, { name: "TP2", net: "V3V3", pcb: [-20, -18], sch: [12, -3] })] }));
}
const A_25SVPF47M = (props) => {
const { name = "C1", ...restProps } = props;
return (jsx("capacitor", { name: name, capacitance: "47uF", polarized: true, supplierPartNumbers: {
jlcpcb: ["C136280"],
}, manufacturerPartNumber: "25SVPF47M", footprint: "cap_p5.3401mm_pw3.5mm_ph1.2mm_cyw9.3392mm_cyh7.2564mm", cadModel: {
objUrl: "https://modelcdn.tscircuit.com/easyeda_models/assets/C136280.obj?uuid=6cb1ec5759f6404189e20b90556867d6",
stepUrl: "https://modelcdn.tscircuit.com/easyeda_models/assets/C136280.step?uuid=6cb1ec5759f6404189e20b90556867d6",
pcbRotationOffset: 180,
modelOriginPosition: { x: 0, y: -12700000070253736e-21, z: -0.05 },
}, ...restProps }));
};
const pinLabels$e = {
pin1: ["gate", "G"],
pin2: ["source", "S"],
pin3: ["drain", "D"],
};
const AO3400A = (props) => {
return (jsx("chip", { symbolName: "n_channel_e_mosfet_transistor", pinLabels: pinLabels$e, pinAttributes: {
pin1: { isInput: true },
pin2: { requiresGround: true },
pin3: { isPassive: true },
}, supplierPartNumbers: {
jlcpcb: ["C20917"],
}, manufacturerPartNumber: "AO3400A", footprint: jsxs("footprint", { children: [jsx("smtpad", { portHints: ["pin1"], pcbX: "0.999998mm", pcbY: "-0.94996mm", width: "0.999998mm", height: "0.6500114mm", shape: "rect" }), jsx("smtpad", { portHints: ["pin2"], pcbX: "0.999998mm", pcbY: "0.94996mm", width: "0.999998mm", height: "0.6500114mm", shape: "rect" }), jsx("smtpad", { portHints: ["pin3"], pcbX: "-0.999998mm", pcbY: "0mm", width: "0.999998mm", height: "0.6500114mm", shape: "rect" }), jsx("silkscreenpath", { route: [
{ x: 0.726211400000011, y: 1.5262098000000606 },
{ x: -0.726211400000011, y: 1.5262098000000606 },
{ x: -0.726211400000011, y: 0.49458879999997407 },
] }), jsx("silkscreenpath", { route: [
{ x: 0.726211400000011, y: -1.5262097999999469 },
{ x: -0.726211400000011, y: -1.5262097999999469 },
{ x: -0.726211400000011, y: -0.49458879999997407 },
] }), jsx("silkscreenpath", { route: [
{ x: 0.726211400000011, y: 0.45539659999997184 },
{ x: 0.726211400000011, y: -0.45539659999985815 },
] }), jsx("silkscreentext", { text: "{NAME}", pcbX: "0.0254mm", pcbY: "2.524mm", anchorAlignment: "center", fontSize: "1mm" }), jsx("courtyardoutline", { outline: [
{ x: -1.748600000000124, y: 1.774000000000001 },
{ x: 1.7993999999998778, y: 1.774000000000001 },
{ x: 1.7993999999998778, y: -1.774000000000001 },
{ x: -1.748600000000124, y: -1.774000000000001 },
{ x: -1.748600000000124, y: 1.774000000000001 },
] })] }), cadModel: {
objUrl: "https://modelcdn.tscircuit.com/easyeda_models/assets/C20917.obj?uuid=d777607a152f4f3aac9bb0d0c14ed6fd",
stepUrl: "https://modelcdn.tscircuit.com/easyeda_models/assets/C20917.step?uuid=d777607a152f4f3aac9bb0d0c14ed6fd",
pcbRotationOffset: 180,
modelOriginPosition: {
x: 0.000012700000070253736,
y: -12699999956566899e-21,
z: 0.050795,
},
}, ...props }));
};
const pinLabels$d = {
pin1: ["EN_UVLO"],
pin2: ["OVLO"],
pin3: ["AUXOFF"],
pin4: ["FLT"],
pin5: ["IN"],
pin6: ["OUT"],
pin7: ["DVDT"],
pin8: ["GND"],
pin9: ["ILM"],
pin10: ["ITIMER"],
};
const pinAttributes$3 = {
pin8: {
requiresGround: true,
},
pin1: {
isInput: true,
},
pin2: {
isInput: true,
},
pin3: {
isOutput: true,
canUseOpenCollector: true,
isUsingOpenCollector: true,
},
pin4: {
isOutput: true,
canUseOpenCollector: true,
isUsingOpenCollector: true,
},
pin5: {
requiresPower: true,
},
pin6: {
providesPower: true,
},
pin7: {
isOutput: true,
},
pin9: {
isOutput: true,
},
pin10: {
isPassive: true,
},
};
const TPS259470LRPWR = (props) => {
return (jsx("chip", { pinLabels: pinLabels$d, pinAttributes: pinAttributes$3, supplierPartNumbers: {
jlcpcb: ["C3662793"],
}, manufacturerPartNumber: "TPS259470LRPWR", footprint: jsxs("footprint", { children: [jsx("smtpad", { portHints: ["pin1"], points: [
{ x: "-0.8650351mm", y: "1.1999976mm" },
{ x: "-0.8650351mm", y: "0.8999982mm" },
{ x: "-0.8650351mm", y: "0.8999982mm" },
{ x: "-1.2149963mm", y: "0.8999982mm" },
{ x: "-1.2149963mm", y: "0.8999982mm" },
{ x: "-1.2149963mm", y: "0.5999988mm" },
{ x: "-1.2149963mm", y: "0.5999988mm" },
{ x: "-0.8650351mm", y: "0.5999988mm" },
{ x: "-0.8650351mm", y: "0.5999988mm" },
{ x: "-0.6150483mm", y: "0.5999988mm" },
{ x: "-0.6150483mm", y: "0.5999988mm" },
{ x: "-0.6149975mm", y: "0.5999988mm" },
{ x: "-0.6149975mm", y: "0.5999988mm" },
{ x: "-0.6149975mm", y: "0.8999982mm" },
{ x: "-0.6149975mm", y: "0.8999982mm" },
{ x: "-0.6150483mm", y: "0.8999982mm" },
{ x: "-0.6150483mm", y: "0.8999982mm" },
{ x: "-0.6150483mm", y: "1.1999976mm" },
{ x: "-0.6150483mm", y: "1.1999976mm" },
{ x: "-0.8650351mm", y: "1.1999976mm" },
], shape: "polygon" }), jsx("smtpad", { portHints: ["pin4"], points: [
{ x: "-0.8553577mm", y: "-1.1999976mm" },
{ x: "-0.8553577mm", y: "-0.8999728mm" },
{ x: "-0.8553577mm", y: "-0.8999728mm" },
{ x: "-1.2053189mm", y: "-0.8999728mm" },
{ x: "-1.2053189mm", y: "-0.8999728mm" },
{ x: "-1.2053189mm", y: "-0.5999988mm" },
{ x: "-1.2053189mm", y: "-0.5999988mm" },
{ x: "-0.8553577mm", y: "-0.5999988mm" },
{ x: "-0.8553577mm", y: "-0.5999988mm" },
{ x: "-0.6053709mm", y: "-0.5999988mm" },
{ x: "-0.6053709mm", y: "-0.5999988mm" },
{ x: "-0.6053201mm", y: "-0.5999988mm" },
{ x: "-0.6053201mm", y: "-0.5999988mm" },
{ x: "-0.6053201mm", y: "-0.8999728mm" },
{ x: "-0.6053201mm", y: "-0.8999728mm" },
{ x: "-0.6053709mm", y: "-0.8999728mm" },
{ x: "-0.6053709mm", y: "-0.8999728mm" },
{ x: "-0.6053709mm", y: "-1.1999976mm" },
{ x: "-0.6053709mm", y: "-1.1999976mm" },
{ x: "-0.8553577mm", y: "-1.1999976mm" },
], shape: "polygon" }), jsx("smtpad", { portHints: ["pin7"], points: [
{ x: "0.8650351mm", y: "-1.1999722mm" },
{ x: "0.8650351mm", y: "-0.8999728mm" },
{ x: "0.8650351mm", y: "-0.8999728mm" },
{ x: "1.2149963mm", y: "-0.8999728mm" },
{ x: "1.2149963mm", y: "-0.8999728mm" },
{ x: "1.2149963mm", y: "-0.5999734mm" },
{ x: "1.2149963mm", y: "-0.5999734mm" },
{ x: "0.8650351mm", y: "-0.5999734mm" },
{ x: "0.8650351mm", y: "-0.5999734mm" },
{ x: "0.6150483mm", y: "-0.5999734mm" },
{ x: "0.6150483mm", y: "-0.5999734mm" },
{ x: "0.6149975mm", y: "-0.5999734mm" },
{ x: "0.6149975mm", y: "-0.5999734mm" },
{ x: "0.6149975mm", y: "-0.8999728mm" },
{ x: "0.6149975mm", y: "-0.8999728mm" },
{ x: "0.6150483mm", y: "-0.8999728mm" },
{ x: "0.6150483mm", y: "-0.8999728mm" },
{ x: "0.6150483mm", y: "-1.1999722mm" },
{ x: "0.6150483mm", y: "-1.1999722mm" },
{ x: "0.8650351mm", y: "-1.1999722mm" },
], shape: "polygon" }), jsx("smtpad", { portHints: ["pin10"], points: [
{ x: "0.8650351mm", y: "1.1999976mm" },
{ x: "0.8650351mm", y: "0.8999982mm" },
{ x: "0.8650351mm", y: "0.8999982mm" },
{ x: "1.2149963mm", y: "0.8999982mm" },
{ x: "1.2149963mm", y: "0.8999982mm" },
{ x: "1.2149963mm", y: "0.5999988mm" },
{ x: "1.2149963mm", y: "0.5999988mm" },
{ x: "0.8650351mm", y: "0.5999988mm" },
{ x: "0.8650351mm", y: "0.5999988mm" },
{ x: "0.6150483mm", y: "0.5999988mm" },
{ x: "0.6150483mm", y: "0.5999988mm" },
{ x: "0.6149975mm", y: "0.5999988mm" },
{ x: "0.6149975mm", y: "0.5999988mm" },
{ x: "0.6149975mm", y: "0.8999982mm" },
{ x: "0.6149975mm", y: "0.8999982mm" },
{ x: "0.6150483mm", y: "0.8999982mm" },
{ x: "0.6150483mm", y: "0.8999982mm" },
{ x: "0.6150483mm", y: "1.1999976mm" },
{ x: "0.6150483mm", y: "1.1999976mm" },
{ x: "0.8650351mm", y: "1.1999976mm" },
], shape: "polygon" }), jsx("smtpad", { portHints: ["pin5"], pcbX: "-0.2349373mm", pcbY: "0mm", width: "0.2999994mm", height: "2.3999952mm", shape: "rect" }), jsx("smtpad", { portHints: ["pin6"], pcbX: "0.2649347mm", pcbY: "0mm", width: "0.2999994mm", height: "2.3999952mm", shape: "rect" }), jsx("smtpad", { portHints: ["pin2"], pcbX: "-0.9049893mm", pcbY: "0.225044mm", width: "0.5999988mm", height: "0.2500122mm", shape: "rect" }), jsx("smtpad", { portHints: ["pin3"], pcbX: "-0.9052433mm", pcbY: "-0.225044mm", width: "0.5999988mm", height: "0.2500122mm", shape: "rect" }), jsx("smtpad", { portHints: ["pin9"], pcbX: "0.9050147mm", pcbY: "0.225044mm", width: "0.5999988mm", height: "0.2500122mm", shape: "rect" }), jsx("smtpad", { portHints: ["pin8"], pcbX: "0.9050147mm", pcbY: "-0.225044mm", width: "0.5999988mm", height: "0.2500122mm", shape: "rect" }), jsx("silkscreenpath", { route: [
{ x: -1.265008899999998, y: 1.1256010000000742 },
{ x: -1.265008899999998, y: 1.329994799999895 },
] }), jsx("silkscreenpath", { route: [
{ x: -1.0517250999999987, y: -1.2800075999999763 },
{ x: -1.265008899999998, y: -1.2800075999999763 },
{ x: -1.265008899999998, y: -1.116660199999842 },
] }), jsx("silkscreenpath", { route: [
{ x: 1.3449934999999869, y: -1.09054900000001 },
{ x: 1.3449934999999869, y: -1.2800075999999763 },
{ x: 1.0816971000000422, y: -1.2800075999999763 },
] }), jsx("silkscreenpath", { route: [
{ x: 1.0621644999999944, y: 1.3199872000001278 },
{ x: 1.3449934999999869, y: 1.3199872000001278 },
{ x: 1.3449934999999869, y: 1.0905743999999231 },
] }), jsx("silkscreenpath", { route: [
{ x: -1.2250038999998196, y: 1.3199872000001278 },
{ x: -1.0621644999998807, y: 1.3199872000001278 },
] }), jsx("silkscreencircle", { pcbX: "-1.7149953mm", pcbY: "1.229868mm", radius: "0.13462mm" }), jsx("silkscreentext", { text: "{NAME}", pcbX: "-0.2390013mm", pcbY: "2.3716mm", anchorAlignment: "center", fontSize: "1mm" }), jsx("courtyardoutline", { outline: [
{ x: -2.0892013000000134, y: 1.6216000000000577 },
{ x: 1.6111987000000454, y: 1.6216000000000577 },
{ x: 1.6111987000000454, y: -1.5199999999999818 },
{ x: -2.0892013000000134, y: -1.5199999999999818 },
{ x: -2.0892013000000134, y: 1.6216000000000577 },
] })] }), cadModel: {
objUrl: "https://modelcdn.tscircuit.com/easyeda_models/assets/C3662793.obj?uuid=262834a5342148ebb2da8f3848ec58ce",
stepUrl: "https://modelcdn.tscircuit.com/easyeda_models/assets/C3662793.step?uuid=262834a5342148ebb2da8f3848ec58ce",
pcbRotationOffset: 0,
modelOriginPosition: { x: 0.004987299999929751, y: 0, z: -0.05 },
}, ...props }));
};
const pinLabels$c = {
pin1: ["GND"],
pin2: ["SW"],
pin3: ["VIN"],
pin4: ["FB"],
pin5: ["EN"],
pin6: ["BOOT"],
};
const pinAttributes$2 = {
pin1: { requiresGround: true },
pin3: { requiresPower: true },
};
const TPS54202DDCR = (props) => {
return (jsx("chip", { pinLabels: pinLabels$c, pinAttributes: pinAttributes$2, supplierPartNumbers: {
jlcpcb: ["C191884"],
}, manufacturerPartNumber: "TPS54202DDCR", footprint: jsxs("footprint", { children: [jsx("smtpad", { portHints: ["pin1"], pcbX: "-0.94996mm", pcbY: "-1.149096mm", width: "0.532003mm", height: "1.072007mm", shape: "rect" }), jsx("smtpad", { portHints: ["pin2"], pcbX: "0mm", pcbY: "-1.149096mm", width: "0.532003mm", height: "1.072007mm", shape: "rect" }), jsx("smtpad", { portHints: ["pin3"], pcbX: "0.94996mm", pcbY: "-1.149096mm", width: "0.532003mm", height: "1.072007mm", shape: "rect" }), jsx("smtpad", { portHints: ["pin4"], pcbX: "0.94996mm", pcbY: "1.149096mm", width: "0.532003mm", height: "1.072007mm", shape: "rect" }), jsx("smtpad", { portHints: ["pin5"], pcbX: "0mm", pcbY: "1.149096mm", width: "0.532003mm", height: "1.072007mm", shape: "rect" }), jsx("smtpad", { portHints: ["pin6"], pcbX: "-0.94996mm", pcbY: "1.149096mm", width: "0.532003mm", height: "1.072007mm", shape: "rect" }), jsx("silkscreenpath", { route: [
{ x: 1.5391891999998961, y: -0.8892031999998835 },
{ x: 1.5391891999998961, y: 0.8892031999999972 },
] }), jsx("silkscreenpath", { route: [
{ x: -1.5391892000000098, y: -0.8892031999998835 },
{ x: -1.5391892000000098, y: 0.8892031999999972 },
] }), jsx("silkscreencircle", { pcbX: "-1.668272mm", pcbY: "-1.301496mm", radius: "0.150114mm" }), jsx("silkscreentext", { text: "{NAME}", pcbX: "-0.1524mm", pcbY: "2.6764mm", anchorAlignment: "center", fontSize: "1mm" }), jsx("courtyardoutline", { outline: [
{ x: -2.078800000000001, y: 1.9264000000000578 },
{ x: 1.7739999999998872, y: 1.9264000000000578 },
{ x: 1.7739999999998872, y: -2.0279999999999063 },
{ x: -2.078800000000001, y: -2.0279999999999063 },
{ x: -2.078800000000001, y: 1.9264000000000578 },
] })] }), cadModel: {
objUrl: "https://modelcdn.tscircuit.com/easyeda_models/assets/C191884.obj?uuid=229b69761e2c45dba6a83d8866dec72d",
stepUrl: "https://modelcdn.tscircuit.com/easyeda_models/assets/C191884.step?uuid=229b69761e2c45dba6a83d8866dec72d",
pcbRotationOffset: 90,
modelOriginPosition: {
x: -12700000070253736e-21,
y: 0.000012700000070253736,
z: -0.048939,
},
}, ...props }));
};
const SRP7050TA_150M = (props) => {
return (jsx("inductor", { inductance: "15uH", supplierPartNumbers: {
jlcpcb: ["C2045384"],
}, manufacturerPartNumber: "SRP7050TA-150M", footprint: jsxs("footprint", { children: [jsx("smtpad", { portHints: ["pin1"], pcbX: "2.725mm", pcbY: "0mm", width: "2.95mm", height: "3.5mm", shape: "rect" }), jsx("smtpad", { portHints: ["pin2"], pcbX: "-2.725mm", pcbY: "0mm", width: "2.95mm", height: "3.5mm", shape: "rect" }), jsx("silkscreenpath", { route: [
{ x: -3.726205400000026, y: 1.8624042000000145 },
{ x: -3.726205400000026, y: 3.3761934000000338 },
{ x: 3.7262053999999125, y: 3.3761934000000338 },
{ x: 3.7262053999999125, y: 1.8624042000000145 },
] }), jsx("silkscreenpath", { route: [
{ x: -3.726205400000026, y: -1.8624041999999008 },
{ x: -3.726205400000026, y: -3.3761934000000338 },
{ x: 3.7262053999999125, y: -3.3761934000000338 },
{ x: 3.7262053999999125, y: -1.8624041999999008 },
] }), jsx("silkscreentext", { text: "{NAME}", pcbX: "0mm", pcbY: "4.3782mm", anchorAlignment: "center", fontSize: "1mm" }), jsx("courtyardoutline", { outline: [
{ x: -4.745800000000031, y: 3.6282000000001062 },
{ x: 4.745800000000031, y: 3.6282000000001062 },
{ x: 4.745800000000031, y: -3.6281999999999925 },
{ x: -4.745800000000031, y: -3.6281999999999925 },
{ x: -4.745800000000031, y: 3.6282000000001062 },
] })] }), cadModel: {
objUrl: "https://modelcdn.tscircuit.com/easyeda_models/assets/C2045384.obj?uuid=fd41bc67ad4c4c5f978bcfd3746341ff",
stepUrl: "https://modelcdn.tscircuit.com/easyeda_models/assets/C2045384.step?uuid=fd41bc67ad4c4c5f978bcfd3746341ff",
pcbRotationOffset: 0,
modelOriginPosition: { x: -12700000070253736e-21, y: 0, z: 0 },
}, ...props }));
};
function MotorPower() {
return (jsxs("schematicsheet", { name: "power", displayName: "02 Protected 15 V / regulated 12 V \u2014 A1 prototype", sheetSize: "A4", sheetIndex: 1, children: [jsx(TPS259470LRPWR, { name: "U2", pcbX: -15, pcbY: 2, schX: -8, schY: 5, connections: {
IN: "net.PD_OUT",
OUT: "net.V15",
GND: "net.GND",
EN_UVLO: "net.INPUT_EN",
OVLO: "net.INPUT_OV",
DVDT: "net.INPUT_SLEW",
ILM: "net.INPUT_LIMIT",
AUXOFF: "net.HEALTH",
FLT: "net.HEALTH",
}, noConnect: ["ITIMER"] }), jsx(SchematicNote, { schX: -8, schY: 9, fontSize: 0.23, text: "U2: 2.7–23 V eFuse; 1.19 A nominal limit; latched faults.\nUV ≈13.2 V / OV ≈16.8 V. 0.2 V/ms soft start.\nQ2 defaults ON to inhibit power until a valid PD contract." }), jsx(R, { name: "R10", resistance: "100k", pcb: [-20, 6], sch: [-13, 5], nets: ["PD_OUT", "INPUT_EN"] }), jsx(R, { name: "R11", resistance: "10k", pcb: [-16, 6], sch: [-13, 2.5], nets: ["INPUT_EN", "GND"] }), jsx(R, { name: "R12", resistance: "130k", pcb: [-20, 8.5], sch: [-3, 5], nets: ["PD_OUT", "INPUT_OV"] }), jsx(R, { name: "R13", resistance: "10k", pcb: [-16, 8.5], sch: [-3, 2.5], nets: ["INPUT_OV", "GND"] }), jsx(R, { name: "R14", resistance: "2.8k", pcb: [-11, 6], sch: [-13, 0], nets: ["INPUT_LIMIT", "GND"] }), jsx(C, { name: "C10", capacitance: "10nF", pcb: [-11, 3.5], sch: [-8, 0], nets: ["INPUT_SLEW", "GND"] }), jsx(C, { name: "C11", capacitance: "100nF", pcb: [-19, -0.5], sch: [-3, 0], nets: ["PD_OUT", "GND"] }), jsx(AO3400A, { name: "Q2", pcbX: -15, pcbY: -3, schX: -8, schY: -3, connections: { G: "net.PWR_OFF", S: "net.GND", D: "net.INPUT_EN" } }), jsx(R, { name: "R15", resistance: "10k", pcb: [-19, -4], sch: [-13, -3], nets: ["V3V3", "PWR_OFF"] }), jsx(TPS54202DDCR, { name: "U4", pcbX: -4, pcbY: 2, schX: 7, schY: 5, connections: {
VIN: "net.V15",
GND: "net.GND",
SW: "net.SW",
BOOT: "net.BOOT",
FB: "net.FB",
}, noConnect: ["EN"] }), jsx(SchematicNote, { schX: 7, schY: 9, fontSize: 0.23, text: "U4: TPS54202 buck, 15 V → 11.980 V nominal; 500 kHz.\nInput 4.5–28 V; IC 2 A rating is not a board rating.\n15 µH / 47 µF polymer; FB = 191 kΩ / 10 kΩ; EN internally pulled up." }), jsx(C, { name: "C12", capacitance: "10uF", pcb: [-6, -2], sch: [2, 5], nets: ["V15", "GND"] }), jsx(C, { name: "C13", capacitance: "100nF", pcb: [-8, 1.7], sch: [2, 2.5], nets: ["V15", "GND"] }), jsx(C, { name: "C14", capacitance: "100nF", pcb: [-4, 5.5], sch: [7, 0], nets: ["BOOT", "SW"] }), jsx(SRP7050TA_150M, { name: "L1", pcbRotation: 180, pcbX: 3.5, pcbY: 1, schX: 12, schY: 5, connections: { pin1: "net.SW", pin2: "net.V12_BUCK" } }), jsx(A_25SVPF47M, { name: "C15", pcbX: 5, pcbY: -7, schX: 12, schY: 1.5, schRotation: -90, connections: { pin1: "net.V12_BUCK", pin2: "net.GND" } }), jsx(C, { name: "C16", capacitance: "100nF", pcb: [11.5, -5], sch: [12, -1], nets: ["V12_BUCK", "GND"] }), jsx(R, { name: "R16", rotation: 180, resistance: "191k", pcb: [-2, -4.5], sch: [2, -2], nets: ["V12_BUCK", "FB"] }), jsx(R, { name: "R17", rotation: 180, resistance: "10k", pcb: [-2, -7], sch: [7, -2], nets: ["FB", "GND"] }), jsx(C, { name: "C19", capacitance: "47pF", pcb: [-7, 5.5], sch: [2, 0], nets: ["V12_BUCK", "FB"] }), jsx(TPS259470LRPWR, { name: "U5", pcbX: 12, pcbY: 1, schX: 0, schY: -7, connections: {
IN: "net.V12_BUCK",
OUT: "net.VM",
GND: "net.GND",
EN_UVLO: "net.MOTOR_UV",
OVLO: "net.MOTOR_OV",
DVDT: "net.MOTOR_SLEW",
ILM: "net.MOTOR_LIMIT",
AUXOFF: "net.HEALTH",
FLT: "net.HEALTH",
}, noConnect: ["ITIMER"] }), jsx(R, { name: "R18", resistance: "80.6k", pcb: [10, 6], sch: [-10, -6], nets: ["V12_BUCK", "MOTOR_UV"] }), jsx(R, { name: "R19", resistance: "10k", pcb: [14, 6], sch: [-5, -6], nets: ["MOTOR_UV", "GND"] }), jsx(R, { name: "R20", resistance: "100k", pcb: [10, 8.5], sch: [-10, -8.5], nets: ["V12_BUCK", "MOTOR_OV"] }), jsx(R, { name: "R21", resistance: "10k", pcb: [14, 8.5], sch: [-5, -8.5], nets: ["MOTOR_OV", "GND"] }), jsx(R, { name: "R22", resistance: "2.8k", pcb: [16, 3], sch: [5, -6], nets: ["MOTOR_LIMIT", "GND"] }), jsx(C, { name: "C17", capacitance: "10nF", pcb: [16, 0.5], sch: [10, -6], nets: ["MOTOR_SLEW", "GND"] }), jsx(C, { name: "C18", capacitance: "100nF", pcb: [15, -3], sch: [5, -8.5], nets: ["V12_BUCK", "GND"] }), jsx(AO3400A, { name: "Q3", pcbX: 12, pcbY: -10, schX: 10, schY: -9, connections: { G: "net.PWR_OFF", S: "net.GND", D: "net.MOTOR_UV" } }), jsx(SchematicNote, { schX: 1, schY: -10.5, fontSize: 0.23, text: "U5: continuous reverse-current blocking isolates regenerated VM from the buck.\nUV ≈10.872 V / OV ≈13.2 V; 1.19 A nominal limit. 470 µF bulk is downstream.\nHEALTH combines open-drain ready/fault signals; U2 disable resets both power stages." }), jsx(TestPad, { name: "TP3", net: "V15", pcb: [-9, -9], sch: [-13, -9] }), jsx(TestPad, { name: "TP4", net: "V12_BUCK", pcb: [5, -13], sch: [13, -7.8] })] }));
}
const pinLabels$b = {
pin1: ["EN"],
pin2: ["PH"],
pin3: ["nSLEEP"],
pin4: ["nFAULT"],
pin5: ["VREF"],
pin6: ["IPROPI"],
pin7: ["IMODE"],
pin8: ["OUT1"],
pin9: ["PGND"],
pin10: ["OUT2"],
pin11: ["VM"],
pin12: ["VCP"],
pin13: ["CPH"],
pin14: ["CPL"],
pin15: ["GND"],
pin16: ["PMODE"],
pin17: ["EP"],
};
const pinAttributes$1 = {
pin9: {
requiresGround: true,
},
pin15: {
requiresGround: true,
},
pin1: {
isInput: true,
},
pin2: {
isInput: true,
},
pin3: {
isInput: true,
},
pin4: {
isOutput: true,
canUseOpenCollector: true,
isUsingOpenCollector: true,
},
pin5: {
isInput: true,
},
pin6: {
isOutput: true,
},
pin7: {
isInput: true,
},
pin8: {
isOutput: true,
},
pin10: {
isOutput: true,
},
pin11: {
requiresPower: true,
},
pin12: {
isPassive: true,
},
pin13: {
isPassive: true,
},
pin14: {
isPassive: true,
},
pin16: {
isInput: true,
},
pin17: {
requiresGround: true,
},
};
const DRV8874PWPR = (props) => {
return (jsx("chip", { pinLabels: pinLabels$b, pinAttributes: pinAttributes$1, supplierPartNumbers: {
jlcpcb: ["C1855818"],
}, manufacturerPartNumber: "DRV8874PWPR", footprint: jsxs("footprint", { children: [jsx("smtpad", { portHints: ["pin1"], pcbX: "-2.275078mm", pcbY: "-2.873248mm", width: "0.3430016mm", height: "1.746504mm", radius: "0.1715008mm", shape: "pill" }), jsx("smtpad", { portHints: ["pin2"], pcbX: "-1.625092mm", pcbY: "-2.873248mm", width: "0.3430016mm", height: "1.746504mm", radius: "0.1715008mm", shape: "pill" }), jsx("smtpad", { portHints: ["pin3"], pcbX: "-0.975106mm", pcbY: "-2.873248mm", width: "0.3430016mm", height: "1.746504mm", radius: "0.1715008mm", shape: "pill" }), jsx("smtpad", { portHints: ["pin4"], pcbX: "-0.324866mm", pcbY: "-2.873248mm", width: "0.3430016mm", height: "1.746504mm", radius: "0.1715008mm", shape: "pill" }), jsx("smtpad", { portHints: ["pin5"], pcbX: "0.32512mm", pcbY: "-2.873248mm", width: "0.3430016mm", height: "1.746504mm", radius: "0.1715008mm", shape: "pill" }), jsx("smtpad", { portHints: ["pin6"], pcbX: "0.975106mm", pcbY: "-2.873248mm", width: "0.3430016mm", height: "1.746504mm", radius: "0.1715008mm", shape: "pill" }), jsx("smtpad", { portHints: ["pin7"], pcbX: "1.625092mm", pcbY: "-2.873248mm", width: "0.3430016mm", height: "1.746504mm", radius: "0.1715008mm", shape: "pill" }), jsx("smtpad", { portHints: ["pin8"], pcbX: "2.275078mm", pcbY: "-2.873248mm", width: "0.3430016mm", height: "1.746504mm", radius: "0.1715008mm", shape: "pill" }), jsx("smtpad", { portHints: ["pin16"], pcbX: "-2.275078mm", pcbY: "2.873248mm", width: "0.3430016mm", height: "1.746504mm", radius: "0.1715008mm", shape: "pill" }), jsx("smtpad", { portHints: ["pin15"], pcbX: "-1.625092mm", pcbY: "2.873248mm", width: "0.3430016mm", height: "1.746504mm", radius: "0.1715008mm", shape: "pill" }), jsx("smtpad", { portHints: ["pin14"], pcbX: "-0.975106mm", pcbY: "2.873248mm", width: "0.3430016mm", height: "1.746504mm", radius: "0.1715008mm", shape: "pill" }), jsx("smtpad", { portHints: ["pin13"], pcbX: "-0.324866mm", pcbY: "2.873248mm", width: "0.3430016mm", height: "1.746504mm", radius: "0.1715008mm", shape: "pill" }), jsx("smtpad", { portHints: ["pin12"], pcbX: "0.32512mm", pcbY: "2.873248mm", width: "0.3430016mm", height: "1.746504mm", radius: "0.1715008mm", shape: "pill" }), jsx("smtpad", { portHints: ["pin11"], pcbX: "0.975106mm", pcbY: "2.873248mm", width: "0.3430016mm", height: "1.746504mm", radius: "0.1715008mm", shape: "pill" }), jsx("smtpad", { portHints: ["pin10"], pcbX: "1.625092mm", pcbY: "2.873248mm", width: "0.3430016mm", height: "1.746504mm", radius: "0.1715008mm", shape: "pill" }), jsx("smtpad", { portHints: ["pin9"], pcbX: "2.275078mm", pcbY: "2.873248mm", width: "0.3430016mm", height: "1.746504mm", radius: "0.1715008mm", shape: "pill" }), jsx("smtpad", { portHints: ["pin17"], pcbX: "0mm", pcbY: "0mm", width: "3.5500056mm", height: "2.45999mm", shape: "rect" }), jsx("silkscreenpath", { route: [
{ x: -2.5761949999999842, y: -1.7713960000000952 },
{ x: -2.5761949999999842, y: 1.7713959999999815 },
{ x: 2.5761949999999842, y: 1.7713959999999815 },
{ x: 2.5761949999999842, y: -1.7713960000000952 },
{ x: -2.5761949999999842, y: -1.7713960000000952 },
] }), jsx("silkscreencircle", { pcbX: "-2.275078mm", pcbY: "-1.019048mm", radius: "0.150114mm" }), jsx("silkscreencircle", { pcbX: "-2.898902mm", pcbY: "-2.873248mm", radius: "0.150114mm" }), jsx("silkscreentext", { text: "{NAME}", pcbX: "-0.2413mm", pcbY: "4.5814mm", anchorAlignment: "center", fontSize: "1mm" }), jsx("courtyardoutline", { outline: [
{ x: -3.298000000000002, y: 3.8314000000000306 },
{ x: 2.815399999999954, y: 3.8314000000000306 },
{ x: 2.815399999999954, y: -3.983799999999974 },
{ x: -3.298000000000002, y: -3.983799999999974 },
{ x: -3.298000000000002, y: 3.8314000000000306 },
] })] }), cadModel: {
objUrl: "https://modelcdn.tscircuit.com/easyeda_models/assets/C1855818.obj?uuid=89f85af05c9045c798a6d7a53851085c",
stepUrl: "https://modelcdn.tscircuit.com/easyeda_models/assets/C1855818.step?uuid=89f85af05c9045c798a6d7a53851085c",
pcbRotationOffset: 0,
modelOriginPosition: { x: 0, y: 0, z: 0 },
}, ...props }));
};
const EEEFK1E471AP = (props) => {
const { name = "C1", ...restProps } = props;
return (jsx("capacitor", { name: name, capacitance: "470uF", polarized: true, supplierPartNumbers: {
jlcpcb: ["C401717"],
}, manufacturerPartNumber: "EEEFK1E471AP", footprint: jsxs("footprint", { children: [jsx("smtpad", { portHints: ["pin1"], pcbX: "-4.499864mm", pcbY: "0mm", width: "4.499991mm", height: "1.6500094mm", shape: "rect" }), jsx("smtpad", { portHints: ["pin2"], pcbX: "4.499864mm", pcbY: "0mm", width: "4.499991mm", height: "1.6500094mm", shape: "rect" }), jsx("silkscreenpath", { route: [
{ x: 5.226227799999833, y: 0.8524240000001555 },
{ x: 5.226227799999833, y: 5.226227800000061 },
{ x: -3.0899861999999985, y: 5.226227800000061 },
{ x: -5.226227799999947, y: 3.089986200000112 },
{ x: -5.226227799999947, y: 0.8524240000001555 },
] }), jsx("silkscreenpath", { route: [
{ x: 5.226227799999833, y: -0.8524240000000418 },
{ x: 5.226227799999833, y: -5.226227799999947 },
{ x: -3.0899861999999985, y: -5.226227799999947 },
{ x: -5.226227799999947, y: -3.0899861999999985 },
{ x: -5.226227799999947, y: -0.8524240000000418 },
] }), jsx("silkscreentext", { text: "{NAME}", pcbX: "-0.0127mm", pcbY: "6.2324mm", anchorAlignment: "center", fontSize: "1mm" }), jsx("fabricationnotepath", { route: [
{ x: 4.841011399999957, y: 0.1545082000000093 },
{ x: 4.841011399999957, y: -0.15450819999989562 },
{ x: 3.6049966000000495, y: -0.15450819999989562 },
{ x: 3.6049966000000495, y: 0.1545082000000093 },
{ x: 4.841011399999957, y: 0.1545082000000093 },
], strokeWidth: "0.254mm" }), jsx("fabricationnotepath", { route: [
{ x: -4.84101140000007, y: 0.1545082000000093 },
{ x: -4.84101140000007, y: -0.15450819999989562 },
{ x: -3.604996600000163, y: -0.15450819999989562 },
{ x: -3.604996600000163, y: 0.1545082000000093 },
{ x: -4.84101140000007, y: 0.1545082000000093 },
], strokeWidth: "0.254mm" }), jsx("fabricationnotepath", { route: [
{ x: -4.377512200000069, y: 1.0299953999999616 },
{ x: -4.377512200000069, y: -1.0299953999999616 },
{ x: -4.068495799999937, y: -1.0299953999999616 },
{ x: -4.068495799999937, y: 1.0299953999999616 },
{ x: -4.377512200000069, y: 1.0299953999999616 },
], strokeWidth: "0.254mm" }), jsx("courtyardoutline", { outline: [
{ x: -7.006400000000099, y: 5.482399999999984 },
{ x: 6.9809999999999945, y: 5.482399999999984 },
{ x: 6.9809999999999945, y: -5.4823999999998705 },
{ x: -7.006400000000099, y: -5.4823999999998705 },
{ x: -7.006400000000099, y: 5.482399999999984 },
] })] }), cadModel: {
objUrl: "https://modelcdn.tscircuit.com/easyeda_models/assets/C401717.obj?uuid=f9399d38f4bf4dafaa6a7aeba7f82438",
stepUrl: "https://modelcdn.tscircuit.com/easyeda_models/assets/C401717.step?uuid=f9399d38f4bf4dafaa6a7aeba7f82438",
pcbRotationOffset: 180,
modelOriginPosition: { x: 0, y: 0.000012700000070253736, z: -0.05 },
}, ...restProps }));
};
const pinLabels$a = {
pin1: ["pin1"],
pin2: ["pin2"],
};
const KF350_3_5_2P = (props) => {
return (jsx("connector", { pinLabels: pinLabels$a, supplierPartNumbers: {
jlcpcb: ["C474892"],
}, manufacturerPartNumber: "KF350-3.5-2P", footprint: jsxs("footprint", { insertionDirection: "from_above", children: [jsx("platedhole", { portHints: ["pin1"], pcbX: "-1.749933mm", pcbY: "0mm", outerDiameter: "1.999996mm", holeDiameter: "0.999998mm", shape: "circle" }), jsx("platedhole", { portHints: ["pin2"], pcbX: "1.749933mm", pcbY: "0mm", outerDiameter: "1.999996mm", holeDiameter: "0.999998mm", shape: "circle" }), jsx("silkscreenpath", { route: [
{ x: 3.500196200000005, y: 3.499967599999991 },
{ x: 3.500196200000005, y: -3.4000694000000067 },
] }), jsx("silkscreenpath", { route: [
{ x: -3.5000184000000445, y: -3.4001202000000603 },
{ x: 3.5000184000000445, y: -3.4001202000000603 },
] }), jsx("silkscreenpath", { route: [
{ x: -2.6805128000000877, y: -3.4001710000000003 },
{ x: -2.6805128000000877, y: -1.9106895999999551 },
{ x: -2.249906600000031, y: -1.480108800000039 },
{ x: -1.2598908000001074, y: -1.480108800000039 },
{ x: -0.8136128000001008, y: -1.926386799999932 },
{ x: -0.8136128000001008, y: -3.4001710000000003 },
] }), jsx("silkscreenpath", { route: [
{ x: 0.8193023999999696, y: -3.4001202000000603 },
{ x: 0.8193023999999696, y: -1.910664200000042 },
{ x: 1.2499339999999393, y: -1.4800579999999854 },
{ x: 2.2399497999999767, y: -1.4800579999999854 },
{ x: 2.686227800000097, y: -1.9263613999999052 },
{ x: 2.686227800000097, y: -3.4001202000000603 },
] }), jsx("silkscreenpath", { route: [
{ x: -3.5000437999999576, y: 1.868728800000099 },
{ x: 3.5000437999999576, y: 1.868728800000099 },
] }), jsx("silkscreenpath", { route: [
{ x: -3.5000437999999576, y: 3.4999930000000177 },
{ x: 3.499992999999904, y: 3.4999930000000177 },
] }), jsx("silkscreenpath", { route: [
{ x: -3.5000437999999576, y: 3.4999930000000177 },
{ x: -3.5000437999999576, y: -3.4000186000000667 },
] }), jsx("silkscreenpath", { route: [
{ x: -3.5000437999999576, y: -3.4000186000000667 },
{ x: -3.9500809999999547, y: -3.4000186000000667 },
{ x: -3.9500809999999547, y: -2.5999947999998767 },
{ x: -3.5000437999999576, y: -2.5999947999998767 },
] }), jsx("silkscreenpath", { route: [
{ x: 3.499992999999904, y: 3.4999930000000177 },
{ x: 3.9500048000001016, y: 3.4999930000000177 },
{ x: 3.9500048000001016, y: 2.699994600000082 },
{ x: 3.499992999999904, y: 2.699994600000082 },
] }), jsx("silkscreentext", { text: "{NAME}", pcbX: "0.010033mm", pcbY: "4.6322mm", anchorAlignment: "center", fontSize: "1mm" }), jsx("fabricationnotepath", { route: [
{ x: -2.8076143999999204, y: -3.40004399999998 },
{ x: -2.8076143999999204, y: -1.9106133999999884 },
{ x: -2.7979548349023844, y: -1.8620075982191793 },
{ x: -2.770428799999877, y: -1.8207989999999654 },
{ x: -2.3398226000000477, y: -1.3901928000000225 },
{ x: -2.2986140017809475, y: -1.3626667650974014 },
{ x: -2.2500082000000248, y: -1.3530071999998654 },
{ x: -1.259992400000101, y: -1.3530071999998654 },
{ x: -1.2113865982190646, y: -1.3626667650974014 },
{ x: -1.170178000000078, y: -1.3901928000000225 },
{ x: -0.7239000000000715, y: -1.8364707999999155 },
{ x: -0.6963739650974503, y: -1.8776793982190156 },
{ x: -0.6867143999999143, y: -1.9262851999999384 },
{ x: -0.6867143999999143, y: -3.40004399999998 },
{ x: -0.813714399999867, y: -3.273044000000027 },
{ x: -0.9407143999999334, y: -3.40004399999998 },
{ x: -0.9407143999999334, y: -1.9788886000000048 },
{ x: -1.31259579999994, y: -1.6070071999998845 },
{ x: -2.1974047999999584, y: -1.6070071999998845 },
{ x: -2.5536143999999013, y: -1.9632168000000547 },
{ x: -2.5536143999999013, y: -3.40004399999998 },
{ x: -2.680614399999854, y: -3.273044000000027 },
{ x: -2.8076143999999204, y: -3.40004399999998 },
], strokeWidth: "0.254mm" }), jsx("fabricationnotepath", { route: [
{ x: 0.6923023999999032, y: -3.4000694000000067 },
{ x: 0.6923023999999032, y: -1.9106387999999015 },
{ x: 0.7019619650976665, y: -1.8620329982190924 },
{ x: 0.729488000000174, y: -1.820824400000106 },
{ x: 1.1600942000000032, y: -1.3902181999999357 },
{ x: 1.2012998712984881, y: -1.3626784983014204 },
{ x: 1.2499086000000261, y: -1.3530072000000928 },
{ x: 2.23992439999995, y: -1.3530071999998654 },
{ x: 2.2885194616609397, y: -1.3626833583809912 },
{ x: 2.3297134000000597, y: -1.3902181999999357 },
{ x: 2.7759914000000663, y: -1.8364961999999423 },
{ x: 2.8035311016985816, y: -1.8777018712984272 },
{ x: 2.813202399999909, y: -1.9263105999999652 },
{ x: 2.813202399999909, y: -3.4000694000000067 },
{ x: 2.6862023999999565, y: -3.2730693999999403 },
{ x: 2.55920239999989, y: -3.4000694000000067 },
{ x: 2.55920239999989, y: -1.9789140000000316 },
{ x: 2.1872955999999704, y: -1.6070071999998845 },
{ x: 1.3025120000000925, y: -1.6070071999998845 },
{ x: 0.9463023999999223, y: -1.9632421999999679 },
{ x: 0.9463023999999223, y: -3.4000694000000067 },
{ x: 0.8193023999999696, y: -3.2730693999999403 },
{ x: 0.6923023999999032, y: -3.4000694000000067 },
], strokeWidth: "0.254mm" }), jsx("fabricationnotepath", { route: [
{ x: -3.500043799999844, y: -3.273044000000027 },
{ x: 3.4999930000000177, y: -3.273044000000027 },
{ x: 3.372993000000065, y: -3.40004399999998 },
{ x: 3.4999930000000177, y: -3.5270439999999326 },
{ x: -3.500043799999844, y: -3.5270439999999326 },
{ x: -3.3730437999998912, y: -3.40004399999998 },
{ x: -3.500043799999844, y: -3.273044000000027 },
], strokeWidth: "0.254mm" }), jsx("fabricationnotepath", { route: [
{ x: 3.4999930000000177, y: 3.373043800000005 },
{ x: -3.500043799999844, y: 3.373043800000005 },
{ x: -3.3730437999998912, y: 3.5000437999999576 },
{ x: -3.500043799999844, y: 3.627043800000024 },
{ x: 3.4999930000000177, y: 3.627043800000024 },
{ x: 3.372993000000065, y: 3.5000437999999576 },
{ x: 3.4999930000000177, y: 3.373043800000005 },
], strokeWidth: "0.254mm" }), jsx("fabricationnotepath", { route: [
{ x: 3.627043800000024, y: 3.5000184000000445 },
{ x: 3.627043800000024, y: -3.4000186000000667 },
{ x: 3.5000438000000713, y: -3.273018600000114 },
{ x: 3.373043800000005, y: -3.4000186000000667 },
{ x: 3.373043800000005, y: 3.5000184000000445 },
{ x: 3.5000438000000713, y: 3.373018399999978 },
{ x: 3.627043800000024, y: 3.5000184000000445 },
], strokeWidth: "0.254mm" }), jsx("fabricationnotepath", { route: [
{ x: -3.627069199999937, y: -3.40004399999998 },
{ x: -3.627069199999937, y: 3.5000184000000445 },
{ x: -3.5000691999999844, y: 3.373018399999978 },
{ x: -3.373069199999918, y: 3.5000184000000445 },
{ x: -3.373069199999918, y: -3.40004399999998 },
{ x: -3.5000691999999844, y: -3.273044000000027 },
{ x: -3.627069199999937, y: -3.40004399999998 },
], strokeWidth: "0.254mm" }), jsx("courtyardoutline", { outline: [
{ x: -4.240466999999967, y: 3.8822000000001253 },
{ x: 4.2605330000000095, y: 3.8822000000001253 },
{ x: 4.2605330000000095, y: -3.780599999999822 },
{ x: -4.240466999999967, y: -3.780599999999822 },
{ x: -4.240466999999967, y: 3.8822000000001253 },
] })] }), cadModel: {
objUrl: "https://modelcdn.tscircuit.com/easyeda_models/assets/C474892.obj?uuid=81e8844df5354ae4bd7bd34179dfd3ff",
stepUrl: "https://modelcdn.tscircuit.com/easyeda_models/assets/C474892.step?uuid=81e8844df5354ae4bd7bd34179dfd3ff",
pcbRotationOffset: 0,
modelOriginPosition: {
x: 0,
y: -0.04999990000010257,
z: -6799999999973494e-21,
},
}, ...props }));
};
function MotorBridge() {
return (jsxs("schematicsheet", { name: "bridge", displayName: "03 12 V current-regulated motor bridge \u2014 A1 prototype", sheetSize: "A4", sheetIndex: 2, children: [jsx(DRV8874PWPR, { name: "U6", schHeight: 1.8, pcbX: 25, pcbY: -3, schX: 0, schY: 3, connections: {
EN: "net.PWM",
PH: "net.DIR",
nSLEEP: "net.DRIVE_ENABLE",
nFAULT: "net.HEALTH",
VREF: "net.VREF_2V5",
IPROPI: "net.IPROPI",
OUT1: "net.MOTOR_A",
OUT2: "net.MOTOR_B",
VM: "net.VM",
VCP: "net.VCP",
CPH: "net.CPH",
CPL: "net.CPL",
GND: "net.GND",
PGND: "net.GND",
EP: "net.GND",
PMODE: "net.GND",
}, noConnect: ["IMODE"] }), jsx(SchematicNote, { schX: 0, schY: 9, fontSize: 0.23, text: "U6: DRV8874, 12 V brushed-motor H-bridge.\nPMODE low = PH/EN; 20 kHz drive/brake PWM. EN low = brake.\nnSLEEP low = high-impedance coast; firmware ramps before STOP.\nIMODE floating = 25 µs fixed-off-time regulation, latched overcurrent fault.\nIlimit ≈2.5 V / (9.8795 kΩ × 450 µA/A) = 0.562 A; prototype setting." }), jsx(KF350_3_5_2P, { name: "J2", pcbX: 40, pcbY: -4, pcbRotation: 90, schX: 10, schY: 4, connections: { pin1: "net.MOTOR_A", pin2: "net.MOTOR_B" } }), jsx(C, { name: "C20", capacitance: "100nF", pcb: [29, 2], sch: [8, 0], nets: ["VM", "GND"] }), jsx(C, { name: "C21", capacitance: "22nF", pcb: [25, 3.5], sch: [-8, 4], nets: ["CPH", "CPL"] }), jsx(C, { name: "C22", capacitance: "100nF", pcb: [29, 5], sch: [-8, 0.5], nets: ["VCP", "VM"] }), jsx(EEEFK1E471AP, { name: "C23", pcbX: 26, pcbY: -16, schX: 10, schY: -4, schRotation: -90, connections: { pin1: "net.VM", pin2: "net.GND" } }), jsx(R, { name: "R30", resistance: "10k", pcb: [20, -8], sch: [-8, -3], nets: ["IPROPI", "GND"] }), jsx(R, { name: "R31", rotation: 180, resistance: "820k", pcb: [15, -7], sch: [-3, -3], nets: ["IPROPI", "GND"] }), jsx(R, { name: "R32", resistance: "1k", pcb: [16, -10], sch: [2, -3], nets: ["IPROPI", "CURRENT_ADC"] }), jsx(C, { name: "C24", rotation: 180, capacitance: "100nF", pcb: [12, -13], sch: [2, -6], nets: ["CURRENT_ADC", "GND"] }), jsx(R, { name: "R33", resistance: "100k", pcb: [20, -2], sch: [-8, -6], nets: ["PWM", "GND"] }), jsx(R, { name: "R34", resistance: "100k", pcb: [20, -4.5], sch: [-3, -6], nets: ["DRIVE_ENABLE", "GND"] }), jsx(SchematicNote, { schX: 1, schY: -9.5, fontSize: 0.23, text: "J2: PA25-24126000-G23 ONLY; rated 12 V / 250 mA, two wires.\n0.56 A regulation is not a continuous motor rating. Stall duration is unknown.\nFirmware overload shutdown and board-temperature trip do not measure winding temperature.\nC23: 470 µF / 25 V; rail clamp is on sheet 04. No external VM power injection." }), jsx(TestPad, { name: "TP5", net: "VM", pcb: [34, -15], sch: [11, -7] }), jsx(TestPad, { name: "TP6", net: "IPROPI", pcb: [17, -16], sch: [-12, -3] }), jsx(TestPad, { name: "TP7", net: "PWM", pcb: [17, -20], sch: [-12, -6] }), jsx(TestPad, { name: "TP8", net: "GND", pcb: [34, -19], sch: [11, -9] })] }));
}
const pinLabels$9 = {
pin1: ["OUT_A"],
pin2: ["IN_A_MINUS"],
pin3: ["IN_A_PLUS"],
pin4: ["GND"],
pin5: ["IN_B_PLUS"],
pin6: ["IN_B_MINUS"],
pin7: ["OUT_B"],
pin8: ["VCC"],
};
const LM393BIDR = (props) => {
return (jsx("chip", { pinLabels: pinLabels$9, pinAttributes: {
pin1: {
isOutput: true,
canUseOpenCollector: true,
isUsingOpenCollector: true,
},
pin2: { isInput: true },
pin3: { isInput: true },
pin4: { requiresGround: true },
pin5: { isInput: true },
pin6: { isInput: true },
pin7: {
isOutput: true,
canUseOpenCollector: true,
isUsingOpenCollector: true,
},
pin8: { requiresPower: true },
}, supplierPartNumbers: {
jlcpcb: ["C2865059"],
}, manufacturerPartNumber: "LM393BIDR", footprint: jsxs("footprint", { children: [jsx("smtpad", { portHints: ["pin5"], pcbX: "1.905mm", pcbY: "2.599944mm", width: "0.58801mm", height: "1.7999964mm", radius: "0.294005mm", shape: "pill" }), jsx("smtpad", { portHints: ["pin6"], pcbX: "0.635mm", pcbY: "2.599944mm", width: "0.58801mm", height: "1.7999964mm", radius: "0.294005mm", shape: "pill" }), jsx("smtpad", { portHints: ["pin7"], pcbX: "-0.635mm", pcbY: "2.599944mm", width: "0.58801mm", height: "1.7999964mm", radius: "0.294005mm", shape: "pill" }), jsx("smtpad", { portHints: ["pin8"], pcbX: "-1.905mm", pcbY: "2.599944mm", width: "0.58801mm", height: "1.7999964mm", radius: "0.294005mm", shape: "pill" }), jsx("smtpad", { portHints: ["pin4"], pcbX: "1.905mm", pcbY: "-2.599944mm", width: "0.58801mm", height: "1.7999964mm", radius: "0.294005mm", shape: "pill" }), jsx("smtpad", { portHints: ["pin3"], pcbX: "0.635mm", pcbY: "-2.599944mm", width: "0.58801mm", height: "1.7999964mm", radius: "0.294005mm", shape: "pill" }), jsx("smtpad", { portHints: ["pin2"], pcbX: "-0.635mm", pcbY: "-2.599944mm", width: "0.58801mm", height: "1.7999964mm", radius: "0.294005mm", shape: "pill" }), jsx("smtpad", { portHints: ["pin1"], pcbX: "-1.905mm", pcbY: "-2.599944mm", width: "0.58801mm", height: "1.7999964mm", radius: "0.294005mm", shape: "pill" }), jsx("silkscreenpath", { route: [
{ x: -2.5262078000000656, y: -1.5214091999999937 },
{ x: 2.526207799999952, y: -1.5214091999999937 },
] }), jsx("silkscreenpath", { route: [
{ x: -2.5262078000000656, y: 1.5214092000001074 },
{ x: 2.526207799999952, y: 1.5214092000001074 },
] }), jsx("silkscreenpath", { route: [
{ x: -2.5262078000000656, y: -0.43538139999998293 },
{ x: -2.5262078000000656, y: -1.5214091999999937 },
] }), jsx("silkscreenpath", { route: [
{ x: -2.5262078000000656, y: 0.44889420000004066 },
{ x: -2.5262078000000656, y: 1.5214092000001074 },
] }), jsx("silkscreenpath", { route: [
{ x: -2.0675600000000713, y: -1.5214091999999937 },
{ x: -2.5262078000000656, y: -1.5214091999999937 },
] }), jsx("silkscreenpath", { route: [
{ x: -0.7975599999999758, y: -1.5214091999999937 },
{ x: -1.7424400000001015, y: -1.5214091999999937 },
] }), jsx("silkscreenpath", { route: [
{ x: 0.47244000000000597, y: -1.5214091999999937 },
{ x: -0.47244000000011965, y: -1.5214091999999937 },
] }), jsx("silkscreenpath", { route: [
{ x: 1.7424399999999878, y: -1.5214091999999937 },
{ x: 0.7975599999999758, y: -1.5214091999999937 },
] }), jsx("silkscreenpath", { route: [
{ x: 2.526207799999952, y: -1.5214091999999937 },
{ x: 2.0675599999999577, y: -1.5214091999999937 },
] }), jsx("silkscreenpath", { route: [
{ x: 2.526207799999952, y: 1.5214092000001074 },
{ x: 2.526207799999952, y: -1.5214091999999937 },
] }), jsx("silkscreenpath", { route: [
{ x: -2.0675600000000713, y: 1.5214092000001074 },
{ x: -2.5262078000000656, y: 1.5214092000001074 },
] }), jsx("silkscreenpath", { route: [
{ x: -0.7975599999999758, y: 1.5214092000001074 },
{ x: -1.7424400000001015, y: 1.5214092000001074 },
] }), jsx("silkscreenpath", { route: [
{ x: 0.47244000000000597, y: 1.5214092000001074 },
{ x: -0.47244000000011965, y: 1.5214092000001074 },
] }), jsx("silkscreenpath", { route: [
{ x: 1.7424399999999878, y: 1.5214092000001074 },
{ x: 0.7975599999999758, y: 1.5214092000001074 },
] }), jsx("silkscreenpath", { route: [
{ x: 2.526207799999952, y: 1.5214092000001074 },
{ x: 2.0675599999999577, y: 1.5214092000001074 },
] }), jsx("silkscreenpath", { route: [
{ x: -2.5262078000000656, y: -0.43538139999998293 },
{ x: -2.5262078000000656, y: 0.44889420000004066 },
] }), jsx("silkscreencircle", { pcbX: "-1.905mm", pcbY: "-1.016mm", radius: "0.150114mm" }), jsx("silkscreentext", { text: "{NAME}", pcbX: "0.0127mm", pcbY: "4.2004mm", anchorAlignment: "center", fontSize: "1mm" }), jsx("courtyardoutline", { outline: [
{ x: -2.764599999999973, y: 3.4504000000000588 },
{ x: 2.7899999999999636, y: 3.4504000000000588 },
{ x: 2.7899999999999636, y: -3.80600000000004 },
{ x: -2.764599999999973, y: -3.80600000000004 },
{ x: -2.764599999999973, y: 3.4504000000000588 },
] })] }), cadModel: {
objUrl: "https://modelcdn.tscircuit.com/easyeda_models/assets/C2865059.obj?uuid=ec3b9f9b31a74655be3e55848dbee9c1",
stepUrl: "https://modelcdn.tscircuit.com/easyeda_models/assets/C2865059.step?uuid=ec3b9f9b31a74655be3e55848dbee9c1",
pcbRotationOffset: 0,
modelOriginPosition: { x: -12700000070253736e-21, y: 0, z: 0 },
}, ...props }));
};
const pinLabels$8 = {
pin1: ["C"],
pin2: ["A"],
pin3: ["pin3"],
};
const LM4040B25IDBZR = (props) => {
return (jsx("chip", { schPinArrangement: {
leftSide: ["pin1"],
rightSide: ["pin2", "pin3"],
}, pinLabels: pinLabels$8, pinAttributes: {
pin1: { isPassive: true },
pin2: { requiresGround: true },
pin3: { isPassive: true },
}, supplierPartNumbers: {
jlcpcb: ["C701880"],
}, manufacturerPartNumber: "LM4040B25IDBZR", footprint: jsxs("footprint", { children: [jsx("smtpad", { portHints: ["pin1"], pcbX: "0.999998mm", pcbY: "-0.94996mm", width: "0.999998mm", height: "0.6500114mm", shape: "rect" }), jsx("smtpad", { portHints: ["pin2"], pcbX: "0.999998mm", pcbY: "0.94996mm", width: "0.999998mm", height: "0.6500114mm", shape: "rect" }), jsx("smtpad", { portHints: ["pin3"], pcbX: "-0.999998mm", pcbY: "0mm", width: "0.999998mm", height: "0.6500114mm", shape: "rect" }), jsx("silkscreenpath", { route: [
{ x: 0.726211400000011, y: 1.5262098000000606 },
{ x: -0.726211400000011, y: 1.5262098000000606 },
{ x: -0.726211400000011, y: 0.49458879999997407 },
] }), jsx("silkscreenpath", { route: [
{ x: 0.726211400000011, y: -1.5262097999999469 },
{ x: -0.726211400000011, y: -1.5262097999999469 },
{ x: -0.726211400000011, y: -0.49458879999997407 },
] }), jsx("silkscreenpath", { route: [
{ x: 0.726211400000011, y: 0.45539659999997184 },
{ x: 0.726211400000011, y: -0.45539659999985815 },
] }), jsx("silkscreentext", { text: "{NAME}", pcbX: "0.0254mm", pcbY: "2.524mm", anchorAlignment: "center", fontSize: "1mm" }), jsx("courtyardoutline", { outline: [
{ x: -1.748600000000124, y: 1.774000000000001 },
{ x: 1.7993999999998778, y: 1.774000000000001 },
{ x: 1.7993999999998778, y: -1.774000000000001 },
{ x: -1.748600000000124, y: -1.774000000000001 },
{ x: -1.748600000000124, y: 1.774000000000001 },
] })] }), cadModel: {
objUrl: "https://modelcdn.tscircuit.com/easyeda_models/assets/C701880.obj?uuid=d777607a152f4f3aac9bb0d0c14ed6fd",
stepUrl: "https://modelcdn.tscircuit.com/easyeda_models/assets/C701880.step?uuid=d777607a152f4f3aac9bb0d0c14ed6fd",
pcbRotationOffset: 180,
modelOriginPosition: {
x: 0.000012700000070253736,
y: -12699999956566899e-21,
z: 0.050795,
},
}, ...props }));
};
const pinLabels$7 = {
pin1: ["cathode", "neg"],
pin2: ["anode", "pos"],
};
const BZT52C9V1_7_F = (props) => {
const { name = "D1", ...restProps } = props;
return (jsx("diode", { name: name, pinLabels: pinLabels$7, supplierPartNumbers: {
jlcpcb: ["C260913"],
}, manufacturerPartNumber: "BZT52C9V1-7-F", footprint: jsxs("footprint", { children: [jsx("smtpad", { portHints: ["pin2", "anode", "pos"], pcbX: "1.700022mm", pcbY: "0mm", width: "1.1999976mm", height: "0.9500108mm", shape: "rect" }), jsx("smtpad", { portHints: ["pin1", "cathode", "neg"], pcbX: "-1.700022mm", pcbY: "0mm", width: "1.1999976mm", height: "0.9500108mm", shape: "rect" }), jsx("silkscreenpath", { route: [
{ x: 1.3462000000000103, y: -0.7061453999999969 },
{ x: 1.3462000000000103, y: -0.850010999999995 },
] }), jsx("silkscreenpath", { route: [
{ x: 1.3462000000000103, y: 0.8500110000000092 },
{ x: 1.3462000000000103, y: 0.7061454000000111 },
] }), jsx("silkscreenpath", { route: [
{ x: -1.346199999999996, y: -0.850010999999995 },
{ x: -1.6379698000000076, y: -0.850010999999995 },
{ x: -1.6389857999999862, y: -0.848994999999988 },
] }), jsx("silkscreenpath", { route: [
{ x: -1.346199999999996, y: 0.8500110000000092 },
{ x: -1.6429735999999764, y: 0.8500110000000092 },
{ x: -1.6439895999999976, y: 0.8489950000000022 },
] }), jsx("silkscreenpath", { route: [
{ x: -1.346199999999996, y: 0.8500110000000092 },
{ x: 1.3462000000000103, y: 0.8500110000000092 },
] }), jsx("silkscreenpath", { route: [
{ x: 0.406400000000005, y: 0.406400000000005 },
{ x: 0.406400000000005, y: -0.40639999999999077 },
] }), jsx("silkscreenpath", { route: [
{ x: 0.406400000000005, y: 0.0002539999999982001 },
{ x: 0.720089999999999, y: 0.0002539999999982001 },
] }), jsx("silkscreenpath", { route: [
{ x: -0.28000959999999964, y: 0 },
{ x: -0.610006399999989, y: 0 },
] }), jsx("silkscreenpath", { route: [
{ x: -0.2540000000000049, y: 0.5080000000000098 },
{ x: -0.2540000000000049, y: -0.5079999999999956 },
] }), jsx("silkscreenpath", { route: [
{ x: -0.17779999999999063, y: 0 },
{ x: 0.406400000000005, y: 0.406400000000005 },
] }), jsx("silkscreenpath", { route: [
{ x: 0.406400000000005, y: -0.40639999999999077 },
{ x: -0.17779999999999063, y: 0 },
] }), jsx("silkscreenpath", { route: [
{ x: 1.3462000000000103, y: -0.850010999999995 },
{ x: -1.346199999999996, y: -0.850010999999995 },
] }), jsx("silkscreentext", { text: "{NAME}", pcbX: "-0.0127mm", pcbY: "1.9652mm", anchorAlignment: "center", fontSize: "1mm" }), jsx("fabricationnotepath", { route: [
{ x: 1.1899391999999978, y: 0.21201379999999403 },
{ x: 2.031898400000003, y: 0.21201379999999403 },
{ x: 2.031898400000003, y: 0.005054600000008236 },
{ x: 1.1893295999999935, y: 0.005054600000008236 },
{ x: 1.1899391999999978, y: 0.21201379999999403 },
], strokeWidth: "0.254mm" }), jsx("fabricationnotepath", { route: [
{ x: 1.5246096000000051, y: -0.33840419999998517 },
{ x: 1.5246096000000051, y: 0.5035550000000057 },
{ x: 1.7315688000000051, y: 0.5035550000000057 },
{ x: 1.7315688000000051, y: -0.3390137999999894 },
{ x: 1.5246096000000051, y: -0.33840419999998517 },
], strokeWidth: "0.254mm" }), jsx("fabricationnotepath", { route: [
{ x: -2.041524999999993, y: 0.12377420000001393 },
{ x: -1.1995657999999878, y: 0.12377420000001393 },
{ x: -1.1995657999999878, y: -0.08318499999998608 },
{ x: -2.042134599999997, y: -0.08318499999998608 },
{ x: -2.041524999999993, y: 0.12377420000001393 },
], strokeWidth: "0.254mm" }), jsx("fabricationnotepath", { route: [
{ x: -0.3999991999999821, y: 0 },
{ x: -0.3999991999999821, y: 0 },
{ x: 0.19999959999999817, y: -0.5999987999999945 },
{ x: 0.19999959999999817, y: 0.5999988000000087 },
{ x: -0.3999991999999821, y: 0 },
], strokeWidth: "0.254mm" }), jsx("courtyardoutline", { outline: [
{ x: -2.561400000000006, y: 1.21520000000001 },
{ x: 2.5360000000000014, y: 1.21520000000001 },
{ x: 2.5360000000000014, y: -1.2405999999999864 },
{ x: -2.561400000000006, y: -1.2405999999999864 },
{ x: -2.561400000000006, y: 1.21520000000001 },
] })] }), cadModel: {
objUrl: "https://modelcdn.tscircuit.com/easyeda_models/assets/C260913.obj?uuid=e9d505c99b6c436aaf827a29c5ba4f84",
stepUrl: "https://modelcdn.tscircuit.com/easyeda_models/assets/C260913.step?uuid=e9d505c99b6c436aaf827a29c5ba4f84",
pcbRotationOffset: 0,
modelOriginPosition: { x: 0, y: 0.000012699999999199463, z: -0.6 },
}, ...restProps }));
};
const CRM2512AJW_201ELF = (props) => {
const { name = "R1", ...restProps } = props;
return (jsx("resistor", { name: name, resistance: "200ohm", supplierPartNumbers: {
jlcpcb: ["C2082768"],
}, manufacturerPartNumber: "CRM2512AJW-201ELF", footprint: jsxs("footprint", { children: [jsx("smtpad", { portHints: ["pin2"], pcbX: "3.066288mm", pcbY: "0mm", width: "1.2825222mm", height: "3.4560002mm", shape: "rect" }), jsx("smtpad", { portHints: ["pin1"], pcbX: "-3.066288mm", pcbY: "0mm", width: "1.2825222mm", height: "3.4560002mm", shape: "rect" }), jsx("silkscreenpath", { route: [
{ x: 2.501188799999909, y: -1.9565873999999894 },
{ x: 3.9361363999998957, y: -1.9565873999999894 },
{ x: 3.9361363999998957, y: 1.9565874000001031 },
{ x: 2.501188799999909, y: 1.9565874000001031 },
] }), jsx("silkscreenpath", { route: [
{ x: -2.5011888000001363, y: -1.9565873999999894 },
{ x: -3.9361364000000094, y: -1.9565873999999894 },
{ x: -3.9361364000000094, y: 1.9565874000001031 },
{ x: -2.5011888000001363, y: 1.9565874000001031 },
] }), jsx("silkscreentext", { text: "{NAME}", pcbX: "0mm", pcbY: "2.9558mm", anchorAlignment: "center", fontSize: "1mm" }), jsx("courtyardoutline", { outline: [
{ x: -4.187000000000012, y: 2.2058000000000675 },
{ x: 4.186999999999898, y: 2.2058000000000675 },
{ x: 4.186999999999898, y: -2.2058000000000675 },
{ x: -4.187000000000012, y: -2.2058000000000675 },
{ x: -4.187000000000012, y: 2.2058000000000675 },
] })] }), cadModel: {
objUrl: "https://modelcdn.tscircuit.com/easyeda_models/assets/C2082768.obj?uuid=311a5ea298274ff3b9740151e78a7465",
stepUrl: "https://modelcdn.tscircuit.com/easyeda_models/assets/C2082768.step?uuid=311a5ea298274ff3b9740151e78a7465",
pcbRotationOffset: 0,
modelOriginPosition: { x: 0.000012700000070253736, y: 0, z: 0 },
}, ...restProps }));
};
const brakePositions = [
[5, 20],
[13.5, 20],
[22, 20],
[30.5, 20],
[5, 26],
[13.5, 26],
[22, 26],
[30.5, 26],
];
function RailClamp() {
return (jsxs("schematicsheet", { name: "clamp", displayName: "04 Regeneration clamp and temperature interlock \u2014 A1 prototype", sheetSize: "A4", sheetIndex: 3, children: [jsx(LM4040B25IDBZR, { name: "U7", pcbX: 21, pcbY: 10, schX: -10, schY: 4, connections: { C: "net.VREF_2V5", A: "net.GND", pin3: "net.GND" } }), jsx(R, { name: "R40", resistance: "4.7k", pcb: [17, 11], sch: [-10, 7], nets: ["VM", "VREF_2V5"] }), jsx(C, { name: "C30", capacitance: "100nF", pcb: [21, 13.5], sch: [-10, 0.5], nets: ["VREF_2V5", "GND"] }), jsx(SchematicNote, { schX: -9.5, schY: 8.8, fontSize: 0.23, text: "U7: 2.5 V shunt reference, 0.2% initial accuracy.\nPowered from VM so the clamp works after USB removal.\n4.7 kΩ bias ≈2 mA at 12 V; also sets motor current limit." }), jsx(LM393BIDR, { name: "U8", pcbX: 29, pcbY: 11, schX: 0, schY: 4, connections: {
VCC: "net.VM",
GND: "net.GND",
IN_A_PLUS: "net.CLAMP_SENSE",
IN_A_MINUS: "net.VREF_2V5",
OUT_A: "net.CLAMP_GATE",
IN_B_PLUS: "net.TEMP_ADC",
IN_B_MINUS: "net.TEMP_REF",
OUT_B: "net.HEALTH",
} }), jsx(SchematicNote, { schX: 1, schY: 8.8, fontSize: 0.23, text: "U8: VM-powered dual open-collector comparator, 2–36 V.\nA: hysteretic shunt, nominal ON 13.43 V / OFF ≈12.95 V.\nB: NTC overtemperature directly inhibits the driver.\nThresholds and pulse-energy capacity require prototype verification." }), jsx(C, { name: "C31", capacitance: "100nF", pcb: [34, 12], sch: [7, 7], nets: ["VM", "GND"] }), jsx(R, { name: "R41", resistance: "43.2k", pcb: [25, 15.5], sch: [-5, 0], nets: ["VM", "CLAMP_SENSE"] }), jsx(R, { name: "R42", resistance: "10k", pcb: [29, 15.5], sch: [0, 0], nets: ["CLAMP_SENSE", "GND"] }), jsx(R, { name: "R43", rotation: 180, resistance: "820k", pcb: [33, 15.5], sch: [5, 0], nets: ["CLAMP_GATE", "CLAMP_SENSE"] }), jsx(C, { name: "C32", capacitance: "330pF", pcb: [34.7, 9.6], sch: [10, 0], nets: ["CLAMP_SENSE", "GND"] }), jsx(R, { name: "R44", resistance: "10k", pcb: [38, 13], sch: [7, 4.5], nets: ["VM", "CLAMP_GATE"] }), jsx(R, { name: "R45", rotation: 180, resistance: "100k", pcb: [38, 10.5], sch: [12, 4.5], nets: ["CLAMP_GATE", "GND"] }), jsx(BZT52C9V1_7_F, { name: "D6", pcbX: 39, pcbY: 7, schX: 12, schY: 7, schRotation: 90, connections: { anode: "net.GND", cathode: "net.CLAMP_GATE" } }), jsx(AO3400A, { name: "Q1", pcbX: 38, pcbY: 16.5, schX: 10, schY: -4, connections: {
G: "net.CLAMP_GATE",
D: "net.BRAKE_DRAIN",
S: "net.GND",
} }), brakePositions.map((pcb, index) => (jsx(CRM2512AJW_201ELF, { name: `R${70 + index}`, pcbX: pcb[0], pcbY: pcb[1], schRotation: -90, schX: -11 + (index % 4) * 4.8, schY: -3.2 - Math.floor(index / 4) * 2.4, connections: { pin1: "net.VM", pin2: "net.BRAKE_DRAIN" } }, index))), jsx(R, { name: "R46", resistance: "27.4k", pcb: [17, 14], sch: [-10, -8], nets: ["V3V3", "TEMP_ADC"] }), jsx("resistor", { name: "R78", resistance: "10k", footprint: "0603", manufacturerPartNumber: "NCP18XH103F03RB", supplierPartNumbers: { jlcpcb: ["C13564"] }, pcbX: 22, pcbY: 6.5, schX: -5, schY: -8, schRotation: -90, connections: { pin1: "net.TEMP_ADC", pin2: "net.GND" } }), jsx(R, { name: "R47", resistance: "240k", pcb: [25, 5.9], sch: [0, -8], nets: ["VREF_2V5", "TEMP_REF"] }), jsx(R, { name: "R48", resistance: "26.7k", pcb: [33, 5.5], sch: [5, -8], nets: ["TEMP_REF", "GND"] }), jsx(C, { name: "C33", capacitance: "100nF", pcb: [16, 16.5], sch: [10, -8], nets: ["TEMP_ADC", "GND"] }), jsx(SchematicNote, { schX: 0, schY: -11, fontSize: 0.23, text: "R70–R77: 8 × 200 Ω / 2 W in parallel = 25 Ω, ±5%; ≈7.84 W total at 14 V.\nInitial supervised-test envelope: ≤0.5 J/event, ≤1 W average; these are qualification targets.\nR78: 10 kΩ NTC B25/50=3380 K. Hardware trip around 70°C; firmware trips earlier.\nNo continuous externally driven load. Safe reversal coast time must be measured." }), jsx(TestPad, { name: "TP9", net: "VREF_2V5", pcb: [13, 12], sch: [-14, 2] }), jsx(TestPad, { name: "TP10", net: "CLAMP_GATE", pcb: [41, 13], sch: [14, -4] })] }));
}
const pinLabels$6 = {
pin1: ["PB7"],
pin2: ["PC14_OSCX_IN"],
pin3: ["PC15_OSCX_OUT"],
pin4: ["VDD"],
pin5: ["GND"],
pin6: ["PF2_NRST"],
pin7: ["PA0"],
pin8: ["PA1"],
pin9: ["PA2"],
pin10: ["PA3"],
pin11: ["PA4"],
pin12: ["PA5"],
pin13: ["PA6"],
pin14: ["PA7"],
pin15: ["PA8"],
pin16: ["PA11"],
pin17: ["PA12"],
pin18: ["PA13"],
pin19: ["PA14_BOOT0"],
pin20: ["PB6"],
};
const STM32C011F4P6 = (props) => {
return (jsx("chip", { pinLabels: pinLabels$6, pinAttributes: {
pin1: {
isBidirectional: true,
canUseOpenCollector: true,
isUsingOpenCollector: true,
},
pin2: { isInput: true },
pin3: { isInput: true },
pin4: { requiresPower: true },
pin5: { requiresGround: true },
pin6: { isInput: true },
pin7: { isInput: true },
pin8: { isInput: true },
pin9: { isInput: true },
pin10: { isInput: true },
pin11: { isOutput: true },
pin12: { isOutput: true },
pin13: { isOutput: true },
pin14: { isOutput: true },
pin15: { isInput: true },
pin16: {
isOutput: true,
canUseOpenCollector: true,
isUsingOpenCollector: true,
},
pin17: { isOutput: true },
pin18: { isBidirectional: true },
pin19: { isInput: true },
pin20: {
isOutput: true,
canUseOpenCollector: true,
isUsingOpenCollector: true,
},
}, supplierPartNumbers: {
jlcpcb: ["C5452432"],
}, manufacturerPartNumber: "STM32C011F4P6", footprint: jsxs("footprint", { children: [jsx("smtpad", { portHints: ["pin1"], pcbX: "-2.925064mm", pcbY: "-2.870962mm", width: "0.3640074mm", height: "1.7420082mm", radius: "0.1820037mm", shape: "pill" }), jsx("smtpad", { portHints: ["pin2"], pcbX: "-2.275078mm", pcbY: "-2.870962mm", width: "0.3640074mm", height: "1.7420082mm", radius: "0.1820037mm", shape: "pill" }), jsx("smtpad", { portHints: ["pin3"], pcbX: "-1.625092mm", pcbY: "-2.870962mm", width: "0.3640074mm", height: "1.7420082mm", radius: "0.1820037mm", shape: "pill" }), jsx("smtpad", { portHints: ["pin4"], pcbX: "-0.975106mm", pcbY: "-2.870962mm", width: "0.3640074mm", height: "1.7420082mm", radius: "0.1820037mm", shape: "pill" }), jsx("smtpad", { portHints: ["pin5"], pcbX: "-0.324866mm", pcbY: "-2.870962mm", width: "0.3640074mm", height: "1.7420082mm", radius: "0.1820037mm", shape: "pill" }), jsx("smtpad", { portHints: ["pin6"], pcbX: "0.32512mm", pcbY: "-2.870962mm", width: "0.3640074mm", height: "1.7420082mm", radius: "0.1820037mm", shape: "pill" }), jsx("smtpad", { portHints: ["pin7"], pcbX: "0.975106mm", pcbY: "-2.870962mm", width: "0.3640074mm", height: "1.7420082mm", radius: "0.1820037mm", shape: "pill" }), jsx("smtpad", { portHints: ["pin8"], pcbX: "1.625092mm", pcbY: "-2.870962mm", width: "0.3640074mm", height: "1.7420082mm", radius: "0.1820037mm", shape: "pill" }), jsx("smtpad", { portHints: ["pin9"], pcbX: "2.275078mm", pcbY: "-2.870962mm", width: "0.3640074mm", height: "1.7420082mm", radius: "0.1820037mm", shape: "pill" }), jsx("smtpad", { portHints: ["pin10"], pcbX: "2.925064mm", pcbY: "-2.870962mm", width: "0.3640074mm", height: "1.7420082mm", radius: "0.1820037mm", shape: "pill" }), jsx("smtpad", { portHints: ["pin20"], pcbX: "-2.925064mm", pcbY: "2.870962mm", width: "0.3640074mm", height: "1.7420082mm", radius: "0.1820037mm", shape: "pill" }), jsx("smtpad", { portHints: ["pin19"], pcbX: "-2.275078mm", pcbY: "2.870962mm", width: "0.3640074mm", height: "1.7420082mm", radius: "0.1820037mm", shape: "pill" }), jsx("smtpad", { portHints: ["pin18"], pcbX: "-1.625092mm", pcbY: "2.870962mm", width: "0.3640074mm", height: "1.7420082mm", radius: "0.1820037mm", shape: "pill" }), jsx("smtpad", { portHints: ["pin17"], pcbX: "-0.975106mm", pcbY: "2.870962mm", width: "0.3640074mm", height: "1.7420082mm", radius: "0.1820037mm", shape: "pill" }), jsx("smtpad", { portHints: ["pin16"], pcbX: "-0.324866mm", pcbY: "2.870962mm", width: "0.3640074mm", height: "1.7420082mm", radius: "0.1820037mm", shape: "pill" }), jsx("smtpad", { portHints: ["pin15"], pcbX: "0.32512mm", pcbY: "2.870962mm", width: "0.3640074mm", height: "1.7420082mm", radius: "0.1820037mm", shape: "pill" }), jsx("smtpad", { portHints: ["pin14"], pcbX: "0.975106mm", pcbY: "2.870962mm", width: "0.3640074mm", height: "1.7420082mm", radius: "0.1820037mm", shape: "pill" }), jsx("smtpad", { portHints: ["pin13"], pcbX: "1.625092mm", pcbY: "2.870962mm", width: "0.3640074mm", height: "1.7420082mm", radius: "0.1820037mm", shape: "pill" }), jsx("smtpad", { portHints: ["pin12"], pcbX: "2.275078mm", pcbY: "2.870962mm", width: "0.3640074mm", height: "1.7420082mm", radius: "0.1820037mm", shape: "pill" }), jsx("smtpad", { portHints: ["pin11"], pcbX: "2.925064mm", pcbY: "2.870962mm", width: "0.3640074mm", height: "1.7420082mm", radius: "0.1820037mm", shape: "pill" }), jsx("silkscreenpath", { route: [
{ x: -3.326206200000115, y: -1.7713960000000952 },
{ x: -3.326206200000115, y: 1.7713959999999815 },
{ x: 3.3262061999998878, y: 1.7713959999999815 },
{ x: 3.3262061999998878, y: -1.7713960000000952 },
{ x: -3.326206200000115, y: -1.7713960000000952 },
] }), jsx("silkscreencircle", { pcbX: "-2.925064mm", pcbY: "-1.019048mm", radius: "0.150114mm" }), jsx("silkscreencircle", { pcbX: "-3.559302mm", pcbY: "-2.870962mm", radius: "0.150114mm" }), jsx("silkscreentext", { text: "{NAME}", pcbX: "-0.1905mm", pcbY: "4.556mm", anchorAlignment: "center", fontSize: "1mm" }), jsx("courtyardoutline", { outline: [
{ x: -3.958400000000097, y: 3.80600000000004 },
{ x: 3.5773999999998978, y: 3.80600000000004 },
{ x: 3.5773999999998978, y: -4.009199999999964 },
{ x: -3.958400000000097, y: -4.009199999999964 },
{ x: -3.958400000000097, y: 3.80600000000004 },
] })] }), cadModel: {
objUrl: "https://modelcdn.tscircuit.com/easyeda_models/assets/C5452432.obj?uuid=f8ba5b4174b9490d8c445fbe2ed40b80",
stepUrl: "https://modelcdn.tscircuit.com/easyeda_models/assets/C5452432.step?uuid=f8ba5b4174b9490d8c445fbe2ed40b80",
pcbRotationOffset: 90,
modelOriginPosition: { x: 0, y: 0.000012700000070253736, z: -0.019205 },
}, ...props }));
};
const pinLabels$5 = {
pin1: ["A"],
pin2: ["B"],
pin3: ["GND"],
pin4: ["Y"],
pin5: ["VCC"],
};
const pinAttributes = {
pin3: { requiresGround: true },
pin5: { requiresPower: true },
};
const SN74LVC1G08DBVR = (props) => {
return (jsx("chip", { pinLabels: pinLabels$5, pinAttributes: pinAttributes, supplierPartNumbers: {
jlcpcb: ["C7666"],
}, manufacturerPartNumber: "SN74LVC1G08DBVR", footprint: jsxs("footprint", { children: [jsx("smtpad", { portHints: ["pin5"], pcbX: "-1.300099mm", pcbY: "-0.94996mm", width: "1.0999978mm", height: "0.5999988mm", shape: "rect" }), jsx("smtpad", { portHints: ["pin4"], pcbX: "-1.300099mm", pcbY: "0.94996mm", width: "1.0999978mm", height: "0.5999988mm", shape: "rect" }), jsx("smtpad", { portHints: ["pin3"], pcbX: "1.300099mm", pcbY: "0.94996mm", width: "1.0999978mm", height: "0.5999988mm", shape: "rect" }), jsx("smtpad", { portHints: ["pin2"], pcbX: "1.300099mm", pcbY: "-0mm", width: "1.0999978mm", height: "0.5999988mm", shape: "rect" }), jsx("smtpad", { portHints: ["pin1"], pcbX: "1.300099mm", pcbY: "-0.94996mm", width: "1.0999978mm", height: "0.5999988mm", shape: "rect" }), jsx("silkscreenpath", { route: [
{ x: 0.8999728000000005, y: -1.404111999999941 },
{ x: 0.8999728000000005, y: -1.5500604000000067 },
] }), jsx("silkscreenpath", { route: [
{ x: 0.8999728000000005, y: -0.45412660000010874 },
{ x: 0.8999728000000005, y: -0.4958079999998972 },
] }), jsx("silkscreenpath", { route: [
{ x: 0.8999728000000005, y: 0.4958079999998972 },
{ x: 0.8999728000000005, y: 0.45415200000002187 },
] }), jsx("silkscreenpath", { route: [
{ x: 0.8999728000000005, y: 1.5499587999998994 },
{ x: 0.8999728000000005, y: 1.404111999999941 },
] }), jsx("silkscreenpath", { route: [
{ x: -0.9000489999999672, y: -1.404111999999941 },
{ x: -0.9000489999999672, y: -1.5500604000000067 },
] }), jsx("silkscreenpath", { route: [
{ x: -0.9000489999999672, y: 0.4958079999998972 },
{ x: -0.9000489999999672, y: -0.4958334000000377 },
] }), jsx("silkscreenpath", { route: [
{ x: -0.9000489999999672, y: 1.5499587999998994 },
{ x: -0.9000489999999672, y: 1.4040866000000278 },
] }), jsx("silkscreenpath", { route: [
{ x: -0.9000489999999672, y: 1.5499587999998994 },
{ x: 0.8999728000000005, y: 1.5499587999998994 },
] }), jsx("silkscreenpath", { route: [
{ x: -0.9000489999999672, y: -1.5500604000000067 },
{ x: 0.8999728000000005, y: -1.5500604000000067 },
] }), jsx("silkscreentext", { text: "{NAME}", pcbX: "0.012319mm", pcbY: "2.562354mm", anchorAlignment: "center", fontSize: "1mm" }), jsx("courtyardoutline", { outline: [
{ x: -2.091880999999944, y: 1.8123540000000276 },
{ x: 2.1165190000000393, y: 1.8123540000000276 },
{ x: 2.1165190000000393, y: -1.786446000000069 },
{ x: -2.091880999999944, y: -1.786446000000069 },
{ x: -2.091880999999944, y: 1.8123540000000276 },
] })] }), cadModel: {
objUrl: "https://modelcdn.tscircuit.com/easyeda_models/assets/C7666.obj?uuid=460193f9bf2d42e58cf3c2f675b07dc6",
stepUrl: "https://modelcdn.tscircuit.com/easyeda_models/assets/C7666.step?uuid=460193f9bf2d42e58cf3c2f675b07dc6",
pcbRotationOffset: 180,
modelOriginPosition: {
x: 0,
y: -12700000070253736e-21,
z: -0.049083,
},
}, ...props }));
};
const pinLabels$4 = {
pin1: ["pin1"],
pin2: ["pin2"],
pin3: ["pin3"],
pin4: ["pin4"],
pin5: ["pin5"],
pin6: ["pin6"],
pin7: ["pin7"],
};
const S5B_PH_SM4_TB_LF__SN_ = (props) => {
return (jsx("connector", { pinLabels: pinLabels$4, supplierPartNumbers: {
jlcpcb: ["C265104"],
}, manufacturerPartNumber: "S5B-PH-SM4-TB(LF)(SN)", footprint: jsxs("footprint", { insertionDirection: "from_y_pos", children: [jsx("smtpad", { portHints: ["pin1"], pcbX: "3.999992mm", pcbY: "-3.0375479mm", width: "0.999998mm", height: "3.499993mm", shape: "rect" }), jsx("smtpad", { portHints: ["pin2"], pcbX: "1.999996mm", pcbY: "-3.0372939mm", width: "0.999998mm", height: "3.499993mm", shape: "rect" }), jsx("smtpad", { portHints: ["pin3"], pcbX: "0mm", pcbY: "-3.0372939mm", width: "0.999998mm", height: "3.499993mm", shape: "rect" }), jsx("smtpad", { portHints: ["pin4"], pcbX: "-1.999996mm", pcbY: "-3.0372939mm", width: "0.999998mm", height: "3.499993mm", shape: "rect" }), jsx("smtpad", { portHints: ["pin6"], pcbX: "6.35mm", pcbY: "2.9375481mm", width: "1.7999964mm", height: "3.6999926mm", shape: "rect" }), jsx("smtpad", { portHints: ["pin7"], pcbX: "-6.35mm", pcbY: "2.9375481mm", width: "1.7999964mm", height: "3.6999926mm", shape: "rect" }), jsx("smtpad", { portHints: ["pin5"], pcbX: "-3.999992mm", pcbY: "-3.0372939mm", width: "0.999998mm", height: "3.499993mm", shape: "rect" }), jsx("silkscreenpath", { route: [
{ x: -4.842002000000093, y: 4.5220000999997865 },
{ x: 5.190997999999809, y: 4.52205089999984 },
] }), jsx("silkscreenpath", { route: [
{ x: -4.809998000000178, y: -1.5742539000000306 },
{ x: -5.988532600000099, y: -1.5742539000000306 },
{ x: -5.988532600000099, y: -3.1389193000001114 },
{ x: -6.968998000000056, y: -3.1389193000001114 },
{ x: -6.968998000000056, y: 0.7120762999998078 },
{ x: -6.968998000000056, y: 0.8390762999997605 },
] }), jsx("silkscreenpath", { route: [
{ x: 6.968997999999942, y: 0.8387460999999803 },
{ x: 6.968997999999942, y: 0.8387460999999803 },
{ x: 6.968997999999942, y: -3.1388939000001983 },
{ x: 6.115557999999851, y: -3.1388939000001983 },
{ x: 5.988557999999898, y: -3.1388939000001983 },
{ x: 5.988557999999898, y: -1.5742539000000306 },
{ x: 4.9369979999997895, y: -1.5742539000000306 },
{ x: 4.809997999999837, y: -1.5739491000001635 },
] }), jsx("silkscreencircle", { pcbX: "5.1099974mm", pcbY: "-3.3600009mm", radius: "0.1999996mm" }), jsx("silkscreentext", { text: "{NAME}", pcbX: "-0.003302mm", pcbY: "5.7757461mm", anchorAlignment: "center", fontSize: "1mm" }), jsx("courtyardoutline", { outline: [
{ x: -7.505002000000218, y: 5.025746099999878 },
{ x: 7.498397999999838, y: 5.025746099999878 },
{ x: 7.498397999999838, y: -5.05005390000008 },
{ x: -7.505002000000218, y: -5.05005390000008 },
{ x: -7.505002000000218, y: 5.025746099999878 },
] })] }), cadModel: {
objUrl: "https://modelcdn.tscircuit.com/easyeda_models/assets/C265104.obj?uuid=509a27f953f44417851d738abef721b8",
stepUrl: "https://modelcdn.tscircuit.com/easyeda_models/assets/C265104.step?uuid=509a27f953f44417851d738abef721b8",
pcbRotationOffset: 0,
modelOriginPosition: { x: 0, y: -0.4100110999999016, z: -0.12 },
}, ...props }));
};
function Controller() {
return (jsxs("schematicsheet", { name: "controller", displayName: "05 Control and standard JST SWD \u2014 A1 prototype", sheetSize: "A4", sheetIndex: 4, children: [jsx(STM32C011F4P6, { name: "U9", pcbX: 0, pcbY: -15.5, schX: 0, schY: 3, connections: {
VDD: "net.V3V3",
GND: "net.GND",
PF2_NRST: "net.NRST",
PB7: "net.SDA",
PB6: "net.SCL",
PC14_OSCX_IN: "net.FWD",
PC15_OSCX_OUT: "net.REV",
PA0: "net.POT_ADC",
PA1: "net.CURRENT_ADC",
PA2: "net.VM_ADC",
PA3: "net.TEMP_ADC",
PA4: "net.PWM",
PA5: "net.DIR",
PA6: "net.MCU_ENABLE",
PA7: "net.LED_FAULT",
PA8: "net.HEALTH",
PA11: "net.PWR_OFF",
PA12: "net.LED_READY",
PA13: "net.SWDIO",
PA14_BOOT0: "net.SWCLK",
} }), jsx(SchematicNote, { schX: 0, schY: 9.5, fontSize: 0.23, text: "U9: STM32C011F4P6, 3.3 V; internal oscillator; 16 KB flash / 6 KB RAM.\n20 kHz PWM, input debounce, restart latch, ramp and overload timer.\nI2C reads the active fixed 15 V contract; invalid contract disables U2.\nReset/watchdog: PWM and nSLEEP pulled low; U2 inhibited. No USB data." }), jsx(C, { name: "C40", capacitance: "100nF", pcb: [-6, -17], sch: [-9, 6], nets: ["V3V3", "GND"] }), jsx(C, { name: "C41", capacitance: "4.7uF", pcb: [-7, -20], sch: [-6, 6], nets: ["V3V3", "GND"] }), jsx(R, { name: "R50", rotation: 180, resistance: "10k", pcb: [7, -20], sch: [-9, 0], nets: ["V3V3", "NRST"] }), jsx(C, { name: "C42", capacitance: "100nF", pcb: [-10, -23], sch: [-9, -3], nets: ["NRST", "GND"] }), jsx(R, { name: "R51", resistance: "3.3k", pcb: [-6, -14], sch: [-9, -6], nets: ["V3V3", "SCL"] }), jsx(R, { name: "R52", resistance: "3.3k", pcb: [-6, -11.5], sch: [-9, -9], nets: ["V3V3", "SDA"] }), jsx(R, { name: "R53", rotation: 180, resistance: "100k", pcb: [6, -15], sch: [9, 6], nets: ["VM", "VM_ADC"] }), jsx(R, { name: "R54", resistance: "26.7k", pcb: [6, -17.5], sch: [9, 3], nets: ["VM_ADC", "GND"] }), jsx(C, { name: "C43", capacitance: "10nF", pcb: [9.5, -17.5], sch: [9, 0], nets: ["VM_ADC", "GND"] }), jsx(SN74LVC1G08DBVR, { name: "U10", schHeight: 0.6, pcbX: 12, pcbY: -23, schX: 0, schY: -4, connections: {
A: "net.MCU_ENABLE",
B: "net.HEALTH",
Y: "net.DRIVE_ENABLE",
GND: "net.GND",
VCC: "net.V3V3",
} }), jsx(R, { name: "R55", resistance: "100k", pcb: [13, -19], sch: [-5, -3], nets: ["MCU_ENABLE", "GND"] }), jsx(R, { name: "R56", resistance: "10k", pcb: [12, -27], sch: [5, -4], nets: ["V3V3", "HEALTH"] }), jsx(C, { name: "C44", capacitance: "100nF", pcb: [16, -25.5], sch: [9, -4], nets: ["V3V3", "GND"] }), jsx(SchematicNote, { schX: 0, schY: -6.8, fontSize: 0.23, text: "U10: 3.3 V AND gate; MCU request AND hardware HEALTH.\nHEALTH low asynchronously sends U6 to coast, independent of firmware.\nU2/U5 ready + fault, U6 fault, U8 thermal outputs are open drain." }), jsx(S5B_PH_SM4_TB_LF__SN_, { name: "J5", schHeight: 0.8, pcbX: 0, pcbY: -26.3, pcbRotation: 180, schX: 1, schY: -10, connections: {
pin1: "net.V3V3",
pin2: "net.SWDIO",
pin3: "net.GND",
pin4: "net.SWCLK",
pin5: "net.NRST",
}, noConnect: ["pin6", "pin7"] }), jsx(SchematicNote, { schX: 9, schY: -9, fontSize: 0.23, text: "J5 tscircuit JST PH SWD pin order:\n1 VTREF 3V3, 2 SWDIO, 3 GND,\n4 SWCLK, 5 NRST. Tabs unconnected.\nVTREF is sense-only; power board via USB-C." }), jsx(TestPad, { name: "TP11", net: "HEALTH", pcb: [19, -25], sch: [13, -1] }), jsx(TestPad, { name: "TP12", net: "MCU_ENABLE", pcb: [19, -28], sch: [13, -3.5] })] }));
}
const pinLabels$3 = {
pin1: ["pin1"],
pin2: ["pin2"],
pin3: ["pin3"],
};
const B3B_PH_K_S_LF__SN_ = (props) => {
return (jsx("connector", { pinLabels: pinLabels$3, supplierPartNumbers: {
jlcpcb: ["C131339"],
}, manufacturerPartNumber: "B3B-PH-K-S(LF)(SN)", footprint: jsxs("footprint", { insertionDirection: "from_above", children: [jsx("platedhole", { portHints: ["pin2"], pcbX: "0mm", pcbY: "-0.550037mm", outerDiameter: "1.5999968mm", holeDiameter: "0.999998mm", shape: "circle" }), jsx("platedhole", { portHints: ["pin1"], pcbX: "1.999996mm", pcbY: "-0.550037mm", outerDiameter: "1.5999968mm", holeDiameter: "0.999998mm", shape: "circle" }), jsx("platedhole", { portHints: ["pin3"], pcbX: "-1.999996mm", pcbY: "-0.550037mm", outerDiameter: "1.5999968mm", holeDiameter: "0.999998mm", shape: "circle" }), jsx("silkscreencircle", { pcbX: "3.285998mm", pcbY: "-1.566037mm", radius: "0.359156mm" }), jsx("silkscreenrect", { pcbX: "0mm", pcbY: "0mm", width: "7.999984mm", height: "4.500118mm", strokeWidth: "0.254mm" }), jsx("silkscreentext", { text: "{NAME}", pcbX: "0.0254mm", pcbY: "3.396363mm", anchorAlignment: "center", fontSize: "1mm" }), jsx("courtyardoutline", { outline: [
{ x: -4.364799999999832, y: 2.646362999999951 },
{ x: 4.41560000000004, y: 2.646362999999951 },
{ x: 4.41560000000004, y: -2.6288370000000896 },
{ x: -4.364799999999832, y: -2.6288370000000896 },
{ x: -4.364799999999832, y: 2.646362999999951 },
] })] }), cadModel: {
objUrl: "https://modelcdn.tscircuit.com/easyeda_models/assets/C131339.obj?uuid=dad20adf37e74a59b293d1ce4ac84f72",
stepUrl: "https://modelcdn.tscircuit.com/easyeda_models/assets/C131339.step?uuid=dad20adf37e74a59b293d1ce4ac84f72",
pcbRotationOffset: 0,
modelOriginPosition: {
x: 0.000012699999956566899,
y: -0.014473299999951506,
z: -6799999999973494e-21,
},
}, ...props }));
};
const pinLabels$2 = {
pin1: ["cathode", "neg"],
pin2: ["anode", "pos"],
};
const LTST_C190TBKT = (props) => {
const { name = "LED1", ...restProps } = props;
return (jsx("led", { name: name, pinLabels: pinLabels$2, supplierPartNumbers: {
jlcpcb: ["C125096"],
}, manufacturerPartNumber: "LTST-C190TBKT", footprint: jsxs("footprint", { children: [jsx("smtpad", { portHints: ["pin2", "anode", "pos"], pcbX: "0.7489952mm", pcbY: "0.000127mm", width: "0.7999984mm", height: "0.7999984mm", shape: "rect" }), jsx("smtpad", { portHints: ["pin1", "cathode", "neg"], pcbX: "-0.7489952mm", pcbY: "-0.000127mm", width: "0.7999984mm", height: "0.7999984mm", shape: "rect" }), jsx("silkscreenpath", { route: [
{ x: 0.22042119999991883, y: -0.3235197999999855 },
{ x: 0.21046439999986433, y: -0.3235197999999855 },
{ x: -0.11958320000007916, y: 0.006527799999958006 },
] }), jsx("silkscreenpath", { route: [
{ x: 0.22042119999991883, y: 0.3565143999999236 },
{ x: 0.22042119999991883, y: 0.346532199999956 },
{ x: -0.11958320000007916, y: 0.006527799999958006 },
] }), jsx("silkscreenpath", { route: [
{ x: 0.22042119999991883, y: 0.3565143999999236 },
{ x: 0.22042119999991883, y: -0.3235197999999855 },
] }), jsx("silkscreenpath", { route: [
{ x: 0.24046179999993456, y: 0.7565898000000288 },
{ x: 1.3904721999999765, y: 0.7565898000000288 },
] }), jsx("silkscreenpath", { route: [
{ x: 0.24046179999993456, y: -0.7435342000001128 },
{ x: 1.3904721999999765, y: -0.7435342000001128 },
] }), jsx("silkscreenpath", { route: [
{ x: 1.3904721999999765, y: 0.7564882000000352 },
{ x: 1.3904721999999765, y: -0.7234428000000435 },
] }), jsx("silkscreenpath", { route: [
{ x: -0.13954760000001443, y: -0.7458455999999387 },
{ x: -1.1896598000000722, y: -0.7458455999999387 },
] }), jsx("silkscreenpath", { route: [
{ x: -1.4896084000000656, y: -0.3457701999999472 },
{ x: -1.4896084000000656, y: -0.44579539999995177 },
{ x: -1.1896598000000722, y: -0.7458455999999387 },
] }), jsx("silkscreenpath", { route: [
{ x: -1.4896084000000656, y: 0.3541776000000709 },
{ x: -1.4896084000000656, y: -0.3457701999999472 },
] }), jsx("silkscreenpath", { route: [
{ x: -1.4896084000000656, y: 0.3541776000000709 },
{ x: -1.4896084000000656, y: 0.45432980000009593 },
{ x: -1.1896598000000722, y: 0.7542784000000893 },
] }), jsx("silkscreenpath", { route: [
{ x: -0.13954760000001443, y: 0.7542784000000893 },
{ x: -1.1896598000000722, y: 0.7542784000000893 },
] }), jsx("silkscreenpath", { route: [
{ x: 0.22042119999991883, y: 0.006527799999958006 },
{ x: -0.11958320000007916, y: 0.006527799999958006 },
] }), jsx("silkscreentext", { text: "{NAME}", pcbX: "-0.066675mm", pcbY: "1.767715mm", anchorAlignment: "center", fontSize: "1mm" }), jsx("fabricationnotepath", { route: [
{ x: -1.07000040000014, y: 0.061518800000044394 },
{ x: -0.5299964000000728, y: 0.061518800000044394 },
{ x: -0.5299964000000728, y: -0.06847839999988992 },
{ x: -1.07000040000014, y: -0.06847839999988992 },
{ x: -1.07000040000014, y: 0.061518800000044394 },
], strokeWidth: "0.254mm" }), jsx("fabricationnotepath", { route: [
{ x: 0.7345679999998538, y: -0.26708099999996193 },
{ x: 0.7345679999998538, y: 0.2729229999999916 },
{ x: 0.864539799999875, y: 0.2729229999999916 },
{ x: 0.864539799999875, y: -0.26708099999996193 },
{ x: 0.7345679999998538, y: -0.26708099999996193 },
], strokeWidth: "0.254mm" }), jsx("fabricationnotepath", { route: [
{ x: 0.5289295999999695, y: 0.06837679999989632 },
{ x: 1.0689336000000367, y: 0.06837679999989632 },
{ x: 1.0689336000000367, y: -0.0616203999999243 },
{ x: 0.5289295999999695, y: -0.0616203999999243 },
{ x: 0.5289295999999695, y: 0.06837679999989632 },
], strokeWidth: "0.254mm" }), jsx("courtyardoutline", { outline: [
{ x: -1.7517750000001797, y: 1.0177150000000665 },
{ x: 1.618425000000002, y: 1.0177150000000665 },
{ x: 1.618425000000002, y: -0.9808849999999438 },
{ x: -1.7517750000001797, y: -0.9808849999999438 },
{ x: -1.7517750000001797, y: 1.0177150000000665 },
] })] }), cadModel: {
objUrl: "https://modelcdn.tscircuit.com/easyeda_models/assets/C125096.obj?uuid=3c2caa1a3e7d4a5a87f46b87d898ef41",
stepUrl: "https://modelcdn.tscircuit.com/easyeda_models/assets/C125096.step?uuid=3c2caa1a3e7d4a5a87f46b87d898ef41",
pcbRotationOffset: 0,
modelOriginPosition: {
x: -12700000070253736e-21,
y: 0.000012699999956566899,
z: -0.01,
},
}, ...restProps }));
};
const pinLabels$1 = {
pin1: ["cathode", "neg"],
pin2: ["anode", "pos"],
};
const LTST_C190KGKT = (props) => {
const { name = "LED1", ...restProps } = props;
return (jsx("led", { name: name, pinLabels: pinLabels$1, supplierPartNumbers: {
jlcpcb: ["C125094"],
}, manufacturerPartNumber: "LTST-C190KGKT", footprint: jsxs("footprint", { children: [jsx("smtpad", { portHints: ["pin2", "anode", "pos"], pcbX: "0.7489952mm", pcbY: "0.000127mm", width: "0.7999984mm", height: "0.7999984mm", shape: "rect" }), jsx("smtpad", { portHints: ["pin1", "cathode", "neg"], pcbX: "-0.7489952mm", pcbY: "-0.000127mm", width: "0.7999984mm", height: "0.7999984mm", shape: "rect" }), jsx("silkscreenpath", { route: [
{ x: 0.22042119999991883, y: -0.3235197999999855 },
{ x: 0.21046439999986433, y: -0.3235197999999855 },
{ x: -0.11958320000007916, y: 0.006527799999958006 },
] }), jsx("silkscreenpath", { route: [
{ x: 0.22042119999991883, y: 0.3565143999999236 },
{ x: 0.22042119999991883, y: 0.346532199999956 },
{ x: -0.11958320000007916, y: 0.006527799999958006 },
] }), jsx("silkscreenpath", { route: [
{ x: 0.22042119999991883, y: 0.3565143999999236 },
{ x: 0.22042119999991883, y: -0.3235197999999855 },
] }), jsx("silkscreenpath", { route: [
{ x: 0.24046179999993456, y: 0.7565898000000288 },
{ x: 1.3904721999999765, y: 0.7565898000000288 },
] }), jsx("silkscreenpath", { route: [
{ x: 0.24046179999993456, y: -0.7435342000001128 },
{ x: 1.3904721999999765, y: -0.7435342000001128 },
] }), jsx("silkscreenpath", { route: [
{ x: 1.3904721999999765, y: 0.7564882000000352 },
{ x: 1.3904721999999765, y: -0.7234428000000435 },
] }), jsx("silkscreenpath", { route: [
{ x: -0.13954760000001443, y: -0.7458455999999387 },
{ x: -1.1896598000000722, y: -0.7458455999999387 },
] }), jsx("silkscreenpath", { route: [
{ x: -1.4896084000000656, y: -0.3457701999999472 },
{ x: -1.4896084000000656, y: -0.44579539999995177 },
{ x: -1.1896598000000722, y: -0.7458455999999387 },
] }), jsx("silkscreenpath", { route: [
{ x: -1.4896084000000656, y: 0.3541776000000709 },
{ x: -1.4896084000000656, y: -0.3457701999999472 },
] }), jsx("silkscreenpath", { route: [
{ x: -1.4896084000000656, y: 0.3541776000000709 },
{ x: -1.4896084000000656, y: 0.45432980000009593 },
{ x: -1.1896598000000722, y: 0.7542784000000893 },
] }), jsx("silkscreenpath", { route: [
{ x: -0.13954760000001443, y: 0.7542784000000893 },
{ x: -1.1896598000000722, y: 0.7542784000000893 },
] }), jsx("silkscreenpath", { route: [
{ x: 0.22042119999991883, y: 0.006527799999958006 },
{ x: -0.11958320000007916, y: 0.006527799999958006 },
] }), jsx("silkscreentext", { text: "{NAME}", pcbX: "-0.066675mm", pcbY: "1.767715mm", anchorAlignment: "center", fontSize: "1mm" }), jsx("fabricationnotepath", { route: [
{ x: -1.07000040000014, y: 0.061518800000044394 },
{ x: -0.5299964000000728, y: 0.061518800000044394 },
{ x: -0.5299964000000728, y: -0.06847839999988992 },
{ x: -1.07000040000014, y: -0.06847839999988992 },
{ x: -1.07000040000014, y: 0.061518800000044394 },
], strokeWidth: "0.254mm" }), jsx("fabricationnotepath", { route: [
{ x: 0.7345679999998538, y: -0.26708099999996193 },
{ x: 0.7345679999998538, y: 0.2729229999999916 },
{ x: 0.864539799999875, y: 0.2729229999999916 },
{ x: 0.864539799999875, y: -0.26708099999996193 },
{ x: 0.7345679999998538, y: -0.26708099999996193 },
], strokeWidth: "0.254mm" }), jsx("fabricationnotepath", { route: [
{ x: 0.5289295999999695, y: 0.06837679999989632 },
{ x: 1.0689336000000367, y: 0.06837679999989632 },
{ x: 1.0689336000000367, y: -0.0616203999999243 },
{ x: 0.5289295999999695, y: -0.0616203999999243 },
{ x: 0.5289295999999695, y: 0.06837679999989632 },
], strokeWidth: "0.254mm" }), jsx("courtyardoutline", { outline: [
{ x: -1.7517750000001797, y: 1.0177150000000665 },
{ x: 1.618425000000002, y: 1.0177150000000665 },
{ x: 1.618425000000002, y: -0.9808849999999438 },
{ x: -1.7517750000001797, y: -0.9808849999999438 },
{ x: -1.7517750000001797, y: 1.0177150000000665 },
] })] }), cadModel: {
objUrl: "https://modelcdn.tscircuit.com/easyeda_models/assets/C125094.obj?uuid=3c2caa1a3e7d4a5a87f46b87d898ef41",
stepUrl: "https://modelcdn.tscircuit.com/easyeda_models/assets/C125094.step?uuid=3c2caa1a3e7d4a5a87f46b87d898ef41",
pcbRotationOffset: 0,
modelOriginPosition: {
x: -12700000070253736e-21,
y: 0.000012699999956566899,
z: -0.01,
},
}, ...restProps }));
};
const pinLabels = {
pin1: ["cathode", "neg"],
pin2: ["anode", "pos"],
};
const LTST_C190KRKT = (props) => {
const { name = "LED1", ...restProps } = props;
return (jsx("led", { name: name, pinLabels: pinLabels, supplierPartNumbers: {
jlcpcb: ["C94869"],
}, manufacturerPartNumber: "LTST-C190KRKT", footprint: jsxs("footprint", { children: [jsx("smtpad", { portHints: ["pin1", "cathode", "neg"], pcbX: "-0.7489952mm", pcbY: "-0.003429mm", width: "0.7999984mm", height: "0.7999984mm", shape: "rect" }), jsx("smtpad", { portHints: ["pin2", "anode", "pos"], pcbX: "0.7489952mm", pcbY: "0.003429mm", width: "0.7999984mm", height: "0.7999984mm", shape: "rect" }), jsx("silkscreenpath", { route: [
{ x: 0.2203958000000057, y: -0.3235452000000123 },
{ x: 0.21048979999989115, y: -0.3235452000000123 },
{ x: -0.11960860000010598, y: 0.006477000000018052 },
] }), jsx("silkscreenpath", { route: [
{ x: 0.2203958000000057, y: 0.3564890000001242 },
{ x: 0.2203958000000057, y: 0.3464814000001297 },
{ x: -0.11960860000010598, y: 0.006477000000018052 },
] }), jsx("silkscreenpath", { route: [
{ x: 0.2203958000000057, y: 0.3564890000001242 },
{ x: 0.2203958000000057, y: -0.3235452000000123 },
] }), jsx("silkscreenpath", { route: [
{ x: 0.24043639999990774, y: 0.7565136000000621 },
{ x: 1.3904975999998896, y: 0.7565136000000621 },
] }), jsx("silkscreenpath", { route: [
{ x: 0.24043639999990774, y: -0.7436103999999659 },
{ x: 1.3904975999998896, y: -0.7436103999999659 },
] }), jsx("silkscreenpath", { route: [
{ x: 1.3904975999998896, y: 0.7564628000000084 },
{ x: 1.3904975999998896, y: -0.7235189999998966 },
] }), jsx("silkscreenpath", { route: [
{ x: -0.13957299999992756, y: -0.7458963999999924 },
{ x: -1.189685200000099, y: -0.7458963999999924 },
] }), jsx("silkscreenpath", { route: [
{ x: -1.4896337999999787, y: -0.345795599999974 },
{ x: -1.4896337999999787, y: -0.4458207999998649 },
{ x: -1.189685200000099, y: -0.7458963999999924 },
] }), jsx("silkscreenpath", { route: [
{ x: -1.4896337999999787, y: 0.3541268000000173 },
{ x: -1.4896337999999787, y: -0.345795599999974 },
] }), jsx("silkscreenpath", { route: [
{ x: -1.4896337999999787, y: 0.3541268000000173 },
{ x: -1.4896337999999787, y: 0.4542790000000423 },
{ x: -1.189685200000099, y: 0.7542276000000356 },
] }), jsx("silkscreenpath", { route: [
{ x: -0.13957299999992756, y: 0.7542276000000356 },
{ x: -1.189685200000099, y: 0.7542276000000356 },
] }), jsx("silkscreenpath", { route: [
{ x: 0.2203958000000057, y: 0.006477000000018052 },
{ x: -0.11960860000010598, y: 0.006477000000018052 },
] }), jsx("silkscreentext", { text: "{NAME}", pcbX: "-0.0653542mm", pcbY: "1.768477mm", anchorAlignment: "center", fontSize: "1mm" }), jsx("fabricationnotepath", { route: [
{ x: 0.5289295999998558, y: 0.06832600000007005 },
{ x: 1.068933599999923, y: 0.06832600000007005 },
{ x: 1.068933599999923, y: -0.061671199999977944 },
{ x: 0.5289295999998558, y: -0.061671199999977944 },
{ x: 0.5289295999998558, y: 0.06832600000007005 },
], strokeWidth: "0.254mm" }), jsx("fabricationnotepath", { route: [
{ x: 0.7345679999999675, y: -0.2671318000000156 },
{ x: 0.7345679999999675, y: 0.27287220000005163 },
{ x: 0.8645397999999886, y: 0.27287220000005163 },
{ x: 0.8645397999999886, y: -0.2671318000000156 },
{ x: 0.7345679999999675, y: -0.2671318000000156 },
], strokeWidth: "0.254mm" }), jsx("fabricationnotepath", { route: [
{ x: -1.0700004000000263, y: 0.06146800000010444 },
{ x: -0.5299964000000728, y: 0.06146800000010444 },
{ x: -0.5299964000000728, y: -0.06852919999994356 },
{ x: -1.0700004000000263, y: -0.06852919999994356 },
{ x: -1.0700004000000263, y: 0.06146800000010444 },
], strokeWidth: "0.254mm" }), jsx("courtyardoutline", { outline: [
{ x: -1.7504542000001493, y: 1.0184769999999617 },
{ x: 1.6197458000000324, y: 1.0184769999999617 },
{ x: 1.6197458000000324, y: -0.980122999999935 },
{ x: -1.7504542000001493, y: -0.980122999999935 },
{ x: -1.7504542000001493, y: 1.0184769999999617 },
] })] }), cadModel: {
objUrl: "https://modelcdn.tscircuit.com/easyeda_models/assets/C94869.obj?uuid=d0740cb8891c49a88b6949cb978926f3",
stepUrl: "https://modelcdn.tscircuit.com/easyeda_models/assets/C94869.step?uuid=d0740cb8891c49a88b6949cb978926f3",
pcbRotationOffset: 0,
modelOriginPosition: {
x: -12700000070253736e-21,
y: 0.00005079999993995443,
z: -0.01,
},
}, ...restProps }));
};
function UserControls() {
return (jsxs("schematicsheet", { name: "controls", displayName: "06 Knob, FWD / STOP / REV, indicators \u2014 A1 prototype", sheetSize: "A4", sheetIndex: 5, children: [jsx(B3B_PH_K_S_LF__SN_, { name: "J3", pcbX: -27, pcbY: 26, schX: -8, schY: 5, connections: {
pin1: "net.GND",
pin2: "net.POT_WIPER",
pin3: "net.V3V3",
} }), jsx(R, { name: "R60", resistance: "1k", pcb: [-27, 19], sch: [-8, 1], nets: ["POT_WIPER", "POT_ADC"] }), jsx(R, { name: "R61", resistance: "100k", pcb: [-23, 19], sch: [-8, -2], nets: ["POT_ADC", "GND"] }), jsx(C, { name: "C50", capacitance: "100nF", pcb: [-23, 16.5], sch: [-8, -5], nets: ["POT_ADC", "GND"] }), jsx(B3B_PH_K_S_LF__SN_, { name: "J4", pcbX: -11, pcbY: 26, schX: 2, schY: 5, connections: { pin1: "net.FWD", pin2: "net.GND", pin3: "net.REV" } }), jsx(R, { name: "R62", rotation: 180, resistance: "10k", pcb: [-13, 19], sch: [0, 1], nets: ["V3V3", "FWD"] }), jsx(R, { name: "R63", resistance: "10k", pcb: [-9, 19], sch: [5, 1], nets: ["V3V3", "REV"] }), jsx(C, { name: "C51", capacitance: "100nF", pcb: [-13, 16.5], sch: [0, -2], nets: ["FWD", "GND"] }), jsx(C, { name: "C52", rotation: 180, capacitance: "100nF", pcb: [-9, 16.5], sch: [5, -2], nets: ["REV", "GND"] }), jsx(SchematicNote, { schX: 0, schY: 9, fontSize: 0.23, text: "Panel controls: J3 → 10 kΩ linear pot; J4 → maintained SPDT center-OFF switch.\nSTOP = both contacts open; both closed is a fault. Debounce in firmware.\nStartup/reconnect requires STOP and knob below 2%, then a deliberate direction selection.\nOpen pot wiper pulls command to zero. Control cables ≤150 mm inside enclosure." }), jsx(R, { name: "R64", resistance: "1k", pcb: [-33, -22], sch: [-8, -7], nets: ["V3V3", "LED_PWR_A"] }), jsx(LTST_C190TBKT, { name: "D3", color: "blue", pcbX: -33, pcbY: -25, schX: -8, schY: -9.5, schRotation: -90, connections: { anode: "net.LED_PWR_A", cathode: "net.GND" } }), jsx(R, { name: "R65", schRotation: -90, resistance: "1k", pcb: [-26, -22], sch: [0, -7], nets: ["LED_READY", "LED_READY_A"] }), jsx(LTST_C190KGKT, { name: "D4", color: "green", pcbX: -26, pcbY: -25, schX: 0, schY: -9.5, schRotation: -90, connections: { anode: "net.LED_READY_A", cathode: "net.GND" } }), jsx(R, { name: "R66", schRotation: -90, resistance: "1k", pcb: [-19, -22], sch: [8, -7], nets: ["LED_FAULT", "LED_FAULT_A"] }), jsx(LTST_C190KRKT, { name: "D5", color: "red", pcbX: -19, pcbY: -25, schX: 8, schY: -9.5, schRotation: -90, connections: { anode: "net.LED_FAULT_A", cathode: "net.GND" } }), jsx(SchematicNote, { schX: 2, schY: -4, fontSize: 0.23, text: "Blue: control power present. Green: armed/ready or running.\nRed: latched fault; turn to STOP and set knob to zero.\nReversal requires ramp-down, coast and re-arming.\nOpen-loop duty control: speed depends on the mechanical load." })] }));
}
const mountCenters = [
[-40, -27.5],
[-40, 27.5],
[40, -27.5],
[40, 27.5],
];
function PwmControllerBoard() {
return (jsxs("board", { width: "90mm", height: "65mm", thickness: "1.6mm", layers: 4, allowBlindAndBuriedVias: false, defaultViaTenting: "both_sides", schLayout: { layoutMode: "none" }, minTraceWidth: "0.15mm", autorouterVersion: "beta_pipeline7", autorouterEffortLevel: "2x", minViaPadDiameter: "0.60mm", minViaHoleDiameter: "0.30mm", autorouter: { local: true, traceClearance: 0.15, allowViaInPad: false }, minBoardEdgeClearance: 0.5, minTraceToPadEdgeClearance: 0.2, minPadEdgeToPadEdgeClearance: 0.15, minViaEdgeToPadEdgeClearance: 0.3, minViaHoleEdgeToViaHoleEdgeClearance: 0.25, minPlatedHoleDrillEdgeToDrillEdgeClearance: 0.25, children: [[
"CC1",
"CC2",
"INPUT_LIMIT",
"INPUT_SLEW",
"FB",
"BOOT",
"CPH",
"CPL",
"VCP",
].map((name) => (jsx(Fragment$1, { children: jsx("net", { name: name }) }, name))), [
"PD_MIN",
"PD_MAX",
"PD_IOP",
"SDA",
"SCL",
"INPUT_EN",
"INPUT_OV",
"HEALTH",
"PWR_OFF",
"MOTOR_UV",
"MOTOR_OV",
"MOTOR_SLEW",
"MOTOR_LIMIT",
"PWM",
"DIR",
"DRIVE_ENABLE",
"IPROPI",
"CURRENT_ADC",
"CLAMP_SENSE",
"CLAMP_GATE",
"TEMP_ADC",
"TEMP_REF",
"NRST",
"FWD",
"REV",
"POT_ADC",
"VM_ADC",
"MCU_ENABLE",
"LED_FAULT",
"LED_READY",
"SWDIO",
"SWCLK",
"POT_WIPER",
"LED_PWR_A",
"LED_READY_A",
"LED_FAULT_A",
].map((name) => (jsx(Fragment$1, { children: jsx("net", { name: name }) }, name))), ["VBUS", "PD_OUT", "V15", "V12_BUCK", "VM"].map((name) => (jsx(Fragment$1, { children: jsx("net", { name: name, isPowerNet: true, nominalTraceWidth: "0.8mm" }) }, name))), ["V3V3", "PD_3V3", "PD_1V5", "VREF_2V5"].map((name) => (jsx(Fragment$1, { children: jsx("net", { name: name, isPowerNet: true, nominalTraceWidth: "0.2mm" }) }, name))), ["MOTOR_A", "MOTOR_B", "SW", "BRAKE_DRAIN"].map((name) => (jsx(Fragment$1, { children: jsx("net", { name: name, nominalTraceWidth: "0.8mm" }) }, name))), jsx("net", { name: "GND", isGroundNet: true, nominalTraceWidth: "0.8mm" }), jsx(UsbPower, {}), jsx(MotorPower, {}), jsx(MotorBridge, {}), jsx(RailClamp, {}), jsx(Controller, {}), jsx(UserControls, {}), ["inner1", "inner2"].map((layer) => (jsx(Fragment$1, { children: jsx("copperpour", { name: `ground_${layer}`, layer: layer, connectsTo: "net.GND", clearance: 0.2, boardEdgeMargin: 0.5, cutoutMargin: 0.5, useThermalReliefs: false }) }, layer))), jsx("copperpour", { name: "ground_top", layer: "top", connectsTo: "net.GND", clearance: 0.2, boardEdgeMargin: 0.5, cutoutMargin: 0.5, useThermalReliefs: false }), jsx("copperpour", { name: "ground_bottom", layer: "bottom", connectsTo: "net.GND", clearance: 0.2, boardEdgeMargin: 0.5, cutoutMargin: 0.5, useThermalReliefs: false }), [22.45, 27.55].flatMap((pcbX) => [-3.45, -2.55].map((pcbY) => (jsx(Fragment$1, { children: jsx("via", { pcbX: pcbX, pcbY: pcbY, fromLayer: "top", toLayer: "bottom", outerDiameter: 0.6, holeDiameter: 0.3, connectsTo: "net.GND", tented: true }) }, `${pcbX},${pcbY}`)))), jsx("fiducial", { name: "FID1", pcbX: -34, pcbY: 30, padDiameter: 1, soldermaskPullback: 0.5 }), jsx("fiducial", { name: "FID2", pcbX: 34, pcbY: -29.5, padDiameter: 1, soldermaskPullback: 0.5 }), jsx("fiducial", { name: "FID3", pcbX: -34, pcbY: -30, padDiameter: 1, soldermaskPullback: 0.5 }), mountCenters.map(([pcbX, pcbY], index) => (jsxs(Fragment$1, { children: [jsx("hole", { name: `H${index + 1}`, diameter: 3.2, pcbX: pcbX, pcbY: pcbY }), jsx("keepout", { shape: "circle", radius: 4, pcbX: pcbX, pcbY: pcbY, layers: ["top", "inner1", "inner2", "bottom"] })] }, index))), jsx("silkscreentext", { text: "PA25 PWM \u2022 A1 PROTOTYPE", pcbX: -12, pcbY: 12.5, fontSize: 1.1 }), jsx("silkscreentext", { text: "USB-C PD 15V / 1.5A", pcbX: -31, pcbY: -10, fontSize: 0.9 }), jsx("silkscreentext", { text: "SPEED", pcbX: -27, pcbY: 30, fontSize: 1 }), jsx("silkscreentext", { text: "FWD STOP REV", pcbX: -11, pcbY: 30, fontSize: 0.9 }), jsx("silkscreentext", { text: "12V MOTOR", pcbX: 38, pcbY: 1.5, fontSize: 0.9 }), jsx("silkscreentext", { text: "PWR READY FAULT", pcbX: -26, pcbY: -28, fontSize: 0.8 }), jsx("silkscreentext", { text: "BRAKE LOAD \u2014 MAY BE HOT", pcbX: 21, pcbY: 30.5, fontSize: 0.8 }), jsx("silkscreentext", { text: "For evaluation only;", pcbX: 0, pcbY: 3, fontSize: 1.4, layer: "bottom" }), jsx("silkscreentext", { text: "not FCC approved for resale.", pcbX: 0, pcbY: 0, fontSize: 1.4, layer: "bottom" })] }));
}
function Circuit() {
return jsx(PwmControllerBoard, {});
}
export { Circuit as default };