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}
/>
);
};