krishnax12/watchy-eink-smartwatch

This code defines a hardware schematic and PCB layout for a smartwatch using components like ESP32 microcontroller, sensors, Bluetooth module, power regulation, and connectors, with detailed component footprints and PCB outlines.

Version
1.2.1
License
unset
Stars
2

imports/FPC24.tsx

import type { ChipProps } from "tscircuit";
import fpcStep from "../assets/FPC24.step";

const pinLabels = {
  "pin1": [
    "pin1",
    "1"
  ],
  "pin2": [
    "pin2",
    "2"
  ],
  "pin3": [
    "pin3",
    "3"
  ],
  "pin4": [
    "pin4",
    "4"
  ],
  "pin5": [
    "pin5",
    "5"
  ],
  "pin6": [
    "pin6",
    "6"
  ],
  "pin7": [
    "pin7",
    "7"
  ],
  "pin8": [
    "pin8",
    "8"
  ],
  "pin9": [
    "pin9",
    "9"
  ],
  "pin10": [
    "pin10",
    "10"
  ],
  "pin11": [
    "pin11",
    "11"
  ],
  "pin12": [
    "pin12",
    "12"
  ],
  "pin13": [
    "pin13",
    "13"
  ],
  "pin14": [
    "pin14",
    "14"
  ],
  "pin15": [
    "pin15",
    "15"
  ],
  "pin16": [
    "pin16",
    "16"
  ],
  "pin17": [
    "pin17",
    "17"
  ],
  "pin18": [
    "pin18",
    "18"
  ],
  "pin19": [
    "pin19",
    "19"
  ],
  "pin20": [
    "pin20",
    "20"
  ],
  "pin21": [
    "pin21",
    "21"
  ],
  "pin22": [
    "pin22",
    "22"
  ],
  "pin23": [
    "pin23",
    "23"
  ],
  "pin24": [
    "pin24",
    "24"
  ],
  "pin25": ["pin25", "M"]
} as const;

export const FPC24 = (props: ChipProps<typeof pinLabels>) => {
  return (
    <chip
      pinLabels={pinLabels}
      footprint={
        <footprint>
          <smtpad portHints={["pin1", "1"]} pcbX="5.75mm" pcbY="1.6mm" width="0.3mm" height="1.3mm" shape="rect" />
          <smtpad portHints={["pin2", "2"]} pcbX="5.25mm" pcbY="1.6mm" width="0.3mm" height="1.3mm" shape="rect" />
          <smtpad portHints={["pin3", "3"]} pcbX="4.75mm" pcbY="1.6mm" width="0.3mm" height="1.3mm" shape="rect" />
          <smtpad portHints={["pin4", "4"]} pcbX="4.25mm" pcbY="1.6mm" width="0.3mm" height="1.3mm" shape="rect" />
          <smtpad portHints={["pin5", "5"]} pcbX="3.75mm" pcbY="1.6mm" width="0.3mm" height="1.3mm" shape="rect" />
          <smtpad portHints={["pin6", "6"]} pcbX="3.25mm" pcbY="1.6mm" width="0.3mm" height="1.3mm" shape="rect" />
          <smtpad portHints={["pin7", "7"]} pcbX="2.75mm" pcbY="1.6mm" width="0.3mm" height="1.3mm" shape="rect" />
          <smtpad portHints={["pin8", "8"]} pcbX="2.25mm" pcbY="1.6mm" width="0.3mm" height="1.3mm" shape="rect" />
          <smtpad portHints={["pin9", "9"]} pcbX="1.75mm" pcbY="1.6mm" width="0.3mm" height="1.3mm" shape="rect" />
          <smtpad portHints={["pin10", "10"]} pcbX="1.25mm" pcbY="1.6mm" width="0.3mm" height="1.3mm" shape="rect" />
          <smtpad portHints={["pin11", "11"]} pcbX="0.75mm" pcbY="1.6mm" width="0.3mm" height="1.3mm" shape="rect" />
          <smtpad portHints={["pin12", "12"]} pcbX="0.25mm" pcbY="1.6mm" width="0.3mm" height="1.3mm" shape="rect" />
          <smtpad portHints={["pin13", "13"]} pcbX="-0.25mm" pcbY="1.6mm" width="0.3mm" height="1.3mm" shape="rect" />
          <smtpad portHints={["pin14", "14"]} pcbX="-0.75mm" pcbY="1.6mm" width="0.3mm" height="1.3mm" shape="rect" />
          <smtpad portHints={["pin15", "15"]} pcbX="-1.25mm" pcbY="1.6mm" width="0.3mm" height="1.3mm" shape="rect" />
          <smtpad portHints={["pin16", "16"]} pcbX="-1.75mm" pcbY="1.6mm" width="0.3mm" height="1.3mm" shape="rect" />
          <smtpad portHints={["pin17", "17"]} pcbX="-2.25mm" pcbY="1.6mm" width="0.3mm" height="1.3mm" shape="rect" />
          <smtpad portHints={["pin18", "18"]} pcbX="-2.75mm" pcbY="1.6mm" width="0.3mm" height="1.3mm" shape="rect" />
          <smtpad portHints={["pin19", "19"]} pcbX="-3.25mm" pcbY="1.6mm" width="0.3mm" height="1.3mm" shape="rect" />
          <smtpad portHints={["pin20", "20"]} pcbX="-3.75mm" pcbY="1.6mm" width="0.3mm" height="1.3mm" shape="rect" />
          <smtpad portHints={["pin21", "21"]} pcbX="-4.25mm" pcbY="1.6mm" width="0.3mm" height="1.3mm" shape="rect" />
          <smtpad portHints={["pin22", "22"]} pcbX="-4.75mm" pcbY="1.6mm" width="0.3mm" height="1.3mm" shape="rect" />
          <smtpad portHints={["pin23", "23"]} pcbX="-5.25mm" pcbY="1.6mm" width="0.3mm" height="1.3mm" shape="rect" />
          <smtpad portHints={["pin24", "24"]} pcbX="-5.75mm" pcbY="1.6mm" width="0.3mm" height="1.3mm" shape="rect" />
          <smtpad portHints={["pin25", "M"]} pcbX="-7.4mm" pcbY="-0.75mm" width="2mm" height="3mm" shape="rect" />
          <smtpad portHints={["pin25", "M"]} pcbX="7.4mm" pcbY="-0.75mm" width="2mm" height="3mm" shape="rect" />
        </footprint>
      }
      cadModel={{ stepUrl: fpcStep, positionOffset: { x: -5.75, y: 2.75, z: 0 } }}
      {...props}
    />
  );
};