krishnax12/tps2553-usb-power-switch

USB‑C 5V input board with CC pull-downs feeding a TPS2553 current-limited power switch, filtered 5V output connector, external enable control, and red overcurrent/fault LED indicator.

Version
1.0.0
License
unset
Stars
0

dist/index.cjs

'use strict';

var jsxRuntime = require('react/jsx-runtime');

const pinLabels$1 = {
    pin1: ["EH2"],
    pin2: ["EH1"],
    pin3: ["EH4"],
    pin4: ["EH3"],
    pin5: ["B8", "SBU2"],
    pin6: ["A5", "CC1"],
    pin7: ["B7", "DN2"],
    pin8: ["A6", "DP1"],
    pin9: ["A7", "DN1"],
    pin10: ["B6", "DP2"],
    pin11: ["A8", "SBU1"],
    pin12: ["B5", "CC2"],
    pin13: ["A1B12", "GND1"],
    pin14: ["B1A12", "GND2"],
    pin15: ["B4A9", "VBUS1"],
    pin16: ["A4B9", "VBUS2"],
};
const TYPE_C_31_M_12 = (props) => {
    return (jsxRuntime.jsx("connector", { standard: "usb_c", pinLabels: pinLabels$1, supplierPartNumbers: {
            jlcpcb: ["C165948"],
        }, manufacturerPartNumber: "TYPE-C-31-M-12", footprint: jsxRuntime.jsxs("footprint", { insertionDirection: "from_bottom", children: [jsxRuntime.jsx("hole", { pcbX: "-2.899918mm", pcbY: "0.9055672mm", diameter: "0.5999988mm" }), jsxRuntime.jsx("hole", { pcbX: "2.899918mm", pcbY: "0.9055672mm", diameter: "0.5999988mm" }), jsxRuntime.jsx("platedhole", { portHints: ["pin2"], pcbX: "4.325112mm", pcbY: "-2.7741308mm", holeWidth: "0.7999984mm", holeHeight: "1.3999972mm", outerWidth: "1.1999976mm", outerHeight: "1.7999964mm", shape: "pill" }), jsxRuntime.jsx("platedhole", { portHints: ["pin1"], pcbX: "4.325112mm", pcbY: "1.4056932mm", holeWidth: "0.7999984mm", holeHeight: "1.5999968mm", outerWidth: "1.1999976mm", outerHeight: "1.999996mm", shape: "pill" }), jsxRuntime.jsx("platedhole", { portHints: ["pin4"], pcbX: "-4.325112mm", pcbY: "1.4056932mm", holeWidth: "0.7999984mm", holeHeight: "1.5999968mm", outerWidth: "1.1999976mm", outerHeight: "1.999996mm", shape: "pill" }), jsxRuntime.jsx("platedhole", { portHints: ["pin3"], pcbX: "-4.325112mm", pcbY: "-2.7741308mm", holeWidth: "0.7999984mm", holeHeight: "1.3999972mm", outerWidth: "1.1999976mm", outerHeight: "1.7999964mm", shape: "pill" }), jsxRuntime.jsx("smtpad", { portHints: ["pin5"], pcbX: "-1.75006mm", pcbY: "2.1740432mm", width: "0.2999994mm", height: "1.2999974mm", shape: "rect" }), jsxRuntime.jsx("smtpad", { portHints: ["pin6"], pcbX: "-1.249934mm", pcbY: "2.1740432mm", width: "0.2999994mm", height: "1.2999974mm", shape: "rect" }), jsxRuntime.jsx("smtpad", { portHints: ["pin7"], pcbX: "-0.750062mm", pcbY: "2.1740432mm", width: "0.2999994mm", height: "1.2999974mm", shape: "rect" }), jsxRuntime.jsx("smtpad", { portHints: ["pin8"], pcbX: "-0.249936mm", pcbY: "2.1740432mm", width: "0.2999994mm", height: "1.2999974mm", shape: "rect" }), jsxRuntime.jsx("smtpad", { portHints: ["pin9"], pcbX: "0.249936mm", pcbY: "2.1740432mm", width: "0.2999994mm", height: "1.2999974mm", shape: "rect" }), jsxRuntime.jsx("smtpad", { portHints: ["pin10"], pcbX: "0.750062mm", pcbY: "2.1740432mm", width: "0.2999994mm", height: "1.2999974mm", shape: "rect" }), jsxRuntime.jsx("smtpad", { portHints: ["pin11"], pcbX: "1.24968mm", pcbY: "2.1740432mm", width: "0.2999994mm", height: "1.2999974mm", shape: "rect" }), jsxRuntime.jsx("smtpad", { portHints: ["pin12"], pcbX: "1.75006mm", pcbY: "2.1740432mm", width: "0.2999994mm", height: "1.2999974mm", shape: "rect" }), jsxRuntime.jsx("smtpad", { portHints: ["pin13"], points: [
                        { x: "-2.8999688mm", y: "1.524108mm" },
                        { x: "-2.8999688mm", y: "2.8241308mm" },
                        { x: "-2.8999688mm", y: "2.8241308mm" },
                        { x: "-3.1999682mm", y: "2.8241308mm" },
                        { x: "-3.1999682mm", y: "2.8241308mm" },
                        { x: "-3.1999682mm", y: "2.8239784mm" },
                        { x: "-3.1999682mm", y: "2.8239784mm" },
                        { x: "-3.4999422mm", y: "2.8239784mm" },
                        { x: "-3.4999422mm", y: "2.8239784mm" },
                        { x: "-3.4999422mm", y: "1.5239556mm" },
                        { x: "-3.4999422mm", y: "1.5239556mm" },
                        { x: "-3.1999428mm", y: "1.5239556mm" },
                        { x: "-3.1999428mm", y: "1.5239556mm" },
                        { x: "-3.1999428mm", y: "1.524108mm" },
                        { x: "-3.1999428mm", y: "1.524108mm" },
                        { x: "-2.8999688mm", y: "1.524108mm" },
                    ], shape: "polygon" }), jsxRuntime.jsx("smtpad", { portHints: ["pin14"], points: [
                        { x: "2.8999942mm", y: "2.8241308mm" },
                        { x: "2.8999942mm", y: "1.5241588mm" },
                        { x: "2.8999942mm", y: "1.5241588mm" },
                        { x: "3.1999936mm", y: "1.5241588mm" },
                        { x: "3.1999936mm", y: "1.5241588mm" },
                        { x: "3.200019mm", y: "1.5241588mm" },
                        { x: "3.200019mm", y: "1.5241588mm" },
                        { x: "3.5000184mm", y: "1.5241588mm" },
                        { x: "3.5000184mm", y: "1.5241588mm" },
                        { x: "3.5000184mm", y: "2.8241308mm" },
                        { x: "3.5000184mm", y: "2.8241308mm" },
                        { x: "3.200019mm", y: "2.8241308mm" },
                        { x: "3.200019mm", y: "2.8241308mm" },
                        { x: "3.1999936mm", y: "2.8241308mm" },
                        { x: "3.1999936mm", y: "2.8241308mm" },
                        { x: "2.8999942mm", y: "2.8241308mm" },
                    ], shape: "polygon" }), jsxRuntime.jsx("smtpad", { portHints: ["pin15"], points: [
                        { x: "2.7001724mm", y: "1.5241588mm" },
                        { x: "2.7001724mm", y: "2.8241308mm" },
                        { x: "2.7001724mm", y: "2.8241308mm" },
                        { x: "2.400173mm", y: "2.8241308mm" },
                        { x: "2.400173mm", y: "2.8241308mm" },
                        { x: "2.4001476mm", y: "2.8241308mm" },
                        { x: "2.4001476mm", y: "2.8241308mm" },
                        { x: "2.1001482mm", y: "2.8241308mm" },
                        { x: "2.1001482mm", y: "2.8241308mm" },
                        { x: "2.1001482mm", y: "1.5241588mm" },
                        { x: "2.1001482mm", y: "1.5241588mm" },
                        { x: "2.4001476mm", y: "1.5241588mm" },
                        { x: "2.4001476mm", y: "1.5241588mm" },
                        { x: "2.400173mm", y: "1.5241588mm" },
                        { x: "2.400173mm", y: "1.5241588mm" },
                        { x: "2.7001724mm", y: "1.5241588mm" },
                    ], shape: "polygon" }), jsxRuntime.jsx("smtpad", { portHints: ["pin16"], points: [
                        { x: "-2.0999704mm", y: "1.5240064mm" },
                        { x: "-2.0999704mm", y: "2.8239784mm" },
                        { x: "-2.0999704mm", y: "2.8239784mm" },
                        { x: "-2.3999952mm", y: "2.8239784mm" },
                        { x: "-2.3999952mm", y: "2.8239784mm" },
                        { x: "-2.3999952mm", y: "2.823953mm" },
                        { x: "-2.3999952mm", y: "2.823953mm" },
                        { x: "-2.6999438mm", y: "2.823953mm" },
                        { x: "-2.6999438mm", y: "2.823953mm" },
                        { x: "-2.6999438mm", y: "1.523981mm" },
                        { x: "-2.6999438mm", y: "1.523981mm" },
                        { x: "-2.399919mm", y: "1.523981mm" },
                        { x: "-2.399919mm", y: "1.523981mm" },
                        { x: "-2.399919mm", y: "1.5240064mm" },
                        { x: "-2.399919mm", y: "1.5240064mm" },
                        { x: "-2.0999704mm", y: "1.5240064mm" },
                    ], shape: "polygon" }), jsxRuntime.jsx("silkscreenpath", { route: [
                        { x: -4.4689776000000165, y: -1.6757585999999947 },
                        { x: -4.4689776000000165, y: 0.18715359999987413 },
                    ] }), jsxRuntime.jsx("silkscreenpath", { route: [
                        { x: 4.471009600000116, y: -5.394140800000059 },
                        { x: -4.4689776000000165, y: -5.394140800000059 },
                        { x: -4.4689776000000165, y: -3.91283820000001 },
                    ] }), jsxRuntime.jsx("silkscreenpath", { route: [
                        { x: 4.471009600000116, y: -1.676114200000029 },
                        { x: 4.471009600000116, y: 0.18750920000002225 },
                    ] }), jsxRuntime.jsx("silkscreenpath", { route: [
                        { x: 4.471009600000116, y: -5.394140800000059 },
                        { x: 4.471009600000116, y: -3.912482600000203 },
                    ] }), jsxRuntime.jsx("silkscreentext", { text: "{NAME}", pcbX: "0.002794mm", pcbY: "3.8286012mm", anchorAlignment: "center", fontSize: "1mm" }), jsxRuntime.jsx("courtyardoutline", { outline: [
                        { x: -5.174805999999876, y: 3.0786011999998664 },
                        { x: 5.180394000000092, y: 3.0786011999998664 },
                        { x: 5.180394000000092, y: -5.650998800000025 },
                        { x: -5.174805999999876, y: -5.650998800000025 },
                        { x: -5.174805999999876, y: 3.0786011999998664 },
                    ] })] }), cadModel: {
            objUrl: "https://modelcdn.tscircuit.com/easyeda_models/assets/C165948.obj?uuid=617b05f9bba7410b96c001093d8189e4",
            stepUrl: "https://modelcdn.tscircuit.com/easyeda_models/assets/C165948.step?uuid=617b05f9bba7410b96c001093d8189e4",
            pcbRotationOffset: 180,
            modelOriginPosition: {
                x: 0,
                y: -2.7500289000000517,
                z: 0.000010999999999872223,
            },
        }, ...props }));
};

