0hmX/robocraze-ov7670-camera-module-clone
This code defines and generates a 4-layer PCB hardware layout featuring an OV7670 VGA camera sensor module with fixed component placement, power regulation using ME6211 voltage regulators, a 2x9 header interface, and associated signal routing and mechanical footprints, designed for manufacturing and assembly.
- Version
- 1.0.7
- License
- MIT
- Stars
- 0
footprints/RobocrazeOV7670ModuleHostFootprint.tsx
import { Fragment } from "react"
/**
* Host-board mounting footprint for the complete 35.16 x 34.29 mm module.
* Component origin is the module board center; pin 1 is upper-left.
*/
export const RobocrazeOV7670ModuleHostFootprint = () => (
<footprint insertionDirection="from_above">
{Array.from({ length: 9 }, (_, pair) => {
const pcbY = 10.16 - pair * 2.54
return (
<Fragment key={pair}>
<platedhole
portHints={[`pin${pair * 2 + 1}`]}
pcbX={-13.77}
pcbY={pcbY}
outerDiameter="1.7mm"
holeDiameter="1.1mm"
shape="circle"
/>
<platedhole
portHints={[`pin${pair * 2 + 2}`]}
pcbX={-11.23}
pcbY={pcbY}
outerDiameter="1.7mm"
holeDiameter="1.1mm"
shape="circle"
/>
</Fragment>
)
})}
<courtyardoutline
outline={[
{ x: -17.58, y: 17.145 },
{ x: 17.58, y: 17.145 },
{ x: 17.58, y: -17.145 },
{ x: -17.58, y: -17.145 },
{ x: -17.58, y: 17.145 },
]}
/>
<silkscreenrect width="35.16mm" height="34.29mm" strokeWidth="0.2mm" />
<silkscreencircle pcbX={3} pcbY={0} radius="5.5mm" strokeWidth="0.15mm" />
<silkscreentext
text="OV7670 MODULE"
pcbX={3}
pcbY={-12.5}
fontSize="0.8mm"
anchorAlignment="center"
/>
</footprint>
)