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