tscircuit/boosters
This code defines PCB schematics, footprints, and 3D CAD models for various integrated circuits, connectors, sensors, and electronic components used in TI booster packs and modules.
- Version
- 0.1.19
- License
- unset
- Stars
- 0
boostxl-drv8305evm/imports/DRV8305NPHPR.tsx
import type { ChipProps } from "@tscircuit/props";
import { CAD_MODELS } from "./cadModels";
export const DRV8305_PINS = {
pin1: "EN_GATE",
pin2: "INH_A",
pin3: "INL_A",
pin4: "INH_B",
pin5: "INL_B",
pin6: "INH_C",
pin7: "INL_C",
pin8: "nFAULT",
pin9: "SCS",
pin10: "SDI",
pin11: "SDO",
pin12: "SCLK",
pin13: "PWRGD",
pin14: "GND_14",
pin15: "AVDD",
pin16: "SO1",
pin17: "SO2",
pin18: "SO3",
pin19: "SN3",
pin20: "SP3",
pin21: "SN2",
pin22: "SP2",
pin23: "SN1",
pin24: "SP1",
pin25: "GL_C",
pin26: "SL_C",
pin27: "SH_C",
pin28: "GH_C",
pin29: "GH_B",
pin30: "SH_B",
pin31: "SL_B",
pin32: "GL_B",
pin33: "GL_A",
pin34: "SL_A",
pin35: "SH_A",
pin36: "GH_A",
pin37: "VCP_LSD",
pin38: "VCPH",
pin39: "CP2H",
pin40: "CP2L",
pin41: "PVDD",
pin42: "CP1L",
pin43: "CP1H",
pin44: "VDRAIN",
pin45: "GND_45",
pin46: "DVDD",
pin47: "WAKE",
pin48: "VREG_VREF",
pin49: "PAD",
} as const;
const Drv8305Footprint = () => {
const sidePadWidth = 1.6;
const sidePadThickness = 0.28;
return (
<footprint>
<smtpad
portHints={["pin49"]}
pcbX={0}
pcbY={0}
width="5.1mm"
height="5.1mm"
shape="rect"
/>
{Array.from({ length: 12 }, (_, index) => {
const pin = 48 - index;
return (
<smtpad
portHints={[`pin${pin}`]}
pcbX={-4.2}
pcbY={2.75 - index * 0.5}
width={sidePadWidth}
height={sidePadThickness}
shape="rect"
/>
);
})}
{Array.from({ length: 12 }, (_, index) => {
const pin = index + 1;
return (
<smtpad
portHints={[`pin${pin}`]}
pcbX={-2.75 + index * 0.5}
pcbY={4.2}
width={sidePadThickness}
height={sidePadWidth}
shape="rect"
/>
);
})}
{Array.from({ length: 12 }, (_, index) => {
const pin = 24 - index;
return (
<smtpad
portHints={[`pin${pin}`]}
pcbX={4.2}
pcbY={-2.75 + index * 0.5}
width={sidePadWidth}
height={sidePadThickness}
shape="rect"
/>
);
})}
{Array.from({ length: 12 }, (_, index) => {
const pin = 36 - index;
return (
<smtpad
portHints={[`pin${pin}`]}
pcbX={2.75 - index * 0.5}
pcbY={-4.2}
width={sidePadThickness}
height={sidePadWidth}
shape="rect"
/>
);
})}
<courtyardrect width="10.5mm" height="10.5mm" />
</footprint>
);
};
export const DRV8305NPHPR = (props: ChipProps<typeof DRV8305_PINS>) => (
<chip
manufacturerPartNumber="DRV8305NPHPR"
supplierPartNumbers={{ jlcpcb: ["C75602"] }}
footprint={<Drv8305Footprint />}
obstructsWithinBounds={false}
pinLabels={DRV8305_PINS}
cadModel={{
...CAD_MODELS.driver,
pcbRotationOffset: 0,
modelOriginPosition: { x: 0, y: 0, z: -0.6 },
}}
{...props}
/>
);