gokul/usb3-sd-hub

Engineering draft: four-layer, computer-powered USB 3 hub with one USB-C host socket, two USB-C and two USB-A accessory sockets, and a full-size SD slot. Board and three schematic previews are available. Routing and production checks are incomplete; not fabrication ready.

Version
0.1.4
License
unset
Stars
0

components/ComponentFootprints.tsx

import { Fragment } from "react";
// Land dimensions from KiCad official libraries and TI DCU0008A.
export const Coilcraft4020 = () => (
	<footprint>
		<smtpad
			portHints={["pin1"]}
			shape="rect"
			pcbX={-1.185}
			width={0.98}
			height={3.4}
		/>
		<smtpad
			portHints={["pin2"]}
			shape="rect"
			pcbX={1.185}
			width={0.98}
			height={3.4}
		/>
		<courtyardrect width={4.52} height={4.52} />
		<silkscreenrect width={4.31} height={4.31} />
	</footprint>
);

export const Electrolytic63 = () => (
	<footprint>
		<smtpad
			portHints={["pin1", "positive"]}
			shape="rect"
			pcbX={-2.7}
			width={3.5}
			height={1.6}
		/>
		<smtpad
			portHints={["pin2", "negative"]}
			shape="rect"
			pcbX={2.7}
			width={3.5}
			height={1.6}
		/>
		<courtyardrect width={9.4} height={7.1} />
		<silkscreencircle radius={3.41} />
		<silkscreentext text="+" pcbX={-4.1} pcbY={-2} fontSize={0.8} />
	</footprint>
);

export const Vssop8 = () => (
	<footprint>
		{Array.from({ length: 8 }, (_, index) => (
			<Fragment key={index}>
				<smtpad
					portHints={[`pin${index + 1}`]}
					shape="rect"
					pcbX={index < 4 ? -1.55 : 1.55}
					pcbY={index < 4 ? 0.75 - index * 0.5 : (index - 4) * 0.5 - 0.75}
					width={0.85}
					height={0.3}
				/>
			</Fragment>
		))}
		<courtyardrect width={4.3} height={2.5} />
		<silkscreencircle pcbX={-2.2} pcbY={1} radius={0.15} />
	</footprint>
);