imrishabh18/motor-driver-breakout
"A 30x30mm TB6612FNG motor driver board with dual 8-pin headers and bypass capacitors for motor control and power regulation" This summary captures the key physical characteristics: - Uses TB6612FNG motor driver chip - 30x30mm board size - Dual 8-pin headers (JP1 and JP2) - Includes decoupling capacitors (C1, C2, C3) - Purpose is motor control and power management
Usage: Based on the provided code, here's a concise guide to importing and using the motor driver breakout component: 1. Import the component: ```tsx import MotorDriverBreakout from "@tsci/imrishabh18.motor-driver-breakout" ``` 2. Use the component in a board layout: ```tsx <board width="30mm" height="30mm"> <MotorDriverBreakout /> {/* Other components and traces can be added as needed */} </board> ``` Key points: - The component includes a motor driver, pin headers, and supporting capacitors - It has predefined traces and component placements - Optional manual edits can be included via a `manualEdits` prop - The component uses an autorouter for trace routing
- Version
- 0.0.1
- License
- MIT
- Stars
- 5
dist/index.esm.js
PCB
Schematic
import { createUseComponent } from '@tscircuit/core';
function _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }
const pinLabels = {
pin1: ["pin1", "AO11"],
pin2: ["pin2", "AO12"],
pin3: ["pin3", "PGND11"],
pin4: ["pin4", "PGND12"],
pin5: ["pin5", "AO21"],
pin6: ["pin6", "AO22"],
pin7: ["pin7", "BO21"],
pin8: ["pin8", "BO22"],
pin9: ["pin9", "PGND21"],
pin10: ["pin10", "PGND22"],
pin11: ["pin11", "BO11"],
pin12: ["pin12", "BO12"],
pin13: ["pin13", "VM2"],
pin14: ["pin14", "VM3"],
pin15: ["pin15", "PWMB"],
pin16: ["pin16", "BIN2"],
pin17: ["pin17", "BIN1"],
pin18: ["pin18", "GND"],
pin19: ["pin19", "STBY"],
pin20: ["pin20", "VCC"],
pin21: ["pin21", "AIN1"],
pin22: ["pin22", "AIN2"],
pin23: ["pin23", "PWMA"],
pin24: ["pin24", "VM1"]
};
const MotorDriver = props => {
return /*#__PURE__*/React.createElement("chip", _extends({}, props, {
cadModel: {
objUrl: "https://modelcdn.tscircuit.com/easyeda_models/download?uuid=9fcdeaf10ae24c4a8aa0d28b1d82c96d&pn=C141517",
rotationOffset: {
x: 0,
y: 0,
z: 0
},
positionOffset: {
x: 0,
y: 0,
z: 0
}
},
pinLabels: pinLabels,
supplierPartNumbers: {
lcsc: ["C141517"]
},
pcbRotation: "90deg",
footprint: /*#__PURE__*/React.createElement("footprint", null, /*#__PURE__*/React.createElement("smtpad", {
portHints: ["pin1"],
pcbX: "-3.575050000000033mm",
pcbY: "-3.562095999999883mm",
width: "0.30800039999999995mm",
height: "1.3240004mm",
shape: "rect"
}), /*#__PURE__*/React.createElement("smtpad", {
portHints: ["pin2"],
pcbX: "-2.925064000000134mm",
pcbY: "-3.562095999999883mm",
width: "0.30800039999999995mm",
height: "1.3240004mm",
shape: "rect"
}), /*#__PURE__*/React.createElement("smtpad", {
portHints: ["pin3"],
pcbX: "-2.2750780000000077mm",
pcbY: "-3.562095999999883mm",
width: "0.30800039999999995mm",
height: "1.3240004mm",
shape: "rect"
}), /*#__PURE__*/React.createElement("smtpad", {
portHints: ["pin4"],
pcbX: "-1.6250920000001088mm",
pcbY: "-3.562095999999883mm",
width: "0.30800039999999995mm",
height: "1.3240004mm",
shape: "rect"
}), /*#__PURE__*/React.createElement("smtpad", {
portHints: ["pin5"],
pcbX: "-0.9751059999999825mm",
pcbY: "-3.562095999999883mm",
width: "0.30800039999999995mm",
height: "1.3240004mm",
shape: "rect"
}), /*#__PURE__*/React.createElement("smtpad", {
portHints: ["pin6"],
pcbX: "-0.32486600000004273mm",
pcbY: "-3.562095999999883mm",
width: "0.30800039999999995mm",
height: "1.3240004mm",
shape: "rect"
}), /*#__PURE__*/React.createElement("smtpad", {
portHints: ["pin7"],
pcbX: "0.32512000000008356mm",
pcbY: "-3.562095999999883mm",
width: "0.30800039999999995mm",
height: "1.3240004mm",
shape: "rect"
}), /*#__PURE__*/React.createElement("smtpad", {
portHints: ["pin8"],
pcbX: "0.9751059999999825mm",
pcbY: "-3.562095999999883mm",
width: "0.30800039999999995mm",
height: "1.3240004mm",
shape: "rect"
}), /*#__PURE__*/React.createElement("smtpad", {
portHints: ["pin9"],
pcbX: "1.625091999999995mm",
pcbY: "-3.562095999999883mm",
width: "0.30800039999999995mm",
height: "1.3240004mm",
shape: "rect"
}), /*#__PURE__*/React.createElement("smtpad", {
portHints: ["pin10"],
pcbX: "2.2750780000000077mm",
pcbY: "-3.562095999999883mm",
width: "0.30800039999999995mm",
height: "1.3240004mm",
shape: "rect"
}), /*#__PURE__*/React.createElement("smtpad", {
portHints: ["pin11"],
pcbX: "2.9250640000000203mm",
pcbY: "-3.562095999999883mm",
width: "0.30800039999999995mm",
height: "1.3240004mm",
shape: "rect"
}), /*#__PURE__*/React.createElement("smtpad", {
portHints: ["pin12"],
pcbX: "3.5750499999999192mm",
pcbY: "-3.562095999999883mm",
width: "0.30800039999999995mm",
height: "1.3240004mm",
shape: "rect"
}), /*#__PURE__*/React.createElement("smtpad", {
portHints: ["pin24"],
pcbX: "-3.575050000000033mm",
pcbY: "3.562095999999997mm",
width: "0.30800039999999995mm",
height: "1.3240004mm",
shape: "rect"
}), /*#__PURE__*/React.createElement("smtpad", {
portHints: ["pin23"],
pcbX: "-2.925064000000134mm",
pcbY: "3.562095999999997mm",
width: "0.30800039999999995mm",
height: "1.3240004mm",
shape: "rect"
}), /*#__PURE__*/React.createElement("smtpad", {
portHints: ["pin22"],
pcbX: "-2.2750780000000077mm",
pcbY: "3.562095999999997mm",
width: "0.30800039999999995mm",
height: "1.3240004mm",
shape: "rect"
}), /*#__PURE__*/React.createElement("smtpad", {
portHints: ["pin21"],
pcbX: "-1.6250920000001088mm",
pcbY: "3.562095999999997mm",
width: "0.30800039999999995mm",
height: "1.3240004mm",
shape: "rect"
}), /*#__PURE__*/React.createElement("smtpad", {
portHints: ["pin20"],
pcbX: "-0.9751059999999825mm",
pcbY: "3.562095999999997mm",
width: "0.30800039999999995mm",
height: "1.3240004mm",
shape: "rect"
}), /*#__PURE__*/React.createElement("smtpad", {
portHints: ["pin19"],
pcbX: "-0.32486600000004273mm",
pcbY: "3.562095999999997mm",
width: "0.30800039999999995mm",
height: "1.3240004mm",
shape: "rect"
}), /*#__PURE__*/React.createElement("smtpad", {
portHints: ["pin18"],
pcbX: "0.32512000000008356mm",
pcbY: "3.562095999999997mm",
width: "0.30800039999999995mm",
height: "1.3240004mm",
shape: "rect"
}), /*#__PURE__*/React.createElement("smtpad", {
portHints: ["pin17"],
pcbX: "0.9751059999999825mm",
pcbY: "3.562095999999997mm",
width: "0.30800039999999995mm",
height: "1.3240004mm",
shape: "rect"
}), /*#__PURE__*/React.createElement("smtpad", {
portHints: ["pin16"],
pcbX: "1.625091999999995mm",
pcbY: "3.562095999999997mm",
width: "0.30800039999999995mm",
height: "1.3240004mm",
shape: "rect"
}), /*#__PURE__*/React.createElement("smtpad", {
portHints: ["pin15"],
pcbX: "2.2750780000000077mm",
pcbY: "3.562095999999997mm",
width: "0.30800039999999995mm",
height: "1.3240004mm",
shape: "rect"
}), /*#__PURE__*/React.createElement("smtpad", {
portHints: ["pin14"],
pcbX: "2.9250640000000203mm",
pcbY: "3.562095999999997mm",
width: "0.30800039999999995mm",
height: "1.3240004mm",
shape: "rect"
}), /*#__PURE__*/React.createElement("smtpad", {
portHints: ["pin13"],
pcbX: "3.5750499999999192mm",
pcbY: "3.562095999999997mm",
width: "0.30800039999999995mm",
height: "1.3240004mm",
shape: "rect"
}), /*#__PURE__*/React.createElement("silkscreenpath", {
route: [{
x: -4.064000000000078,
y: 2.6669999999999163
}, {
x: -4.064000000000078,
y: -2.66700000000003
}, {
x: 3.936999999999898,
y: -2.66700000000003
}, {
x: 3.936999999999898,
y: 2.6669999999999163
}, {
x: -4.064000000000078,
y: 2.6669999999999163
}]
}))
}));
};
const useMotorDriver = createUseComponent(MotorDriver, pinLabels);
var manaulEdits = {
"pcb_placements": [
{
"selector": "C3",
"center": {
"x": 1,
"y": 5.225806451612904
},
"relative_to": "group_center",
"_edit_event_id": "0.8257349681150397"
},
{
"selector": "C1",
"center": {
"x": -1.3225806451612883,
"y": 5.225806451612902
},
"relative_to": "group_center",
"_edit_event_id": "0.23677774255304196"
},
{
"selector": "C2",
"center": {
"x": -0.03225806451613167,
"y": 7.806451612903226
},
"relative_to": "group_center",
"_edit_event_id": "0.7735206084238306"
}
],
"edit_events": [],
"manual_trace_hints": []
};
var index = () => {
const MotorDriver = useMotorDriver("M1");
return /*#__PURE__*/React.createElement("board", {
width: "30mm",
height: "30mm",
autorouter: "auto-cloud",
manualEdits: manaulEdits
}, /*#__PURE__*/React.createElement(MotorDriver, null), /*#__PURE__*/React.createElement("pinheader", {
name: "JP1",
pinCount: 8,
pcbX: -9,
pcbRotation: 90,
schX: -4,
footprint: "pinrow8"
}), /*#__PURE__*/React.createElement("pinheader", {
name: "JP2",
pinCount: 8,
pcbX: 9,
pcbRotation: 90,
schX: 4,
schRotation: 180,
footprint: "pinrow8",
facingDirection: "left"
}), /*#__PURE__*/React.createElement("capacitor", {
name: "C1",
capacitance: "0.1uF",
pcbX: -7,
pcbY: 8,
schX: -2.5,
schY: 3,
footprint: "0402",
schRotation: 90
}), /*#__PURE__*/React.createElement("capacitor", {
name: "C3",
capacitance: "10uF",
pcbX: -5,
pcbY: 8,
schX: -1,
schY: 3,
footprint: "0402",
schRotation: 90
}), /*#__PURE__*/React.createElement("capacitor", {
name: "C2",
capacitance: "0.1uF",
pcbX: 5,
pcbY: 8,
schX: 2.5,
schY: 3,
footprint: "0402",
schRotation: 90
}), /*#__PURE__*/React.createElement("trace", {
from: ".JP1 > .pin8",
to: ".C1 > .neg"
}), /*#__PURE__*/React.createElement("trace", {
from: ".JP1 > .pin8",
to: ".C3 > .pos"
}), /*#__PURE__*/React.createElement("trace", {
from: ".JP1 > .pin8",
to: ".M1 > .pin24"
}), /*#__PURE__*/React.createElement("trace", {
from: ".JP1 > .pin8",
to: ".M1 > .pin14"
}), /*#__PURE__*/React.createElement("trace", {
from: ".JP1 > .pin7",
to: "net.VCC"
}), /*#__PURE__*/React.createElement("trace", {
from: ".JP1 > .pin6",
to: "net.GND"
}), /*#__PURE__*/React.createElement("trace", {
from: ".JP1 > .pin5",
to: ".M1 > .pin1"
}), /*#__PURE__*/React.createElement("trace", {
from: ".JP1 > .pin5",
to: ".M1 > .pin2"
}), /*#__PURE__*/React.createElement("trace", {
from: ".JP1 > .pin4",
to: ".M1 > .pin5"
}), /*#__PURE__*/React.createElement("trace", {
from: ".JP1 > .pin4",
to: ".M1 > .pin6"
}), /*#__PURE__*/React.createElement("trace", {
from: ".JP1 > .pin3",
to: ".M1 > .pin7"
}), /*#__PURE__*/React.createElement("trace", {
from: ".JP1 > .pin3",
to: ".M1 > .pin8"
}), /*#__PURE__*/React.createElement("trace", {
from: ".JP1 > .pin2",
to: ".M1 > .pin11"
}), /*#__PURE__*/React.createElement("trace", {
from: ".JP1 > .pin2",
to: ".M1 > .pin12"
}), /*#__PURE__*/React.createElement("trace", {
from: ".JP1 > .pin1",
to: "net.GND"
}), /*#__PURE__*/React.createElement("trace", {
from: ".JP2 > .pin8",
to: "net.GND"
}), /*#__PURE__*/React.createElement("trace", {
from: ".JP2 > .pin7",
to: ".M1 > .pin15"
}), /*#__PURE__*/React.createElement("trace", {
from: ".JP2 > .pin6",
to: ".M1 > .pin16"
}), /*#__PURE__*/React.createElement("trace", {
from: ".JP2 > .pin5",
to: ".M1 > .pin17"
}), /*#__PURE__*/React.createElement("trace", {
from: ".JP2 > .pin4",
to: ".M1 > .pin19"
}), /*#__PURE__*/React.createElement("trace", {
from: ".JP2 > .pin3",
to: ".M1 > .pin21"
}), /*#__PURE__*/React.createElement("trace", {
from: ".JP2 > .pin2",
to: ".M1 > .pin22"
}), /*#__PURE__*/React.createElement("trace", {
from: ".JP2 > .pin1",
to: ".M1 > .pin23"
}), /*#__PURE__*/React.createElement("trace", {
from: ".C1 > .pos",
to: "net.GND"
}), /*#__PURE__*/React.createElement("trace", {
from: ".C3 > .neg",
to: "net.GND"
}), /*#__PURE__*/React.createElement("trace", {
from: ".C1 > .neg",
to: ".M1 > .pin24"
}), /*#__PURE__*/React.createElement("trace", {
from: ".C3 > .pos",
to: ".M1 > .pin24"
}), /*#__PURE__*/React.createElement("trace", {
from: ".C1 > .neg",
to: ".M1 > .pin14"
}), /*#__PURE__*/React.createElement("trace", {
from: ".C3 > .pos",
to: ".M1 > .pin14"
}), /*#__PURE__*/React.createElement("trace", {
from: ".C1 > .neg",
to: ".M1 > .pin13"
}), /*#__PURE__*/React.createElement("trace", {
from: ".C3 > .pos",
to: ".M1 > .pin13"
}), /*#__PURE__*/React.createElement("trace", {
from: ".C2 > .pos",
to: "net.VCC"
}), /*#__PURE__*/React.createElement("trace", {
from: ".C2 > .neg",
to: "net.GND"
}), /*#__PURE__*/React.createElement("trace", {
from: ".M1 > .pin18",
to: "net.GND"
}), /*#__PURE__*/React.createElement("trace", {
from: ".M1 > .pin20",
to: "net.VCC"
}), /*#__PURE__*/React.createElement("trace", {
from: ".M1 > .pin3",
to: "net.GND"
}), /*#__PURE__*/React.createElement("trace", {
from: ".M1 > .pin4",
to: "net.GND"
}), /*#__PURE__*/React.createElement("trace", {
from: ".M1 > .pin9",
to: "net.GND"
}), /*#__PURE__*/React.createElement("trace", {
from: ".M1 > .pin10",
to: "net.GND"
}));
};
export { index as default };