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

PCBPCB preview for dist/index.esm.js
SchematicSchematic preview for dist/index.esm.js
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 };