ShiboSoftwareDev/clip-on-battery-meter-2

The code defines virtual representations of various electronic components—such as a BAT54WS Schottky diode and LM339 and LM393 voltage comparators—with physical pin configurations, footprints, and 3D models for PCB design.

Version
1.0.13
License
unset
Stars
0

dist/index.cjs

'use strict';

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

const pinLabels$4 = {
    // Imported with: tsci import --jlcpcb C3040452
    // JLC search query used during the 5th pass: "BAT54WS Schottky diode SOD-323".
    // The imported part labels pin1 as cathode (C) and pin2 as anode (A).
    pin1: ["C"],
    pin2: ["A"]
};
const pinAttributes$4 = {
    pin1: { mustBeConnected: true },
    C: { mustBeConnected: true },
    pin2: { mustBeConnected: true },
    A: { mustBeConnected: true },
};
const BAT54WS = (props) => {
    return (jsxRuntime.jsx("chip", { pinLabels: pinLabels$4, pinAttributes: pinAttributes$4, supplierPartNumbers: {
            "jlcpcb": [
                "C3040452"
            ]
        }, manufacturerPartNumber: "BAT54WS", footprint: jsxRuntime.jsxs("footprint", { children: [jsxRuntime.jsx("smtpad", { portHints: ["pin1"], pcbX: "-1.139952mm", pcbY: "0mm", width: "0.8299958mm", height: "0.6299962mm", shape: "rect" }), jsxRuntime.jsx("smtpad", { portHints: ["pin2"], pcbX: "1.139952mm", pcbY: "0mm", width: "0.8299958mm", height: "0.6299962mm", shape: "rect" }), jsxRuntime.jsx("silkscreenpath", { route: [{ "x": 0.8889237999999295, "y": -0.49509680000005574 }, { "x": 0.8889237999999295, "y": -0.6349999999999909 }] }), jsxRuntime.jsx("silkscreenpath", { route: [{ "x": 0.8889237999999295, "y": 0.6349999999999909 }, { "x": 0.8889237999999295, "y": 0.4951730000000225 }] }), jsxRuntime.jsx("silkscreenpath", { route: [{ "x": -0.8890762000000905, "y": 0.6349999999999909 }, { "x": -1.0200640000000476, "y": 0.6349999999999909 }, { "x": -1.0200640000000476, "y": 0.49509679999994205 }] }), jsxRuntime.jsx("silkscreenpath", { route: [{ "x": -1.0200640000000476, "y": 0.49509679999994205 }, { "x": -0.8890762000000905, "y": 0.49509679999994205 }] }), jsxRuntime.jsx("silkscreenpath", { route: [{ "x": -0.7757160000001022, "y": -0.6349999999999909 }, { "x": -1.0144760000000588, "y": -0.6349999999999909 }] }), jsxRuntime.jsx("silkscreenpath", { route: [{ "x": -1.0200640000000476, "y": -0.4951730000000225 }, { "x": -1.0200640000000476, "y": -0.6199885999999424 }] }), jsxRuntime.jsx("silkscreenpath", { route: [{ "x": -1.0200640000000476, "y": -0.4951730000000225 }, { "x": -0.8890762000000905, "y": -0.4951730000000225 }] }), jsxRuntime.jsx("silkscreenpath", { route: [{ "x": -0.8890762000000905, "y": 0.49509679999994205 }, { "x": -0.8890762000000905, "y": 0.6349999999999909 }] }), jsxRuntime.jsx("silkscreenpath", { route: [{ "x": -0.8890762000000905, "y": -0.5951219999999466 }, { "x": -0.8890762000000905, "y": -0.4951730000000225 }] }), jsxRuntime.jsx("silkscreenpath", { route: [{ "x": -0.8890762000000905, "y": -0.6349999999999909 }, { "x": 0.8889237999999295, "y": -0.6349999999999909 }] }), jsxRuntime.jsx("silkscreenpath", { route: [{ "x": 0.19042379999996228, "y": 0.3809999999999718 }, { "x": 0.19042379999996228, "y": -0.3810000000000855 }, { "x": -0.19057620000000952, "y": 0 }, { "x": 0.19042379999996228, "y": 0.3809999999999718 }] }), jsxRuntime.jsx("silkscreenpath", { route: [{ "x": -0.8890762000000905, "y": -0.5951219999999466 }, { "x": -0.8890762000000905, "y": -0.6349999999999909 }] }), jsxRuntime.jsx("silkscreenpath", { route: [{ "x": -0.8890762000000905, "y": 0.6349999999999909 }, { "x": -0.8890762000000905, "y": 0.5951219999999466 }] }), jsxRuntime.jsx("silkscreenpath", { route: [{ "x": -0.8890762000000905, "y": 0.6349999999999909 }, { "x": 0.8889237999999295, "y": 0.6349999999999909 }] }), jsxRuntime.jsx("silkscreenpath", { route: [{ "x": 0.5079237999999577, "y": 0 }, { "x": -0.508076200000005, "y": 0 }] }), jsxRuntime.jsx("silkscreenpath", { route: [{ "x": -0.2540761999999859, "y": 0.3809999999999718 }, { "x": -0.2540761999999859, "y": -0.3810000000000855 }] }), jsxRuntime.jsx("courtyardoutline", { outline: [{ "x": -1.795336000000134, "y": 0.9103999999999814 }, { "x": 1.8034639999999627, "y": 0.9103999999999814 }, { "x": 1.8034639999999627, "y": -0.9103999999998678 }, { "x": -1.795336000000134, "y": -0.9103999999998678 }, { "x": -1.795336000000134, "y": 0.9103999999999814 }] })] }), cadModel: {
            objUrl: "https://modelcdn.tscircuit.com/easyeda_models/assets/C3040452.obj?uuid=ca55f7f4aa2143938eb241550bbe4129",
            stepUrl: "https://modelcdn.tscircuit.com/easyeda_models/assets/C3040452.step?uuid=ca55f7f4aa2143938eb241550bbe4129",
            pcbRotationOffset: 0,
            modelOriginPosition: { x: 0, y: 0, z: -0.55 },
        }, ...props }));
};

