anil08607/Smartwatch

A 46 mm smartwatch PCB built around an nRF52810 BLE MCU, with USB‑C PD/Li‑ion charging, buck‑boost power, LCD, accelerometer, RTC, buttons, haptic motor, crystals, antenna, and SWD programming connector.

Version
1.0.14
License
unset
Stars
0

imports/RadioParts.tsx

import { Fragment } from "react";
import type { ChipProps, CrystalProps } from "@tscircuit/props";
const hf = {
	pin1: ["XTAL1"],
	pin2: ["GND1"],
	pin3: ["XTAL2"],
	pin4: ["GND2"],
} as const;
export const Crystal32MHz = (
	props: Omit<CrystalProps, "frequency" | "loadCapacitance">,
) => (
	<crystal
		frequency="32MHz"
		loadCapacitance="8pF"
		pinVariant="four_pin"
		manufacturerPartNumber="X201632MKB4SI"
		supplierPartNumbers={{ jlcpcb: ["C718072"] }}
		footprint={
			<footprint>
				{[
					[-0.7, -0.55],
					[0.7, -0.55],
					[0.7, 0.55],
					[-0.7, 0.55],
				].map(([x, y], i) => (
					<Fragment key={i}>
						<smtpad
							portHints={[`pin${i + 1}`]}
							shape="rect"
							pcbX={x}
							pcbY={y}
							width={0.9}
							height={0.8}
						/>
					</Fragment>
				))}
				<courtyardrect width={2.8} height={2.3} />
			</footprint>
		}
		{...props}
	/>
);
const lf = { pin1: ["OSC1"], pin2: ["OSC2"] } as const;
export const Crystal32768 = (
	props: Omit<CrystalProps, "frequency" | "loadCapacitance">,
) => (
	<crystal
		frequency="32.768kHz"
		loadCapacitance="9pF"
		manufacturerPartNumber="ABS07-32.768KHZ-9-T"
		supplierPartNumbers={{ jlcpcb: ["C179635"] }}
		footprint={
			<footprint>
				<smtpad
					portHints={["pin1"]}
					pcbX={-1.25}
					pcbY={0}
					width={1.2}
					height={1.8}
					shape="rect"
				/>
				<smtpad
					portHints={["pin2"]}
					pcbX={1.25}
					pcbY={0}
					width={1.2}
					height={1.8}
					shape="rect"
				/>
				<courtyardrect width={4.2} height={2.3} />
			</footprint>
		}
		{...props}
	/>
);
const ant = { pin1: ["FEED"], pin2: ["NC"] } as const;
export const ChipAntenna = (props: ChipProps<typeof ant>) => (
	<chip
		pinLabels={ant}
		manufacturerPartNumber="RFANT3216120A5T"
		supplierPartNumbers={{ jlcpcb: ["C127629"] }}
		footprint={
			<footprint>
				<smtpad
					portHints={["pin1"]}
					pcbX={-1.55005}
					pcbY={0}
					width={0.8}
					height={1.66}
					shape="rect"
				/>
				<smtpad
					portHints={["pin2"]}
					pcbX={1.55005}
					pcbY={0}
					width={0.8}
					height={1.66}
					shape="rect"
				/>
				<courtyardrect width={4.5} height={2.2} />
			</footprint>
		}
		{...props}
	/>
);