seveibar/f1c1990s-dev-board

This code manages the entire PCB assembly process for a computer hardware module, including component placement, schematic integration, automated routing, copper pouring, and design rule checks, focused on a four-layer carrier board with integrated support components and connectors.

Version
1.8.0
License
unset
Stars
0

modules/f1c100s/src/ClockCrystal.tsx

/** Abracon ABM8: https://abracon.com/Resonators/abm8.pdf, page 2.
 * 12 pF load variant; the two external 18 pF C0G capacitors allow 3 pF stray. */
export function ClockCrystal({
	placement,
}: {
	placement: { x: number; y: number; rotation: number };
}) {
	return (
		<crystal
			name="Y1"
			frequency="24MHz"
			loadCapacitance="12pF"
			pinVariant="four_pin"
			manufacturerPartNumber="ABM8-24.000MHZ-12-B1U-T"
			maxTraceLength={10}
			pcbX={placement.x}
			pcbY={placement.y}
			pcbRotation={placement.rotation}
			schX={-25}
			schY={-10}
			layer="top"
		>
			{" "}
			<footprint>
				{/* Abracon ABM8 recommended land pattern, top view. */}
				<smtpad
					portHints={["pin1"]}
					pcbX={-1.15}
					pcbY={-0.875}
					width={1.3}
					height={1.05}
					shape="rect"
				/>
				<smtpad
					portHints={["pin2"]}
					pcbX={1.15}
					pcbY={-0.875}
					width={1.3}
					height={1.05}
					shape="rect"
				/>
				<smtpad
					portHints={["pin3"]}
					pcbX={1.15}
					pcbY={0.875}
					width={1.3}
					height={1.05}
					shape="rect"
				/>
				<smtpad
					portHints={["pin4"]}
					pcbX={-1.15}
					pcbY={0.875}
					width={1.3}
					height={1.05}
					shape="rect"
				/>
				<silkscreenpath
					route={[
						{ x: -1.6, y: -1.25 },
						{ x: 1.6, y: -1.25 },
						{ x: 1.6, y: 1.25 },
						{ x: -1.6, y: 1.25 },
						{ x: -1.6, y: -1.25 },
					]}
				/>
			</footprint>
		</crystal>
	);
}