AnasSarkiz/rp2040-bldc-servo-controller
RP2040-based motor-control board integrating a DRV8316 three-phase gate driver, AS5047P magnetic position sensor, USB-C power/communications, STUSB4500 USB-PD controller, SPI flash, and THVD1450 RS-485 transceiver.
- Version
- 0.0.5
- License
- unset
- Stars
- 0
imports/STUSB4500QTR/STUSB4500QTR.tsx
import objPath from "./STUSB4500QTR.obj"
import stepPath from "./STUSB4500QTR.step"
import { type ChipProps } from "tscircuit"
const pinLabels = {
"pin1": [
"CC1DB"
],
"pin2": [
"CC1"
],
"pin3": [
"NC"
],
"pin4": [
"CC2"
],
"pin5": [
"CC2DB"
],
"pin6": [
"RESET"
],
"pin7": [
"SCL"
],
"pin8": [
"SDA"
],
"pin9": [
"DISCH"
],
"pin10": [
"GND"
],
"pin11": [
"ATTACH"
],
"pin12": [
"ADDR0"
],
"pin13": [
"ADDR1"
],
"pin14": [
"POWER_OK3"
],
"pin15": [
"GPIO"
],
"pin16": [
"VBUS_EN_SNK"
],
"pin17": [
"A_B_SIDE"
],
"pin18": [
"VBUS_VS_DISCH"
],
"pin19": [
"ALERT"
],
"pin20": [
"POWER_OK2"
],
"pin21": [
"VREG_1V2"
],
"pin22": [
"VSYS"
],
"pin23": [
"VREG_2V7"
],
"pin24": [
"VDD"
],
"pin25": [
"EP"
]
} as const
export const STUSB4500QTR = (props: ChipProps<typeof pinLabels>) => (
<chip
footprint={<footprint>
<smtpad portHints={["pin1"]} pcbX="-1.249934000000053mm" pcbY="-1.99999600000001mm" layer="top" width="0.2800096mm" height="0.6999986mm" radius="0.1400048mm" shape="pill" />
<smtpad portHints={["pin2"]} pcbX="-0.7500620000000708mm" pcbY="-1.99999600000001mm" layer="top" width="0.2800096mm" height="0.6999986mm" radius="0.1400048mm" shape="pill" />
<smtpad portHints={["pin3"]} pcbX="-0.2499359999999342mm" pcbY="-1.99999600000001mm" layer="top" width="0.2800096mm" height="0.6999986mm" radius="0.1400048mm" shape="pill" />
<smtpad portHints={["pin4"]} pcbX="0.24993599999982052mm" pcbY="-1.99999600000001mm" layer="top" width="0.2800096mm" height="0.6999986mm" radius="0.1400048mm" shape="pill" />
<smtpad portHints={["pin5"]} pcbX="0.7500619999999572mm" pcbY="-1.99999600000001mm" layer="top" width="0.2800096mm" height="0.6999986mm" radius="0.1400048mm" shape="pill" />
<smtpad portHints={["pin6"]} pcbX="1.2499339999999393mm" pcbY="-1.99999600000001mm" layer="top" width="0.2800096mm" height="0.6999986mm" radius="0.1400048mm" shape="pill" />
<smtpad portHints={["pin7"]} pcbX="1.9999960000001238mm" pcbY="-1.249934000000053mm" layer="top" width="0.6999986mm" height="0.2800096mm" radius="0.1400048mm" shape="pill" />
<smtpad portHints={["pin8"]} pcbX="1.9999960000001238mm" pcbY="-0.7500619999999572mm" layer="top" width="0.6999986mm" height="0.2800096mm" radius="0.1400048mm" shape="pill" />
<smtpad portHints={["pin9"]} pcbX="1.9999960000001238mm" pcbY="-0.2499360000000479mm" layer="top" width="0.6999986mm" height="0.2800096mm" radius="0.1400048mm" shape="pill" />
<smtpad portHints={["pin10"]} pcbX="1.9999960000001238mm" pcbY="0.2499360000000479mm" layer="top" width="0.6999986mm" height="0.2800096mm" radius="0.1400048mm" shape="pill" />
<smtpad portHints={["pin11"]} pcbX="1.9999960000001238mm" pcbY="0.7500620000001845mm" layer="top" width="0.6999986mm" height="0.2800096mm" radius="0.1400048mm" shape="pill" />
<smtpad portHints={["pin12"]} pcbX="1.9999960000001238mm" pcbY="1.249934000000053mm" layer="top" width="0.6999986mm" height="0.2800096mm" radius="0.1400048mm" shape="pill" />
<smtpad portHints={["pin13"]} pcbX="1.2499339999999393mm" pcbY="1.99999600000001mm" layer="top" width="0.2800096mm" height="0.6999986mm" radius="0.1400048mm" shape="pill" />
<smtpad portHints={["pin14"]} pcbX="0.7500619999999572mm" pcbY="1.99999600000001mm" layer="top" width="0.2800096mm" height="0.6999986mm" radius="0.1400048mm" shape="pill" />
<smtpad portHints={["pin15"]} pcbX="0.24993599999982052mm" pcbY="1.99999600000001mm" layer="top" width="0.2800096mm" height="0.6999986mm" radius="0.1400048mm" shape="pill" />
<smtpad portHints={["pin16"]} pcbX="-0.2499359999999342mm" pcbY="1.99999600000001mm" layer="top" width="0.2800096mm" height="0.6999986mm" radius="0.1400048mm" shape="pill" />
<smtpad portHints={["pin17"]} pcbX="-0.7500620000000708mm" pcbY="1.99999600000001mm" layer="top" width="0.2800096mm" height="0.6999986mm" radius="0.1400048mm" shape="pill" />
<smtpad portHints={["pin18"]} pcbX="-1.249934000000053mm" pcbY="1.99999600000001mm" layer="top" width="0.2800096mm" height="0.6999986mm" radius="0.1400048mm" shape="pill" />
<smtpad portHints={["pin19"]} pcbX="-1.99999600000001mm" pcbY="1.249934000000053mm" layer="top" width="0.6999986mm" height="0.2800096mm" radius="0.1400048mm" shape="pill" />
<smtpad portHints={["pin20"]} pcbX="-1.99999600000001mm" pcbY="0.7500620000001845mm" layer="top" width="0.6999986mm" height="0.2800096mm" radius="0.1400048mm" shape="pill" />
<smtpad portHints={["pin21"]} pcbX="-1.99999600000001mm" pcbY="0.2499360000000479mm" layer="top" width="0.6999986mm" height="0.2800096mm" radius="0.1400048mm" shape="pill" />
<smtpad portHints={["pin22"]} pcbX="-1.99999600000001mm" pcbY="-0.2499360000000479mm" layer="top" width="0.6999986mm" height="0.2800096mm" radius="0.1400048mm" shape="pill" />
<smtpad portHints={["pin23"]} pcbX="-1.99999600000001mm" pcbY="-0.7500619999999572mm" layer="top" width="0.6999986mm" height="0.2800096mm" radius="0.1400048mm" shape="pill" />
<smtpad portHints={["pin24"]} pcbX="-1.99999600000001mm" pcbY="-1.249934000000053mm" layer="top" width="0.6999986mm" height="0.2800096mm" radius="0.1400048mm" shape="pill" />
<smtpad portHints={["pin25"]} pcbX="0.01269999999999527mm" pcbY="0mm" layer="top" width="2.7999944mm" height="2.7999944mm" shape="rect" />
<silkscreenpath route={[{"x":2.1628099999998085,"y":1.7500345999999354},{"x":2.1628099999998085,"y":2.1501353999999537},{"x":1.7627599999999575,"y":2.1501353999999537}]} strokeWidth={0.19999959999999997} />
<silkscreenpath route={[{"x":-2.137384599999905,"y":1.7500345999999354},{"x":-2.137384599999905,"y":2.1501353999999537},{"x":-1.737359999999967,"y":2.1501353999999537}]} strokeWidth={0.19999959999999997} />
<silkscreenpath route={[{"x":-1.737359999999967,"y":-2.1501353999999537},{"x":-2.137384599999905,"y":-2.1501353999999537},{"x":-2.137384599999905,"y":-1.750085399999989}]} strokeWidth={0.19999959999999997} />
<silkscreenpath route={[{"x":2.1628099999998085,"y":-1.750085399999989},{"x":2.1628099999998085,"y":-2.1501353999999537},{"x":1.7627599999999575,"y":-2.1501353999999537}]} strokeWidth={0.19999959999999997} />
<courtyardoutline outline={[{"x":-2.599995300000046,"y":2.599995300000046},{"x":2.5999953000001597,"y":2.599995300000046},{"x":2.5999953000001597,"y":-2.599995300000046},{"x":-2.599995300000046,"y":-2.599995300000046},{"x":-2.599995300000046,"y":2.599995300000046}]} layer="top" />
</footprint>}
pinLabels={pinLabels}
pinAttributes={{
"pin1": {
"isBidirectional": true
},
"pin2": {
"isBidirectional": true
},
"pin3": {
"doNotConnect": true
},
"pin4": {
"isBidirectional": true
},
"pin5": {
"isBidirectional": true
},
"pin6": {
"isInput": true
},
"pin7": {
"isInput": true,
"needsExternalPullup": true,
"capabilities": [
"i2c_scl"
]
},
"pin8": {
"isBidirectional": true,
"needsExternalPullup": true,
"canUseOpenDrain": true,
"capabilities": [
"i2c_sda"
]
},
"pin9": {
"isBidirectional": true,
"canUseOpenDrain": true
},
"pin10": {
"requiresGround": true
},
"pin11": {
"isOutput": true,
"needsExternalPullup": true,
"canUseOpenDrain": true
},
"pin12": {
"isInput": true
},
"pin13": {
"isInput": true
},
"pin14": {
"isOutput": true,
"needsExternalPullup": true,
"canUseOpenDrain": true
},
"pin15": {
"isOutput": true,
"needsExternalPullup": true,
"canUseOpenDrain": true
},
"pin16": {
"isOutput": true,
"needsExternalPullup": true,
"canUseOpenDrain": true
},
"pin17": {
"isOutput": true,
"needsExternalPullup": true,
"canUseOpenDrain": true
},
"pin18": {
"isBidirectional": true
},
"pin19": {
"isOutput": true,
"needsExternalPullup": true,
"canUseOpenDrain": true
},
"pin20": {
"isOutput": true,
"needsExternalPullup": true,
"canUseOpenDrain": true
},
"pin21": {
"isOutput": true,
"providesVoltage": "1.2V",
"shouldHaveDecouplingCapacitor": true,
"recommendedDecouplingCapacitorCapacitance": "1uF"
},
"pin22": {
"requiresPower": true
},
"pin23": {
"isOutput": true,
"providesVoltage": "2.7V",
"shouldHaveDecouplingCapacitor": true,
"recommendedDecouplingCapacitorCapacitance": "1uF"
},
"pin24": {
"requiresPower": true
},
"pin25": {
"requiresGround": true
}
}}
supplierPartNumbers={{
"jlcpcb": [
"C2678061"
]
}}
manufacturerPartNumber="STUSB4500QTR"
cadModel={{
objUrl: objPath,
stepUrl: stepPath,
pcbRotationOffset: 0,
modelOriginPosition: {"x":-0.000012699999842880061,"y":-0.000012700000070253736,"z":0},
}}
{...props}
/>
)