const pinLabels = {
    pin1: ["IN"],
    pin2: ["GND"],
    pin3: ["EN"],
    pin4: ["N_FAULT"],
    pin5: ["ILIM"],
    pin6: ["OUT"],
};
const TPS2553DBVR = (props) => {
    const { name = "U1", ...restProps } = props;
    return (jsxRuntime.jsx("chip", { name: name, pinLabels: pinLabels, schPinArrangement: {
            leftSide: ["IN", "EN"],
            rightSide: ["OUT", "N_FAULT"],
            bottomSide: ["GND", "ILIM"],
        }, schPinStyle: { pin5: { marginLeft: 0.5 } }, pinAttributes: {
            IN: { requiresPower: true },
            GND: { requiresGround: true },
            EN: { isInput: true },
            OUT: { providesPower: true },
            N_FAULT: { isOutput: true },
            ILIM: { isPassive: true },
        }, supplierPartNumbers: {
            jlcpcb: ["C55266"],
        }, manufacturerPartNumber: "TPS2553DBVR", footprint: jsxRuntime.jsxs("footprint", { children: [jsxRuntime.jsx("fabricationnoterect", { width: 1.7, height: 2.8, strokeWidth: 0.1 }), jsxRuntime.jsx("smtpad", { portHints: ["pin3"], pcbX: "1.35001mm", pcbY: "0.94996mm", width: "1.0999978mm", height: "0.5999988mm", shape: "rect" }), jsxRuntime.jsx("smtpad", { portHints: ["pin2"], pcbX: "1.35001mm", pcbY: "-0mm", width: "1.0999978mm", height: "0.5999988mm", shape: "rect" }), jsxRuntime.jsx("smtpad", { portHints: ["pin1"], pcbX: "1.35001mm", pcbY: "-0.94996mm", width: "1.0999978mm", height: "0.5999988mm", shape: "rect" }), jsxRuntime.jsx("smtpad", { portHints: ["pin6"], pcbX: "-1.35001mm", pcbY: "-0.94996mm", width: "1.0999978mm", height: "0.5999988mm", shape: "rect" }), jsxRuntime.jsx("smtpad", { portHints: ["pin5"], pcbX: "-1.35001mm", pcbY: "-0mm", width: "1.0999978mm", height: "0.5999988mm", shape: "rect" }), jsxRuntime.jsx("smtpad", { portHints: ["pin4"], pcbX: "-1.35001mm", pcbY: "0.94996mm", width: "1.0999978mm", height: "0.5999988mm", shape: "rect" }), jsxRuntime.jsx("silkscreenpath", { route: [
                        { x: -0.899998200000141, y: 1.5499080000000731 },
                        { x: 0.9000236000000541, y: 1.5499080000000731 },
                    ] }), jsxRuntime.jsx("silkscreenpath", { route: [
                        { x: -0.899998200000141, y: -1.5501111999999466 },
                        { x: 0.9000236000000541, y: -1.5501111999999466 },
                    ] }), jsxRuntime.jsx("silkscreencircle", { pcbX: "1.397mm", pcbY: "-1.651mm", radius: "0.127mm" }), jsxRuntime.jsx("silkscreentext", { text: "{NAME}", pcbX: "0.012446mm", pcbY: "2.562354mm", anchorAlignment: "center", fontSize: "1mm" }), jsxRuntime.jsx("courtyardoutline", { outline: [
                        { x: -2.1425540000000183, y: 1.8123540000000276 },
                        { x: 2.167445999999927, y: 1.8123540000000276 },
                        { x: 2.167445999999927, y: -2.015045999999984 },
                        { x: -2.1425540000000183, y: -2.015045999999984 },
                        { x: -2.1425540000000183, y: 1.8123540000000276 },
                    ] })] }), cadModel: {
            objUrl: "https://modelcdn.tscircuit.com/easyeda_models/assets/C55266.obj?uuid=229b69761e2c45dba6a83d8866dec72d",
            stepUrl: "https://modelcdn.tscircuit.com/easyeda_models/assets/C55266.step?uuid=229b69761e2c45dba6a83d8866dec72d",
            pcbRotationOffset: 180,
            modelOriginPosition: {
                x: 0.000025399999913133797,
                y: -889000000370288e-19,
                z: -0.048939,
            },
        }, ...restProps }));
};

