MustafaMulla29/rp2040-bldc-motor-controller-new

A USB‑C PD–powered RP2040 BLDC motor controller PCB with 3.3 V logic, MCT8329A sensorless commutation, three MOSFET half-bridges, protected power switching, USB data, controls, and motor connectors.

Version
0.3.82
License
unset
Stars
0

imports/MCT8329A1IREER.tsx

import type { ChipProps } from "@tscircuit/props"

const pinLabels = {
  pin1: ["DGND"],
  pin2: ["VREG"],
  pin3: ["GCTRL"],
  pin4: ["GND"],
  pin5: ["PVDD"],
  pin6: ["CPL"],
  pin7: ["CPH"],
  pin8: ["GVDD"],
  pin9: ["BSTA"],
  pin10: ["SHA"],
  pin11: ["GHA"],
  pin12: ["GLA"],
  pin13: ["BSTB"],
  pin14: ["SHB"],
  pin15: ["GHB"],
  pin16: ["GLB"],
  pin17: ["BSTC"],
  pin18: ["SHC"],
  pin19: ["GHC"],
  pin20: ["GLC"],
  pin21: ["LSS"],
  pin22: ["SP"],
  pin23: ["SN"],
  pin24: ["DRVOFF"],
  pin25: ["AGND"],
  pin26: ["AVDD"],
  pin27: ["pin27"],
  pin28: ["FG"],
  pin29: ["SDA"],
  pin30: ["SCL"],
  pin31: ["DIR"],
  pin32: ["EXT_CLK"],
  pin33: ["pin33"],
  pin34: ["BRAKE"],
  pin35: ["nFAULT"],
  pin36: ["DVDD"],
  pin37: ["PAD"]
} as const

// TI MCT8329A Table 5-1: PVDD/VREG are inputs; GVDD/AVDD/DVDD are regulator outputs. LSS/SN are not ground supply pins.
const pinAttributes = {
  pin1: { requiresGround: true },
  pin4: { requiresGround: true },
  pin25: { requiresGround: true },
  pin37: { requiresGround: true },
  pin2: { requiresPower: true },
  pin5: { requiresPower: true },
  pin8: { providesPower: true },
  pin26: { providesPower: true },
  pin36: { providesPower: true },
} as const

