seveibar/am3352-dev-board-4layer-dogbone

Defines PCB footprints and pin mappings for a TI AM3352ZCZ100 processor, JST GH connectors, and assembly-part lookup helpers for capacitors, resistors, and headers.

Version
0.1.5
License
unset
Stars
0

components/JstGh.tsx

import type { ChipProps } from '@tscircuit/props'
// JST BMxxB-GHS-TBT top-entry GH, 1.25 mm pitch.
// Pad centers/sizes from KiCad Connector_JST GH footprints and JST eGH.pdf.
export function JstGh({pins,...props}:ChipProps & {pins:string[]}) {
 const span=(pins.length-1)*1.25
 const labels=Object.fromEntries([...pins.map((n,i)=>[`pin${i+1}`,[n]]),[`pin${pins.length+1}`,['MP1']],[`pin${pins.length+2}`,['MP2']]])
 return <connector {...props} manufacturerPartNumber={`BM${String(pins.length).padStart(2,'0')}B-GHS-TBT(LF)(SN)`} supplierPartNumbers={{jlcpcb:[pins.length===4?"C161692":"C189892"]}} pinLabels={labels} footprint={<footprint insertionDirection="from_above">
  {pins.map((_,i)=><smtpad portHints={[`pin${i+1}`]} shape="rect" pcbX={i*1.25-span/2} pcbY={-1.95} width={0.6} height={1.7}/>)}
  {[-1,1].map((sign,i)=><smtpad portHints={[`pin${pins.length+i+1}`]} shape="rect" pcbX={sign*(span/2+1.85)} pcbY={1.4} width={1} height={2.8}/>)}
  <silkscreenrect pcbX={0} pcbY={0} width={span+4.5} height={4.25}/>
  <silkscreencircle pcbX={-span/2} pcbY={-3.0} radius={0.18}/>
  <courtyardrect pcbX={0} pcbY={0} width={span+5.71} height={6.6}/>
 </footprint>}/>
}