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