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>}/>
}