Devesh36/bicycle-brake-light

A USB‑C rechargeable 1S Li‑ion bicycle brake-light PCB with BQ24074 charging/protection, 3.3V AVR control, ADXL345 motion sensing, six PWM-driven red LEDs, and ISP programming.

Version
0.1.3
License
unset
Stars
0

dist/index.cjs

'use strict';

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

const pinLabels$6 = {
    pin1: ["TS"],
    pin2: ["BAT1"],
    pin3: ["BAT2"],
    pin4: ["N_CE"],
    pin5: ["EN2"],
    pin6: ["EN1"],
    pin7: ["N_PGOOD"],
    pin8: ["VSS"],
    pin9: ["N_CHG"],
    pin10: ["OUT1"],
    pin11: ["OUT2"],
    pin12: ["ILIM"],
    pin13: ["IN"],
    pin14: ["TMR"],
    pin15: ["ITERM"],
    pin16: ["ISET"],
    pin17: ["EP"]
};
const pinAttributes = {
    pin13: { requiresPower: true },
    pin8: { requiresGround: true }
};
const BQ24074RGTR = (props) => {
    return (jsxRuntime.jsx("chip", { schMarginX: "3mm", schMarginY: "1mm", pinLabels: pinLabels$6, pinAttributes: pinAttributes, supplierPartNumbers: {
            "jlcpcb": [
                "C54313"
            ]
        }, manufacturerPartNumber: "BQ24074RGTR", footprint: jsxRuntime.jsxs("footprint", { children: [jsxRuntime.jsx("smtpad", { portHints: ["pin1"], pcbX: "-1.499997mm", pcbY: "0.750189mm", width: "0.850011mm", height: "0.2800096mm", radius: "0.1400048mm", shape: "pill" }), jsxRuntime.jsx("smtpad", { portHints: ["pin2"], pcbX: "-1.499997mm", pcbY: "0.250063mm", width: "0.850011mm", height: "0.2800096mm", radius: "0.1400048mm", shape: "pill" }), jsxRuntime.jsx("smtpad", { portHints: ["pin3"], pcbX: "-1.499997mm", pcbY: "-0.249809mm", width: "0.850011mm", height: "0.2800096mm", radius: "0.1400048mm", shape: "pill" }), jsxRuntime.jsx("smtpad", { portHints: ["pin4"], pcbX: "-1.499997mm", pcbY: "-0.749935mm", width: "0.850011mm", height: "0.2800096mm", radius: "0.1400048mm", shape: "pill" }), jsxRuntime.jsx("smtpad", { portHints: ["pin5"], pcbX: "-0.749935mm", pcbY: "-1.499997mm", width: "0.2800096mm", height: "0.850011mm", radius: "0.1400048mm", shape: "pill" }), jsxRuntime.jsx("smtpad", { portHints: ["pin6"], pcbX: "-0.249809mm", pcbY: "-1.499997mm", width: "0.2800096mm", height: "0.850011mm", radius: "0.1400048mm", shape: "pill" }), jsxRuntime.jsx("smtpad", { portHints: ["pin7"], pcbX: "0.250063mm", pcbY: "-1.499997mm", width: "0.2800096mm", height: "0.850011mm", radius: "0.1400048mm", shape: "pill" }), jsxRuntime.jsx("smtpad", { portHints: ["pin8"], pcbX: "0.750189mm", pcbY: "-1.499997mm", width: "0.2800096mm", height: "0.850011mm", radius: "0.1400048mm", shape: "pill" }), jsxRuntime.jsx("smtpad", { portHints: ["pin9"], pcbX: "1.499997mm", pcbY: "-0.749935mm", width: "0.850011mm", height: "0.2800096mm", radius: "0.1400048mm", shape: "pill" }), jsxRuntime.jsx("smtpad", { portHints: ["pin10"], pcbX: "1.499997mm", pcbY: "-0.249809mm", width: "0.850011mm", height: "0.2800096mm", radius: "0.1400048mm", shape: "pill" }), jsxRuntime.jsx("smtpad", { portHints: ["pin11"], pcbX: "1.499997mm", pcbY: "0.250063mm", width: "0.850011mm", height: "0.2800096mm", radius: "0.1400048mm", shape: "pill" }), jsxRuntime.jsx("smtpad", { portHints: ["pin12"], pcbX: "1.499997mm", pcbY: "0.750189mm", width: "0.850011mm", height: "0.2800096mm", radius: "0.1400048mm", shape: "pill" }), jsxRuntime.jsx("smtpad", { portHints: ["pin13"], pcbX: "0.750189mm", pcbY: "1.499997mm", width: "0.2800096mm", height: "0.850011mm", radius: "0.1400048mm", shape: "pill" }), jsxRuntime.jsx("smtpad", { portHints: ["pin14"], pcbX: "0.250063mm", pcbY: "1.499997mm", width: "0.2800096mm", height: "0.850011mm", radius: "0.1400048mm", shape: "pill" }), jsxRuntime.jsx("smtpad", { portHints: ["pin15"], pcbX: "-0.249809mm", pcbY: "1.499997mm", width: "0.2800096mm", height: "0.850011mm", radius: "0.1400048mm", shape: "pill" }), jsxRuntime.jsx("smtpad", { portHints: ["pin16"], pcbX: "-0.749935mm", pcbY: "1.499997mm", width: "0.2800096mm", height: "0.850011mm", radius: "0.1400048mm", shape: "pill" }), jsxRuntime.jsx("smtpad", { portHints: ["pin17"], points: [{ x: "0.8501126mm", y: "0.8501126mm" }, { x: "0.8501126mm", y: "-0.849884mm" }, { x: "-0.849884mm", y: "-0.849884mm" }, { x: "-0.849884mm", y: "0.4251198mm" }, { x: "-0.4248658mm", y: "0.850138mm" }], solderPasteMargin: -0.0625, shape: "polygon" }), jsxRuntime.jsx("platedhole", { shape: "circle", pcbX: 0.0001143, pcbY: 0.000127, holeDiameter: 0.3, outerDiameter: 0.6, portHints: ["pin17"], coveredWithSolderMask: true }), jsxRuntime.jsx("silkscreenpath", { route: [{ "x": 1.2751307999999995, "y": -1.7247107999999969 }, { "x": 1.724964799999995, "y": -1.7247107999999969 }, { "x": 1.724964799999995, "y": -1.2748768000000013 }] }), jsxRuntime.jsx("silkscreenpath", { route: [{ "x": 1.2751307999999995, "y": 1.7251172000000068 }, { "x": 1.724964799999995, "y": 1.7251172000000068 }, { "x": 1.724964799999995, "y": 1.2752832000000112 }] }), jsxRuntime.jsx("silkscreenpath", { route: [{ "x": -1.7248632000000015, "y": 1.2752832000000112 }, { "x": -1.7248632000000015, "y": 1.7251172000000068 }, { "x": -1.2750292000000059, "y": 1.7251172000000068 }] }), jsxRuntime.jsx("silkscreenpath", { route: [{ "x": -1.2750292000000059, "y": -1.7247107999999969 }, { "x": -1.7248632000000015, "y": -1.7247107999999969 }, { "x": -1.7248632000000015, "y": -1.2748768000000013 }] }), jsxRuntime.jsx("silkscreenpath", { route: [{ "x": -2.0751292000000063, "y": 1.5242032000000023 }, { "x": -2.2257712297039234, "y": 1.6729442559976633 }, { "x": -2.3751486240147415, "y": 1.5229332000000042 }, { "x": -2.2257712297039234, "y": 1.3729221440023451 }, { "x": -2.0751292000000063, "y": 1.521663200000006 }] }), jsxRuntime.jsx("silkscreentext", { text: "{NAME}", pcbX: "-0.231775mm", pcbY: "2.920875mm", anchorAlignment: "center", fontSize: "1mm" }), jsxRuntime.jsx("courtyardoutline", { outline: [{ "x": -2.6280749999999955, "y": 2.1708750000000094 }, { "x": 2.1645249999999976, "y": 2.1708750000000094 }, { "x": 2.1645249999999976, "y": -2.189924999999988 }, { "x": -2.6280749999999955, "y": -2.189924999999988 }, { "x": -2.6280749999999955, "y": 2.1708750000000094 }] })] }), cadModel: {
            objUrl: "https://modelcdn.tscircuit.com/easyeda_models/assets/C54313.obj?uuid=6e50ae26fe4f4c2a8ee6b5b5bc616dea",
            stepUrl: "https://modelcdn.tscircuit.com/easyeda_models/assets/C54313.step?uuid=6e50ae26fe4f4c2a8ee6b5b5bc616dea",
            pcbRotationOffset: 0,
            modelOriginPosition: { x: 0, y: 0.000012699999999199463, z: 0 },
        }, ...props }));
};

