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-HSTX-PTH-Breakout/FPC-0.5-22P.tsx

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

const pinLabels = {
  pin1: ["v3_3"],
  pin2: ["SDA"],
  pin3: ["SCL"],
  pin4: ["GND1"],
  pin5: ["IO1"],
  pin6: ["IO0"],
  pin7: ["GND2"],
  pin8: ["D3_P"],
  pin9: ["D3_N"],
  pin10: ["GND3"],
  pin11: ["D2_P"],
  pin12: ["D2_N"],
  pin13: ["GND4"],
  pin14: ["CK_P"],
  pin15: ["CK_N"],
  pin16: ["GND5"],
  pin17: ["D1_P"],
  pin18: ["D1_N"],
  pin19: ["GND6"],
  pin20: ["D0_P"],
  pin21: ["D0_N"],
  pin22: ["GND7"],
} as const

export const FPC_0_5_22P = (props: ChipProps<typeof pinLabels>) => {
  return (
    <chip
      pinLabels={pinLabels}
      schWidth={0.7}
      schPinArrangement={{
        rightSide: {
          direction: "top-to-bottom",
          pins: [
            "GND7",
            "D0_N",
            "D0_P",
            "GND6",
            "D1_N",
            "D1_P",
            "GND5",
            "CK_N",
            "CK_P",
            "GND4",
            "D2_N",
            "D2_P",
            "GND3",
            "D3_N",
            "D3_P",
            "GND2",
            "IO0",
            "IO1",
            "GND1",
            "SCL",
            "SDA",
            "v3_3",
          ],
        },
      }}
      supplierPartNumbers={{
        jlcpcb: ["C6364665"],
      }}
      manufacturerPartNumber="FPC_0_5_22P_HYH2_0"
      footprint={
        <footprint>
          <smtpad
            portHints={["pin24"]}
            pcbX="-6.9000369999999975mm"
            pcbY="-1.3750544000000673mm"
            width="1.7999964mm"
            height="1.9999959999999999mm"
            shape="rect"
          />
          <smtpad
            portHints={["pin22"]}
            pcbX="5.250053000000207mm"
            pcbY="1.7750535999999784mm"
            width="0.29999939999999997mm"
            height="1.1999975999999999mm"
            shape="rect"
          />
          <smtpad
            portHints={["pin21"]}
            pcbX="4.749927000000071mm"
            pcbY="1.7750535999999784mm"
            width="0.29999939999999997mm"
            height="1.1999975999999999mm"
            shape="rect"
          />
          <smtpad
            portHints={["pin20"]}
            pcbX="4.2500550000000885mm"
            pcbY="1.7750535999999784mm"
            width="0.29999939999999997mm"
            height="1.1999975999999999mm"
            shape="rect"
          />
          <smtpad
            portHints={["pin19"]}
            pcbX="3.7499290000000656mm"
            pcbY="1.7750535999999784mm"
            width="0.29999939999999997mm"
            height="1.1999975999999999mm"
            shape="rect"
          />
          <smtpad
            portHints={["pin18"]}
            pcbX="3.250057000000197mm"
            pcbY="1.7750535999999784mm"
            width="0.29999939999999997mm"
            height="1.1999975999999999mm"
            shape="rect"
          />
          <smtpad
            portHints={["pin17"]}
            pcbX="2.749931000000174mm"
            pcbY="1.7750535999999784mm"
            width="0.29999939999999997mm"
            height="1.1999975999999999mm"
            shape="rect"
          />
          <smtpad
            portHints={["pin16"]}
            pcbX="2.250059000000192mm"
            pcbY="1.7750535999999784mm"
            width="0.29999939999999997mm"
            height="1.1999975999999999mm"
            shape="rect"
          />
          <smtpad
            portHints={["pin15"]}
            pcbX="1.7499330000000555mm"
            pcbY="1.7750535999999784mm"
            width="0.29999939999999997mm"
            height="1.1999975999999999mm"
            shape="rect"
          />
          <smtpad
            portHints={["pin14"]}
            pcbX="1.2500610000000734mm"
            pcbY="1.7750535999999784mm"
            width="0.29999939999999997mm"
            height="1.1999975999999999mm"
            shape="rect"
          />
          <smtpad
            portHints={["pin13"]}
            pcbX="0.7499350000000504mm"
            pcbY="1.7750535999999784mm"
            width="0.29999939999999997mm"
            height="1.1999975999999999mm"
            shape="rect"
          />
          <smtpad
            portHints={["pin12"]}
            pcbX="0.250063000000182mm"
            pcbY="1.7750535999999784mm"
            width="0.29999939999999997mm"
            height="1.1999975999999999mm"
            shape="rect"
          />
          <smtpad
            portHints={["pin11"]}
            pcbX="-0.25006299999984094mm"
            pcbY="1.7750535999999784mm"
            width="0.29999939999999997mm"
            height="1.1999975999999999mm"
            shape="rect"
          />
          <smtpad
            portHints={["pin10"]}
            pcbX="-0.749934999999823mm"
            pcbY="1.7750535999999784mm"
            width="0.29999939999999997mm"
            height="1.1999975999999999mm"
            shape="rect"
          />
          <smtpad
            portHints={["pin9"]}
            pcbX="-1.2500609999999597mm"
            pcbY="1.7750535999999784mm"
            width="0.29999939999999997mm"
            height="1.1999975999999999mm"
            shape="rect"
          />
          <smtpad
            portHints={["pin8"]}
            pcbX="-1.7499329999999418mm"
            pcbY="1.7750535999999784mm"
            width="0.29999939999999997mm"
            height="1.1999975999999999mm"
            shape="rect"
          />
          <smtpad
            portHints={["pin7"]}
            pcbX="-2.250058999999851mm"
            pcbY="1.7750535999999784mm"
            width="0.29999939999999997mm"
            height="1.1999975999999999mm"
            shape="rect"
          />
          <smtpad
            portHints={["pin6"]}
            pcbX="-2.7499310000000605mm"
            pcbY="1.7750535999999784mm"
            width="0.29999939999999997mm"
            height="1.1999975999999999mm"
            shape="rect"
          />
          <smtpad
            portHints={["pin5"]}
            pcbX="-3.250056999999856mm"
            pcbY="1.7750535999999784mm"
            width="0.29999939999999997mm"
            height="1.1999975999999999mm"
            shape="rect"
          />
          <smtpad
            portHints={["pin4"]}
            pcbX="-3.749928999999838mm"
            pcbY="1.7750535999999784mm"
            width="0.29999939999999997mm"
            height="1.1999975999999999mm"
            shape="rect"
          />
          <smtpad
            portHints={["pin3"]}
            pcbX="-4.250054999999975mm"
            pcbY="1.7750535999999784mm"
            width="0.29999939999999997mm"
            height="1.1999975999999999mm"
            shape="rect"
          />
          <smtpad
            portHints={["pin2"]}
            pcbX="-4.749926999999957mm"
            pcbY="1.7750535999999784mm"
            width="0.29999939999999997mm"
            height="1.1999975999999999mm"
            shape="rect"
          />
          <smtpad
            portHints={["pin1"]}
            pcbX="-5.250052999999866mm"
            pcbY="1.7750535999999784mm"
            width="0.29999939999999997mm"
            height="1.1999975999999999mm"
            shape="rect"
          />
          <smtpad
            portHints={["pin23"]}
            pcbX="6.900037000000111mm"
            pcbY="-1.3750544000000673mm"
            width="1.7999964mm"
            height="1.9999959999999999mm"
            shape="rect"
          />
          <silkscreenpath
            route={[
              { x: -7.124826999999868, y: -3.3433003999999755 },
              { x: 7.033133000000134, y: -3.3433003999999755 },
              { x: 7.124573000000169, y: -3.3433003999999755 },
            ]}
          />
          <silkscreenpath
            route={[
              { x: 7.124979400000143, y: -0.1437894000000597 },
              { x: 7.124979400000143, y: 1.774977399999898 },
              { x: 6.278956200000039, y: 1.774977399999898 },
              { x: 6.278956200000039, y: 1.139977399999907 },
              { x: 5.628436800000031, y: 1.139977399999907 },
            ]}
          />
          <silkscreenpath
            route={[
              { x: 7.124979400000143, y: -3.3439608000001044 },
              { x: 7.124979400000143, y: -2.606090799999947 },
            ]}
          />
          <silkscreenpath
            route={[
              { x: -7.125004799999829, y: -0.14381479999997282 },
              { x: -7.125004799999829, y: 1.7750028000000384 },
              { x: -6.279006999999865, y: 1.7750028000000384 },
              { x: -6.279006999999865, y: 1.1400027999999338 },
              { x: -5.6284621999999445, y: 1.1400027999999338 },
            ]}
          />
          <silkscreenpath
            route={[
              { x: -7.125004799999829, y: -3.3439862000000176 },
              { x: -7.125004799999829, y: -2.606090799999947 },
            ]}
          />
        </footprint>
      }
      cadModel={{
        objUrl:
          "https://modelcdn.tscircuit.com/easyeda_models/download?uuid=3816b3e94e7044b6b69db89ce42e3942&pn=C6364665",
        rotationOffset: { x: 0, y: 0, z: 0 },
        positionOffset: { x: 2, y: 0, z: 0 },
      }}
      {...props}
    />
  )
}