abse/smartwatch-v1-pcb

Routed bare ESP32-S3 smartwatch with SDR PSRAM, touch AMOLED, Qi receiver and compact/exploded 39 × 50.5 × 14.5 mm provisional assembly.

Version
0.2.0
License
unset
Stars
0

components/BoardPads.tsx

import type { ChipProps } 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>) => <chip
  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" />
  </footprint>} {...props}/>
export const DockPads = (props: ChipProps<typeof twoPins>) => <chip
  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" />
  </footprint>} {...props}/>
export const ProbePad = (props:ChipProps<{pin1:['PAD']}>) => <chip
  doNotPlace
  pinLabels={{pin1:['PAD']}}
  footprint={<footprint><smtpad portHints={['pin1']} pcbX={0} pcbY={0} radius={0.45} shape="circle" /></footprint>} {...props}/>