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

imports/UsbAReceptacle.tsx

import { placementFor } from "../design/placement";
import { type ConnectorProps } from "@tscircuit/props";
export const UsbAReceptacle = (props: ConnectorProps) => (
	<connector
		footprint={
			<footprint>
				<platedhole
					portHints={["1"]}
					pcbX="0mm"
					pcbY="0mm"
					outerDiameter="1.2mm"
					holeDiameter="0.7mm"
					shape="circle"
				/>
				<platedhole
					portHints={["2"]}
					pcbX="2.5mm"
					pcbY="0mm"
					outerDiameter="1.2mm"
					holeDiameter="0.7mm"
					shape="circle"
				/>
				<platedhole
					portHints={["3"]}
					pcbX="4.5mm"
					pcbY="0mm"
					outerDiameter="1.2mm"
					holeDiameter="0.7mm"
					shape="circle"
				/>
				<platedhole
					portHints={["4"]}
					pcbX="7mm"
					pcbY="0mm"
					outerDiameter="1.2mm"
					holeDiameter="0.7mm"
					shape="circle"
				/>
				<platedhole
					portHints={["5"]}
					pcbX="7.5mm"
					pcbY="1.5mm"
					outerDiameter="1.2mm"
					holeDiameter="0.7mm"
					shape="circle"
				/>
				<platedhole
					portHints={["6"]}
					pcbX="5.5mm"
					pcbY="1.5mm"
					outerDiameter="1.2mm"
					holeDiameter="0.7mm"
					shape="circle"
				/>
				<platedhole
					portHints={["7"]}
					pcbX="3.5mm"
					pcbY="1.5mm"
					outerDiameter="1.2mm"
					holeDiameter="0.7mm"
					shape="circle"
				/>
				<platedhole
					portHints={["8"]}
					pcbX="1.5mm"
					pcbY="1.5mm"
					outerDiameter="1.2mm"
					holeDiameter="0.7mm"
					shape="circle"
				/>
				<platedhole
					portHints={["9"]}
					pcbX="-0.5mm"
					pcbY="1.5mm"
					outerDiameter="1.2mm"
					holeDiameter="0.7mm"
					shape="circle"
				/>
				<platedhole
					portHints={["10"]}
					pcbX="9.9mm"
					pcbY="0.75mm"
					outerHeight="2.4mm"
					outerWidth="1.2mm"
					holeHeight="1.7mm"
					holeWidth="0.6mm"
					shape="pill"
					pcbRotation="0deg"
				/>
				<platedhole
					portHints={["10"]}
					pcbX="-2.9mm"
					pcbY="0.75mm"
					outerHeight="2.4mm"
					outerWidth="1.2mm"
					holeHeight="1.7mm"
					holeWidth="0.6mm"
					shape="pill"
					pcbRotation="0deg"
				/>
				<platedhole
					portHints={["10"]}
					pcbX="9.9mm"
					pcbY="-7.75mm"
					outerHeight="2.1mm"
					outerWidth="1.2mm"
					holeHeight="1.4mm"
					holeWidth="0.6mm"
					shape="pill"
					pcbRotation="0deg"
				/>
				<platedhole
					portHints={["10"]}
					pcbX="-2.9mm"
					pcbY="-7.75mm"
					outerHeight="2.1mm"
					outerWidth="1.2mm"
					holeHeight="1.4mm"
					holeWidth="0.6mm"
					shape="pill"
					pcbRotation="0deg"
				/>
				<silkscreenpath
					route={[
						{ x: -3.46, y: 2.56 },
						{ x: -3.46, y: 1.85 },
					]}
					strokeWidth={0.12}
				/>
				<silkscreenpath
					route={[
						{ x: 10.46, y: 2.56 },
						{ x: 10.46, y: 1.85 },
					]}
					strokeWidth={0.12}
				/>
				<silkscreenpath
					route={[
						{ x: -3.46, y: 2.56 },
						{ x: 10.46, y: 2.56 },
					]}
					strokeWidth={0.12}
				/>
				<silkscreenpath
					route={[
						{ x: 10.46, y: -6.8 },
						{ x: 10.46, y: -0.35 },
					]}
					strokeWidth={0.12}
				/>
				<silkscreenpath
					route={[
						{ x: -3.46, y: -6.8 },
						{ x: -3.46, y: -0.35 },
					]}
					strokeWidth={0.12}
				/>
				<silkscreenpath
					route={[
						{ x: -3.46, y: -11.81 },
						{ x: -3.46, y: -8.7 },
					]}
					strokeWidth={0.12}
				/>
				<silkscreenpath
					route={[
						{ x: 10.46, y: -11.81 },
						{ x: 10.46, y: -8.7 },
					]}
					strokeWidth={0.12}
				/>
				<silkscreenpath
					route={[
						{ x: -3.46, y: -11.81 },
						{ x: 10.46, y: -11.81 },
					]}
					strokeWidth={0.12}
				/>
				<fabricationnotepath
					route={[
						{ x: -3.4, y: -11.75 },
						{ x: -3.4, y: 2.5 },
					]}
					strokeWidth={0.1}
				/>
				<fabricationnotepath
					route={[
						{ x: 10.4, y: 2.5 },
						{ x: 10.4, y: -11.75 },
					]}
					strokeWidth={0.1}
				/>
				<fabricationnotepath
					route={[
						{ x: 10.4, y: -11.75 },
						{ x: -3.4, y: -11.75 },
					]}
					strokeWidth={0.1}
				/>
				<fabricationnotepath
					route={[
						{ x: -3.4, y: 2.5 },
						{ x: 10.4, y: 2.5 },
					]}
					strokeWidth={0.1}
				/>
				<fabricationnotetext
					pcbX={3.5}
					pcbY={-13}
					anchorAlignment="center"
					text="USB3_A_Molex_48393-001"
					font="tscircuit2024"
					fontSize={1}
				/>
				<fabricationnotetext
					pcbX={3.5}
					pcbY={-5}
					anchorAlignment="center"
					text={props.name ?? ""}
					font="tscircuit2024"
					fontSize={1}
				/>
				<silkscreentext
					pcbX={3.5}
					pcbY={3.6}
					anchorAlignment="center"
					fontSize={1}
					font="tscircuit2024"
					layer="top"
					text={props.name ?? ""}
				/>
				<courtyardoutline
					outline={[
						{ x: -4, y: -12.3 },
						{ x: -4, y: 3 },
					]}
					layer="top"
				/>
				<courtyardoutline
					outline={[
						{ x: 11, y: -12.3 },
						{ x: -4, y: -12.3 },
					]}
					layer="top"
				/>
				<courtyardoutline
					outline={[
						{ x: 11, y: 3 },
						{ x: 11, y: -12.3 },
					]}
					layer="top"
				/>
				<courtyardoutline
					outline={[
						{ x: -4, y: 3 },
						{ x: 11, y: 3 },
					]}
					layer="top"
				/>
			</footprint>
		}
		{...props}
		{...placementFor(props.name)}
	/>
);