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/ESP32_PICO_D4.tsx
import type { ChipProps } from "tscircuit";
import esp32Step from "../assets/ESP32_PICO_D4.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",
"25"
],
"pin26": [
"pin26",
"26"
],
"pin27": [
"pin27",
"27"
],
"pin28": [
"pin28",
"28"
],
"pin29": [
"pin29",
"29"
],
"pin30": [
"pin30",
"30"
],
"pin31": [
"pin31",
"31"
],
"pin32": [
"pin32",
"32"
],
"pin33": [
"pin33",
"33"
],
"pin34": [
"pin34",
"34"
],
"pin35": [
"pin35",
"35"
],
"pin36": [
"pin36",
"36"
],
"pin37": [
"pin37",
"37"
],
"pin38": [
"pin38",
"38"
],
"pin39": [
"pin39",
"39"
],
"pin40": [
"pin40",
"40"
],
"pin41": [
"pin41",
"41"
],
"pin42": [
"pin42",
"42"
],
"pin43": [
"pin43",
"43"
],
"pin44": [
"pin44",
"44"
],
"pin45": [
"pin45",
"45"
],
"pin46": [
"pin46",
"46"
],
"pin47": [
"pin47",
"47"
],
"pin48": [
"pin48",
"48"
],
"pin49": [
"pin49",
"49"
],
"pin50": [
"pin50",
"50"
],
"pin51": [
"pin51",
"51"
],
"pin52": [
"pin52",
"52"
],
"pin53": [
"pin53",
"53"
],
"pin54": [
"pin54",
"54"
],
"pin55": [
"pin55",
"55"
],
"pin56": [
"pin56",
"56"
],
"pin57": [
"pin57",
"57"
]
} as const;
export const ESP32_PICO_D4 = (props: ChipProps<typeof pinLabels>) => {
return (
<chip
pinLabels={pinLabels}
footprint={
<footprint>
<smtpad portHints={["pin1", "1"]} pcbX="3.4375mm" pcbY="-2.6mm" width="0.875mm" height="0.2mm" shape="rect" />
<smtpad portHints={["pin2", "2"]} pcbX="3.4375mm" pcbY="-2.2mm" width="0.875mm" height="0.2mm" shape="rect" />
<smtpad portHints={["pin3", "3"]} pcbX="3.4375mm" pcbY="-1.8mm" width="0.875mm" height="0.2mm" shape="rect" />
<smtpad portHints={["pin4", "4"]} pcbX="3.4375mm" pcbY="-1.4mm" width="0.875mm" height="0.2mm" shape="rect" />
<smtpad portHints={["pin5", "5"]} pcbX="3.4375mm" pcbY="-1mm" width="0.875mm" height="0.2mm" shape="rect" />
<smtpad portHints={["pin6", "6"]} pcbX="3.4375mm" pcbY="-0.6mm" width="0.875mm" height="0.2mm" shape="rect" />
<smtpad portHints={["pin7", "7"]} pcbX="3.4375mm" pcbY="-0.2mm" width="0.875mm" height="0.2mm" shape="rect" />
<smtpad portHints={["pin8", "8"]} pcbX="3.4375mm" pcbY="0.2mm" width="0.875mm" height="0.2mm" shape="rect" />
<smtpad portHints={["pin9", "9"]} pcbX="3.4375mm" pcbY="0.6mm" width="0.875mm" height="0.2mm" shape="rect" />
<smtpad portHints={["pin10", "10"]} pcbX="3.4375mm" pcbY="1mm" width="0.875mm" height="0.2mm" shape="rect" />
<smtpad portHints={["pin11", "11"]} pcbX="3.4375mm" pcbY="1.4mm" width="0.875mm" height="0.2mm" shape="rect" />
<smtpad portHints={["pin12", "12"]} pcbX="3.4375mm" pcbY="1.8mm" width="0.875mm" height="0.2mm" shape="rect" />
<smtpad portHints={["pin13", "13"]} pcbX="3.4375mm" pcbY="2.2mm" width="0.875mm" height="0.2mm" shape="rect" />
<smtpad portHints={["pin14", "14"]} pcbX="3.4375mm" pcbY="2.6mm" width="0.875mm" height="0.2mm" shape="rect" />
<smtpad portHints={["pin15", "15"]} pcbX="2.6mm" pcbY="3.4375mm" width="0.2mm" height="0.875mm" shape="rect" />
<smtpad portHints={["pin16", "16"]} pcbX="2.2mm" pcbY="3.4375mm" width="0.2mm" height="0.875mm" shape="rect" />
<smtpad portHints={["pin17", "17"]} pcbX="1.8mm" pcbY="3.4375mm" width="0.2mm" height="0.875mm" shape="rect" />
<smtpad portHints={["pin18", "18"]} pcbX="1.4mm" pcbY="3.4375mm" width="0.2mm" height="0.875mm" shape="rect" />
<smtpad portHints={["pin19", "19"]} pcbX="1mm" pcbY="3.4375mm" width="0.2mm" height="0.875mm" shape="rect" />
<smtpad portHints={["pin20", "20"]} pcbX="0.6mm" pcbY="3.4375mm" width="0.2mm" height="0.875mm" shape="rect" />
<smtpad portHints={["pin21", "21"]} pcbX="0.2mm" pcbY="3.4375mm" width="0.2mm" height="0.875mm" shape="rect" />
<smtpad portHints={["pin22", "22"]} pcbX="-0.2mm" pcbY="3.4375mm" width="0.2mm" height="0.875mm" shape="rect" />
<smtpad portHints={["pin23", "23"]} pcbX="-0.6mm" pcbY="3.4375mm" width="0.2mm" height="0.875mm" shape="rect" />
<smtpad portHints={["pin24", "24"]} pcbX="-1mm" pcbY="3.4375mm" width="0.2mm" height="0.875mm" shape="rect" />
<smtpad portHints={["pin25", "25"]} pcbX="-1.4mm" pcbY="3.4375mm" width="0.2mm" height="0.875mm" shape="rect" />
<smtpad portHints={["pin26", "26"]} pcbX="-1.8mm" pcbY="3.4375mm" width="0.2mm" height="0.875mm" shape="rect" />
<smtpad portHints={["pin27", "27"]} pcbX="-2.2mm" pcbY="3.4375mm" width="0.2mm" height="0.875mm" shape="rect" />
<smtpad portHints={["pin28", "28"]} pcbX="-2.6mm" pcbY="3.4375mm" width="0.2mm" height="0.875mm" shape="rect" />
<smtpad portHints={["pin29", "29"]} pcbX="-3.4375mm" pcbY="2.6mm" width="0.875mm" height="0.2mm" shape="rect" />
<smtpad portHints={["pin30", "30"]} pcbX="-3.4375mm" pcbY="2.2mm" width="0.875mm" height="0.2mm" shape="rect" />
<smtpad portHints={["pin31", "31"]} pcbX="-3.4375mm" pcbY="1.8mm" width="0.875mm" height="0.2mm" shape="rect" />
<smtpad portHints={["pin32", "32"]} pcbX="-3.4375mm" pcbY="1.4mm" width="0.875mm" height="0.2mm" shape="rect" />
<smtpad portHints={["pin33", "33"]} pcbX="-3.4375mm" pcbY="1mm" width="0.875mm" height="0.2mm" shape="rect" />
<smtpad portHints={["pin34", "34"]} pcbX="-3.4375mm" pcbY="0.6mm" width="0.875mm" height="0.2mm" shape="rect" />
<smtpad portHints={["pin35", "35"]} pcbX="-3.4375mm" pcbY="0.2mm" width="0.875mm" height="0.2mm" shape="rect" />
<smtpad portHints={["pin36", "36"]} pcbX="-3.4375mm" pcbY="-0.2mm" width="0.875mm" height="0.2mm" shape="rect" />
<smtpad portHints={["pin37", "37"]} pcbX="-3.4375mm" pcbY="-0.6mm" width="0.875mm" height="0.2mm" shape="rect" />
<smtpad portHints={["pin38", "38"]} pcbX="-3.4375mm" pcbY="-1mm" width="0.875mm" height="0.2mm" shape="rect" />
<smtpad portHints={["pin39", "39"]} pcbX="-3.4375mm" pcbY="-1.4mm" width="0.875mm" height="0.2mm" shape="rect" />
<smtpad portHints={["pin40", "40"]} pcbX="-3.4375mm" pcbY="-1.8mm" width="0.875mm" height="0.2mm" shape="rect" />
<smtpad portHints={["pin41", "41"]} pcbX="-3.4375mm" pcbY="-2.2mm" width="0.875mm" height="0.2mm" shape="rect" />
<smtpad portHints={["pin42", "42"]} pcbX="-3.4375mm" pcbY="-2.6mm" width="0.875mm" height="0.2mm" shape="rect" />
<smtpad portHints={["pin43", "43"]} pcbX="-2.6mm" pcbY="-3.4375mm" width="0.2mm" height="0.875mm" shape="rect" />
<smtpad portHints={["pin44", "44"]} pcbX="-2.2mm" pcbY="-3.4375mm" width="0.2mm" height="0.875mm" shape="rect" />
<smtpad portHints={["pin45", "45"]} pcbX="-1.8mm" pcbY="-3.4375mm" width="0.2mm" height="0.875mm" shape="rect" />
<smtpad portHints={["pin46", "46"]} pcbX="-1.4mm" pcbY="-3.4375mm" width="0.2mm" height="0.875mm" shape="rect" />
<smtpad portHints={["pin47", "47"]} pcbX="-1mm" pcbY="-3.4375mm" width="0.2mm" height="0.875mm" shape="rect" />
<smtpad portHints={["pin48", "48"]} pcbX="-0.6mm" pcbY="-3.4375mm" width="0.2mm" height="0.875mm" shape="rect" />
<smtpad portHints={["pin49", "49"]} pcbX="-0.2mm" pcbY="-3.4375mm" width="0.2mm" height="0.875mm" shape="rect" />
<smtpad portHints={["pin50", "50"]} pcbX="0.2mm" pcbY="-3.4375mm" width="0.2mm" height="0.875mm" shape="rect" />
<smtpad portHints={["pin51", "51"]} pcbX="0.6mm" pcbY="-3.4375mm" width="0.2mm" height="0.875mm" shape="rect" />
<smtpad portHints={["pin52", "52"]} pcbX="1mm" pcbY="-3.4375mm" width="0.2mm" height="0.875mm" shape="rect" />
<smtpad portHints={["pin53", "53"]} pcbX="1.4mm" pcbY="-3.4375mm" width="0.2mm" height="0.875mm" shape="rect" />
<smtpad portHints={["pin54", "54"]} pcbX="1.8mm" pcbY="-3.4375mm" width="0.2mm" height="0.875mm" shape="rect" />
<smtpad portHints={["pin55", "55"]} pcbX="2.2mm" pcbY="-3.4375mm" width="0.2mm" height="0.875mm" shape="rect" />
<smtpad portHints={["pin56", "56"]} pcbX="2.6mm" pcbY="-3.4375mm" width="0.2mm" height="0.875mm" shape="rect" />
<smtpad portHints={["pin57", "57"]} pcbX="0mm" pcbY="0mm" width="5.6mm" height="5.6mm" shape="rect" />
</footprint>
}
cadModel={{ stepUrl: esp32Step }}
{...props}
/>
);
};