const pinLabels$5 = {
    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", { schMarginX: "2mm", schMarginY: "1mm", pinLabels: pinLabels$5, 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 JstBattery = (props) => (jsxRuntime.jsx("connector", { schMarginX: "2mm", schMarginY: "1mm", manufacturerPartNumber: "B3B-PH-K-S(LF)(SN)", pinLabels: { pin1: "BAT_PLUS", pin2: "NTC", pin3: "GND" }, footprint: jsxRuntime.jsxs("footprint", { insertionDirection: "from_above", children: [jsxRuntime.jsx("platedhole", { portHints: ["pin1"], pcbX: "0mm", pcbY: "0mm", holeShape: "circle", padShape: "rect", holeDiameter: "0.75mm", rectPadWidth: "1.2mm", rectPadHeight: "1.75mm", rectBorderRadius: "0.1249998mm", holeOffsetX: "0mm", holeOffsetY: "0mm", pcbRotation: "0deg", shape: "circular_hole_with_rect_pad" }), jsxRuntime.jsx("platedhole", { portHints: ["pin2"], pcbX: "2mm", pcbY: "0mm", outerHeight: "1.75mm", outerWidth: "1.2mm", holeHeight: "0.75mm", holeWidth: "0.75mm", shape: "pill", pcbRotation: "0deg" }), jsxRuntime.jsx("platedhole", { portHints: ["pin3"], pcbX: "4mm", pcbY: "0mm", outerHeight: "1.75mm", outerWidth: "1.2mm", holeHeight: "0.75mm", holeWidth: "0.75mm", shape: "pill", pcbRotation: "0deg" }), jsxRuntime.jsx("silkscreenpath", { route: [{ "x": -2.06, "y": 1.81 }, { "x": -2.06, "y": -2.91 }], strokeWidth: 0.12 }), jsxRuntime.jsx("silkscreenpath", { route: [{ "x": -2.06, "y": -2.91 }, { "x": 6.06, "y": -2.91 }], strokeWidth: 0.12 }), jsxRuntime.jsx("silkscreenpath", { route: [{ "x": 6.06, "y": -2.91 }, { "x": 6.06, "y": 1.81 }], strokeWidth: 0.12 }), jsxRuntime.jsx("silkscreenpath", { route: [{ "x": 6.06, "y": 1.81 }, { "x": -2.06, "y": 1.81 }], strokeWidth: 0.12 }), jsxRuntime.jsx("silkscreenpath", { route: [{ "x": -0.3, "y": 1.81 }, { "x": -0.3, "y": 2.01 }], strokeWidth: 0.12 }), jsxRuntime.jsx("silkscreenpath", { route: [{ "x": -0.3, "y": 2.01 }, { "x": -0.6, "y": 2.01 }], strokeWidth: 0.12 }), jsxRuntime.jsx("silkscreenpath", { route: [{ "x": -0.6, "y": 2.01 }, { "x": -0.6, "y": 1.81 }], strokeWidth: 0.12 }), jsxRuntime.jsx("silkscreenpath", { route: [{ "x": -0.3, "y": 1.91 }, { "x": -0.6, "y": 1.91 }], strokeWidth: 0.12 }), jsxRuntime.jsx("silkscreenpath", { route: [{ "x": 0.5, "y": 1.81 }, { "x": 0.5, "y": 1.2 }], strokeWidth: 0.12 }), jsxRuntime.jsx("silkscreenpath", { route: [{ "x": 0.5, "y": 1.2 }, { "x": -1.45, "y": 1.2 }], strokeWidth: 0.12 }), jsxRuntime.jsx("silkscreenpath", { route: [{ "x": -1.45, "y": 1.2 }, { "x": -1.45, "y": -2.3 }], strokeWidth: 0.12 }), jsxRuntime.jsx("silkscreenpath", { route: [{ "x": -1.45, "y": -2.3 }, { "x": 5.45, "y": -2.3 }], strokeWidth: 0.12 }), jsxRuntime.jsx("silkscreenpath", { route: [{ "x": 5.45, "y": -2.3 }, { "x": 5.45, "y": 1.2 }], strokeWidth: 0.12 }), jsxRuntime.jsx("silkscreenpath", { route: [{ "x": 5.45, "y": 1.2 }, { "x": 3.5, "y": 1.2 }], strokeWidth: 0.12 }), jsxRuntime.jsx("silkscreenpath", { route: [{ "x": 3.5, "y": 1.2 }, { "x": 3.5, "y": 1.81 }], strokeWidth: 0.12 }), jsxRuntime.jsx("silkscreenpath", { route: [{ "x": -2.06, "y": 0.5 }, { "x": -1.45, "y": 0.5 }], strokeWidth: 0.12 }), jsxRuntime.jsx("silkscreenpath", { route: [{ "x": -2.06, "y": -0.8 }, { "x": -1.45, "y": -0.8 }], strokeWidth: 0.12 }), jsxRuntime.jsx("silkscreenpath", { route: [{ "x": 6.06, "y": 0.5 }, { "x": 5.45, "y": 0.5 }], strokeWidth: 0.12 }), jsxRuntime.jsx("silkscreenpath", { route: [{ "x": 6.06, "y": -0.8 }, { "x": 5.45, "y": -0.8 }], strokeWidth: 0.12 }), jsxRuntime.jsx("silkscreenpath", { route: [{ "x": 0.9, "y": -2.3 }, { "x": 0.9, "y": -1.8 }], strokeWidth: 0.12 }), jsxRuntime.jsx("silkscreenpath", { route: [{ "x": 0.9, "y": -1.8 }, { "x": 1.1, "y": -1.8 }], strokeWidth: 0.12 }), jsxRuntime.jsx("silkscreenpath", { route: [{ "x": 1.1, "y": -1.8 }, { "x": 1.1, "y": -2.3 }], strokeWidth: 0.12 }), jsxRuntime.jsx("silkscreenpath", { route: [{ "x": 1, "y": -2.3 }, { "x": 1, "y": -1.8 }], strokeWidth: 0.12 }), jsxRuntime.jsx("silkscreenpath", { route: [{ "x": 2.9, "y": -2.3 }, { "x": 2.9, "y": -1.8 }], strokeWidth: 0.12 }), jsxRuntime.jsx("silkscreenpath", { route: [{ "x": 2.9, "y": -1.8 }, { "x": 3.1, "y": -1.8 }], strokeWidth: 0.12 }), jsxRuntime.jsx("silkscreenpath", { route: [{ "x": 3.1, "y": -1.8 }, { "x": 3.1, "y": -2.3 }], strokeWidth: 0.12 }), jsxRuntime.jsx("silkscreenpath", { route: [{ "x": 3, "y": -2.3 }, { "x": 3, "y": -1.8 }], strokeWidth: 0.12 }), jsxRuntime.jsx("silkscreenpath", { route: [{ "x": -1.11, "y": 2.11 }, { "x": -2.36, "y": 2.11 }], strokeWidth: 0.12 }), jsxRuntime.jsx("silkscreenpath", { route: [{ "x": -2.36, "y": 2.11 }, { "x": -2.36, "y": 0.86 }], strokeWidth: 0.12 }), jsxRuntime.jsx("fabricationnotepath", { route: [{ "x": -1.11, "y": 2.11 }, { "x": -2.36, "y": 2.11 }], strokeWidth: 0.1 }), jsxRuntime.jsx("fabricationnotepath", { route: [{ "x": -2.36, "y": 2.11 }, { "x": -2.36, "y": 0.86 }], strokeWidth: 0.1 }), jsxRuntime.jsx("fabricationnotepath", { route: [{ "x": -1.95, "y": 1.7 }, { "x": -1.95, "y": -2.8 }], strokeWidth: 0.1 }), jsxRuntime.jsx("fabricationnotepath", { route: [{ "x": -1.95, "y": -2.8 }, { "x": 5.95, "y": -2.8 }], strokeWidth: 0.1 }), jsxRuntime.jsx("fabricationnotepath", { route: [{ "x": 5.95, "y": -2.8 }, { "x": 5.95, "y": 1.7 }], strokeWidth: 0.1 }), jsxRuntime.jsx("fabricationnotepath", { route: [{ "x": 5.95, "y": 1.7 }, { "x": -1.95, "y": 1.7 }], strokeWidth: 0.1 }), jsxRuntime.jsx("fabricationnotetext", { pcbX: 2, pcbY: -4, anchorAlignment: "center", text: "JST PH 3P", font: "tscircuit2024", fontSize: 1 }), jsxRuntime.jsx("fabricationnotetext", { pcbX: 2, pcbY: -1.5, anchorAlignment: "center", text: "BAT/NTC/GND", font: "tscircuit2024", fontSize: 1 }), jsxRuntime.jsx("silkscreentext", { pcbX: 2, pcbY: 2.9, anchorAlignment: "center", fontSize: 1, font: "tscircuit2024", layer: "top", text: "{NAME}" }), jsxRuntime.jsx("courtyardoutline", { outline: [{ "x": -2.45, "y": 2.2 }, { "x": -2.45, "y": -3.3 }], layer: "top" }), jsxRuntime.jsx("courtyardoutline", { outline: [{ "x": -2.45, "y": -3.3 }, { "x": 6.45, "y": -3.3 }], layer: "top" }), jsxRuntime.jsx("courtyardoutline", { outline: [{ "x": 6.45, "y": -3.3 }, { "x": 6.45, "y": 2.2 }], layer: "top" }), jsxRuntime.jsx("courtyardoutline", { outline: [{ "x": 6.45, "y": 2.2 }, { "x": -2.45, "y": 2.2 }], layer: "top" })] }), ...props }));

const pinLabels$4 = {
    pin1: ["pin1"],
    pin2: ["pin2"],
    pin3: ["pin3"],
    pin4: ["pin4"]
};
const MSK12C02 = (props) => {
    const { name = "SW1", ...restProps } = props;
    return (jsxRuntime.jsx("switch", { name: name, pinLabels: pinLabels$4, supplierPartNumbers: {
            "jlcpcb": [
                "C431540"
            ]
        }, manufacturerPartNumber: "MSK12C02", footprint: jsxRuntime.jsxs("footprint", { children: [jsxRuntime.jsx("hole", { pcbX: "-1.49987mm", pcbY: "-0.75616435mm", diameter: "0.9000236mm" }), jsxRuntime.jsx("hole", { pcbX: "1.500124mm", pcbY: "-0.75616435mm", diameter: "0.9000236mm" }), jsxRuntime.jsx("smtpad", { portHints: ["pin4"], pcbX: "3.599942mm", pcbY: "0.39394765mm", width: "1.1999976mm", height: "0.6999986mm", shape: "rect" }), jsxRuntime.jsx("smtpad", { portHints: ["pin4"], pcbX: "3.599942mm", pcbY: "-1.90602235mm", width: "1.1999976mm", height: "0.6999986mm", shape: "rect" }), jsxRuntime.jsx("smtpad", { portHints: ["pin4"], pcbX: "-3.599942mm", pcbY: "-1.90602235mm", width: "1.1999976mm", height: "0.6999986mm", shape: "rect" }), jsxRuntime.jsx("smtpad", { portHints: ["pin4"], pcbX: "-3.599942mm", pcbY: "0.39394765mm", width: "1.1999976mm", height: "0.6999986mm", shape: "rect" }), jsxRuntime.jsx("smtpad", { portHints: ["pin3"], pcbX: "2.249932mm", pcbY: "1.49402165mm", width: "0.5999988mm", height: "1.524mm", shape: "rect" }), jsxRuntime.jsx("smtpad", { portHints: ["pin2"], pcbX: "0.750062mm", pcbY: "1.49402165mm", width: "0.5999988mm", height: "1.524mm", shape: "rect" }), jsxRuntime.jsx("smtpad", { portHints: ["pin1"], pcbX: "-2.249932mm", pcbY: "1.49402165mm", width: "0.5999988mm", height: "1.524mm", shape: "rect" }), jsxRuntime.jsx("silkscreenpath", { route: [{ "x": 0.1500124000000369, "y": -3.736016149999841 }, { "x": 1.4254734000001008, "y": -3.736016149999841 }, { "x": 1.4254734000001008, "y": -2.1359939499999427 }] }), jsxRuntime.jsx("silkscreenpath", { route: [{ "x": 0.1500124000000369, "y": -2.1359939499999427 }, { "x": 0.1500124000000369, "y": -3.736016149999841 }] }), jsxRuntime.jsx("silkscreenpath", { route: [{ "x": 3.399993199999926, "y": -0.1500695499998983 }, { "x": 3.399993199999926, "y": -1.3500671499998589 }] }), jsxRuntime.jsx("silkscreenpath", { route: [{ "x": -3.399993199999926, "y": -0.1500695499998983 }, { "x": -3.399993199999926, "y": -1.3500671499998589 }] }), jsxRuntime.jsx("silkscreenpath", { route: [{ "x": -2.749981799999887, "y": -2.1560345499999585 }, { "x": 2.7500325999999404, "y": -2.1560345499999585 }] }), jsxRuntime.jsx("silkscreenpath", { route: [{ "x": 2.768879399999946, "y": 0.7439342500000521 }, { "x": 2.7588971999999785, "y": 0.7439342500000521 }] }), jsxRuntime.jsx("silkscreenpath", { route: [{ "x": -1.4999970000001213, "y": 0.7439342500000521 }, { "x": 0, "y": 0.7439342500000521 }] }), jsxRuntime.jsx("silkscreentext", { text: "{NAME}", pcbX: "-0.005842mm", pcbY: "3.25017965mm", anchorAlignment: "center", fontSize: "1mm" }), jsxRuntime.jsx("fabricationnotepath", { route: [{ "x": 0.09997439999995095, "y": -2.1560345499999585 }, { "x": 0.09997439999995095, "y": -3.60599354999988 }, { "x": 1.4999715999999808, "y": -3.60599354999988 }, { "x": 1.4999715999999808, "y": -2.0059967499998947 }, { "x": 1.299972000000139, "y": -2.0059967499998947 }, { "x": 1.299972000000139, "y": -3.4059939499999246 }, { "x": 0.29997400000002017, "y": -3.4059939499999246 }, { "x": 0.29997400000002017, "y": -2.0059967499998947 }, { "x": 0.09997439999995095, "y": -2.0059967499998947 }, { "x": 0.09997439999995095, "y": -2.1560345499999585 }], strokeWidth: "0.254mm" }), jsxRuntime.jsx("fabricationnotepath", { route: [{ "x": -0.21501100000000406, "y": -2.610999349999929 }, { "x": -0.21501100000000406, "y": -2.9810011499998836 }, { "x": -1.4349984000000404, "y": -2.9810011499998836 }, { "x": -1.4349984000000404, "y": -3.2509777499998336 }, { "x": -1.4350237999999536, "y": -3.2509777499998336 }, { "x": -1.9050000000000864, "y": -2.781001549999928 }, { "x": -1.4349984000000404, "y": -2.3810023499999033 }, { "x": -1.4349984000000404, "y": -2.6209815499998967 }, { "x": -0.21501100000000406, "y": -2.610999349999929 }], strokeWidth: "0.254mm" }), jsxRuntime.jsx("courtyardoutline", { outline: [{ "x": -4.459541999999942, "y": 2.5001796500000637 }, { "x": 4.4478579999999965, "y": 2.5001796500000637 }, { "x": 4.4478579999999965, "y": -3.9942203499999778 }, { "x": -4.459541999999942, "y": -3.9942203499999778 }, { "x": -4.459541999999942, "y": 2.5001796500000637 }] })] }), cadModel: {
            objUrl: "https://modelcdn.tscircuit.com/easyeda_models/assets/C431540.obj?uuid=fc12522ae2f04394b021187ce17b23bb",
            stepUrl: "https://modelcdn.tscircuit.com/easyeda_models/assets/C431540.step?uuid=fc12522ae2f04394b021187ce17b23bb",
            pcbRotationOffset: 180,
            modelOriginPosition: { x: 0.000025400000026820635, y: -0.7060877499999378, z: -10000000000287557e-22 },
        }, ...restProps }));
};

const pinLabels$3 = {
    pin1: ["VIN"],
    pin2: ["GND"],
    pin3: ["EN"],
    pin4: ["NC"],
    pin5: ["VOUT"]
};
const AP2112K_3_3TRG1 = (props) => {
    return (jsxRuntime.jsx("chip", { schWidth: 1, pinLabels: pinLabels$3, schPinStyle: {
            pin1: { marginBottom: 0.2 },
            pin3: { marginBottom: 0.2 },
            pin5: { marginBottom: 0.8 }
        }, schPinArrangement: {
            rightSide: {
                direction: "top-to-bottom",
                pins: ["VOUT"]
            },
            leftSide: {
                direction: "top-to-bottom",
                pins: ["VIN", "EN", "GND"]
            }
        }, supplierPartNumbers: {
            "jlcpcb": [
                "C51118"
            ]
        }, manufacturerPartNumber: "AP2112K_3_3TRG1", footprint: jsxRuntime.jsxs("footprint", { children: [jsxRuntime.jsx("silkscreentext", { fontSize: 0.8, text: props.name }), jsxRuntime.jsx("smtpad", { portHints: ["pin4"], pcbX: "0.949705999999992mm", pcbY: "1.2999720000000252mm", width: "0.6223mm", height: "1.1049mm", shape: "rect" }), jsxRuntime.jsx("smtpad", { portHints: ["pin5"], pcbX: "-0.9497059999998783mm", pcbY: "1.2999720000000252mm", width: "0.6223mm", height: "1.1049mm", shape: "rect" }), jsxRuntime.jsx("smtpad", { portHints: ["pin1"], pcbX: "-0.9497059999998783mm", pcbY: "-1.2999720000000252mm", width: "0.6223mm", height: "1.1049mm", shape: "rect" }), jsxRuntime.jsx("smtpad", { portHints: ["pin2"], pcbX: "-0.0005079999999679785mm", pcbY: "-1.2999720000000252mm", width: "0.6223mm", height: "1.1049mm", shape: "rect" }), jsxRuntime.jsx("smtpad", { portHints: ["pin3"], pcbX: "0.949705999999992mm", pcbY: "-1.2999720000000252mm", width: "0.6223mm", height: "1.1049mm", shape: "rect" }), jsxRuntime.jsx("silkscreenpath", { route: [{ "x": 1.41193520000013, "y": -0.5003799999999501 }, { "x": -1.3871447999999873, "y": -0.5003799999999501 }] }), jsxRuntime.jsx("silkscreenpath", { route: [{ "x": -1.3871447999999873, "y": -0.5003799999999501 }, { "x": -1.3871447999999873, "y": 0.5003799999999501 }, { "x": 1.41193520000013, "y": 0.5003799999999501 }, { "x": 1.41193520000013, "y": -0.5003799999999501 }] }), jsxRuntime.jsx("silkscreenpath", { route: [{ "x": -1.779549399999837, "y": -1.5214599999999336 }, { "x": -1.9027377800492786, "y": -1.6465485285044679 }, { "x": -1.7782793999998603, "y": -1.7703735202394455 }, { "x": -1.6538210199506693, "y": -1.6465485285045816 }, { "x": -1.7770093999999972, "y": -1.5214599999999336 }] }), jsxRuntime.jsx("courtyardrect", { width: 3.6, height: 4.3 })] }), cadModel: {
            objUrl: "https://modelcdn.tscircuit.com/easyeda_models/download?uuid=6d166d1d6c064b99aa79465714e989c1&pn=C51118",
            rotationOffset: { x: 0, y: 0, z: 0 },
            positionOffset: { x: 0, y: 0, z: 0 },
        }, ...props }));
};

const pinLabels$2 = {
    pin1: ["PB5"],
    pin2: ["PB3"],
    pin3: ["PB4"],
    pin4: ["GND"],
    pin5: ["PB0"],
    pin6: ["PB1"],
    pin7: ["PB2"],
    pin8: ["VCC"]
};
const ATTINY85V_10SU = (props) => {
    return (jsxRuntime.jsx("chip", { pinLabels: pinLabels$2, supplierPartNumbers: {
            "jlcpcb": [
                "C152192"
            ]
        }, manufacturerPartNumber: "ATTINY85V_10SU", footprint: jsxRuntime.jsxs("footprint", { children: [jsxRuntime.jsx("smtpad", { portHints: ["pin1"], pcbX: "-1.9050000000000864mm", pcbY: "-3.5300920000000815mm", width: "0.6299962mm", height: "2.2500082mm", shape: "rect" }), jsxRuntime.jsx("smtpad", { portHints: ["pin2"], pcbX: "-0.6349999999999909mm", pcbY: "-3.5300920000000815mm", width: "0.6299962mm", height: "2.2500082mm", shape: "rect" }), jsxRuntime.jsx("smtpad", { portHints: ["pin3"], pcbX: "0.6349999999999909mm", pcbY: "-3.5300920000000815mm", width: "0.6299962mm", height: "2.2500082mm", shape: "rect" }), jsxRuntime.jsx("smtpad", { portHints: ["pin4"], pcbX: "1.9049999999999727mm", pcbY: "-3.5300920000000815mm", width: "0.6299962mm", height: "2.2500082mm", shape: "rect" }), jsxRuntime.jsx("smtpad", { portHints: ["pin8"], pcbX: "-1.9050000000000864mm", pcbY: "3.5300920000000815mm", width: "0.6299962mm", height: "2.2500082mm", shape: "rect" }), jsxRuntime.jsx("smtpad", { portHints: ["pin7"], pcbX: "-0.6349999999999909mm", pcbY: "3.5300920000000815mm", width: "0.6299962mm", height: "2.2500082mm", shape: "rect" }), jsxRuntime.jsx("smtpad", { portHints: ["pin6"], pcbX: "0.6349999999999909mm", pcbY: "3.5300920000000815mm", width: "0.6299962mm", height: "2.2500082mm", shape: "rect" }), jsxRuntime.jsx("smtpad", { portHints: ["pin5"], pcbX: "1.9049999999999727mm", pcbY: "3.5300920000000815mm", width: "0.6299962mm", height: "2.2500082mm", shape: "rect" }), jsxRuntime.jsx("silkscreenpath", { route: [{ "x": -2.6387044000000515, "y": -2.1763989999999467 }, { "x": -2.6387044000000515, "y": 2.1763990000000604 }, { "x": 2.6387044000000515, "y": 2.1763990000000604 }, { "x": 2.6387044000000515, "y": -2.1763989999999467 }, { "x": -2.6387044000000515, "y": -2.1763989999999467 }] }), jsxRuntime.jsx("courtyardrect", { width: 5.8, height: 9.9 })] }), cadModel: {
            objUrl: "https://modelcdn.tscircuit.com/easyeda_models/download?uuid=4652e19b90fa4dbb8662aa4cba61a532&pn=C152192",
            rotationOffset: { x: 0, y: 0, z: 0 },
            positionOffset: { x: 0, y: 0, z: 0 },
        }, ...props }));
};

const pinLabels$1 = {
    pin1: ["VDDIO"],
    pin2: ["GND1"],
    pin3: ["RESERVED1"],
    pin4: ["GND2"],
    pin5: ["GND3"],
    pin6: ["VS"],
    pin7: ["pin7"],
    pin8: ["INT1"],
    pin9: ["INT2"],
    pin10: ["NC"],
    pin11: ["RESERVED2"],
    pin12: ["pin12"],
    pin13: ["pin13"],
    pin14: ["pin14"]
};
const ADXL345BCCZ_RL7 = (props) => {
    return (jsxRuntime.jsx("chip", { pinLabels: pinLabels$1, supplierPartNumbers: {
            "jlcpcb": [
                "C9667"
            ]
        }, manufacturerPartNumber: "ADXL345BCCZ_RL7", footprint: jsxRuntime.jsxs("footprint", { children: [jsxRuntime.jsx("smtpad", { portHints: ["pin1"], pcbX: "-1.99999600000001mm", pcbY: "-1.409445999999889mm", width: "0.44800520000000005mm", height: "1.7690084mm", shape: "rect" }), jsxRuntime.jsx("smtpad", { portHints: ["pin2"], pcbX: "-1.1998960000001944mm", pcbY: "-1.409445999999889mm", width: "0.44800520000000005mm", height: "1.7690084mm", shape: "rect" }), jsxRuntime.jsx("smtpad", { portHints: ["pin3"], pcbX: "-0.4000500000000784mm", pcbY: "-1.409445999999889mm", width: "0.44800520000000005mm", height: "1.7690084mm", shape: "rect" }), jsxRuntime.jsx("smtpad", { portHints: ["pin4"], pcbX: "0.4000499999999647mm", pcbY: "-1.409445999999889mm", width: "0.44800520000000005mm", height: "1.7690084mm", shape: "rect" }), jsxRuntime.jsx("smtpad", { portHints: ["pin5"], pcbX: "1.1998960000000807mm", pcbY: "-1.409445999999889mm", width: "0.44800520000000005mm", height: "1.7690084mm", shape: "rect" }), jsxRuntime.jsx("smtpad", { portHints: ["pin6"], pcbX: "1.9999959999998964mm", pcbY: "-1.409445999999889mm", width: "0.44800520000000005mm", height: "1.7690084mm", shape: "rect" }), jsxRuntime.jsx("smtpad", { portHints: ["pin7"], pcbX: "2.2974299999998493mm", pcbY: "0mm", width: "1.5450058mm", height: "0.5999987999999999mm", shape: "rect" }), jsxRuntime.jsx("smtpad", { portHints: ["pin8"], pcbX: "1.9999959999998964mm", pcbY: "1.4094460000000026mm", width: "0.44800520000000005mm", height: "1.7690084mm", shape: "rect" }), jsxRuntime.jsx("smtpad", { portHints: ["pin9"], pcbX: "1.1998960000000807mm", pcbY: "1.4094460000000026mm", width: "0.44800520000000005mm", height: "1.7690084mm", shape: "rect" }), jsxRuntime.jsx("smtpad", { portHints: ["pin10"], pcbX: "0.4000499999999647mm", pcbY: "1.4094460000000026mm", width: "0.44800520000000005mm", height: "1.7690084mm", shape: "rect" }), jsxRuntime.jsx("smtpad", { portHints: ["pin11"], pcbX: "-0.4000500000000784mm", pcbY: "1.4094460000000026mm", width: "0.44800520000000005mm", height: "1.7690084mm", shape: "rect" }), jsxRuntime.jsx("smtpad", { portHints: ["pin12"], pcbX: "-1.1998960000001944mm", pcbY: "1.4094460000000026mm", width: "0.44800520000000005mm", height: "1.7690084mm", shape: "rect" }), jsxRuntime.jsx("smtpad", { portHints: ["pin13"], pcbX: "-1.99999600000001mm", pcbY: "1.4094460000000026mm", width: "0.44800520000000005mm", height: "1.7690084mm", shape: "rect" }), jsxRuntime.jsx("smtpad", { portHints: ["pin14"], pcbX: "-2.297429999999963mm", pcbY: "0mm", width: "1.5450058mm", height: "0.5999987999999999mm", shape: "rect" }), jsxRuntime.jsx("silkscreenpath", { route: [{ "x": -2.5761949999999842, "y": 0.5405120000000352 }, { "x": -2.5761949999999842, "y": 1.5761970000000929 }, { "x": -2.4144986000001154, "y": 1.5761970000000929 }] }), jsxRuntime.jsx("silkscreenpath", { route: [{ "x": 2.5761949999999842, "y": 0.5405120000000352 }, { "x": 2.5761949999999842, "y": 1.5761970000000929 }, { "x": 2.4144986000000017, "y": 1.5761970000000929 }] }), jsxRuntime.jsx("silkscreenpath", { route: [{ "x": -2.5761949999999842, "y": -0.5405120000000352 }, { "x": -2.5761949999999842, "y": -1.5761969999999792 }, { "x": -2.4144986000001154, "y": -1.5761969999999792 }] }), jsxRuntime.jsx("silkscreenpath", { route: [{ "x": 2.5761949999999842, "y": -0.5405120000000352 }, { "x": 2.5761949999999842, "y": -1.5761969999999792 }, { "x": 2.4144986000000017, "y": -1.5761969999999792 }] }), jsxRuntime.jsx("courtyardrect", { width: 6.7, height: 5.1 })] }), cadModel: {
            objUrl: "https://modelcdn.tscircuit.com/easyeda_models/download?uuid=a761e2d4c50e42c28a0df5e341dfbf4d&pn=C9667",
            rotationOffset: { x: 0, y: 0, z: 0 },
            positionOffset: { x: 0, y: 0, z: 0 },
        }, ...props }));
};

const pinLabels = {
    pin1: ["cathode", "neg"],
    pin2: ["anode", "pos"]
};
const XL_1608SURC_06 = (props) => {
    const { name = "LED1", ...restProps } = props;
    return (jsxRuntime.jsx("led", { name: name, pinLabels: pinLabels, supplierPartNumbers: {
            "jlcpcb": [
                "C965799"
            ]
        }, manufacturerPartNumber: "XL-1608SURC-06", footprint: jsxRuntime.jsxs("footprint", { children: [jsxRuntime.jsx("smtpad", { portHints: ["pin1", "cathode", "neg"], pcbX: "-0.7489952mm", pcbY: "-0.003429mm", width: "0.7999984mm", height: "0.7999984mm", shape: "rect" }), jsxRuntime.jsx("smtpad", { portHints: ["pin2", "anode", "pos"], pcbX: "0.7489952mm", pcbY: "0.003429mm", width: "0.7999984mm", height: "0.7999984mm", shape: "rect" }), jsxRuntime.jsx("silkscreenpath", { route: [{ "x": 0.2203958000000057, "y": -0.3235452000000123 }, { "x": 0.21048979999989115, "y": -0.3235452000000123 }, { "x": -0.11960860000010598, "y": 0.006477000000018052 }] }), jsxRuntime.jsx("silkscreenpath", { route: [{ "x": 0.2203958000000057, "y": 0.3564890000001242 }, { "x": 0.2203958000000057, "y": 0.3464814000001297 }, { "x": -0.11960860000010598, "y": 0.006477000000018052 }] }), jsxRuntime.jsx("silkscreenpath", { route: [{ "x": 0.2203958000000057, "y": 0.3564890000001242 }, { "x": 0.2203958000000057, "y": -0.3235452000000123 }] }), jsxRuntime.jsx("silkscreenpath", { route: [{ "x": 0.24043639999990774, "y": 0.7565136000000621 }, { "x": 1.3904975999998896, "y": 0.7565136000000621 }] }), jsxRuntime.jsx("silkscreenpath", { route: [{ "x": 0.24043639999990774, "y": -0.7436103999999659 }, { "x": 1.3904975999998896, "y": -0.7436103999999659 }] }), jsxRuntime.jsx("silkscreenpath", { route: [{ "x": 1.3904975999998896, "y": 0.7564628000000084 }, { "x": 1.3904975999998896, "y": -0.7235189999998966 }] }), jsxRuntime.jsx("silkscreenpath", { route: [{ "x": -0.13957299999992756, "y": -0.7458963999999924 }, { "x": -1.189685200000099, "y": -0.7458963999999924 }] }), jsxRuntime.jsx("silkscreenpath", { route: [{ "x": -1.4896337999999787, "y": -0.345795599999974 }, { "x": -1.4896337999999787, "y": -0.4458207999998649 }, { "x": -1.189685200000099, "y": -0.7458963999999924 }] }), jsxRuntime.jsx("silkscreenpath", { route: [{ "x": -1.4896337999999787, "y": 0.3541268000000173 }, { "x": -1.4896337999999787, "y": -0.345795599999974 }] }), jsxRuntime.jsx("silkscreenpath", { route: [{ "x": -1.4896337999999787, "y": 0.3541268000000173 }, { "x": -1.4896337999999787, "y": 0.4542790000000423 }, { "x": -1.189685200000099, "y": 0.7542276000000356 }] }), jsxRuntime.jsx("silkscreenpath", { route: [{ "x": -0.13957299999992756, "y": 0.7542276000000356 }, { "x": -1.189685200000099, "y": 0.7542276000000356 }] }), jsxRuntime.jsx("silkscreenpath", { route: [{ "x": 0.2203958000000057, "y": 0.006477000000018052 }, { "x": -0.11960860000010598, "y": 0.006477000000018052 }] }), jsxRuntime.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" }), jsxRuntime.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" }), jsxRuntime.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" }), jsxRuntime.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/C965799.obj?uuid=d0740cb8891c49a88b6949cb978926f3",
            stepUrl: "https://modelcdn.tscircuit.com/easyeda_models/assets/C965799.step?uuid=d0740cb8891c49a88b6949cb978926f3",
            pcbRotationOffset: 0,
            modelOriginPosition: { x: -12700000070253736e-21, y: 0.00005079999993995443, z: -0.01 },
        }, ...restProps }));
};

/** Workaround for props requiring a total Record, including every alias.
 * Populate all keys explicitly so this helper does not just suppress a type error.
 */
function completePinAttributes(labels, attributes) {
    return Object.fromEntries(Object.entries(labels).flatMap(([pin, aliases]) => [pin, ...aliases].map(alias => [alias, attributes[pin] ?? {}])));
}
const n = (name) => `net.${name}`;
const R = ({ name, value, a, b, x, y }) => jsxRuntime.jsx("resistor", { name: name, resistance: value, footprint: "0603", pcbX: x, pcbY: y, connections: { pin1: n(a), pin2: n(b) } });
const C = ({ name, value, rail, x, y }) => jsxRuntime.jsx("capacitor", { name: name, capacitance: value, maxVoltageRating: "10V", footprint: "0603", pcbX: x, pcbY: y, connections: { pin1: n(rail), pin2: n('GND') } });
var index_circuit = () => jsxRuntime.jsxs("board", { width: "90mm", height: "45mm", thickness: "1.6mm", minTraceWidth: 0.15, minViaHoleDiameter: 0.3, minViaPadDiameter: 0.6, pcbStyle: { viaHoleDiameter: 0.3, viaPadDiameter: 0.6 }, autorouter: { preset: "auto_local", traceClearance: 0.15, allowViaInPad: false }, children: [jsxRuntime.jsx("schematicsheet", { name: "Power", displayName: "USB-C charging and protected 1S battery", sheetIndex: 1, sheetSize: "ANSI_B", children: jsxRuntime.jsxs("group", { schGrid: true, gridCols: 4, gridGap: 3, children: [jsxRuntime.jsx(TYPE_C_31_M_12, { name: "J1", pcbX: -31, pcbY: -18, noConnect: ["pin5", "pin7", "pin8", "pin9", "pin10", "pin11"], connections: { pin1: n('GND'), pin2: n('GND'), pin3: n('GND'), pin4: n('GND'), pin6: n('CC1'), pin12: n('CC2'), pin13: n('GND'), pin14: n('GND'), pin15: n('USB5V'), pin16: n('USB5V') } }), jsxRuntime.jsx(R, { name: "R1", value: "5.1k", a: "CC1", b: "GND", x: -36, y: -10 }), jsxRuntime.jsx(R, { name: "R2", value: "5.1k", a: "CC2", b: "GND", x: -31, y: -10 }), jsxRuntime.jsx(C, { name: "C1", value: "4.7uF", rail: "USB5V", x: -27, y: -12 }), jsxRuntime.jsx(BQ24074RGTR, { name: "U1", pcbX: -23, pcbY: -6, noConnect: ["pin7", "pin15"], connections: { pin1: n('NTC'), pin2: n('VBAT'), pin3: n('VBAT'), pin4: n('GND'), pin5: n('VSYS'), pin6: n('GND'), pin8: n('GND'), pin9: n('CHG_N'), pin10: n('VSYS'), pin11: n('VSYS'), pin12: n('ILIM'), pin13: n('USB5V'), pin14: n('TMR'), pin16: n('ISET'), pin17: n('GND') } }), jsxRuntime.jsx(JstBattery, { name: "J2", pcbX: -33, pcbY: 4, connections: { pin1: n('VBAT'), pin2: n('NTC'), pin3: n('GND') } }), jsxRuntime.jsx(R, { name: "R3", value: "8.87k", a: "ISET", b: "GND", x: -27, y: -2 }), jsxRuntime.jsx(R, { name: "R4", value: "6.49k", a: "ILIM", b: "GND", x: -19, y: -9 }), jsxRuntime.jsx(R, { name: "R5", value: "68k", a: "TMR", b: "GND", x: -19, y: -3 }), jsxRuntime.jsx(C, { name: "C2", value: "10uF", rail: "VBAT", x: -24, y: 3 }), jsxRuntime.jsx(C, { name: "C3", value: "10uF", rail: "VSYS", x: -18, y: 1 }), jsxRuntime.jsx(R, { name: "R6", value: "2.2k", a: "USB5V", b: "CHG_A", x: -36, y: -5 }), jsxRuntime.jsx(XL_1608SURC_06, { name: "D7", color: "red", pcbX: -40, pcbY: -5, connections: { anode: n('CHG_A'), cathode: n('CHG_N') } }), jsxRuntime.jsx(MSK12C02, { name: "SW1", type: "spdt", pcbX: -12, pcbY: -18, noConnect: ["pin3"], connections: { pin1: n('SW_VIN'), pin2: n('VSYS'), pin4: n('GND') } }), jsxRuntime.jsx(AP2112K_3_3TRG1, { pinAttributes: completePinAttributes(pinLabels$3, { pin1: { requiresPower: true }, pin2: { requiresGround: true }, pin3: { isInput: true }, pin5: { providesPower: true, providesVoltage: 3.3 } }), name: "U2", pcbX: -10, pcbY: -7, noConnect: ["pin4"], connections: { pin1: n('SW_VIN'), pin2: n('GND'), pin3: n('SW_VIN'), pin5: n('V3V3') } }), jsxRuntime.jsx(C, { name: "C4", value: "1uF", rail: "SW_VIN", x: -14, y: -11 }), jsxRuntime.jsx(C, { name: "C5", value: "1uF", rail: "V3V3", x: -6, y: -11 })] }) }), jsxRuntime.jsx("schematicsheet", { name: "Control", displayName: "Motion sensing and programming", sheetIndex: 2, sheetSize: "ANSI_B", children: jsxRuntime.jsxs("group", { schGrid: true, gridCols: 4, gridGap: 3, children: [jsxRuntime.jsx(ATTINY85V_10SU, { pinAttributes: completePinAttributes(pinLabels$2, { pin8: { requiresPower: true, requiresVoltage: 3.3 }, pin4: { requiresGround: true }, pin1: { isInput: true }, pin2: { isInput: true }, pin3: { isInput: true }, pin5: { isBidirectional: true }, pin6: { isOutput: true }, pin7: { isBidirectional: true } }), name: "U3", pcbX: 0, pcbY: -4, connections: { pin1: n('RESET'), pin2: n('SUPPLY_SENSE'), pin3: n('INT1'), pin4: n('GND'), pin5: n('SDA'), pin6: n('LED_PWM'), pin7: n('SCL'), pin8: n('V3V3') } }), jsxRuntime.jsx(ADXL345BCCZ_RL7, { pinAttributes: completePinAttributes(pinLabels$1, { pin1: { requiresPower: true }, pin6: { requiresPower: true }, pin2: { requiresGround: true }, pin4: { requiresGround: true }, pin5: { requiresGround: true }, pin13: { isBidirectional: true }, pin14: { isInput: true } }), name: "U4", pcbX: 15, pcbY: -4, noConnect: ["pin9", "pin10"], connections: { pin1: n('V3V3'), pin2: n('GND'), pin3: n('V3V3'), pin4: n('GND'), pin5: n('GND'), pin6: n('V3V3'), pin7: n('V3V3'), pin8: n('INT1'), pin11: n('GND'), pin12: n('GND'), pin13: n('SDA'), pin14: n('SCL') } }), jsxRuntime.jsx(R, { name: "R7", value: "4.7k", a: "V3V3", b: "SDA", x: 8, y: 2 }), jsxRuntime.jsx(R, { name: "R8", value: "4.7k", a: "V3V3", b: "SCL", x: 13, y: 2 }), jsxRuntime.jsx(R, { name: "R9", value: "10k", a: "V3V3", b: "RESET", x: -5, y: -15 }), jsxRuntime.jsx(R, { name: "R10", value: "220k", a: "SW_VIN", b: "SUPPLY_SENSE", x: 3, y: -14 }), jsxRuntime.jsx(R, { name: "R11", value: "100k", a: "SUPPLY_SENSE", b: "GND", x: 8, y: -14 }), jsxRuntime.jsx(C, { name: "C6", value: "100nF", rail: "V3V3", x: -3, y: 2 }), jsxRuntime.jsx(C, { name: "C7", value: "100nF", rail: "V3V3", x: 12, y: -8 }), jsxRuntime.jsx(C, { name: "C8", value: "100nF", rail: "V3V3", x: 18, y: -8 }), jsxRuntime.jsx(C, { name: "C9", value: "1uF", rail: "V3V3", x: 20, y: -3 }), jsxRuntime.jsx(C, { name: "C10", value: "10nF", rail: "SUPPLY_SENSE", x: 8, y: -18 }), jsxRuntime.jsx("connector", { name: "J3", manufacturerPartNumber: "AVR-ISP-2x3-2.54mm", pcbX: 30, pcbY: -14, pinLabels: { pin1: 'MISO', pin2: 'VCC', pin3: 'SCK', pin4: 'MOSI', pin5: 'RESET', pin6: 'GND' }, footprint: jsxRuntime.jsxs("footprint", { insertionDirection: "from_above", children: [[1, 2, 3, 4, 5, 6].map((p) => jsxRuntime.jsx(react.Fragment, { children: jsxRuntime.jsx("platedhole", { portHints: [`pin${p}`], pcbX: ((p - 1) % 2) * 2.54 - 1.27, pcbY: 2.54 - Math.floor((p - 1) / 2) * 2.54, holeDiameter: 1, outerDiameter: 1.8, shape: "circle" }) }, p)), jsxRuntime.jsx("courtyardrect", { width: 5.5, height: 8.1 })] }), connections: { pin1: n('LED_PWM'), pin2: n('V3V3'), pin3: n('SCL'), pin4: n('SDA'), pin5: n('RESET'), pin6: n('GND') } })] }) }), jsxRuntime.jsx("schematicsheet", { name: "Lights", displayName: "Six red LEDs and PWM switch", sheetIndex: 3, sheetSize: "ANSI_B", children: jsxRuntime.jsxs("group", { schGrid: true, gridCols: 4, gridGap: 3, children: [[-30, -18, -6, 6, 18, 30].flatMap((x, i) => [
                        jsxRuntime.jsx(R, { name: `R${12 + i}`, value: "120", a: "V3V3", b: `LED${i + 1}_A`, x: x, y: 10 }, `R${12 + i}`),
                        jsxRuntime.jsx(XL_1608SURC_06, { name: `D${i + 1}`, color: "red", pcbX: x, pcbY: 15, connections: { anode: n(`LED${i + 1}_A`), cathode: n('LED_RETURN') } }, `D${i + 1}`)
                    ]), jsxRuntime.jsx("chip", { pinAttributes: { pin1: { isInput: true }, pin2: { requiresGround: true }, pin3: { isPassive: true } }, name: "Q1", manufacturerPartNumber: "AO3400A", footprint: "sot23", pcbX: 29, pcbY: -3, pinLabels: { pin1: 'GATE', pin2: 'SOURCE', pin3: 'DRAIN' }, connections: { pin1: n('GATE'), pin2: n('GND'), pin3: n('LED_RETURN') } }), jsxRuntime.jsx(R, { name: "R18", value: "100", a: "LED_PWM", b: "GATE", x: 25, y: -7 }), jsxRuntime.jsx(R, { name: "R19", value: "100k", a: "GATE", b: "GND", x: 33, y: -7 })] }) }), jsxRuntime.jsx("copperpour", { name: "GroundTop", layer: "top", connectsTo: "net.GND", clearance: 0.2, boardEdgeMargin: 0.5, useThermalReliefs: true }), jsxRuntime.jsx("copperpour", { name: "GroundBottom", layer: "bottom", connectsTo: "net.GND", clearance: 0.2, boardEdgeMargin: 0.5, useThermalReliefs: true }), [-40, 40].flatMap(x => [-17, 17].map(y => jsxRuntime.jsx(react.Fragment, { children: jsxRuntime.jsx("hole", { pcbX: x, pcbY: y, diameter: "3.2mm" }) }, `${x},${y}`))), jsxRuntime.jsx("silkscreentext", { text: "BICYCLE BRAKE LIGHT \u00B7 REV A", pcbX: 0, pcbY: 20, fontSize: 1.1 }), jsxRuntime.jsx("silkscreentext", { text: "FORWARD +X >", pcbX: 15, pcbY: -11, fontSize: 0.8 }), jsxRuntime.jsx("silkscreentext", { text: "1S + / NTC / -", pcbX: -33, pcbY: 7, fontSize: 0.7 }), jsxRuntime.jsx("silkscreentext", { text: "ISP 3.3V", pcbX: 30, pcbY: -20, fontSize: 0.8 })] });

module.exports = index_circuit;