export const MCT8329A1IREER = (props: ChipProps<typeof pinLabels>) => {
  return (
    <chip
      pinLabels={pinLabels}
      pinAttributes={pinAttributes}
      supplierPartNumbers={{
  "jlcpcb": [
    "C7472751"
  ]
}}
      manufacturerPartNumber="MCT8329A1IREER"
      footprint={<footprint>
        <smtpad portHints={["pin1"]} pcbX="-1.799971mm" pcbY="-1.999996mm" width="0.1999996mm" height="0.6999986mm" shape="rect" />
<smtpad portHints={["pin2"]} pcbX="-1.399921mm" pcbY="-1.999742mm" width="0.1999996mm" height="0.6999986mm" shape="rect" />
<smtpad portHints={["pin3"]} pcbX="-0.999871mm" pcbY="-1.999742mm" width="0.1999996mm" height="0.6999986mm" shape="rect" />
<smtpad portHints={["pin4"]} pcbX="-0.600075mm" pcbY="-1.999742mm" width="0.1999996mm" height="0.6999986mm" shape="rect" />
<smtpad portHints={["pin5"]} pcbX="-0.200025mm" pcbY="-1.999742mm" width="0.1999996mm" height="0.6999986mm" shape="rect" />
<smtpad portHints={["pin6"]} pcbX="0.200025mm" pcbY="-1.999742mm" width="0.1999996mm" height="0.6999986mm" shape="rect" />
<smtpad portHints={["pin7"]} pcbX="0.600075mm" pcbY="-1.999742mm" width="0.1999996mm" height="0.6999986mm" shape="rect" />
<smtpad portHints={["pin8"]} pcbX="1.000125mm" pcbY="-1.999742mm" width="0.1999996mm" height="0.6999986mm" shape="rect" />
<smtpad portHints={["pin9"]} pcbX="1.399921mm" pcbY="-1.999742mm" width="0.1999996mm" height="0.6999986mm" shape="rect" />
<smtpad portHints={["pin10"]} pcbX="1.799971mm" pcbY="-1.999996mm" width="0.1999996mm" height="0.6999986mm" shape="rect" />
<smtpad portHints={["pin11"]} pcbX="2.499995mm" pcbY="-1.399794mm" width="0.6999986mm" height="0.1999996mm" shape="rect" />
<smtpad portHints={["pin12"]} pcbX="2.499995mm" pcbY="-0.999998mm" width="0.6999986mm" height="0.1999996mm" shape="rect" />
<smtpad portHints={["pin13"]} pcbX="2.499995mm" pcbY="-0.599948mm" width="0.6999986mm" height="0.1999996mm" shape="rect" />
<smtpad portHints={["pin14"]} pcbX="2.499995mm" pcbY="-0.199898mm" width="0.6999986mm" height="0.1999996mm" shape="rect" />
<smtpad portHints={["pin15"]} pcbX="2.499995mm" pcbY="0.200152mm" width="0.6999986mm" height="0.1999996mm" shape="rect" />
<smtpad portHints={["pin16"]} pcbX="2.499995mm" pcbY="0.600202mm" width="0.6999986mm" height="0.1999996mm" shape="rect" />
<smtpad portHints={["pin17"]} pcbX="2.499995mm" pcbY="0.999998mm" width="0.6999986mm" height="0.1999996mm" shape="rect" />
<smtpad portHints={["pin18"]} pcbX="2.499995mm" pcbY="1.400048mm" width="0.6999986mm" height="0.1999996mm" shape="rect" />
<smtpad portHints={["pin19"]} pcbX="1.799971mm" pcbY="1.999996mm" width="0.1999996mm" height="0.6999986mm" shape="rect" />
<smtpad portHints={["pin20"]} pcbX="1.399921mm" pcbY="1.999996mm" width="0.1999996mm" height="0.6999986mm" shape="rect" />
<smtpad portHints={["pin21"]} pcbX="1.000125mm" pcbY="1.999996mm" width="0.1999996mm" height="0.6999986mm" shape="rect" />
<smtpad portHints={["pin22"]} pcbX="0.600075mm" pcbY="1.999996mm" width="0.1999996mm" height="0.6999986mm" shape="rect" />
<smtpad portHints={["pin23"]} pcbX="0.200025mm" pcbY="1.999996mm" width="0.1999996mm" height="0.6999986mm" shape="rect" />
<smtpad portHints={["pin24"]} pcbX="-0.200025mm" pcbY="1.999996mm" width="0.1999996mm" height="0.6999986mm" shape="rect" />
<smtpad portHints={["pin25"]} pcbX="-0.600075mm" pcbY="1.999996mm" width="0.1999996mm" height="0.6999986mm" shape="rect" />
<smtpad portHints={["pin26"]} pcbX="-0.999871mm" pcbY="1.999996mm" width="0.1999996mm" height="0.6999986mm" shape="rect" />
<smtpad portHints={["pin27"]} pcbX="-1.399921mm" pcbY="1.999996mm" width="0.1999996mm" height="0.6999986mm" shape="rect" />
<smtpad portHints={["pin28"]} pcbX="-1.799971mm" pcbY="1.999996mm" width="0.1999996mm" height="0.6999986mm" shape="rect" />
<smtpad portHints={["pin29"]} pcbX="-2.499995mm" pcbY="1.400048mm" width="0.6999986mm" height="0.1999996mm" shape="rect" />
<smtpad portHints={["pin30"]} pcbX="-2.499995mm" pcbY="0.999998mm" width="0.6999986mm" height="0.1999996mm" shape="rect" />
<smtpad portHints={["pin31"]} pcbX="-2.499995mm" pcbY="0.600202mm" width="0.6999986mm" height="0.1999996mm" shape="rect" />
<smtpad portHints={["pin32"]} pcbX="-2.499995mm" pcbY="0.200152mm" width="0.6999986mm" height="0.1999996mm" shape="rect" />
<smtpad portHints={["pin33"]} pcbX="-2.499995mm" pcbY="-0.199898mm" width="0.6999986mm" height="0.1999996mm" shape="rect" />
<smtpad portHints={["pin34"]} pcbX="-2.499995mm" pcbY="-0.599948mm" width="0.6999986mm" height="0.1999996mm" shape="rect" />
<smtpad portHints={["pin35"]} pcbX="-2.499995mm" pcbY="-0.999998mm" width="0.6999986mm" height="0.1999996mm" shape="rect" />
<smtpad portHints={["pin36"]} pcbX="-2.499995mm" pcbY="-1.399794mm" width="0.6999986mm" height="0.1999996mm" shape="rect" />
{/* Keep the exposed copper/mask continuous. Suppress only its automatic
    paste opening; the six native apertures below define the stencil. */}
<smtpad portHints={["pin37"]} pcbX="0.000127mm" pcbY="0mm" width="3.6500054mm" height="2.6500074mm" shape="rect" solderPasteMargin={-2} />
{[-1.2, 0, 1.2].flatMap(x => [-0.65, 0.65].map(y => (
  <solderpaste key={`${x},${y}`} shape="rect" layer="top"
    pcbX={0.000127 + x} pcbY={y} width={1.05} height={1.15} />
)))}
<silkscreenpath route={[{"x":2.667025400000057,"y":1.731238600000097},{"x":2.667025400000057,"y":2.159101600000099},{"x":2.1311616000000413,"y":2.159101600000099}]} />
<silkscreenpath route={[{"x":2.1311616000000413,"y":-2.158898399999998},{"x":2.667025400000057,"y":-2.158898399999998},{"x":2.667025400000057,"y":-1.7310353999999961}]} />
<silkscreenpath route={[{"x":-2.6669745999998895,"y":-1.7310353999999961},{"x":-2.6669745999998895,"y":-2.158898399999998},{"x":-2.1311107999999876,"y":-2.158898399999998}]} />
<silkscreenpath route={[{"x":-2.1311107999999876,"y":2.159101600000099},{"x":-2.6669745999998895,"y":2.159101600000099},{"x":-2.6669745999998895,"y":1.731238600000097}]} />
<silkscreencircle pcbX="-2.412873mm" pcbY="-2.667mm" radius="0.127mm" />
<silkscreentext text="{NAME}" pcbX="0.003429mm" pcbY="3.346706mm" anchorAlignment="center" fontSize="1mm" />
<courtyardoutline outline={[{"x":-3.091370999999981,"y":2.59670600000004},{"x":3.0982290000000603,"y":2.59670600000004},{"x":3.0982290000000603,"y":-3.0594939999999724},{"x":-3.091370999999981,"y":-3.0594939999999724},{"x":-3.091370999999981,"y":2.59670600000004}]} />
      </footprint>}
      cadModel={{
        objUrl: "https://modelcdn.tscircuit.com/easyeda_models/assets/C7472751.obj?uuid=5e15213583a74def8989241881d57565",
        stepUrl: "https://modelcdn.tscircuit.com/easyeda_models/assets/C7472751.step?uuid=5e15213583a74def8989241881d57565",
        pcbRotationOffset: 90,
        modelOriginPosition: { x: -0.00008890000015071564, y: 0.000025400000026820635, z: -0.01 },
      }}
      {...props}
    />
  )
}