0hmX/mt41k512m8da-107-it-p-footprints

This code defines the mechanical and physical layout of a Micron digital ball grid array (FBGA) package with 78 balls, including pin positions, footprint geometry, PCB pads, and silkscreen outlines for surface-mount integration.

Version
0.1.1
License
unset
Stars
1

src/index.tsx

import balls from "./balls.json"

/** Physical ball labels only. These are NOT DRAM signal names. */
export const ballPinLabels = Object.fromEntries(
  balls.map(({ pin, ball }) => [`pin${pin}`, [ball, `ball_${ball}`]]),
)
export { balls }

/** Micron DA package; top view, A1 upper left, +Y up.
 * 0.42 mm copper pads selected from the independent KiCad grid reference.
 * See README for the distinction between land geometry and package dimensions.
 * No schematic, signal mapping, 3D model, or circuit is included here.
 */
export function MicronDaFbga78Footprint() {
  return (
    <footprint>
      {balls.map(({ pin, ball, x, y }) => (
        <smtpad key={ball} portHints={[`pin${pin}`, ball, `ball_${ball}`]}
          pcbX={x} pcbY={y} shape="circle" radius={0.21} layer="top" />
      ))}
      <fabricationnotepath strokeWidth={0.1} route={[
        {x:-3.6,y:5.25},{x:4,y:5.25},{x:4,y:-5.25},
        {x:-4,y:-5.25},{x:-4,y:4.85},{x:-3.6,y:5.25}
      ]} />
      <silkscreenpath strokeWidth={0.12} route={[
        {x:-4.15,y:5.4},{x:4.15,y:5.4},{x:4.15,y:-5.4},
        {x:-4.15,y:-5.4},{x:-4.15,y:5.4}
      ]} />
      <silkscreenpath strokeWidth={0.12} route={[
        {x:-4.4,y:4.85},{x:-4.4,y:5.65},{x:-3.6,y:5.65}
      ]} />
      <courtyardoutline outline={[
        {x:-4.55,y:5.8},{x:4.55,y:5.8},{x:4.55,y:-5.8},
        {x:-4.55,y:-5.8},{x:-4.55,y:5.8}
      ]} />
    </footprint>
  )
}
export default MicronDaFbga78Footprint