abse/smartwatch-flex-top-only

Three-panel flex smartwatch with two parallel R3.9 bends, all components flat-top, low-profile JST connector harnesses, split heartbeat optical windows and screw-retained PCB mounting. Modeled 39 × 50.5 × 14.5mm prototype; 100% routing, zero native DRC and shorts. Hardware qualification pending.

Version
0.2.22
License
unset
Stars
0

components/BoardPads.tsx

import type { ChipProps, TestpointProps } from '@tscircuit/props'
const twoPins = {pin1:['POS'],pin2:['NEG']} as const
// PCB copper features: not purchased components. Dimensions in millimetres.
export const WirePads = (props: ChipProps<typeof twoPins>) => <connector
  doNotPlace
  pinLabels={twoPins}
  footprint={<footprint insertionDirection="from_above">
    <smtpad portHints={['pin1']} pcbX={-1.05} pcbY={0} width={1.3} height={1.6} shape="rect" />
    <smtpad portHints={['pin2']} pcbX={1.05} pcbY={0} width={1.3} height={1.6} shape="rect" />
    <courtyardrect width={3.654} height={1.854}/>
  </footprint>} {...props}/>
export const DockPads = (props: ChipProps<typeof twoPins>) => <connector
  doNotPlace
  pinLabels={twoPins}
  pinAttributes={{pin2:{requiresGround:true}}}
  footprint={<footprint insertionDirection="from_above">
    <smtpad portHints={['pin1']} pcbX={-2} pcbY={0} width={2} height={2} shape="rect" />
    <smtpad portHints={['pin2']} pcbX={2} pcbY={0} width={2} height={2} shape="rect" />
    <courtyardrect width={6.254} height={2.254}/>
  </footprint>} {...props}/>
export const ProbePad = (props:TestpointProps) => <testpoint footprintVariant="pad" padDiameter={.9}
  doNotPlace
  footprint={<footprint><smtpad portHints={['pin1']} pcbX={0} pcbY={0} radius={0.45} shape="circle" /><courtyardcircle radius={.577}/></footprint>} {...props}/>