ShiboSoftwareDev/t113-s3-linux-computer-p9

The code defines a PCB subcircuit for a buck converter module featuring a TMI3112H IC, FTC252010S power switch, and associated passive components like capacitors and resistors for voltage regulation and feedback control.

Version
0.1.4
License
unset
Stars
0

components/standard-passives.tsx

export const jlc = (partNumber: string) => ({ jlcpcb: [partNumber] })

export const cleanImportedSilk = {
  pcbSx: { "& silkscreentext": { visibility: "hidden" as const } },
}

export const footprint0402 = (
  <footprint>
    <smtpad portHints={["pin1"]} pcbX="-0.43mm" pcbY="0mm" width="0.56mm" height="0.54mm" shape="rect" />
    <smtpad portHints={["pin2"]} pcbX="0.43mm" pcbY="0mm" width="0.56mm" height="0.54mm" shape="rect" />
    <courtyardrect width="1.35mm" height="0.70mm" />
  </footprint>
)

export const footprint0603 = (
  <footprint>
    <smtpad portHints={["pin1"]} pcbX="-0.75mm" pcbY="0mm" width="0.80mm" height="0.90mm" shape="rect" />
    <smtpad portHints={["pin2"]} pcbX="0.75mm" pcbY="0mm" width="0.80mm" height="0.90mm" shape="rect" />
    <courtyardrect width="2.15mm" height="1.25mm" />
  </footprint>
)

type Placement = {
  name: string
  x: number
  y: number
  rotation?: number
  sectionName: string
  maxDecouplingTraceLength?: string
}

type ResistorPlacement = Placement & {
  resistance: string
  mpn: string
  lcsc: string
  size?: "0402" | "0603"
}

export const R = ({
  name,
  resistance,
  mpn,
  lcsc,
  x,
  y,
  rotation = 0,
  sectionName,
  size = "0402",
}: ResistorPlacement) => (
  <resistor
    name={name}
    resistance={resistance}
    footprint={size === "0402" ? footprint0402 : footprint0603}
    manufacturerPartNumber={mpn}
    supplierPartNumbers={jlc(lcsc)}
    pcbX={x}
    pcbY={y}
    pcbRotation={rotation}
    schSectionName={sectionName}
  />
)

type CapacitorPlacement = Placement & {
  capacitance: string
  mpn: string
  lcsc: string
  size?: "0402" | "0603"
  maxVoltageRating?: string
}

export const C = ({
  name,
  capacitance,
  mpn,
  lcsc,
  x,
  y,
  rotation = 0,
  sectionName,
  size = "0402",
  maxVoltageRating = "10V",
  maxDecouplingTraceLength,
}: CapacitorPlacement) => (
  <capacitor
    name={name}
    capacitance={capacitance}
    maxVoltageRating={maxVoltageRating}
    footprint={size === "0402" ? footprint0402 : footprint0603}
    manufacturerPartNumber={mpn}
    supplierPartNumbers={jlc(lcsc)}
    pcbX={x}
    pcbY={y}
    pcbRotation={rotation}
    schSectionName={sectionName}
    maxDecouplingTraceLength={maxDecouplingTraceLength}
  />
)

export const part = {
  r0: { mpn: "0402WGF0000TCE", lcsc: "C17168", value: "0ohm" },
  r22: { mpn: "0402WGF220JTCE", lcsc: "C25092", value: "22ohm" },
  r33: { mpn: "0402WGF330JTCE", lcsc: "C25100", value: "33ohm" },
  r100: { mpn: "0402WGF1000TCE", lcsc: "C25076", value: "100ohm" },
  r240: { mpn: "AC0402FR-07240RL", lcsc: "C144776", value: "240ohm" },
  r330: { mpn: "0402WGF3300TCE", lcsc: "C25104", value: "330ohm" },
  r1k: { mpn: "0402WGF1001TCE", lcsc: "C11702", value: "1kohm" },
  r2k2: { mpn: "0402WGF2201TCE", lcsc: "C25879", value: "2.2kohm" },
  r4k7: { mpn: "0402WGF4701TCE", lcsc: "C25900", value: "4.7kohm" },
  r5k1: { mpn: "0402WGF5101TCE", lcsc: "C25905", value: "5.1kohm" },
  r10k: { mpn: "0402WGF1002TCE", lcsc: "C25744", value: "10kohm" },
  r49k9: { mpn: "FRC0402F4992TS", lcsc: "C2906873", value: "49.9kohm" },
  r51k: { mpn: "0402WGF5102TCE", lcsc: "C25794", value: "51kohm" },
  r100k: { mpn: "0402WGF1003TCE", lcsc: "C25741", value: "100kohm" },
  r453k: { mpn: "FRC0402F4533TS", lcsc: "C3013172", value: "453kohm" },
  r680k: { mpn: "0402WGF6803TCE", lcsc: "C25765", value: "680kohm" },
  c10p: { mpn: "0402CG100J500NT", lcsc: "C1548", value: "10pF" },
  c12p: { mpn: "0402CG120J500NT", lcsc: "C1547", value: "12pF" },
  c20p: { mpn: "0402CG200J500NT", lcsc: "C1554", value: "20pF" },
  c100n: { mpn: "CL05B104KO5NNNC", lcsc: "C1525", value: "100nF" },
  c1u: { mpn: "TCC0402X5R105M6R3AT", lcsc: "C2887021", value: "1uF" },
  c4u7: { mpn: "CL10A475KO8NNNC", lcsc: "C19666", value: "4.7uF" },
  c10u: { mpn: "CL10A106KP8NNNC", lcsc: "C19702", value: "10uF" },
  c22u: { mpn: "CL10A226MQ8NRNC", lcsc: "C59461", value: "22uF" },
} as const