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