ShiboSoftwareDev/linux-gameboy-advance

Restores PCB assembly metadata by assigning part numbers and 3D CAD models, removing test-point bodies, and validating top-side SMT solder-paste features without altering copper or pads.

Version
1.0.17
License
unset
Stars
0

subcircuits/PowerBoost_MT3608/imports/MMBT3904_PinMapped.tsx

import type { ChipProps } from "@tscircuit/props"

const pinLabels = {
  pin1: ["base", "b"],
  pin2: ["emitter", "e"],
  pin3: ["collector", "c"],
} as const

/** C20526 physical pins are 1=B, 2=E, 3=C. */
export const MMBT3904_PinMapped = (props: ChipProps<typeof pinLabels>) => (
  <chip
    pinLabels={pinLabels}
    symbolName="npn_bipolar_transistor"
    manufacturerPartNumber="MMBT3904"
    supplierPartNumbers={{ jlcpcb: ["C20526"] }}
    footprint={
      <footprint>
        {/* Collector: physical pin 3, the single left-hand pad. */}
        <smtpad portHints={["pin3", "collector"]} pcbX={-0.99} pcbY={0} shape="rect" width={1} height={0.66} />
        {/* Base: physical pin 1, lower right. */}
        <smtpad portHints={["pin1", "base"]} pcbX={0.99} pcbY={-0.95} shape="rect" width={1} height={0.66} />
        {/* Emitter: physical pin 2, upper right. */}
        <smtpad portHints={["pin2", "emitter"]} pcbX={0.99} pcbY={0.95} shape="rect" width={1} height={0.66} />
      </footprint>
    }
    cadModel={{
      objUrl: "https://modelcdn.tscircuit.com/easyeda_models/assets/C20526.obj?uuid=d777607a152f4f3aac9bb0d0c14ed6fd",
      stepUrl: "https://modelcdn.tscircuit.com/easyeda_models/assets/C20526.step?uuid=d777607a152f4f3aac9bb0d0c14ed6fd",
      pcbRotationOffset: 180,
      modelOriginPosition: { x: 0, y: 0, z: 0.050795 },
    }}
    {...props}
  />
)