tscircuit/sparkfun-boards

This code defines a detailed PCB schematic and physical footprint layout for various embedded hardware modules, mapping electrical pins, mechanical mounting holes, and silk-screen annotations for manufacturing and assembly.

Version
0.0.32
License
unset
Stars
3

boards/SparkFun-WiFi-IR-Blaster-ESP8266/imports/TSOP2238.tsx

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

const pinLabels = {
  pin1: ["OUT"],
  pin2: ["GND"],
  pin3: ["VS"],
} as const

export const TSOP2238 = (props: ChipProps<typeof pinLabels>) => {
  return (
    <chip
      pinLabels={pinLabels}
      supplierPartNumbers={{
        jlcpcb: ["C3000813"],
      }}
      manufacturerPartNumber="TSOP2238"
      footprint={
        <footprint>
          <platedhole
            portHints={["pin1"]}
            pcbX="-2.54mm"
            pcbY="0mm"
            outerDiameter="1.7999964mm"
            holeDiameter="1.199896mm"
            shape="circle"
          />
          <platedhole
            portHints={["pin2"]}
            pcbX="0mm"
            pcbY="0mm"
            outerDiameter="1.7999964mm"
            holeDiameter="1.199896mm"
            shape="circle"
          />
          <platedhole
            portHints={["pin3"]}
            pcbX="2.54mm"
            pcbY="0mm"
            outerDiameter="1.7999964mm"
            holeDiameter="1.199896mm"
            shape="circle"
          />
          <silkscreenpath
            route={[
              { x: -2.999994000000129, y: 1.2999720000000252 },
              { x: 2.999994000000015, y: 1.2999720000000252 },
            ]}
          />
          <silkscreenpath
            route={[
              { x: 2.999994000000015, y: -2.5999440000000504 },
              { x: -2.999994000000129, y: -2.5999440000000504 },
            ]}
          />
          <silkscreenpath
            route={[
              { x: -2.999994000000129, y: 1.2999720000000252 },
              { x: -2.999994000000129, y: 1.1310620000000426 },
            ]}
          />
          <silkscreenpath
            route={[
              { x: -2.999994000000129, y: -1.131061999999929 },
              { x: -2.999994000000129, y: -2.5999440000000504 },
            ]}
          />
          <silkscreenpath
            route={[
              { x: 2.999994000000015, y: 1.2999720000000252 },
              { x: 2.999994000000015, y: 1.0331450000001041 },
            ]}
          />
          <silkscreenpath
            route={[
              { x: 2.999994000000015, y: -1.0331449999999904 },
              { x: 2.999994000000015, y: -2.5999440000000504 },
            ]}
          />
          <silkscreenpath
            route={[
              { x: 2.5399999999999636, y: -2.5999947999998767 },
              { x: 2.4351308471134416, y: -2.8264377436642008 },
              { x: 2.310124817873543, y: -3.042417924736583 },
              { x: 2.1660156271449296, y: -3.2461493339745857 },
              { x: 2.003994959948841, y: -3.435947251149173 },
              { x: 1.8254026170378665, y: -3.610242176537099 },
              { x: 1.6317154356553374, y: -3.7675928096166444 },
              { x: 1.4245350770945606, y: -3.9066979676415485 },
              { x: 1.2055747820502347, y: -4.026407345538928 },
              { x: 0.9766452032814641, y: -4.125731028148721 },
              { x: 0.7396394327453208, y: -4.203847676150758 },
              { x: 0.49651734701376427, y: -4.260111317980659 },
              { x: 0.249289400426278, y: -4.29405669157677 },
              { x: 0, y: -4.30540309178059 },
              { x: -0.249289400426278, y: -4.29405669157677 },
              { x: -0.49651734701387795, y: -4.260111317980659 },
              { x: -0.7396394327454345, y: -4.203847676150758 },
              { x: -0.9766452032815778, y: -4.125731028148721 },
              { x: -1.2055747820503484, y: -4.026407345538928 },
              { x: -1.4245350770946743, y: -3.9066979676415485 },
              { x: -1.6317154356553374, y: -3.7675928096166444 },
              { x: -1.8254026170379802, y: -3.610242176537099 },
              { x: -2.0039949599489546, y: -3.435947251149173 },
              { x: -2.1660156271450433, y: -3.2461493339745857 },
              { x: -2.310124817873657, y: -3.042417924736583 },
              { x: -2.4351308471135553, y: -2.8264377436642008 },
              { x: -2.5400000000000773, y: -2.5999947999998767 },
            ]}
          />
          <silkscreentext
            text="{NAME}"
            pcbX="0.0635mm"
            pcbY="2.2954mm"
            anchorAlignment="center"
            fontSize="1mm"
          />
          <courtyardoutline
            outline={[
              { x: -3.6790000000000873, y: 1.5453999999999724 },
              { x: 3.8059999999999263, y: 1.5453999999999724 },
              { x: 3.8059999999999263, y: -4.567999999999984 },
              { x: -3.6790000000000873, y: -4.567999999999984 },
              { x: -3.6790000000000873, y: 1.5453999999999724 },
            ]}
          />
        </footprint>
      }
      cadModel={{
        objUrl:
          "https://modelcdn.tscircuit.com/easyeda_models/assets/C3000813.obj?uuid=b100c2376fd0415484c5612d70432280",
        stepUrl:
          "https://modelcdn.tscircuit.com/easyeda_models/assets/C3000813.step?uuid=b100c2376fd0415484c5612d70432280",
        pcbRotationOffset: 0,
        modelOriginPosition: { x: 0, y: 0.2082150999999559, z: -4.975007 },
      }}
      {...props}
    />
  )
}