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/NRF52810.tsx
import { Fragment } from "react";
import type { ChipProps } from "@tscircuit/props";
// Nordic nRF52810 product specification, QFAA top-view pin numbering.
const pins = {
pin1: ["DEC1"],
pin2: ["XL1"],
pin3: ["XL2"],
pin4: ["P0_02"],
pin5: ["P0_03"],
pin6: ["P0_04"],
pin7: ["P0_05"],
pin8: ["P0_06"],
pin9: ["P0_07"],
pin10: ["P0_08"],
pin11: ["P0_09"],
pin12: ["P0_10"],
pin13: ["VDD1"],
pin14: ["P0_11"],
pin15: ["P0_12"],
pin16: ["P0_13"],
pin17: ["P0_14"],
pin18: ["P0_15"],
pin19: ["P0_16"],
pin20: ["P0_17"],
pin21: ["P0_18"],
pin22: ["P0_19"],
pin23: ["P0_20"],
pin24: ["nRESET"],
pin25: ["SWDCLK"],
pin26: ["SWDIO"],
pin27: ["P0_22"],
pin28: ["P0_23"],
pin29: ["P0_24"],
pin30: ["ANT"],
pin31: ["VSS2"],
pin32: ["DEC2"],
pin33: ["DEC3"],
pin34: ["XC1"],
pin35: ["XC2"],
pin36: ["VDD3"],
pin37: ["P0_25"],
pin38: ["P0_26"],
pin39: ["P0_27"],
pin40: ["P0_28"],
pin41: ["P0_29"],
pin42: ["P0_30"],
pin43: ["P0_31"],
pin44: ["NC"],
pin45: ["VSS1"],
pin46: ["DEC4"],
pin47: ["DCC"],
pin48: ["VDD2"],
pin49: ["EP"],
} as const;
export const NRF52810 = (props: ChipProps<typeof pins>) => (
<chip
pinLabels={pins}
pinAttributes={{
VDD1: { requiresPower: true },
VDD2: { requiresPower: true },
VDD3: { requiresPower: true },
VSS1: { requiresGround: true },
VSS2: { requiresGround: true },
EP: { requiresGround: true },
}}
manufacturerPartNumber="NRF52810-QFAA-R"
supplierPartNumbers={{ jlcpcb: ["C141828"] }}
schWidth={5}
schHeight={10.5}
footprint={
<footprint>
{Array.from({ length: 48 }, (_, i) => {
const side = Math.floor(i / 12);
const t = -2.2 + (i % 12) * 0.4;
return (
<Fragment key={i}>
<smtpad
portHints={[`pin${i + 1}`]}
shape="rect"
pcbX={side === 0 ? -3 : side === 1 ? t : side === 2 ? 3 : -t}
pcbY={side === 0 ? -t : side === 1 ? -3 : side === 2 ? t : 3}
width={side % 2 === 0 ? 0.95 : 0.2}
height={side % 2 === 0 ? 0.2 : 0.95}
/>
</Fragment>
);
})}
<smtpad
portHints={["pin49"]}
shape="rect"
pcbX={0}
pcbY={0}
width={4.6}
height={4.6}
/>
<courtyardrect width={7.4} height={7.4} />
<silkscreencircle pcbX={-3.7} pcbY={3.7} radius={0.18} />
</footprint>
}
cadModel={{
objUrl:
"https://modelcdn.tscircuit.com/easyeda_models/assets/C141828.obj?uuid=46b18d34784345cd8b1ca45b59e906cb",
stepUrl:
"https://modelcdn.tscircuit.com/easyeda_models/assets/C141828.step?uuid=46b18d34784345cd8b1ca45b59e906cb",
pcbRotationOffset: 270,
}}
{...props}
/>
);