function UsbPowerSwitchBoard() {
    return (jsxRuntime.jsxs("board", { width: 30, height: 30, layers: 2, schAutoLayoutEnabled: true, schMaxTraceDistance: 8, autorouter: "auto_local", minTraceWidth: 0.15, minTraceToPadEdgeClearance: 0.2, minViaEdgeToPadEdgeClearance: 0.25, minTraceToHoleEdgeClearance: 0.25, nominalTraceWidth: 0.25, pcbStyle: {
            silkscreenFontSize: 0.7,
            viaHoleDiameter: 0.3,
            viaPadDiameter: 0.6,
        }, children: [jsxRuntime.jsx("net", { name: "V5_IN", isPowerNet: true, nominalTraceWidth: 0.4 }), jsxRuntime.jsx("net", { name: "V5_OUT", isPowerNet: true, nominalTraceWidth: 0.4 }), jsxRuntime.jsx("net", { name: "GND", isGroundNet: true, nominalTraceWidth: 0.4 }), jsxRuntime.jsx("net", { name: "CC1" }), jsxRuntime.jsx("net", { name: "CC2" }), jsxRuntime.jsx("net", { name: "ENABLE" }), jsxRuntime.jsx("net", { name: "N_FAULT" }), jsxRuntime.jsx("net", { name: "ILIM" }), jsxRuntime.jsx("net", { name: "FAULT_LED" }), jsxRuntime.jsxs("schematicsheet", { name: "USB_INPUT", displayName: "01 - USB-C 5 V input", children: [jsxRuntime.jsx("schematicsection", { name: "USB_INPUT", displayName: "01 - USB-C 5 V input" }), jsxRuntime.jsxs("group", { name: "USB_INPUT", schAutoLayoutEnabled: true, schMarginX: 1, schMarginY: 1, children: [jsxRuntime.jsx(TYPE_C_31_M_12, { name: "J1", schSectionName: "USB_INPUT", pcbX: 0, pcbY: 11, pcbRotation: 180, schWidth: 1.8, schHeight: 2.8, schPinArrangement: {
                                    rightSide: [15, 16, 6, 12, 8, 9, 10, 7, 11, 5],
                                    bottomSide: [13, 14, 2, 1, 4, 3],
                                }, pinAttributes: {
                                    DP1: { doNotConnect: true },
                                    DP2: { doNotConnect: true },
                                    DN1: { doNotConnect: true },
                                    DN2: { doNotConnect: true },
                                    SBU1: { doNotConnect: true },
                                    SBU2: { doNotConnect: true },
                                }, connections: {
                                    VBUS1: "net.V5_IN",
                                    VBUS2: "net.V5_IN",
                                    GND1: "net.GND",
                                    GND2: "net.GND",
                                    EH1: "net.GND",
                                    EH2: "net.GND",
                                    EH3: "net.GND",
                                    EH4: "net.GND",
                                    CC1: "net.CC1",
                                    CC2: "net.CC2",
                                } }), jsxRuntime.jsx("resistor", { name: "R1", pcbRotation: 180, schSectionName: "USB_INPUT", resistance: "5.1k", footprint: "0603", pcbX: -2, pcbY: 5.8, connections: { pin1: "net.CC1", pin2: "net.GND" } }), jsxRuntime.jsx("resistor", { name: "R2", schSectionName: "USB_INPUT", resistance: "5.1k", footprint: "0603", pcbX: 2, pcbY: 5.8, connections: { pin1: "net.CC2", pin2: "net.GND" } })] })] }), jsxRuntime.jsxs("schematicsheet", { name: "POWER_SWITCH", displayName: "02 - TPS2553 current limiter and output", children: [jsxRuntime.jsx("schematicsection", { name: "POWER_SWITCH", displayName: "02 - TPS2553 current limiter and output" }), jsxRuntime.jsxs("group", { name: "POWER_SWITCH", schAutoLayoutEnabled: true, schMarginX: 1, schMarginY: 1, children: [jsxRuntime.jsx(TPS2553DBVR, { name: "U1", schSectionName: "POWER_SWITCH", pcbX: 0, pcbY: 0, pcbRotation: 90, schWidth: 1.8, schHeight: 1.5, connections: {
                                    IN: "net.V5_IN",
                                    OUT: "net.V5_OUT",
                                    GND: "net.GND",
                                    EN: "net.ENABLE",
                                    N_FAULT: "net.N_FAULT",
                                    ILIM: "net.ILIM",
                                } }), jsxRuntime.jsx("capacitor", { name: "C1", pcbSx: { "& silkscreentext": { pcbX: 1.8, pcbY: 0 } }, schMarginX: 1, schSectionName: "POWER_SWITCH", capacitance: "100nF", footprint: "0603", pcbX: 3, pcbY: 1.3, pcbRotation: 90, connections: { pin1: "net.V5_IN", pin2: "net.GND" } }), jsxRuntime.jsx("capacitor", { name: "C2", pcbSx: { "& silkscreentext": { pcbX: 2.2, pcbY: 0 } }, schSectionName: "POWER_SWITCH", capacitance: "1uF", footprint: "0805", pcbX: 5.5, pcbY: 1.3, pcbRotation: 90, connections: { pin1: "net.V5_IN", pin2: "net.GND" } }), jsxRuntime.jsx("resistor", { name: "R3", schMarginY: 0.7, schSectionName: "POWER_SWITCH", resistance: "49.9k", footprint: "0603", pcbX: 3, pcbY: -3, connections: { pin1: "net.ILIM", pin2: "net.GND" } }), jsxRuntime.jsx("capacitor", { name: "C3", schSectionName: "POWER_SWITCH", capacitance: "10uF", footprint: "0805", pcbX: 0, pcbY: -5.5, connections: { pin1: "net.V5_OUT", pin2: "net.GND" } }), jsxRuntime.jsx("capacitor", { name: "C4", schSectionName: "POWER_SWITCH", capacitance: "100nF", footprint: "0603", pcbX: 4, pcbY: -5.5, connections: { pin1: "net.V5_OUT", pin2: "net.GND" } }), jsxRuntime.jsx("connector", { name: "J2", schSectionName: "POWER_SWITCH", manufacturerPartNumber: "B2B-XH-A", footprint: "jst2_p2.5mm_xh", pinLabels: { pin1: "VOUT", pin2: "GND" }, schPinArrangement: { leftSide: ["VOUT", "GND"] }, pcbX: 0, pcbY: -11, connections: { VOUT: "net.V5_OUT", GND: "net.GND" } })] })] }), jsxRuntime.jsxs("schematicsheet", { name: "CONTROL_STATUS", displayName: "03 - Enable and fault status", children: [jsxRuntime.jsx("schematicsection", { name: "CONTROL_STATUS", displayName: "03 - Enable and fault status" }), jsxRuntime.jsxs("group", { name: "CONTROL_STATUS", schAutoLayoutEnabled: true, schMarginX: 1, schMarginY: 1, children: [jsxRuntime.jsx("resistor", { name: "R4", schSectionName: "CONTROL_STATUS", resistance: "100k", footprint: "0603", pcbX: -5, pcbY: 1, connections: { pin1: "net.V5_IN", pin2: "net.ENABLE" } }), jsxRuntime.jsx("resistor", { name: "R5", schSectionName: "CONTROL_STATUS", resistance: "10k", footprint: "0603", pcbX: -4, pcbY: -3, connections: { pin1: "net.V5_IN", pin2: "net.N_FAULT" } }), jsxRuntime.jsx("resistor", { name: "R6", pcbRotation: 180, schRotation: 0, schSectionName: "CONTROL_STATUS", resistance: "2.2k", footprint: "0603", pcbX: -6, pcbY: -7, connections: { pin1: "net.V5_IN", pin2: "net.FAULT_LED" } }), jsxRuntime.jsx("led", { name: "D1", schRotation: 0, schSectionName: "CONTROL_STATUS", manufacturerPartNumber: "LTST-C190KRKT", color: "red", footprint: "0603", pcbX: -9, pcbY: -7, connections: { anode: "net.FAULT_LED", cathode: "net.N_FAULT" } }), jsxRuntime.jsx("connector", { name: "J3", schSectionName: "CONTROL_STATUS", manufacturerPartNumber: "M20-9990345", footprint: "pinrow3_p2.54mm", pinLabels: { pin1: "EN", pin2: "N_FAULT", pin3: "GND" }, schPinArrangement: { leftSide: ["EN", "N_FAULT", "GND"] }, pcbX: -10, pcbY: -1, pcbRotation: 90, connections: {
                                    EN: "net.ENABLE",
                                    N_FAULT: "net.N_FAULT",
                                    GND: "net.GND",
                                } })] })] }), jsxRuntime.jsx("silkscreentext", { text: "USB-C 5V INPUT", pcbX: 0, pcbY: 14, fontSize: 0.8 }), jsxRuntime.jsx("silkscreentext", { text: "TPS2553 / 0.52A", pcbX: 7, pcbY: -11, fontSize: 0.65 }), jsxRuntime.jsx("silkscreentext", { text: "5V OUT", pcbX: 0, pcbY: -13.5, fontSize: 0.7 }), jsxRuntime.jsx("silkscreentext", { text: "FAULT", pcbX: -9, pcbY: -9, fontSize: 0.6 }), jsxRuntime.jsx("silkscreentext", { text: "EN  !FLT  GND", pcbX: -12.7, pcbY: -1, pcbRotation: 90, fontSize: 0.6 })] }));
}

module.exports = UsbPowerSwitchBoard;