FriezaDBZ/ADI-AD3301WBCPZ

This code defines a 3D-modelled surface-mount integrated circuit (IC) with labeled pins, footprint layout, and virtual representation for PCB design.

Version
0.0.1
License
unset
Stars
0

index.tsx

PCBPCB preview for index.tsx
SchematicSchematic preview for index.tsx
import { createUseComponent } from "@tscircuit/core"
import type { CommonLayoutProps } from "@tscircuit/props"

const pinLabels = {
  pin1: ["SAIF6"],
  pin2: ["SAIF5"],
  pin3: ["DVDD"],
  pin4: ["SAIF4"],
  pin5: ["SAIF3"],
  pin6: ["LVDD"],
  pin7: ["DVDDIO"],
  pin8: ["SAIF2"],
  pin9: ["SAIF1"],
  pin10: ["SAIF0"],
  pin11: ["XTAL_O"],
  pin12: ["XTAL_I"],
  pin13: ["VBAT"],
  pin14: ["EN"],
  pin15: ["WAKE"],
  pin16: ["ETH_N"],
  pin17: ["ETH_P"],
  pin18: ["AVDD"],
  pin19: ["TEST"],
  pin20: ["SAIF11"],
  pin21: ["SAIF10"],
  pin22: ["SAIF9"],
  pin23: ["SAIF8"],
  pin24: ["SAIF7"],
  pin25: ["GND", "EPAD"],
} as const

interface Props extends CommonLayoutProps {
  name: string
}

