seveibar/nrf-smart-watch

This code defines a detailed 3D PCB layout with schematic components, connectors, passive components, and RF antenna elements for a compact nRF52810-based smartwatch, including precise placement, copper pours, keepouts, and annotations.

Version
0.1.1
License
unset
Stars
0

imports/WATCH_SIDE_BUTTON.tsx

import type { ChipProps } from "@tscircuit/props";

const pinLabels = {
  pin1: ["A"],
  pin2: ["B"],
} as const;

/** Generic two-contact, side-actuated SMD tactile switch footprint. */
export const WATCH_SIDE_BUTTON = (props: ChipProps<typeof pinLabels>) => (
  <pushbutton
    pinLabels={pinLabels}
    manufacturerPartNumber="GENERIC-3.5X2.8-SIDE-TACT"
    footprint={
      <footprint>
        <smtpad
          portHints={["pin1"]}
          pcbX={-1.9}
          pcbY={0}
          width="1.4mm"
          height="2.2mm"
          shape="rect"
        />
        <smtpad
          portHints={["pin2"]}
          pcbX={1.9}
          pcbY={0}
          width="1.4mm"
          height="2.2mm"
          shape="rect"
        />
        <silkscreenpath
          route={[
            { x: -1.6, y: -1.4 },
            { x: 1.6, y: -1.4 },
            { x: 1.6, y: 1.4 },
            { x: -1.6, y: 1.4 },
            { x: -1.6, y: -1.4 },
          ]}
        />
        <courtyardoutline
          outline={[
            { x: -2.8, y: -1.7 },
            { x: 2.8, y: -1.7 },
            { x: 2.8, y: 1.7 },
            { x: -2.8, y: 1.7 },
            { x: -2.8, y: -1.7 },
          ]}
        />
      </footprint>
    }
    {...props}
  />
);