ShiboSoftwareDev/usb-pd-dc-motor-controller
USB‑PD–powered 2A brushed-DC motor controller combining dual USB‑C ports, ESP32‑C3 control, CH224K PD negotiation, DRV8876 H‑bridge drive, protection/filtering, status RGB LED, and motor output.
- Version
- 1.0.0
- License
- unset
- Stars
- 0
dist/index.js
import { jsx, jsxs } from 'react/jsx-runtime';
import { Fragment } from 'react';
import { symbols } from 'schematic-symbols';
const pinLabels$a = {
pin1: ["VIN"],
pin2: ["GND"],
pin3: ["EN"],
pin4: ["NC"],
pin5: ["VOUT"]
};
const pinAttributes$4 = {
pin1: { requiresPower: true },
pin2: { requiresGround: true },
pin4: { doNotConnect: true }
};
const AP2112K_3_3TRG1 = (props) => {
return (jsx("chip", { pinLabels: pinLabels$a, pinAttributes: pinAttributes$4, supplierPartNumbers: {
"jlcpcb": [
"C23380830"
]
}, manufacturerPartNumber: "AP2112K-3.3TRG1", footprint: "sot25_w2.2mm_pl1mm_pin1location(rightside,bottom)", cadModel: {
objUrl: "https://modelcdn.tscircuit.com/easyeda_models/assets/C23380830.obj?uuid=8c971aea3af54c53b74baeb1f489d393",
stepUrl: "https://modelcdn.tscircuit.com/easyeda_models/assets/C23380830.step?uuid=8c971aea3af54c53b74baeb1f489d393",
pcbRotationOffset: 90,
modelOriginPosition: { x: -12699999956566899e-21, y: 0.00006349999989652133, z: -0.7 },
}, ...props }));
};
const pinLabels$9 = {
pin1: ["VDD"],
pin2: ["CFG2"],
pin3: ["CFG3"],
pin4: ["DP"],
pin5: ["DM"],
pin6: ["CC2"],
pin7: ["CC1"],
pin8: ["VBUS"],
pin9: ["CFG1"],
pin10: ["PG"],
pin11: ["GND"]
};
const pinAttributes$3 = {
pin1: { requiresPower: true },
pin11: { requiresGround: true }
};
const footprinterPinLabels$1 = {
...pinLabels$9,
"pin11": [...pinLabels$9["pin11"], "thermalpad"],
};
const CH224K = (props) => {
return (jsx("chip", { pinLabels: footprinterPinLabels$1, pinAttributes: pinAttributes$3, supplierPartNumbers: {
"jlcpcb": [
"C970725"
]
}, manufacturerPartNumber: "CH224K", footprint: "dfn10_thermalpad2.1mmx3.3mm_p1mm_w7.5mm_pl1.5mm_pin1location(leftside,bottom)", cadModel: {
objUrl: "https://modelcdn.tscircuit.com/easyeda_models/assets/C970725.obj?uuid=c37139ac11be40009679f32869d9459d",
stepUrl: "https://modelcdn.tscircuit.com/easyeda_models/assets/C970725.step?uuid=c37139ac11be40009679f32869d9459d",
pcbRotationOffset: 0,
modelOriginPosition: { x: 0.000063500000123895, y: 0, z: -0.81 },
}, ...props }));
};
const pinLabels$8 = {
pin1: ["pin1"],
pin2: ["pin2"],
pin3: ["nSLEEP"],
pin4: ["nFAULT"],
pin5: ["VREF"],
pin6: ["IPROPI"],
pin7: ["IMODE"],
pin8: ["OUT1"],
pin9: ["PGND"],
pin10: ["OUT2"],
pin11: ["VM"],
pin12: ["VCP"],
pin13: ["CPH"],
pin14: ["CPL"],
pin15: ["GND"],
pin16: ["PMODE"],
pin17: ["EP"]
};
const pinAttributes$2 = {
pin9: { requiresGround: true },
pin15: { requiresGround: true }
};
const footprinterPinLabels = {
...pinLabels$8,
"pin17": [...pinLabels$8["pin17"], "thermalpad"],
};
const DRV8876PWPR = (props) => {
return (jsx("chip", { pinLabels: footprinterPinLabels, pinAttributes: pinAttributes$2, supplierPartNumbers: {
"jlcpcb": [
"C575551"
]
}, manufacturerPartNumber: "DRV8876PWPR", footprint: "dfn16_thermalpad2.46mmx3.55mm_pillpads_p0.65mm_w7.5mm_pw0.34mm_pl1.75mm_pin1location(leftside,bottom)", cadModel: {
objUrl: "https://modelcdn.tscircuit.com/easyeda_models/assets/C575551.obj?uuid=89f85af05c9045c798a6d7a53851085c",
stepUrl: "https://modelcdn.tscircuit.com/easyeda_models/assets/C575551.step?uuid=89f85af05c9045c798a6d7a53851085c",
pcbRotationOffset: 0,
modelOriginPosition: { x: 0, y: 0, z: 0 },
}, ...props }));
};
const pinLabels$7 = {
pin1: ["3V3"],
pin2: ["EN"],
pin3: ["IO4"],
pin4: ["IO5"],
pin5: ["IO6"],
pin6: ["IO7"],
pin7: ["IO8"],
pin8: ["IO9"],
pin9: ["GND"],
pin10: ["IO10"],
pin11: ["RXD"],
pin12: ["TXD"],
pin13: ["IO18"],
pin14: ["IO19"],
pin15: ["IO3"],
pin16: ["IO2"],
pin17: ["IO1"],
pin18: ["IO0"],
pin19: ["EP"]
};
const pinAttributes$1 = {
pin9: { requiresGround: true }
};
const ESP32_C3_WROOM_02_N4 = (props) => {
return (jsx("chip", { pinLabels: pinLabels$7, pinAttributes: pinAttributes$1, supplierPartNumbers: {
"jlcpcb": [
"C2934560"
]
}, manufacturerPartNumber: "ESP32-C3-WROOM-02-N4", footprint: jsxs("footprint", { children: [jsx("smtpad", { portHints: ["pin1"], pcbX: "-8.750046mm", pcbY: "5.999988mm", width: "1.999996mm", height: "0.999998mm", shape: "rect" }), jsx("smtpad", { portHints: ["pin2"], pcbX: "-8.750046mm", pcbY: "4.500118mm", width: "1.999996mm", height: "0.999998mm", shape: "rect" }), jsx("smtpad", { portHints: ["pin3"], pcbX: "-8.750046mm", pcbY: "2.999994mm", width: "1.999996mm", height: "0.999998mm", shape: "rect" }), jsx("smtpad", { portHints: ["pin4"], pcbX: "-8.750046mm", pcbY: "1.500124mm", width: "1.999996mm", height: "0.999998mm", shape: "rect" }), jsx("smtpad", { portHints: ["pin5"], pcbX: "-8.750046mm", pcbY: "0mm", width: "1.999996mm", height: "0.999998mm", shape: "rect" }), jsx("smtpad", { portHints: ["pin6"], pcbX: "-8.750046mm", pcbY: "-1.49987mm", width: "1.999996mm", height: "0.999998mm", shape: "rect" }), jsx("smtpad", { portHints: ["pin7"], pcbX: "-8.750046mm", pcbY: "-2.999994mm", width: "1.999996mm", height: "0.999998mm", shape: "rect" }), jsx("smtpad", { portHints: ["pin8"], pcbX: "-8.750046mm", pcbY: "-4.499864mm", width: "1.999996mm", height: "0.999998mm", shape: "rect" }), jsx("smtpad", { portHints: ["pin9"], pcbX: "-8.750046mm", pcbY: "-5.999988mm", width: "1.999996mm", height: "0.999998mm", shape: "rect" }), jsx("smtpad", { portHints: ["pin10"], pcbX: "8.750046mm", pcbY: "-5.999988mm", width: "1.999996mm", height: "0.999998mm", shape: "rect" }), jsx("smtpad", { portHints: ["pin11"], pcbX: "8.750046mm", pcbY: "-4.499864mm", width: "1.999996mm", height: "0.999998mm", shape: "rect" }), jsx("smtpad", { portHints: ["pin12"], pcbX: "8.750046mm", pcbY: "-2.999994mm", width: "1.999996mm", height: "0.999998mm", shape: "rect" }), jsx("smtpad", { portHints: ["pin13"], pcbX: "8.750046mm", pcbY: "-1.49987mm", width: "1.999996mm", height: "0.999998mm", shape: "rect" }), jsx("smtpad", { portHints: ["pin14"], pcbX: "8.750046mm", pcbY: "0mm", width: "1.999996mm", height: "0.999998mm", shape: "rect" }), jsx("smtpad", { portHints: ["pin15"], pcbX: "8.750046mm", pcbY: "1.500124mm", width: "1.999996mm", height: "0.999998mm", shape: "rect" }), jsx("smtpad", { portHints: ["pin16"], pcbX: "8.750046mm", pcbY: "2.999994mm", width: "1.999996mm", height: "0.999998mm", shape: "rect" }), jsx("smtpad", { portHints: ["pin17"], pcbX: "8.750046mm", pcbY: "4.500118mm", width: "1.999996mm", height: "0.999998mm", shape: "rect" }), jsx("smtpad", { portHints: ["pin18"], pcbX: "8.750046mm", pcbY: "5.999988mm", width: "1.999996mm", height: "0.999998mm", shape: "rect" }), jsx("smtpad", { portHints: ["pin19"], pcbX: "-0.139954mm", pcbY: "0.900176mm", width: "0.6999986mm", height: "0.6999986mm", shape: "rect" }), jsx("smtpad", { portHints: ["pin19"], pcbX: "-0.139954mm", pcbY: "-0.199898mm", width: "0.6999986mm", height: "0.6999986mm", shape: "rect" }), jsx("smtpad", { portHints: ["pin19"], pcbX: "-0.139954mm", pcbY: "-1.299972mm", width: "0.6999986mm", height: "0.6999986mm", shape: "rect" }), jsx("smtpad", { portHints: ["pin19"], pcbX: "0.959866mm", pcbY: "0.900176mm", width: "0.6999986mm", height: "0.6999986mm", shape: "rect" }), jsx("smtpad", { portHints: ["pin19"], pcbX: "0.959866mm", pcbY: "-0.199898mm", width: "0.6999986mm", height: "0.6999986mm", shape: "rect" }), jsx("smtpad", { portHints: ["pin19"], pcbX: "0.959866mm", pcbY: "-1.299972mm", width: "0.6999986mm", height: "0.6999986mm", shape: "rect" }), jsx("smtpad", { portHints: ["pin19"], pcbX: "2.05994mm", pcbY: "-1.299972mm", width: "0.6999986mm", height: "0.6999986mm", shape: "rect" }), jsx("smtpad", { portHints: ["pin19"], pcbX: "2.05994mm", pcbY: "-0.199898mm", width: "0.6999986mm", height: "0.6999986mm", shape: "rect" }), jsx("smtpad", { portHints: ["pin19"], pcbX: "2.05994mm", pcbY: "0.900176mm", width: "0.6999986mm", height: "0.6999986mm", shape: "rect" }), jsx("silkscreenpath", { route: [{ "x": 9.000007399999959, "y": 6.654241200000001 }, { "x": 9.000007399999959, "y": 13.100100800000064 }, { "x": -9.000007400000072, "y": 13.100100800000064 }, { "x": -9.000007400000072, "y": 6.654241200000001 }] }), jsx("silkscreenpath", { route: [{ "x": -9.000007400000072, "y": 7.100087400000007 }, { "x": 9.000007399999959, "y": 7.100087400000007 }] }), jsx("silkscreenpath", { route: [{ "x": -9.000007400000072, "y": -6.654038000000014 }, { "x": -9.000007400000072, "y": -6.899909999999977 }] }), jsx("silkscreenpath", { route: [{ "x": -9.000007400000072, "y": -5.15409180000006 }, { "x": -9.000007400000072, "y": -5.345785599999999 }] }), jsx("silkscreenpath", { route: [{ "x": -9.000007400000072, "y": -3.6540948000000526 }, { "x": -9.000007400000072, "y": -3.8457885999999917 }] }), jsx("silkscreenpath", { route: [{ "x": -9.000007400000072, "y": -2.154097800000045 }, { "x": -9.000007400000072, "y": -2.345791599999984 }] }), jsx("silkscreenpath", { route: [{ "x": -9.000007400000072, "y": -0.6540499999998701 }, { "x": -9.000007400000072, "y": -0.8457691999999497 }] }), jsx("silkscreenpath", { route: [{ "x": -9.000007400000072, "y": 0.8459723999999369 }, { "x": -9.000007400000072, "y": 0.6542278000000579 }] }), jsx("silkscreenpath", { route: [{ "x": -9.000007400000072, "y": 2.3458931999999777 }, { "x": -9.000007400000072, "y": 2.154224800000179 }] }), jsx("silkscreenpath", { route: [{ "x": -9.000007400000072, "y": 3.845915600000012 }, { "x": -9.000007400000072, "y": 3.654221800000073 }] }), jsx("silkscreenpath", { route: [{ "x": -9.000007400000072, "y": 5.345912599999906 }, { "x": -9.000007400000072, "y": 5.154218799999967 }] }), jsx("silkscreenpath", { route: [{ "x": 9.000007399999959, "y": 5.154218799999967 }, { "x": 9.000007399999959, "y": 5.345912599999906 }] }), jsx("silkscreenpath", { route: [{ "x": 9.000007399999959, "y": 3.654221800000073 }, { "x": 9.000007399999959, "y": 3.845915600000012 }] }), jsx("silkscreenpath", { route: [{ "x": 9.000007399999959, "y": 2.154224800000179 }, { "x": 9.000007399999959, "y": 2.3458931999999777 }] }), jsx("silkscreenpath", { route: [{ "x": 9.000007399999959, "y": 0.6542278000000579 }, { "x": 9.000007399999959, "y": 0.8459723999999369 }] }), jsx("silkscreenpath", { route: [{ "x": 9.000007399999959, "y": -0.8457691999999497 }, { "x": 9.000007399999959, "y": -0.6540499999998701 }] }), jsx("silkscreenpath", { route: [{ "x": 9.000007399999959, "y": -2.345791599999984 }, { "x": 9.000007399999959, "y": -2.154097800000045 }] }), jsx("silkscreenpath", { route: [{ "x": 9.000007399999959, "y": -3.8457885999999917 }, { "x": 9.000007399999959, "y": -3.6540948000000526 }] }), jsx("silkscreenpath", { route: [{ "x": 9.000007399999959, "y": -5.345785599999999 }, { "x": 9.000007399999959, "y": -5.15409180000006 }] }), jsx("silkscreenpath", { route: [{ "x": -9.000007400000072, "y": -6.899909999999977 }, { "x": 9.000007399999959, "y": -6.899909999999977 }, { "x": 9.000007399999959, "y": -6.654038000000014 }] }), jsx("silkscreencircle", { pcbX: "-9.779mm", pcbY: "7.366mm", radius: "0.249936mm" }), jsx("silkscreentext", { text: "ANTENNA", pcbX: "-6.500114mm", pcbY: "9.100058mm", anchorAlignment: "bottom_left", fontSize: "2.032mm" }), jsx("silkscreentext", { text: "{NAME}", pcbX: "-0.1397mm", pcbY: "14.208mm", anchorAlignment: "center", fontSize: "1mm" }), jsx("fabricationnotepath", { route: [{ "x": -9.100007199999823, "y": 6.650024799999983 }, { "x": -9.100007199999823, "y": 13.050012000000038 }, { "x": -8.950020199999926, "y": 13.199998999999934 }, { "x": 8.89995680000004, "y": 13.199998999999934 }, { "x": 9.099956399999883, "y": 12.999999399999979 }, { "x": 9.099956399999883, "y": 6.849999000000025 }, { "x": 8.89995680000004, "y": 6.849999000000025 }, { "x": 8.89995680000004, "y": 12.999999399999979 }, { "x": -8.90000759999998, "y": 12.999999399999979 }, { "x": -8.90000759999998, "y": 6.700012000000129 }, { "x": -8.90000759999998, "y": 6.650024799999983 }, { "x": -9.100007199999823, "y": 6.650024799999983 }], strokeWidth: "0.254mm" }), jsx("courtyardoutline", { outline: [{ "x": -10.282999999999902, "y": 13.45799999999997 }, { "x": 10.003600000000006, "y": 13.45799999999997 }, { "x": 10.003600000000006, "y": -7.1334000000000515 }, { "x": -10.282999999999902, "y": -7.1334000000000515 }, { "x": -10.282999999999902, "y": 13.45799999999997 }] })] }), cadModel: {
objUrl: "https://modelcdn.tscircuit.com/easyeda_models/assets/C2934560.obj?uuid=3af5773cc1904a9197e0ebbdc043a5ad",
stepUrl: "https://modelcdn.tscircuit.com/easyeda_models/assets/C2934560.step?uuid=3af5773cc1904a9197e0ebbdc043a5ad",
pcbRotationOffset: 0,
modelOriginPosition: { x: 0.000025399999913133797, y: -3.1000192000000197, z: -0.01 },
}, ...props }));
};
// This pinned symbols release includes led_right at runtime but declares it undefined.
const ledSymbol = symbols.led_right;
if (!ledSymbol)
throw new Error("Missing led_right schematic primitive");
const pinLabels$6 = {
pin1: ["R_NEG"],
pin2: ["G_NEG"],
pin3: ["B_NEG"],
pin4: ["_POS"]
};
const LTST_C19HE1WT = (props) => {
return (jsx("chip", { pinLabels: pinLabels$6, symbol: jsxs("symbol", { children: [jsx("port", { name: "pin4", aliases: ["_POS"], pinNumber: 4, direction: "left", schX: -0.9, schY: 0, schStemLength: 0.3 }), jsx("schematicpath", { points: [{ x: -0.6, y: 0.8 }, { x: -0.6, y: -0.8 }], strokeWidth: 0.03 }), jsx("schematicpath", { points: [{ x: -0.9, y: 0 }, { x: -0.6, y: 0 }], strokeWidth: 0.03 }), ["R_NEG", "G_NEG", "B_NEG"].map((color, i) => {
const y = 0.8 - i * 0.8;
return jsxs(Fragment, { children: [ledSymbol.primitives.map((primitive, j) => primitive.type === "path" ?
jsx(Fragment, { children: jsx("schematicpath", { points: primitive.points.map(p => ({ x: p.x, y: p.y + y })), strokeWidth: 0.025 }) }, j) : null), jsx("schematicpath", { points: [{ x: -0.6, y }, { x: -0.54, y }], strokeWidth: 0.025 }), jsx("port", { name: `pin${i + 1}`, aliases: [color], pinNumber: i + 1, direction: "right", schX: 0.54, schY: y, schStemLength: 0.3 }), jsx("schematictext", { text: color[0], schX: -0.2, schY: y + 0.27, fontSize: 0.15 })] }, color);
}), jsx("schematictext", { text: props.name, schX: 0, schY: 1.4, fontSize: 0.18 })] }), supplierPartNumbers: {
"jlcpcb": [
"C458749"
]
}, manufacturerPartNumber: "LTST-C19HE1WT", footprint: jsxs("footprint", { children: [jsx("smtpad", { portHints: ["pin4"], pcbX: "-0.450088mm", pcbY: "-0.833501mm", width: "0.5500116mm", height: "0.9169908mm", radius: "0.2750058mm", shape: "pill" }), jsx("smtpad", { portHints: ["pin3"], pcbX: "0.450088mm", pcbY: "-0.833501mm", width: "0.5500116mm", height: "0.9169908mm", radius: "0.2750058mm", shape: "pill" }), jsx("smtpad", { portHints: ["pin2"], pcbX: "0.450088mm", pcbY: "0.833501mm", width: "0.5500116mm", height: "0.9169908mm", radius: "0.2750058mm", shape: "pill" }), jsx("smtpad", { portHints: ["pin1"], pcbX: "-0.450088mm", pcbY: "0.833501mm", width: "0.5500116mm", height: "0.9169908mm", radius: "0.2750058mm", shape: "pill" }), jsx("silkscreenpath", { route: [{ "x": -0.8761984000000211, "y": -0.876071399999887 }, { "x": -0.8761984000000211, "y": 0.8763254000000416 }] }), jsx("silkscreenpath", { route: [{ "x": 0.8761984000000211, "y": -0.876071399999887 }, { "x": 0.8761984000000211, "y": 0.8763254000000416 }] }), jsx("silkscreencircle", { pcbX: "-0.508mm", pcbY: "1.524127mm", radius: "0.124968mm" }), jsx("silkscreentext", { text: "{NAME}", pcbX: "0.0127mm", pcbY: "2.651127mm", anchorAlignment: "center", fontSize: "0.55mm" }), jsx("courtyardrect", { width: 2.45, height: 3.1 })] }), cadModel: {
objUrl: "https://modelcdn.tscircuit.com/easyeda_models/assets/C458749.obj?uuid=32e1f1a4424a41c9860f9a94e64c798e",
stepUrl: "https://modelcdn.tscircuit.com/easyeda_models/assets/C458749.step?uuid=32e1f1a4424a41c9860f9a94e64c798e",
pcbRotationOffset: 0,
modelOriginPosition: { x: 0, y: 0, z: -0.11 },
}, ...props }));
};
const pinLabels$5 = {
pin1: ["pin1"],
pin2: ["pin2"],
pin3: ["pin3"],
pin4: ["pin4"]
};
const SKRPACE010 = (props) => {
const { name = "SW1", ...restProps } = props;
return (jsx("pushbutton", { name: name, pinLabels: pinLabels$5, supplierPartNumbers: {
"jlcpcb": [
"C139797"
]
}, manufacturerPartNumber: "SKRPACE010", footprint: "smdpushbutton", cadModel: {
objUrl: "https://modelcdn.tscircuit.com/easyeda_models/assets/C139797.obj?uuid=00d848a7e8384bbd9286566957e8bb9c",
stepUrl: "https://modelcdn.tscircuit.com/easyeda_models/assets/C139797.step?uuid=00d848a7e8384bbd9286566957e8bb9c",
pcbRotationOffset: 0,
modelOriginPosition: { x: 0.000012700000070253736, y: 0.00012700000002041634, z: -0.01 },
}, ...restProps }));
};
const pinLabels$4 = {
pin1: ["pin1"],
pin2: ["pin2"]
};
const SMBJ16CAQ_13_F = (props) => {
return (jsx("chip", { pinLabels: pinLabels$4, symbol: jsxs("symbol", { children: [jsx("schematicpath", { points: [{ "x": -0.04, "y": 0.12 }, { "x": -0.04, "y": 0.12 }, { "x": 0, "y": 0.12 }, { "x": 0, "y": -0.12 }, { "x": 0.04, "y": -0.12 }, { "x": 0.04, "y": -0.12 }], strokeColor: "#880000" }), jsx("schematicpath", { points: [{ "x": 0.2, "y": 0.1 }, { "x": 0, "y": 0 }, { "x": 0.2, "y": -0.1 }, { "x": 0.2, "y": 0.1 }], strokeColor: "#880000" }), jsx("schematicpath", { points: [{ "x": -0.2, "y": 0.1 }, { "x": 0, "y": 0 }, { "x": -0.2, "y": -0.1 }, { "x": -0.2, "y": 0.1 }], strokeColor: "#880000" }), jsx("port", { name: "pin1", pinNumber: 1, aliases: ["1"], direction: "left", schX: -0.4, schY: 0, schStemLength: 0.2 }), jsx("port", { name: "pin2", pinNumber: 2, aliases: ["2"], direction: "right", schX: 0.4, schY: 0, schStemLength: 0.2 })] }), supplierPartNumbers: {
"jlcpcb": [
"C1974058"
]
}, manufacturerPartNumber: "SMBJ16CAQ-13-F", footprint: "smdpads2_p5.1826mm_pw2.0475mm_ph2.241mm", cadModel: {
objUrl: "https://modelcdn.tscircuit.com/easyeda_models/assets/C1974058.obj?uuid=d8d17035e5884cddb4826824fad5689b",
stepUrl: "https://modelcdn.tscircuit.com/easyeda_models/assets/C1974058.step?uuid=d8d17035e5884cddb4826824fad5689b",
pcbRotationOffset: 0,
modelOriginPosition: { x: 0, y: 0, z: -1.535 },
}, ...props }));
};
const pinLabels$3 = {
pin1: ["anode", "pos"],
pin2: ["cathode", "neg"]
};
const SS54 = (props) => {
const { name = "D1", ...restProps } = props;
return (jsx("diode", { name: name, pinLabels: pinLabels$3, supplierPartNumbers: {
"jlcpcb": [
"C22452"
]
}, manufacturerPartNumber: "SS54", footprint: "smdpads2_p5.0074mm_pw2.0625mm_ph1.539mm_pin1location(rightside,top)", cadModel: {
objUrl: "https://modelcdn.tscircuit.com/easyeda_models/assets/C22452.obj?uuid=16f5f0e72b3e4f43a77ecac0b819c7f8",
stepUrl: "https://modelcdn.tscircuit.com/easyeda_models/assets/C22452.step?uuid=16f5f0e72b3e4f43a77ecac0b819c7f8",
pcbRotationOffset: 0,
modelOriginPosition: { x: 0, y: 0, z: -0.1 },
}, ...restProps }));
};
const TCJD107M025R0055E = (props) => {
const { name = "C1", ...restProps } = props;
return (jsx("capacitor", { name: name, capacitance: "100uF", polarized: true, supplierPartNumbers: {
"jlcpcb": [
"C2159920"
]
}, manufacturerPartNumber: "TCJD107M025R0055E", footprint: "cap_p6.7048mm_pw2.3mm_ph3mm", cadModel: {
objUrl: "https://modelcdn.tscircuit.com/easyeda_models/assets/C2159920.obj?uuid=a7253e4667014c2b8171994ff34e6c41",
stepUrl: "https://modelcdn.tscircuit.com/easyeda_models/assets/C2159920.step?uuid=a7253e4667014c2b8171994ff34e6c41",
pcbRotationOffset: 0,
modelOriginPosition: { x: -0.15229840000006334, y: 0, z: -2.203761 },
}, ...restProps }));
};
const pinLabels$2 = {
pin1: ["EH1"],
pin2: ["EH2"],
pin3: ["EH3"],
pin4: ["EH4"],
pin5: ["A1B12", "GND1"],
pin6: ["A4B9", "VBUS1"],
pin7: ["B8", "SBU2"],
pin8: ["A5", "CC1"],
pin9: ["B7", "Dn2"],
pin10: ["A6", "Dp1"],
pin11: ["A7", "Dn1"],
pin12: ["B6", "Dp2"],
pin13: ["A8", "SBU1"],
pin14: ["B5", "CC2"],
pin15: ["B4A9", "VBUS2"],
pin16: ["B1A12", "GND2"]
};
const TYPE_C_16PIN_2MD_073_ = (props) => {
return (jsx("chip", { pinLabels: pinLabels$2, supplierPartNumbers: {
"jlcpcb": [
"C2765186"
]
}, manufacturerPartNumber: "TYPE-C 16PIN 2MD(073)", footprint: "usbcmidmount16_tophw0.6mm_bottomhw0.6mm_tophh1.4mm_bottomhh1mm_topring0.25mm_bottomring0.3mm_rowy2.125mm_ph1.1mm_pw0.3mm_powerpw0.55mm_powerx3.2mm_shellx4.325mm_topy1.5751mm_bottomy2.625mm_holex2.89mm_holey1.0549mm_holed0.7mm", cadModel: {
objUrl: "https://modelcdn.tscircuit.com/easyeda_models/assets/C2765186.obj?uuid=4ee8413127e64716b804db03d4b340ae",
stepUrl: "https://modelcdn.tscircuit.com/easyeda_models/assets/C2765186.step?uuid=4ee8413127e64716b804db03d4b340ae",
pcbRotationOffset: 0,
modelOriginPosition: { x: -12699999956566899e-21, y: 1.5749970500000927, z: -1.6800018 },
}, ...props }));
};
const pinLabels$1 = {
pin1: ["pin1"],
pin2: ["GND"],
pin3: ["pin3"],
pin4: ["pin4"],
pin5: ["VBUS"],
pin6: ["pin6"]
};
const pinAttributes = {
pin2: { requiresGround: true }
};
const USBLC6_2SC6 = (props) => {
return (jsx("chip", { pinLabels: pinLabels$1, pinAttributes: pinAttributes, supplierPartNumbers: {
"jlcpcb": [
"C2687116"
]
}, manufacturerPartNumber: "USBLC6-2SC6", footprint: "dfn6_p0.95mm_w3.3702mm_pw0.532mm_pl1.072mm_pin1location(leftside,bottom)", cadModel: {
objUrl: "https://modelcdn.tscircuit.com/easyeda_models/assets/C2687116.obj?uuid=229b69761e2c45dba6a83d8866dec72d",
stepUrl: "https://modelcdn.tscircuit.com/easyeda_models/assets/C2687116.step?uuid=229b69761e2c45dba6a83d8866dec72d",
pcbRotationOffset: 90,
modelOriginPosition: { x: -12700000070253736e-21, y: 0.000012700000070253736, z: -0.048939 },
}, ...props }));
};
const pinLabels = {
pin1: ["pin1"],
pin2: ["pin2"]
};
const WJ500V_5_08_2P = (props) => {
return (jsx("chip", { pinLabels: pinLabels, supplierPartNumbers: {
"jlcpcb": [
"C8465"
]
}, manufacturerPartNumber: "WJ500V-5.08-2P", footprint: "pinrow2_nosquareplating_p5.08mm_od2mm_id1.3mm", cadModel: {
objUrl: "https://modelcdn.tscircuit.com/easyeda_models/assets/C8465.obj?uuid=d60ef5d423934d3393dc75fa0a07b6bd",
stepUrl: "https://modelcdn.tscircuit.com/easyeda_models/assets/C8465.step?uuid=d60ef5d423934d3393dc75fa0a07b6bd",
pcbRotationOffset: 0,
modelOriginPosition: { x: -2.5399878999999967, y: 0, z: -6999999999646178e-21 },
}, ...props }));
};
const R = ({ jlcpcb, ...props }) => (jsx("resistor", { supplierPartNumbers: { jlcpcb: [jlcpcb] }, ...props }));
const C = ({ jlcpcb, ...props }) => (jsx("capacitor", { supplierPartNumbers: { jlcpcb: [jlcpcb] }, ...props }));
const MountingHole = ({ name, pcbX, pcbY }) => (jsx("chip", { name: name, pcbX: pcbX, pcbY: pcbY, pinLabels: { pin1: ["GND"] }, connections: { pin1: "net.GND" }, footprint: jsx("footprint", { children: jsx("platedhole", { portHints: ["pin1"], shape: "circle", holeDiameter: "3.2mm", outerDiameter: "5.6mm" }) }) }));
/**
* USB-PD brushed-DC controller.
* Reference architecture: Pololu Jrk G2 (USB-connected single brushed motor),
* implemented with TI DRV8876 and a native-USB ESP32-C3.
*/
function UsbPdDcMotorController() {
return (jsxs("board", { width: "82mm", height: "55mm", layers: 4, thickness: "1.6mm", minViaHoleDiameter: "0.3mm", minViaPadDiameter: "0.55mm", autorouterVersion: "beta_pipeline7", autorouterEffortLevel: "2x", children: [jsx("net", { name: "GND" }), jsx("net", { name: "USB_5V" }), jsx("net", { name: "V3V3" }), jsx("net", { name: "USB_DM_CONN" }), jsx("net", { name: "USB_DP_CONN" }), jsx("net", { name: "USB_DM_ESD" }), jsx("net", { name: "USB_DP_ESD" }), jsx("net", { name: "PD_VBUS_RAW" }), jsx("net", { name: "PD_DP" }), jsx("net", { name: "PD_DM" }), jsx("net", { name: "PD_VDD" }), jsx("net", { name: "VMOTOR" }), jsx("net", { name: "PD_POWER_GOOD" }), jsx("net", { name: "MOTOR_ENABLE_PWM" }), jsx("net", { name: "MOTOR_DIRECTION" }), jsx("net", { name: "DRIVER_SLEEP" }), jsx("net", { name: "DRIVER_FAULT" }), jsx("net", { name: "MOTOR_CURRENT" }), jsx("net", { name: "VREF_2A" }), jsx("net", { name: "CP_HIGH" }), jsx(TYPE_C_16PIN_2MD_073_, { name: "J_DATA", pcbX: -28, pcbY: -23.5, noConnect: ["SBU1", "SBU2"], connections: { VBUS1: "net.USB_5V", VBUS2: "net.USB_5V", GND1: "net.GND", GND2: "net.GND", EH1: "net.GND", EH2: "net.GND", EH3: "net.GND", EH4: "net.GND", Dn1: "net.USB_DM_CONN", Dn2: "net.USB_DM_CONN", Dp1: "net.USB_DP_CONN", Dp2: "net.USB_DP_CONN" } }), jsx(R, { name: "R_DATA_CC1", resistance: "5.1k", footprint: "0402", jlcpcb: "C25905", pcbX: -29, pcbY: -18.5, connections: { pin1: ".J_DATA > .CC1", pin2: "net.GND" } }), jsx(R, { name: "R_DATA_CC2", resistance: "5.1k", footprint: "0402", jlcpcb: "C25905", pcbX: -30, pcbY: -14.5, pcbRotation: 180, connections: { pin1: ".J_DATA > .CC2", pin2: "net.GND" } }), jsx(USBLC6_2SC6, { name: "U_USB_ESD", pcbX: -25, pcbY: -17.5, pcbRotation: 90, connections: { pin1: "net.USB_DM_CONN", pin6: "net.USB_DM_ESD", pin3: "net.USB_DP_CONN", pin4: "net.USB_DP_ESD", VBUS: "net.USB_5V", GND: "net.GND" } }), jsx(R, { name: "R_USB_DM", resistance: "22", footprint: "0402", jlcpcb: "C25092", pcbX: -22, pcbY: -15.8, connections: { pin1: "net.USB_DM_ESD", pin2: ".U_MCU > .IO18" } }), jsx(R, { name: "R_USB_DP", resistance: "22", footprint: "0402", jlcpcb: "C25092", pcbX: -22, pcbY: -18.2, connections: { pin1: "net.USB_DP_ESD", pin2: ".U_MCU > .IO19" } }), jsx(AP2112K_3_3TRG1, { name: "U_LDO", pcbX: -34, pcbY: -13, noConnect: ["NC"], connections: { VIN: "net.USB_5V", EN: "net.USB_5V", VOUT: "net.V3V3", GND: "net.GND" } }), jsx(C, { name: "C_LDO_IN", capacitance: "1uF", footprint: "0603", jlcpcb: "C15849", pcbX: -38, pcbY: -10, connections: { pin1: "net.USB_5V", pin2: "net.GND" } }), jsx(C, { name: "C_LDO_OUT", capacitance: "1uF", footprint: "0603", jlcpcb: "C15849", pcbX: -30, pcbY: -10, connections: { pin1: "net.V3V3", pin2: "net.GND" } }), jsx(ESP32_C3_WROOM_02_N4, { name: "U_MCU", pcbX: -23, pcbY: 7, connections: { "3V3": "net.V3V3", GND: "net.GND", EP: "net.GND", IO1: "net.MOTOR_ENABLE_PWM", IO2: "net.MOTOR_DIRECTION", IO3: "net.DRIVER_FAULT", IO0: "net.MOTOR_CURRENT", IO7: "net.PD_POWER_GOOD", IO10: "net.DRIVER_SLEEP" } }), jsx(C, { name: "C_MCU_100N", capacitance: "100nF", footprint: "0402", jlcpcb: "C1525", pcbX: -11, pcbY: 13, connections: { pin1: "net.V3V3", pin2: "net.GND" } }), jsx(C, { name: "C_MCU_10U", capacitance: "10uF", footprint: "0805", jlcpcb: "C15850", pcbX: -11, pcbY: 10, connections: { pin1: "net.V3V3", pin2: "net.GND" } }), jsx(R, { name: "R_EN", resistance: "10k", footprint: "0402", jlcpcb: "C25744", pcbX: -37, pcbY: 11, connections: { pin1: "net.V3V3", pin2: ".U_MCU > .EN" } }), jsx(SKRPACE010, { name: "SW_RESET", pcbX: -38, pcbY: 0, noConnect: ["pin3", "pin4"], connections: { pin1: ".U_MCU > .EN", pin2: "net.GND" } }), jsx(R, { name: "R_IO8_STRAP", resistance: "10k", footprint: "0402", jlcpcb: "C25744", pcbX: -37, pcbY: 7, connections: { pin1: "net.V3V3", pin2: ".U_MCU > .IO8" } }), jsx(R, { name: "R_IO9_STRAP", resistance: "10k", footprint: "0402", jlcpcb: "C25744", pcbX: -37, pcbY: 4, connections: { pin1: "net.V3V3", pin2: ".U_MCU > .IO9" } }), jsx(SKRPACE010, { name: "SW_BOOT", pcbX: -38, pcbY: -6, noConnect: ["pin3", "pin4"], connections: { pin1: ".U_MCU > .IO9", pin2: "net.GND" } }), jsx(TYPE_C_16PIN_2MD_073_, { name: "J_POWER", pcbX: -8, pcbY: -23.5, noConnect: ["SBU1", "SBU2"], connections: { VBUS1: "net.PD_VBUS_RAW", VBUS2: "net.PD_VBUS_RAW", GND1: "net.GND", GND2: "net.GND", EH1: "net.GND", EH2: "net.GND", EH3: "net.GND", EH4: "net.GND", Dn1: "net.PD_DM", Dn2: "net.PD_DM", Dp1: "net.PD_DP", Dp2: "net.PD_DP" } }), jsx(CH224K, { name: "U_PD", pcbX: -8, pcbY: -16, pcbRotation: 90, noConnect: ["CFG2", "CFG3"], connections: { DP: "net.PD_DP", DM: "net.PD_DM", CC1: ".J_POWER > .CC1", CC2: ".J_POWER > .CC2", VDD: "net.PD_VDD", GND: "net.GND", PG: "net.PD_POWER_GOOD" } }), jsx(R, { name: "R_PD_VDD", resistance: "1k", footprint: "1206", jlcpcb: "C844867", manufacturerPartNumber: "CRCW12061K00FKEAHP", pcbX: -15, pcbY: -13, pcbRotation: 180, connections: { pin1: "net.PD_VBUS_RAW", pin2: "net.PD_VDD" } }), jsx(C, { name: "C_PD_VDD", capacitance: "1uF", footprint: "0603", jlcpcb: "C15849", pcbX: -14.5, pcbY: -9.5, connections: { pin1: "net.PD_VDD", pin2: "net.GND" } }), jsx(R, { name: "R_PD_VBUS", resistance: "10k", footprint: "0603", jlcpcb: "C2906982", pcbX: -1, pcbY: -13, pcbRotation: 180, connections: { pin1: "net.PD_VBUS_RAW", pin2: ".U_PD > .VBUS" } }), jsx(R, { name: "R_PD_CFG1", resistance: "56k", footprint: "0603", jlcpcb: "C23206", pcbX: -4, pcbY: -10.5, connections: { pin1: ".U_PD > .CFG1", pin2: "net.GND" } }), jsx(R, { name: "R_PD_PG", resistance: "10k", footprint: "0402", jlcpcb: "C25744", pcbX: -1, pcbY: -9.5, connections: { pin1: "net.V3V3", pin2: "net.PD_POWER_GOOD" } }), jsx("fuse", { name: "F1", currentRating: "2A", voltageRating: "30V", footprint: "1812", supplierPartNumbers: { jlcpcb: ["C960026"] }, manufacturerPartNumber: "BSMD1812-200-30V", pcbX: 2, pcbY: -18, connections: { pin1: "net.PD_VBUS_RAW" } }), jsx(SS54, { name: "D_REVERSE", pcbX: 9.5, pcbY: -18, pcbRotation: 180, connections: { anode: ".F1 > .pin2", cathode: "net.VMOTOR" } }), jsx(TCJD107M025R0055E, { name: "C_MOTOR_BULK", pcbX: 15, pcbY: -18, pcbRotation: 90, connections: { pin1: "net.VMOTOR", pin2: "net.GND" } }), jsx(C, { name: "C_VM_10U_A", capacitance: "10uF", footprint: "0805", jlcpcb: "C15850", pcbX: 21, pcbY: -17, connections: { pin1: "net.VMOTOR", pin2: "net.GND" } }), jsx(C, { name: "C_VM_10U_B", capacitance: "10uF", footprint: "0805", jlcpcb: "C15850", pcbX: 25, pcbY: -17, connections: { pin1: "net.VMOTOR", pin2: "net.GND" } }), jsx(SMBJ16CAQ_13_F, { name: "D_TVS", pcbX: 17, pcbY: -12, pcbRotation: 180, connections: { pin1: "net.VMOTOR", pin2: "net.GND" } }), jsx(DRV8876PWPR, { name: "U_DRIVER", pcbX: 15, pcbY: 2, connections: { pin1: "net.MOTOR_ENABLE_PWM", pin2: "net.MOTOR_DIRECTION", nSLEEP: "net.DRIVER_SLEEP", nFAULT: "net.DRIVER_FAULT", VREF: "net.VREF_2A", IPROPI: "net.MOTOR_CURRENT", IMODE: "net.GND", OUT1: ".J_MOTOR > .pin1", OUT2: ".J_MOTOR > .pin2", VM: "net.VMOTOR", VCP: "net.CP_HIGH", CPH: ".C_CP_FLY > .pin1", CPL: ".C_CP_FLY > .pin2", PGND: "net.GND", GND: "net.GND", EP: "net.GND" } }), jsx(C, { name: "C_DRIVER_VM", capacitance: "100nF", footprint: "0603", jlcpcb: "C14663", pcbX: 9, pcbY: -4.5, connections: { pin1: "net.VMOTOR", pin2: "net.GND" } }), jsx(C, { name: "C_CP_VCP", capacitance: "100nF", footprint: "0603", jlcpcb: "C14663", pcbX: 21, pcbY: -4.5, connections: { pin1: "net.CP_HIGH", pin2: "net.VMOTOR" } }), jsx(C, { name: "C_CP_FLY", capacitance: "22nF", footprint: "0603", jlcpcb: "C21122", pcbX: 20, pcbY: 2 }), jsx(R, { name: "R_SLEEP_PD", resistance: "100k", footprint: "0402", jlcpcb: "C25741", pcbX: 8, pcbY: 6, connections: { pin1: "net.DRIVER_SLEEP", pin2: "net.GND" } }), jsx(R, { name: "R_FAULT_PU", resistance: "10k", footprint: "0402", jlcpcb: "C25744", pcbX: 8, pcbY: 9, connections: { pin1: "net.V3V3", pin2: "net.DRIVER_FAULT" } }), jsx(R, { name: "R_IPROPI", resistance: "1.5k", footprint: "0402", jlcpcb: "C25867", pcbX: 11, pcbY: 11, pcbRotation: 180, connections: { pin1: "net.MOTOR_CURRENT", pin2: "net.GND" } }), jsx(R, { name: "R_VREF_TOP", resistance: "1k", footprint: "0402", jlcpcb: "C11702", pcbX: 15, pcbY: 11, connections: { pin1: "net.V3V3", pin2: "net.VREF_2A" } }), jsx(R, { name: "R_VREF_BOTTOM", resistance: "10k", footprint: "0402", jlcpcb: "C25744", pcbX: 18, pcbY: 11, connections: { pin1: "net.VREF_2A", pin2: "net.GND" } }), jsx(WJ500V_5_08_2P, { name: "J_MOTOR", pcbX: 35.5, pcbY: 2, pcbRotation: 90 }), jsx(LTST_C19HE1WT, { name: "LED_STATUS", pcbX: -2, pcbY: 8, connections: { _POS: "net.V3V3" } }), jsx(R, { name: "R_LED_R", resistance: "1k", footprint: "0402", jlcpcb: "C11702", pcbX: 1, pcbY: 10, connections: { pin1: ".LED_STATUS > .R_NEG", pin2: ".U_MCU > .IO4" } }), jsx(R, { name: "R_LED_G", resistance: "1k", footprint: "0402", jlcpcb: "C11702", pcbX: 1, pcbY: 8, connections: { pin1: ".LED_STATUS > .G_NEG", pin2: ".U_MCU > .IO5" } }), jsx(R, { name: "R_LED_B", resistance: "1k", footprint: "0402", jlcpcb: "C11702", pcbX: 1, pcbY: 6, connections: { pin1: ".LED_STATUS > .B_NEG", pin2: ".U_MCU > .IO6" } }), jsx("trace", { from: ".J_POWER > .VBUS1", to: ".F1 > .pin1", thickness: "1mm" }), jsx("trace", { from: ".F1 > .pin2", to: ".D_REVERSE > .anode", thickness: "1mm" }), jsx("trace", { from: ".D_REVERSE > .cathode", to: "net.VMOTOR", thickness: "1mm" }), jsx("trace", { from: ".U_DRIVER > .OUT1", to: ".J_MOTOR > .pin1", thickness: "1mm" }), jsx("trace", { from: ".U_DRIVER > .OUT2", to: ".J_MOTOR > .pin2", thickness: "1mm" }), jsx("trace", { name: "DRV_PMODE_GND", from: ".U_DRIVER > .PMODE", to: ".U_DRIVER > .GND", thickness: "0.2mm" }), jsx(MountingHole, { name: "MH1", pcbX: -36.5, pcbY: 22 }), jsx(MountingHole, { name: "MH2", pcbX: 36.5, pcbY: 22 }), jsx(MountingHole, { name: "MH3", pcbX: -36.5, pcbY: -18.5 }), jsx(MountingHole, { name: "MH4", pcbX: 36.5, pcbY: -18.5 }), jsx("silkscreentext", { text: "USB DATA", pcbX: -28, pcbY: -21.2, fontSize: "1.2mm" }), jsx("silkscreentext", { text: "15V USB-PD", pcbX: -8, pcbY: -21.2, fontSize: "1.2mm" }), jsx("silkscreentext", { text: "MOTOR", pcbX: 34, pcbY: 8, fontSize: "1.2mm" }), jsx("silkscreentext", { text: "2A USB-PD DC MOTOR CONTROLLER", pcbX: 9, pcbY: 23, fontSize: "1.2mm" }), jsx("silkscreentext", { text: "DRV8876 / ESP32-C3", pcbX: 13, pcbY: 20.5, fontSize: "0.9mm" }), jsx("silkscreentext", { text: "BOOT", pcbX: -35, pcbY: -9, fontSize: "0.7mm" }), jsx("silkscreentext", { text: "RESET", pcbX: -35, pcbY: -3, fontSize: "0.7mm" })] }));
}
export { UsbPdDcMotorController as default };