export const AD3301WBCPZ = (props: Props) => {
  return (
    <chip
      {...props}
      manufacturerPartNumber="AD3301WBCPZ"
      pinLabels={pinLabels}
      schWidth={2}
      schHeight={3.05}
      cadModel={{
        // Replace with the actual URL or path to your 3D model
        objUrl: "https://modelcdn.tscircuit.com/adi_models/AD3301WBCPZ.obj",
        rotationOffset: { x: 0, y: 0, z: 0 },
        positionOffset: { x: 0, y: 0, z: 0 },
      }}
      footprint={
        <footprint>
          {/* Left side pads (1-6) */}
          <smtpad
            portHints={["pin1"]}
            pcbX="-1.9431mm"
            pcbY="1.25mm"
            width="0.8128mm"
            height="0.254mm"
            shape="rect"
          />
          <smtpad
            portHints={["pin2"]}
            pcbX="-1.9431mm"
            pcbY="0.75mm"
            width="0.8128mm"
            height="0.254mm"
            shape="rect"
          />
          <smtpad
            portHints={["pin3"]}
            pcbX="-1.9431mm"
            pcbY="0.25mm"
            width="0.8128mm"
            height="0.254mm"
            shape="rect"
          />
          <smtpad
            portHints={["pin4"]}
            pcbX="-1.9431mm"
            pcbY="-0.25mm"
            width="0.8128mm"
            height="0.254mm"
            shape="rect"
          />
          <smtpad
            portHints={["pin5"]}
            pcbX="-1.9431mm"
            pcbY="-0.75mm"
            width="0.8128mm"
            height="0.254mm"
            shape="rect"
          />
          <smtpad
            portHints={["pin6"]}
            pcbX="-1.9431mm"
            pcbY="-1.25mm"
            width="0.8128mm"
            height="0.254mm"
            shape="rect"
          />

          {/* Bottom side pads (7-12) */}
          <smtpad
            portHints={["pin7"]}
            pcbX="-1.25mm"
            pcbY="-1.9431mm"
            width="0.254mm"
            height="0.8128mm"
            shape="rect"
          />
          <smtpad
            portHints={["pin8"]}
            pcbX="-0.75mm"
            pcbY="-1.9431mm"
            width="0.254mm"
            height="0.8128mm"
            shape="rect"
          />
          <smtpad
            portHints={["pin9"]}
            pcbX="-0.25mm"
            pcbY="-1.9431mm"
            width="0.254mm"
            height="0.8128mm"
            shape="rect"
          />
          <smtpad
            portHints={["pin10"]}
            pcbX="0.25mm"
            pcbY="-1.9431mm"
            width="0.254mm"
            height="0.8128mm"
            shape="rect"
          />
          <smtpad
            portHints={["pin11"]}
            pcbX="0.75mm"
            pcbY="-1.9431mm"
            width="0.254mm"
            height="0.8128mm"
            shape="rect"
          />
          <smtpad
            portHints={["pin12"]}
            pcbX="1.25mm"
            pcbY="-1.9431mm"
            width="0.254mm"
            height="0.8128mm"
            shape="rect"
          />

          {/* Right side pads (13-18) */}
          <smtpad
            portHints={["pin13"]}
            pcbX="1.9431mm"
            pcbY="-1.25mm"
            width="0.8128mm"
            height="0.254mm"
            shape="rect"
          />
          <smtpad
            portHints={["pin14"]}
            pcbX="1.9431mm"
            pcbY="-0.75mm"
            width="0.8128mm"
            height="0.254mm"
            shape="rect"
          />
          <smtpad
            portHints={["pin15"]}
            pcbX="1.9431mm"
            pcbY="-0.25mm"
            width="0.8128mm"
            height="0.254mm"
            shape="rect"
          />
          <smtpad
            portHints={["pin16"]}
            pcbX="1.9431mm"
            pcbY="0.25mm"
            width="0.8128mm"
            height="0.254mm"
            shape="rect"
          />
          <smtpad
            portHints={["pin17"]}
            pcbX="1.9431mm"
            pcbY="0.75mm"
            width="0.8128mm"
            height="0.254mm"
            shape="rect"
          />
          <smtpad
            portHints={["pin18"]}
            pcbX="1.9431mm"
            pcbY="1.25mm"
            width="0.8128mm"
            height="0.254mm"
            shape="rect"
          />

          {/* Top side pads (19-24) */}
          <smtpad
            portHints={["pin19"]}
            pcbX="1.25mm"
            pcbY="1.9431mm"
            width="0.254mm"
            height="0.8128mm"
            shape="rect"
          />
          <smtpad
            portHints={["pin20"]}
            pcbX="0.75mm"
            pcbY="1.9431mm"
            width="0.254mm"
            height="0.8128mm"
            shape="rect"
          />
          <smtpad
            portHints={["pin21"]}
            pcbX="0.25mm"
            pcbY="1.9431mm"
            width="0.254mm"
            height="0.8128mm"
            shape="rect"
          />
          <smtpad
            portHints={["pin22"]}
            pcbX="-0.25mm"
            pcbY="1.9431mm"
            width="0.254mm"
            height="0.8128mm"
            shape="rect"
          />
          <smtpad
            portHints={["pin23"]}
            pcbX="-0.75mm"
            pcbY="1.9431mm"
            width="0.254mm"
            height="0.8128mm"
            shape="rect"
          />
          <smtpad
            portHints={["pin24"]}
            pcbX="-1.25mm"
            pcbY="1.9431mm"
            width="0.254mm"
            height="0.8128mm"
            shape="rect"
          />

          {/* Exposed Pad (Pin 25) */}
          <smtpad
            portHints={["pin25"]}
            pcbX="0mm"
            pcbY="0mm"
            width="2.6mm"
            height="2.6mm"
            shape="rect"
          />

          {/* Courtyard / Silkscreen outline */}
          <silkscreenpath
            route={[
              { x: -2.04, y: 2.04 },
              { x: 2.04, y: 2.04 },
              { x: 2.04, y: -2.04 },
              { x: -2.04, y: -2.04 },
              { x: -2.04, y: 2.04 },
            ]}
          />
        </footprint>
      }
    />
  )
}

export const useAD3301WBCPZ = createUseComponent(AD3301WBCPZ, pinLabels)