MustafaMulla29/rp2040-bldc-motor-controller-new
A tscircuit package created by MustafaMulla29.
- Version
- 0.3.101
- License
- unset
- Stars
- 0
imports/SI7111EDN_T1_GE3.tsx
// Vishay Si7111EDN: 30 V PMOS, RDS(on) <=16 mOhm at VGS=-2.5 V.
// PowerPAK 1212-8: S=1/2/3, G=4, D=5/6/7/8 and the exposed drain pad.
import { Fragment } from "react"
import type { ChipProps } from "@tscircuit/props"
const pinLabels = {
pin1: ["S1"],
pin2: ["S2"],
pin3: ["S3"],
pin4: ["G"],
pin5: ["D4"],
pin6: ["D3"],
pin7: ["D2"],
pin8: ["D1"]
} as const
// MOSFET gate is the control input; drain/source are passive switched terminals, not fixed supply pins.
const pinAttributes = {
pin1: { isPassive: true },
pin2: { isPassive: true },
pin3: { isPassive: true },
pin4: { isInput: true, mustBeConnected: true },
pin5: { isPassive: true },
pin6: { isPassive: true },
pin7: { isPassive: true },
pin8: { isPassive: true },
} as const
export const SI7111EDN_T1_GE3 = ({ sourceOnLeft = false, ...props }: ChipProps<typeof pinLabels> & { sourceOnLeft?: boolean }) => {
// P-channel enhancement MOSFET, including its drain-to-source body diode.
// All eight package pins stay distinct electrically. Parallel source/drain
// pins share a schematic terminal, as in the manufacturer's circuit symbol.
const mirror = sourceOnLeft ? -1 : 1
const point = ({ x, y }: { x: number; y: number }) => ({ x: -y * mirror, y: x - 0.1 })
const paths = [
{ points: [[0.02,0],[-0.1,-0.04],[-0.1,0.04],[0.02,0]], fill: true },
{ points: [[0.3,-0.04],[0.24,0.06],[0.36,0.06],[0.3,-0.04]], fill: true },
{ points: [[-0.1,0.14],[0.1,0.14],[0.1,0.2],[0.3,0.2],[0.3,0.06]] },
{ points: [[-0.1,0],[0.1,0],[0.1,-0.2],[0.3,-0.2],[0.3,-0.04]] },
{ points: [[0.1,-0.14],[-0.1,-0.14]] },
{ points: [[-0.14,0.18],[-0.14,-0.18]] },
{ points: [[-0.1,0.18],[-0.1,0.1]] },
{ points: [[-0.1,-0.04],[-0.1,0.04]] },
{ points: [[-0.1,-0.18],[-0.1,-0.1]] },
{ points: [[0.38,-0.04],[0.22,-0.04]] },
]
return (
<chip
pinLabels={pinLabels}
pinAttributes={pinAttributes}
symbol={<symbol>
<schematictext text="{NAME}" schX={0} schY={0.7} fontSize={0.18} anchor="center" />
<schematictext text="SI7111EDN-T1-GE3" schX={0} schY={0.45} fontSize={0.13} anchor="center" />
{paths.map((p, i) => <Fragment key={i}><schematicpath
points={p.points.map(([x,y]) => point({x,y}))} strokeColor="#880000"
isFilled={p.fill ?? false} fillColor="#880000" /></Fragment>)}
{Object.entries(pinLabels).map(([name, aliases], i) => {
const terminal = i < 3 ? {x:0.1,y:-0.4} : i === 3 ? {x:-0.3,y:0} : {x:0.1,y:0.4}
const direction = i === 3 ? "down" : (i < 3) === (mirror === 1) ? "right" : "left"
const p = point(terminal)
return <Fragment key={name}><port name={aliases[0]} pinNumber={i + 1} aliases={[name]}
direction={direction} schX={p.x} schY={p.y} schStemLength={i === 3 ? 0.16 : 0.2} /></Fragment>
})}
</symbol>}
supplierPartNumbers={{
"jlcpcb": [
"C5690133"
]
}}
manufacturerPartNumber="SI7111EDN-T1-GE3"
footprint={<footprint>
<smtpad portHints={["pin1"]} pcbX="-0.974979mm" pcbY="-1.434973mm" width="0.405003mm" height="0.9899904mm" shape="rect" />
<smtpad portHints={["pin2"]} pcbX="-0.324993mm" pcbY="-1.434973mm" width="0.405003mm" height="0.9899904mm" shape="rect" />
<smtpad portHints={["pin3"]} pcbX="0.324993mm" pcbY="-1.434973mm" width="0.405003mm" height="0.9899904mm" shape="rect" />
<smtpad portHints={["pin4"]} pcbX="0.974979mm" pcbY="-1.434973mm" width="0.405003mm" height="0.9899904mm" shape="rect" />
<smtpad portHints={["pin5"]} pcbX="0.974979mm" pcbY="1.434973mm" width="0.405003mm" height="0.9899904mm" shape="rect" solderPasteMargin={-2} />
<smtpad portHints={["pin6"]} pcbX="0.324993mm" pcbY="1.434973mm" width="0.405003mm" height="0.9899904mm" shape="rect" solderPasteMargin={-2} />
<smtpad portHints={["pin7"]} pcbX="-0.324993mm" pcbY="1.434973mm" width="0.405003mm" height="0.9899904mm" shape="rect" solderPasteMargin={-2} />
<smtpad portHints={["pin8"]} pcbX="-0.974979mm" pcbY="1.434973mm" width="0.405003mm" height="0.9899904mm" shape="rect" solderPasteMargin={-2} />
<smtpad portHints={["pin5"]} pcbX="0.000127mm" pcbY="0.557403mm" width="2.2349968mm" height="1.7249902mm" shape="rect" solderPasteMargin={-2} />
{/* Four exposed-drain windows plus four drain-finger apertures; factory stencil-process approval remains required. */}
{[-0.557373, 0.557627].flatMap(x => [0.127403, 0.987403].map(y => <solderpaste key={`${x}-${y}`} shape="rect" layer="top" pcbX={x} pcbY={y} width={1.0} height={0.73} />))}
{[-0.974979, -0.324993, 0.324993, 0.974979].map(x => <solderpaste key={`finger-${x}`} shape="rect" layer="top" pcbX={x} pcbY={1.675} width={0.305} height={0.41} />)}
<silkscreenpath route={[{"x":1.408658599999967,"y":1.6999458000000232},{"x":1.650034799999844,"y":1.6999458000000232}]} />
<silkscreenpath route={[{"x":-1.649983999999904,"y":1.6999458000000232},{"x":-1.408607800000027,"y":1.6999458000000232}]} />
<silkscreenpath route={[{"x":1.650034799999844,"y":-1.7000474000000168},{"x":1.650034799999844,"y":1.6999458000000232}]} />
<silkscreenpath route={[{"x":1.408658599999967,"y":-1.7000474000000168},{"x":1.650034799999844,"y":-1.7000474000000168}]} />
<silkscreenpath route={[{"x":-1.649983999999904,"y":-1.7000474000000168},{"x":-1.408607800000027,"y":-1.7000474000000168}]} />
<silkscreenpath route={[{"x":-1.649983999999904,"y":1.6999458000000232},{"x":-1.649983999999904,"y":-1.7000474000000168}]} />
<silkscreencircle pcbX="-1.410081mm" pcbY="-2.120011mm" radius="0.050038mm" />
<silkscreentext text="{NAME}" pcbX="-0.010287mm" pcbY="2.925193mm" anchorAlignment="center" fontSize="1mm" />
<courtyardoutline outline={[{"x":-1.8999586000001045,"y":2.1799681999998484},{"x":1.900034799999844,"y":2.1799681999998484},{"x":1.900034799999844,"y":-2.179968199999962},{"x":-1.8999586000001045,"y":-2.179968199999962},{"x":-1.8999586000001045,"y":2.1799681999998484}]} />
</footprint>}
cadModel={{
objUrl: "https://modelcdn.tscircuit.com/easyeda_models/assets/C5690133.obj?uuid=83ddc30a76e5494dbc6c5642206c065a",
stepUrl: "https://modelcdn.tscircuit.com/easyeda_models/assets/C5690133.step?uuid=83ddc30a76e5494dbc6c5642206c065a",
pcbRotationOffset: 0,
modelOriginPosition: { x: -0.000038099999983387534, y: 0.00006350000001020817, z: -0.02 },
}}
{...props}
schRotation={0}
/>
)
}