const pinLabels$3 = {
    pin1: ["CAT"],
    pin2: ["AN"],
    pin3: ["NC"]
};
const pinAttributes$3 = {
    pin1: { requiresPower: true, mustBeConnected: true },
    CAT: { requiresPower: true, mustBeConnected: true },
    pin2: { requiresGround: true, mustBeConnected: true },
    AN: { requiresGround: true, mustBeConnected: true },
    pin3: {},
    NC: {},
};
const LM4040D25FTA = (props) => {
    return (jsxRuntime.jsx("chip", { pinLabels: pinLabels$3, pinAttributes: pinAttributes$3, supplierPartNumbers: {
            "jlcpcb": [
                "C107244"
            ]
        }, manufacturerPartNumber: "LM4040D25FTA", footprint: jsxRuntime.jsxs("footprint", { children: [jsxRuntime.jsx("smtpad", { portHints: ["pin1"], pcbX: "1.2350750000000517mm", pcbY: "-0.9499599999999191mm", width: "1.0700004mm", height: "0.5999987999999999mm", shape: "rect" }), jsxRuntime.jsx("smtpad", { portHints: ["pin2"], pcbX: "1.2350750000000517mm", pcbY: "0.9499599999999191mm", width: "1.0700004mm", height: "0.5999987999999999mm", shape: "rect" }), jsxRuntime.jsx("smtpad", { portHints: ["pin3"], pcbX: "-1.235074999999938mm", pcbY: "0mm", width: "1.0700004mm", height: "0.5999987999999999mm", shape: "rect" }), jsxRuntime.jsx("silkscreenpath", { route: [{ "x": 0.8760714000002281, "y": 1.5361919999999145 }, { "x": -0.8763253999998142, "y": 1.5361919999999145 }, { "x": -0.8763253999998142, "y": 0.49458879999997407 }] }), jsxRuntime.jsx("silkscreenpath", { route: [{ "x": 0.8760714000002281, "y": -1.5361920000000282 }, { "x": -0.8763253999998142, "y": -1.5361920000000282 }, { "x": -0.8763253999998142, "y": -0.49458879999997407 }] }), jsxRuntime.jsx("silkscreenpath", { route: [{ "x": 0.8760714000002281, "y": 0.45539659999997184 }, { "x": 0.8760714000002281, "y": -0.45539659999985815 }] }), jsxRuntime.jsx("courtyardoutline", { outline: [{ "x": -2.0281269999999267, "y": 1.774000000000001 }, { "x": 2.0024730000002364, "y": 1.774000000000001 }, { "x": 2.0024730000002364, "y": -1.7993999999999915 }, { "x": -2.0281269999999267, "y": -1.7993999999999915 }, { "x": -2.0281269999999267, "y": 1.774000000000001 }] })] }), cadModel: {
            objUrl: "https://modelcdn.tscircuit.com/easyeda_models/assets/C107244.obj?uuid=cefd4596db214da394d9632b2b88f8f2",
            stepUrl: "https://modelcdn.tscircuit.com/easyeda_models/assets/C107244.step?uuid=cefd4596db214da394d9632b2b88f8f2",
            pcbRotationOffset: 90,
            modelOriginPosition: { x: 0, y: 0, z: 0 },
        }, ...props }));
};

const pinLabels$2 = {
    pin1: ["IN_POS"],
    pin2: ["GND"],
    pin3: ["IN_NEG"],
    pin4: ["OUT"],
    pin5: ["VCC_POS"]
};
const pinAttributes$2 = {
    pin1: { mustBeConnected: true },
    IN_POS: { mustBeConnected: true },
    pin2: { requiresGround: true, mustBeConnected: true },
    GND: { requiresGround: true, mustBeConnected: true },
    pin3: { mustBeConnected: true },
    IN_NEG: { mustBeConnected: true },
    pin4: { mustBeConnected: true },
    OUT: { mustBeConnected: true },
    pin5: { requiresPower: true, mustBeConnected: true },
    VCC_POS: { requiresPower: true, mustBeConnected: true },
};
const LMV331IDBVR = (props) => {
    return (jsxRuntime.jsx("chip", { pinLabels: pinLabels$2, pinAttributes: pinAttributes$2, supplierPartNumbers: {
            "jlcpcb": [
                "C34731"
            ]
        }, manufacturerPartNumber: "LMV331IDBVR", footprint: jsxRuntime.jsxs("footprint", { children: [jsxRuntime.jsx("smtpad", { portHints: ["pin5"], pcbX: "-1.300098999999932mm", pcbY: "-0.9499600000000328mm", width: "1.0999978mm", height: "0.5999987999999999mm", shape: "rect" }), jsxRuntime.jsx("smtpad", { portHints: ["pin4"], pcbX: "-1.300098999999932mm", pcbY: "0.9499599999999191mm", width: "1.0999978mm", height: "0.5999987999999999mm", shape: "rect" }), jsxRuntime.jsx("smtpad", { portHints: ["pin3"], pcbX: "1.300098999999932mm", pcbY: "0.9499599999999191mm", width: "1.0999978mm", height: "0.5999987999999999mm", shape: "rect" }), jsxRuntime.jsx("smtpad", { portHints: ["pin2"], pcbX: "1.300098999999932mm", pcbY: "0mm", width: "1.0999978mm", height: "0.5999987999999999mm", shape: "rect" }), jsxRuntime.jsx("smtpad", { portHints: ["pin1"], pcbX: "1.300098999999932mm", pcbY: "-0.9499600000000328mm", width: "1.0999978mm", height: "0.5999987999999999mm", shape: "rect" }), jsxRuntime.jsx("silkscreenpath", { route: [{ "x": 0.8999728000000005, "y": -1.404111999999941 }, { "x": 0.8999728000000005, "y": -1.5500604000000067 }] }), jsxRuntime.jsx("silkscreenpath", { route: [{ "x": 0.8999728000000005, "y": -0.45412660000010874 }, { "x": 0.8999728000000005, "y": -0.4958079999998972 }] }), jsxRuntime.jsx("silkscreenpath", { route: [{ "x": 0.8999728000000005, "y": 0.4958079999998972 }, { "x": 0.8999728000000005, "y": 0.45415200000002187 }] }), jsxRuntime.jsx("silkscreenpath", { route: [{ "x": 0.8999728000000005, "y": 1.5499587999998994 }, { "x": 0.8999728000000005, "y": 1.404111999999941 }] }), jsxRuntime.jsx("silkscreenpath", { route: [{ "x": -0.9000489999999672, "y": -1.404111999999941 }, { "x": -0.9000489999999672, "y": -1.5500604000000067 }] }), jsxRuntime.jsx("silkscreenpath", { route: [{ "x": -0.9000489999999672, "y": 0.4958079999998972 }, { "x": -0.9000489999999672, "y": -0.4958334000000377 }] }), jsxRuntime.jsx("silkscreenpath", { route: [{ "x": -0.9000489999999672, "y": 1.5499587999998994 }, { "x": -0.9000489999999672, "y": 1.4040866000000278 }] }), jsxRuntime.jsx("silkscreenpath", { route: [{ "x": -0.9000489999999672, "y": 1.5499587999998994 }, { "x": 0.8999728000000005, "y": 1.5499587999998994 }] }), jsxRuntime.jsx("silkscreenpath", { route: [{ "x": -0.9000489999999672, "y": -1.5500604000000067 }, { "x": 0.8999728000000005, "y": -1.5500604000000067 }] }), jsxRuntime.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/C34731.obj?uuid=460193f9bf2d42e58cf3c2f675b07dc6",
            stepUrl: "https://modelcdn.tscircuit.com/easyeda_models/assets/C34731.step?uuid=460193f9bf2d42e58cf3c2f675b07dc6",
            pcbRotationOffset: 180,
            modelOriginPosition: { x: 0, y: 0, z: -0.049083 },
        }, ...props }));
};

const pinLabels$1 = {
    pin1: ["OUT2"],
    pin2: ["OUT1"],
    pin3: ["VCC"],
    pin4: ["IN1_NEG"],
    pin5: ["IN1_POS"],
    pin6: ["IN2_NEG"],
    pin7: ["IN2_POS"],
    pin8: ["IN3_NEG"],
    pin9: ["IN3_POS"],
    pin10: ["IN4_NEG"],
    pin11: ["IN4_POS"],
    pin12: ["GND"],
    pin13: ["OUT4"],
    pin14: ["OUT3"]
};
const pinAttributes$1 = {
    pin1: { mustBeConnected: true },
    OUT2: { mustBeConnected: true },
    pin2: { mustBeConnected: true },
    OUT1: { mustBeConnected: true },
    pin3: { requiresPower: true, mustBeConnected: true },
    VCC: { requiresPower: true, mustBeConnected: true },
    pin4: { mustBeConnected: true },
    IN1_NEG: { mustBeConnected: true },
    pin5: { mustBeConnected: true },
    IN1_POS: { mustBeConnected: true },
    pin6: { mustBeConnected: true },
    IN2_NEG: { mustBeConnected: true },
    pin7: { mustBeConnected: true },
    IN2_POS: { mustBeConnected: true },
    pin8: { mustBeConnected: true },
    IN3_NEG: { mustBeConnected: true },
    pin9: { mustBeConnected: true },
    IN3_POS: { mustBeConnected: true },
    pin10: { mustBeConnected: true },
    IN4_NEG: { mustBeConnected: true },
    pin11: { mustBeConnected: true },
    IN4_POS: { mustBeConnected: true },
    pin12: { requiresGround: true, mustBeConnected: true },
    GND: { requiresGround: true, mustBeConnected: true },
    pin13: { mustBeConnected: true },
    OUT4: { mustBeConnected: true },
    pin14: { mustBeConnected: true },
    OUT3: { mustBeConnected: true },
};
const LMV339IDR = (props) => {
    return (jsxRuntime.jsx("chip", { pinLabels: pinLabels$1, pinAttributes: pinAttributes$1, supplierPartNumbers: {
            "jlcpcb": [
                "C7978"
            ]
        }, manufacturerPartNumber: "LMV339IDR", footprint: jsxRuntime.jsxs("footprint", { children: [jsxRuntime.jsx("smtpad", { portHints: ["pin8"], pcbX: "3.8099999999999454mm", pcbY: "2.6189940000000433mm", width: "0.5739892mm", height: "2.0379944mm", shape: "rect" }), jsxRuntime.jsx("smtpad", { portHints: ["pin9"], pcbX: "2.5399999999999636mm", pcbY: "2.6189940000000433mm", width: "0.5739892mm", height: "2.0379944mm", shape: "rect" }), jsxRuntime.jsx("smtpad", { portHints: ["pin10"], pcbX: "1.2699999999999818mm", pcbY: "2.6189940000000433mm", width: "0.5739892mm", height: "2.0379944mm", shape: "rect" }), jsxRuntime.jsx("smtpad", { portHints: ["pin11"], pcbX: "0mm", pcbY: "2.6189940000000433mm", width: "0.5739892mm", height: "2.0379944mm", shape: "rect" }), jsxRuntime.jsx("smtpad", { portHints: ["pin12"], pcbX: "-1.2700000000000955mm", pcbY: "2.6189940000000433mm", width: "0.5739892mm", height: "2.0379944mm", shape: "rect" }), jsxRuntime.jsx("smtpad", { portHints: ["pin13"], pcbX: "-2.5400000000000773mm", pcbY: "2.6189940000000433mm", width: "0.5739892mm", height: "2.0379944mm", shape: "rect" }), jsxRuntime.jsx("smtpad", { portHints: ["pin14"], pcbX: "-3.810000000000059mm", pcbY: "2.6189940000000433mm", width: "0.5739892mm", height: "2.0379944mm", shape: "rect" }), jsxRuntime.jsx("smtpad", { portHints: ["pin7"], pcbX: "3.8099999999999454mm", pcbY: "-2.6189939999999297mm", width: "0.5739892mm", height: "2.0379944mm", shape: "rect" }), jsxRuntime.jsx("smtpad", { portHints: ["pin6"], pcbX: "2.5399999999999636mm", pcbY: "-2.6189939999999297mm", width: "0.5739892mm", height: "2.0379944mm", shape: "rect" }), jsxRuntime.jsx("smtpad", { portHints: ["pin5"], pcbX: "1.2699999999999818mm", pcbY: "-2.6189939999999297mm", width: "0.5739892mm", height: "2.0379944mm", shape: "rect" }), jsxRuntime.jsx("smtpad", { portHints: ["pin4"], pcbX: "0mm", pcbY: "-2.6189939999999297mm", width: "0.5739892mm", height: "2.0379944mm", shape: "rect" }), jsxRuntime.jsx("smtpad", { portHints: ["pin3"], pcbX: "-1.2700000000000955mm", pcbY: "-2.6189939999999297mm", width: "0.5739892mm", height: "2.0379944mm", shape: "rect" }), jsxRuntime.jsx("smtpad", { portHints: ["pin2"], pcbX: "-2.5400000000000773mm", pcbY: "-2.6189939999999297mm", width: "0.5739892mm", height: "2.0379944mm", shape: "rect" }), jsxRuntime.jsx("smtpad", { portHints: ["pin1"], pcbX: "-3.810000000000059mm", pcbY: "-2.6189939999999297mm", width: "0.5739892mm", height: "2.0379944mm", shape: "rect" }), jsxRuntime.jsx("courtyardoutline", { outline: [{ "x": -4.949000000000069, "y": 3.6027999999998883 }, { "x": 4.644200000000069, "y": 3.6027999999998883 }, { "x": 4.644200000000069, "y": -3.80600000000004 }, { "x": -4.949000000000069, "y": -3.80600000000004 }, { "x": -4.949000000000069, "y": 3.6027999999998883 }] })] }), cadModel: {
            objUrl: "https://modelcdn.tscircuit.com/easyeda_models/assets/C7978.obj?uuid=265efcdb862f47cf9eef6843d570fde7",
            stepUrl: "https://modelcdn.tscircuit.com/easyeda_models/assets/C7978.step?uuid=265efcdb862f47cf9eef6843d570fde7",
            pcbRotationOffset: 0,
            modelOriginPosition: { x: 0, y: 0, z: -0.099425 },
        }, ...props }));
};

const pinLabels = {
    // Imported from JLC/LCSC part C2979182, MY-18650-02.
    // The manufacturer drawing identifies this part as one 18650 battery terminal,
    // not a complete two-terminal battery holder. All copper belongs to one node.
    // Temporary routing workaround: expose each copper feature as a separate pin
    // so current core does not warn about far-apart pads sharing one port hint.
    pin1: ["pin1"], // right SMT pad
    pin2: ["pin2"], // left SMT pad
    pin3: ["pin3"], // left plated hole
    pin4: ["pin4"], // right plated hole
};
const pinAttributes = {
    pin1: { mustBeConnected: true, includeInBoardPinout: true },
    pin2: { mustBeConnected: true, includeInBoardPinout: true },
    pin3: { mustBeConnected: true, includeInBoardPinout: true },
    pin4: { mustBeConnected: true, includeInBoardPinout: true },
};
const MY_18650_02 = (props) => {
    return (jsxRuntime.jsx("connector", { pinLabels: pinLabels, pinAttributes: pinAttributes, supplierPartNumbers: {
            "jlcpcb": [
                "C2979182"
            ]
        }, manufacturerPartNumber: "MY_18650_02", footprint: jsxRuntime.jsxs("footprint", { children: [jsxRuntime.jsx("smtpad", { portHints: ["pin1"], pcbX: "8.499983mm", pcbY: "0mm", width: "4.99999mm", height: "5.499989mm", shape: "rect" }), jsxRuntime.jsx("smtpad", { portHints: ["pin2"], pcbX: "-8.499983mm", pcbY: "0mm", width: "4.99999mm", height: "3.499993mm", shape: "rect" }), jsxRuntime.jsx("platedhole", { portHints: ["pin3"], pcbX: "-8.000111mm", pcbY: "0mm", outerDiameter: "1.8499836mm", holeDiameter: "0.9249918mm", shape: "circle" }), jsxRuntime.jsx("platedhole", { portHints: ["pin4"], pcbX: "7.999857mm", pcbY: "0mm", outerDiameter: "1.8499836mm", holeDiameter: "0.9249918mm", shape: "circle" }), jsxRuntime.jsx("silkscreenpath", { route: [{ "x": -3.429990599999769, "y": 5.619978599999968 }, { "x": -3.429990599999769, "y": -5.782513199999926 }] }), jsxRuntime.jsx("silkscreenpath", { route: [{ "x": -3.429990599999769, "y": -5.669991199999913 }, { "x": 6.099987800000235, "y": -5.669991199999913 }] }), jsxRuntime.jsx("silkscreenpath", { route: [{ "x": -3.429990599999769, "y": 5.619978599999968 }, { "x": 6.099987800000235, "y": 5.619978599999968 }] }), jsxRuntime.jsx("silkscreenpath", { route: [{ "x": -5.899988199999825, "y": 1.9580351999999266 }, { "x": -5.899988199999825, "y": 5.619978599999968 }, { "x": -3.429990599999769, "y": 5.619978599999968 }, { "x": -3.429990599999769, "y": 8.249970800000028 }, { "x": 6.099987800000235, "y": 8.249970800000028 }] }), jsxRuntime.jsx("silkscreenpath", { route: [{ "x": 6.099987800000235, "y": -8.249996200000055 }, { "x": -3.429990599999769, "y": -8.249996200000055 }, { "x": -3.429990599999769, "y": -5.669991199999913 }, { "x": -5.899988199999825, "y": -5.669991199999913 }, { "x": -5.899988199999825, "y": -1.9580605999999534 }] }), jsxRuntime.jsx("silkscreenpath", { route: [{ "x": 6.099987800000235, "y": -2.9811217999999826 }, { "x": 6.099987800000235, "y": -8.249996200000055 }] }), jsxRuntime.jsx("silkscreenpath", { route: [{ "x": 6.099987800000235, "y": 8.249970800000028 }, { "x": 6.099987800000235, "y": 2.9811217999999826 }] }), jsxRuntime.jsx("courtyardoutline", { outline: [{ "x": -11.247310999999968, "y": 8.504999999999995 }, { "x": 11.24908900000014, "y": 8.504999999999995 }, { "x": 11.24908900000014, "y": -8.504999999999882 }, { "x": -11.247310999999968, "y": -8.504999999999882 }, { "x": -11.247310999999968, "y": 8.504999999999995 }] })] }), cadModel: {
            objUrl: "https://modelcdn.tscircuit.com/easyeda_models/assets/C2979182.obj?uuid=17bab5f954174916a1c2399c3b756d35",
            stepUrl: "https://modelcdn.tscircuit.com/easyeda_models/assets/C2979182.step?uuid=17bab5f954174916a1c2399c3b756d35",
            pcbRotationOffset: 0,
            modelOriginPosition: { x: 0, y: 0, z: -0.35000200000000015 },
        }, ...props }));
};

function ClipOnBatteryMeter() {
    return (jsxRuntime.jsxs("board", { width: "108mm", height: "40mm", layers: 2, minViaHoleDiameter: 0.3, minViaPadDiameter: 0.45, children: [jsxRuntime.jsx("silkscreentext", { text: "1S LI-ION METER", pcbX: -31, pcbY: 16.5, fontSize: "1.6mm", anchorAlignment: "center" }), jsxRuntime.jsx(MY_18650_02, { name: "J_BAT_POS", pcbX: -43, pcbY: 0, pinAttributes: {
                    pin1: { providesPower: true, mustBeConnected: true, includeInBoardPinout: true },
                    pin2: { providesPower: true, mustBeConnected: true, includeInBoardPinout: true },
                    pin3: { providesPower: true, mustBeConnected: true, includeInBoardPinout: true },
                    pin4: { providesPower: true, mustBeConnected: true, includeInBoardPinout: true },
                } }), jsxRuntime.jsx(MY_18650_02, { name: "J_BAT_NEG", pcbX: 13.25, pcbY: 0, pcbRotation: 180, pinAttributes: {
                    pin1: { requiresGround: true, mustBeConnected: true, includeInBoardPinout: true },
                    pin2: { requiresGround: true, mustBeConnected: true, includeInBoardPinout: true },
                    pin3: { requiresGround: true, mustBeConnected: true, includeInBoardPinout: true },
                    pin4: { requiresGround: true, mustBeConnected: true, includeInBoardPinout: true },
                } }), jsxRuntime.jsx(BAT54WS, { name: "D_PROT", pcbX: -28, pcbY: -13, schX: -6, schY: 2 }), jsxRuntime.jsx(BAT54WS, { name: "D_SENSE_CLAMP", pcbX: 9, pcbY: -15.5, pcbRotation: 90, schX: 0, schY: 2 }), jsxRuntime.jsx(LM4040D25FTA, { name: "U_REF", pcbX: -15, pcbY: 11.5, pinAttributes: {
                    CAT: { requiresPower: true, mustBeConnected: true },
                    AN: { requiresGround: true, mustBeConnected: true },
                } }), jsxRuntime.jsx(LMV339IDR, { name: "U1", pcbX: 39, pcbY: 12.5, pinAttributes: {
                    VCC: { requiresPower: true, mustBeConnected: true },
                    GND: { requiresGround: true, mustBeConnected: true },
                    OUT1: { mustBeConnected: true },
                    OUT2: { mustBeConnected: true },
                    OUT3: { mustBeConnected: true },
                    OUT4: { mustBeConnected: true },
                    IN1_NEG: { mustBeConnected: true },
                    IN1_POS: { mustBeConnected: true },
                    IN2_NEG: { mustBeConnected: true },
                    IN2_POS: { mustBeConnected: true },
                    IN3_NEG: { mustBeConnected: true },
                    IN3_POS: { mustBeConnected: true },
                    IN4_NEG: { mustBeConnected: true },
                    IN4_POS: { mustBeConnected: true },
                } }), jsxRuntime.jsx(LMV331IDBVR, { name: "U2", pcbX: 50.5, pcbY: 15.6, pcbRotation: 180, pinAttributes: {
                    VCC_POS: { requiresPower: true, mustBeConnected: true },
                    GND: { requiresGround: true, mustBeConnected: true },
                    OUT: { mustBeConnected: true },
                    IN_NEG: { mustBeConnected: true },
                    IN_POS: { mustBeConnected: true },
                } }), jsxRuntime.jsx("capacitor", { name: "C1", capacitance: "100nF", footprint: "0603", pcbX: 44.8, pcbY: 18 }), jsxRuntime.jsx("capacitor", { name: "C2", capacitance: "100nF", footprint: "0603", pcbX: 33, pcbY: 17.6 }), jsxRuntime.jsx("capacitor", { name: "C_SENSE", capacitance: "100nF", footprint: "0603", supplierPartNumbers: { jlcpcb: ["C14663"] }, pcbX: 18, pcbY: -14.5, pcbRotation: 90, schX: -2, schY: -2 }), jsxRuntime.jsx("resistor", { name: "RREF", resistance: "3.9k", footprint: "0603", supplierPartNumbers: { jlcpcb: ["C23018"] }, pcbX: -23, pcbY: 12.5, pcbRotation: 90 }), jsxRuntime.jsx("resistor", { name: "R_TOP", resistance: "100k", footprint: "0603", supplierPartNumbers: { jlcpcb: ["C14675"] }, pcbX: 13, pcbY: -11.5, pcbRotation: 90 }), jsxRuntime.jsx("resistor", { name: "R_BOT", resistance: "82k", footprint: "0603", supplierPartNumbers: { jlcpcb: ["C137678"] }, pcbX: 22, pcbY: -11.5, pcbRotation: 90 }), jsxRuntime.jsx("resistor", { name: "RTH_TOP", resistance: "26k", footprint: "0603", supplierPartNumbers: { jlcpcb: ["C844150"] }, pcbX: 26, pcbY: 17, pcbRotation: 90 }), jsxRuntime.jsx("resistor", { name: "RTH_100", resistance: "3.6k", footprint: "0603", supplierPartNumbers: { jlcpcb: ["C22980"] }, pcbX: 26, pcbY: 13.6, pcbRotation: 90 }), jsxRuntime.jsx("resistor", { name: "RTH_80", resistance: "3.6k", footprint: "0603", supplierPartNumbers: { jlcpcb: ["C22980"] }, pcbX: 26, pcbY: 9, pcbRotation: 90 }), jsxRuntime.jsx("resistor", { name: "RTH_60", resistance: "2.7k", footprint: "0603", supplierPartNumbers: { jlcpcb: ["C13167"] }, pcbX: 26, pcbY: 5, pcbRotation: 90 }), jsxRuntime.jsx("resistor", { name: "RTH_40", resistance: "4.7k", footprint: "0603", supplierPartNumbers: { jlcpcb: ["C23162"] }, pcbX: 26, pcbY: 1, pcbRotation: 90 }), jsxRuntime.jsx("resistor", { name: "RTH_20", resistance: "59k", footprint: "0603", supplierPartNumbers: { jlcpcb: ["C309564"] }, pcbX: 24.5, pcbY: -10.2, pcbRotation: 90 }), jsxRuntime.jsx("resistor", { name: "RHYS1", resistance: "3.3M", footprint: "0402", supplierPartNumbers: { jlcpcb: ["C470023"] }, pcbX: 31, pcbY: 6.5, pcbRotation: 0, schX: 1, schY: -1 }), jsxRuntime.jsx("resistor", { name: "RHYS2", resistance: "3.3M", footprint: "0402", supplierPartNumbers: { jlcpcb: ["C470023"] }, pcbX: 35, pcbY: 6, pcbRotation: 0, schX: 3, schY: -1 }), jsxRuntime.jsx("resistor", { name: "RHYS3", resistance: "3.3M", footprint: "0402", supplierPartNumbers: { jlcpcb: ["C470023"] }, pcbX: 41, pcbY: 6, pcbRotation: 0, schX: 7, schY: -1 }), jsxRuntime.jsx("resistor", { name: "RHYS4", resistance: "3.3M", footprint: "0402", supplierPartNumbers: { jlcpcb: ["C470023"] }, pcbX: 47, pcbY: 6, pcbRotation: 0, schX: 9, schY: -1 }), jsxRuntime.jsx("resistor", { name: "RHYS5", resistance: "3.3M", footprint: "0402", supplierPartNumbers: { jlcpcb: ["C470023"] }, pcbX: 52, pcbY: 6, pcbRotation: 0, schX: -1, schY: 6 }), jsxRuntime.jsx("resistor", { name: "RPU1", resistance: "1M", footprint: "0402", supplierPartNumbers: { jlcpcb: ["C138033"] }, pcbX: 29, pcbY: 3.5, pcbRotation: 0 }), jsxRuntime.jsx("resistor", { name: "RPU2", resistance: "1M", footprint: "0402", supplierPartNumbers: { jlcpcb: ["C138033"] }, pcbX: 35, pcbY: 3.5, pcbRotation: 0 }), jsxRuntime.jsx("resistor", { name: "RPU3", resistance: "1M", footprint: "0402", supplierPartNumbers: { jlcpcb: ["C138033"] }, pcbX: 41, pcbY: 3.5, pcbRotation: 0 }), jsxRuntime.jsx("resistor", { name: "RPU4", resistance: "1M", footprint: "0402", supplierPartNumbers: { jlcpcb: ["C138033"] }, pcbX: 47, pcbY: 3.5, pcbRotation: 0 }), jsxRuntime.jsx("resistor", { name: "RPU5", resistance: "1M", footprint: "0402", supplierPartNumbers: { jlcpcb: ["C138033"] }, pcbX: 52, pcbY: 3.5, pcbRotation: 0 }), jsxRuntime.jsx("led", { name: "LED1", footprint: "0603", color: "red", pcbX: 28, pcbY: -12.5 }), jsxRuntime.jsx("resistor", { name: "RLED1", resistance: "1k", footprint: "0603", pcbX: 28, pcbY: -10, pcbRotation: 90 }), jsxRuntime.jsx("silkscreentext", { text: "20%", pcbX: 28, pcbY: -6.5, fontSize: "1.7mm", anchorAlignment: "center" }), jsxRuntime.jsx("led", { name: "LED2", footprint: "0603", color: "yellow", pcbX: 34, pcbY: -12.5 }), jsxRuntime.jsx("resistor", { name: "RLED2", resistance: "1k", footprint: "0603", pcbX: 34, pcbY: -10, pcbRotation: 90 }), jsxRuntime.jsx("silkscreentext", { text: "40%", pcbX: 34, pcbY: -6.5, fontSize: "1.7mm", anchorAlignment: "center" }), jsxRuntime.jsx("led", { name: "LED3", footprint: "0603", color: "yellow", pcbX: 40, pcbY: -12.5 }), jsxRuntime.jsx("resistor", { name: "RLED3", resistance: "1k", footprint: "0603", pcbX: 40, pcbY: -10, pcbRotation: 90 }), jsxRuntime.jsx("silkscreentext", { text: "60%", pcbX: 40, pcbY: -6.5, fontSize: "1.7mm", anchorAlignment: "center" }), jsxRuntime.jsx("led", { name: "LED4", footprint: "0603", color: "green", pcbX: 46, pcbY: -12.5 }), jsxRuntime.jsx("resistor", { name: "RLED4", resistance: "1k", footprint: "0603", pcbX: 46, pcbY: -10, pcbRotation: 90 }), jsxRuntime.jsx("silkscreentext", { text: "80%", pcbX: 46, pcbY: -6.5, fontSize: "1.7mm", anchorAlignment: "center" }), jsxRuntime.jsx("led", { name: "LED5", footprint: "0603", color: "green", pcbX: 52, pcbY: -12.5 }), jsxRuntime.jsx("resistor", { name: "RLED5", resistance: "1k", footprint: "0603", pcbX: 52, pcbY: -10, pcbRotation: 90 }), jsxRuntime.jsx("silkscreentext", { text: "100%", pcbX: 52, pcbY: -6.5, fontSize: "1.7mm", anchorAlignment: "center" }), jsxRuntime.jsx("trace", { from: "J_BAT_POS.pin1", to: "net.BAT_RAW" }), jsxRuntime.jsx("trace", { from: "J_BAT_POS.pin2", to: "net.BAT_RAW" }), jsxRuntime.jsx("trace", { from: "J_BAT_POS.pin3", to: "net.BAT_RAW" }), jsxRuntime.jsx("trace", { from: "J_BAT_POS.pin4", to: "net.BAT_RAW" }), jsxRuntime.jsx("trace", { from: "J_BAT_NEG.pin1", to: "net.GND" }), jsxRuntime.jsx("trace", { from: "J_BAT_NEG.pin2", to: "net.GND" }), jsxRuntime.jsx("trace", { from: "J_BAT_NEG.pin3", to: "net.GND" }), jsxRuntime.jsx("trace", { from: "J_BAT_NEG.pin4", to: "net.GND" }), jsxRuntime.jsx("trace", { from: "net.BAT_RAW", to: "D_PROT.A" }), jsxRuntime.jsx("trace", { from: "D_PROT.C", to: "net.BAT_POS" }), jsxRuntime.jsx("trace", { from: "net.BAT_POS", to: "RREF.pin1" }), jsxRuntime.jsx("trace", { from: "RREF.pin2", to: "U_REF.CAT" }), jsxRuntime.jsx("trace", { from: "U_REF.AN", to: "net.GND" }), jsxRuntime.jsx("trace", { from: "net.BAT_RAW", to: "R_TOP.pin1" }), jsxRuntime.jsx("trace", { from: "R_TOP.pin2", to: "net.SENSE_DIV" }), jsxRuntime.jsx("trace", { from: "R_BOT.pin1", to: "net.SENSE_DIV" }), jsxRuntime.jsx("trace", { from: "R_BOT.pin2", to: "net.GND" }), jsxRuntime.jsx("trace", { from: "net.SENSE_DIV", to: "C_SENSE.pin1" }), jsxRuntime.jsx("trace", { from: "C_SENSE.pin2", to: "net.GND" }), jsxRuntime.jsx("trace", { from: "net.GND", to: "D_SENSE_CLAMP.A" }), jsxRuntime.jsx("trace", { from: "net.SENSE_DIV", to: "D_SENSE_CLAMP.C" }), jsxRuntime.jsx("trace", { from: "U_REF.CAT", to: "RTH_TOP.pin1" }), jsxRuntime.jsx("trace", { from: "RTH_TOP.pin2", to: "net.TH_100" }), jsxRuntime.jsx("trace", { from: "RTH_100.pin1", to: "net.TH_100" }), jsxRuntime.jsx("trace", { from: "RTH_100.pin2", to: "net.TH_80" }), jsxRuntime.jsx("trace", { from: "RTH_80.pin1", to: "net.TH_80" }), jsxRuntime.jsx("trace", { from: "RTH_80.pin2", to: "net.TH_60" }), jsxRuntime.jsx("trace", { from: "RTH_60.pin1", to: "net.TH_60" }), jsxRuntime.jsx("trace", { from: "RTH_60.pin2", to: "net.TH_40" }), jsxRuntime.jsx("trace", { from: "RTH_40.pin1", to: "net.TH_40" }), jsxRuntime.jsx("trace", { from: "RTH_40.pin2", to: "net.TH_20" }), jsxRuntime.jsx("trace", { from: "RTH_20.pin1", to: "net.TH_20" }), jsxRuntime.jsx("trace", { from: "RTH_20.pin2", to: "R_BOT.pin2" }), jsxRuntime.jsx("trace", { from: "net.BAT_POS", to: "U1.VCC" }), jsxRuntime.jsx("trace", { from: "net.BAT_POS", to: "U2.VCC_POS" }), jsxRuntime.jsx("trace", { from: "net.GND", to: "U1.GND" }), jsxRuntime.jsx("trace", { from: "net.GND", to: "U2.GND" }), jsxRuntime.jsx("trace", { from: "net.BAT_POS", to: "C1.pin1" }), jsxRuntime.jsx("trace", { from: "C1.pin2", to: "net.GND" }), jsxRuntime.jsx("trace", { from: "net.BAT_POS", to: "C2.pin1" }), jsxRuntime.jsx("trace", { from: "C2.pin2", to: "net.GND" }), jsxRuntime.jsx("trace", { from: "net.SENSE_DIV", to: "U1.IN1_NEG" }), jsxRuntime.jsx("trace", { from: "net.SENSE_DIV", to: "U1.IN2_NEG" }), jsxRuntime.jsx("trace", { from: "net.SENSE_DIV", to: "U1.IN3_NEG" }), jsxRuntime.jsx("trace", { from: "net.SENSE_DIV", to: "U1.IN4_NEG" }), jsxRuntime.jsx("trace", { from: "net.SENSE_DIV", to: "U2.IN_NEG" }), jsxRuntime.jsx("trace", { from: "net.TH_20", to: "U1.IN1_POS" }), jsxRuntime.jsx("trace", { from: "net.TH_40", to: "U1.IN2_POS" }), jsxRuntime.jsx("trace", { from: "net.TH_60", to: "U1.IN3_POS" }), jsxRuntime.jsx("trace", { from: "net.TH_80", to: "U1.IN4_POS" }), jsxRuntime.jsx("trace", { from: "net.TH_100", to: "U2.IN_POS" }), jsxRuntime.jsx("trace", { from: "U1.OUT1", to: "RHYS1.pin1" }), jsxRuntime.jsx("trace", { from: "RHYS1.pin2", to: "net.TH_20" }), jsxRuntime.jsx("trace", { from: "net.BAT_POS", to: "RPU1.pin1" }), jsxRuntime.jsx("trace", { from: "RPU1.pin2", to: "U1.OUT1" }), jsxRuntime.jsx("trace", { from: "U1.OUT2", to: "RHYS2.pin1" }), jsxRuntime.jsx("trace", { from: "RHYS2.pin2", to: "net.TH_40" }), jsxRuntime.jsx("trace", { from: "net.BAT_POS", to: "RPU2.pin1" }), jsxRuntime.jsx("trace", { from: "RPU2.pin2", to: "U1.OUT2" }), jsxRuntime.jsx("trace", { from: "U1.OUT3", to: "RHYS3.pin1" }), jsxRuntime.jsx("trace", { from: "RHYS3.pin2", to: "net.TH_60" }), jsxRuntime.jsx("trace", { from: "net.BAT_POS", to: "RPU3.pin1" }), jsxRuntime.jsx("trace", { from: "RPU3.pin2", to: "U1.OUT3" }), jsxRuntime.jsx("trace", { from: "U1.OUT4", to: "RHYS4.pin1" }), jsxRuntime.jsx("trace", { from: "RHYS4.pin2", to: "net.TH_80" }), jsxRuntime.jsx("trace", { from: "net.BAT_POS", to: "RPU4.pin1" }), jsxRuntime.jsx("trace", { from: "RPU4.pin2", to: "U1.OUT4" }), jsxRuntime.jsx("trace", { from: "U2.OUT", to: "RHYS5.pin1" }), jsxRuntime.jsx("trace", { from: "RHYS5.pin2", to: "net.TH_100" }), jsxRuntime.jsx("trace", { from: "net.BAT_POS", to: "RPU5.pin1" }), jsxRuntime.jsx("trace", { from: "RPU5.pin2", to: "U2.OUT" }), jsxRuntime.jsx("trace", { from: "net.BAT_POS", to: "RLED1.pin1" }), jsxRuntime.jsx("trace", { from: "RLED1.pin2", to: "LED1.anode" }), jsxRuntime.jsx("trace", { from: "LED1.cathode", to: "U1.OUT1" }), jsxRuntime.jsx("trace", { from: "net.BAT_POS", to: "RLED2.pin1" }), jsxRuntime.jsx("trace", { from: "RLED2.pin2", to: "LED2.anode" }), jsxRuntime.jsx("trace", { from: "LED2.cathode", to: "U1.OUT2" }), jsxRuntime.jsx("trace", { from: "net.BAT_POS", to: "RLED3.pin1" }), jsxRuntime.jsx("trace", { from: "RLED3.pin2", to: "LED3.anode" }), jsxRuntime.jsx("trace", { from: "LED3.cathode", to: "U1.OUT3" }), jsxRuntime.jsx("trace", { from: "net.BAT_POS", to: "RLED4.pin1" }), jsxRuntime.jsx("trace", { from: "RLED4.pin2", to: "LED4.anode" }), jsxRuntime.jsx("trace", { from: "LED4.cathode", to: "U1.OUT4" }), jsxRuntime.jsx("trace", { from: "net.BAT_POS", to: "RLED5.pin1" }), jsxRuntime.jsx("trace", { from: "RLED5.pin2", to: "LED5.anode" }), jsxRuntime.jsx("trace", { from: "LED5.cathode", to: "U2.OUT" })] }));
}

module.exports = ClipOnBatteryMeter;