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

imports/PZ254V_12_18P.tsx

import type { ChipProps } from "@tscircuit/props"

export const pz254v1218pPinLabels = {
  pin1: ["3V3"],
  pin2: ["GND"],
  pin3: ["SIO_C"],
  pin4: ["SIO_D"],
  pin5: ["VSYNC"],
  pin6: ["HREF"],
  pin7: ["PCLK"],
  pin8: ["XCLK"],
  pin9: ["D7"],
  pin10: ["D6"],
  pin11: ["D5"],
  pin12: ["D4"],
  pin13: ["D3"],
  pin14: ["D2"],
  pin15: ["D1"],
  pin16: ["D0"],
  pin17: ["RESET"],
  pin18: ["PWDN"],
} as const

export const PZ254V_12_18P_Footprint = () => (
  <footprint insertionDirection="from_above">
        <platedhole  portHints={["pin1"]} pcbX="-10.16mm" pcbY="-1.27mm" outerDiameter="1.6999966mm" holeDiameter="1.1000232mm" shape="circle" />
<platedhole  portHints={["pin2"]} pcbX="-10.16mm" pcbY="1.27mm" outerDiameter="1.6999966mm" holeDiameter="1.1000232mm" shape="circle" />
<platedhole  portHints={["pin3"]} pcbX="-7.62mm" pcbY="-1.27mm" outerDiameter="1.6999966mm" holeDiameter="1.1000232mm" shape="circle" />
<platedhole  portHints={["pin4"]} pcbX="-7.62mm" pcbY="1.27mm" outerDiameter="1.6999966mm" holeDiameter="1.1000232mm" shape="circle" />
<platedhole  portHints={["pin5"]} pcbX="-5.08mm" pcbY="-1.27mm" outerDiameter="1.6999966mm" holeDiameter="1.1000232mm" shape="circle" />
<platedhole  portHints={["pin6"]} pcbX="-5.08mm" pcbY="1.27mm" outerDiameter="1.6999966mm" holeDiameter="1.1000232mm" shape="circle" />
<platedhole  portHints={["pin7"]} pcbX="-2.54mm" pcbY="-1.27mm" outerDiameter="1.6999966mm" holeDiameter="1.1000232mm" shape="circle" />
<platedhole  portHints={["pin8"]} pcbX="-2.54mm" pcbY="1.27mm" outerDiameter="1.6999966mm" holeDiameter="1.1000232mm" shape="circle" />
<platedhole  portHints={["pin9"]} pcbX="-0mm" pcbY="-1.27mm" outerDiameter="1.6999966mm" holeDiameter="1.1000232mm" shape="circle" />
<platedhole  portHints={["pin10"]} pcbX="-0mm" pcbY="1.27mm" outerDiameter="1.6999966mm" holeDiameter="1.1000232mm" shape="circle" />
<platedhole  portHints={["pin11"]} pcbX="2.54mm" pcbY="-1.27mm" outerDiameter="1.6999966mm" holeDiameter="1.1000232mm" shape="circle" />
<platedhole  portHints={["pin12"]} pcbX="2.54mm" pcbY="1.27mm" outerDiameter="1.6999966mm" holeDiameter="1.1000232mm" shape="circle" />
<platedhole  portHints={["pin13"]} pcbX="5.08mm" pcbY="-1.27mm" outerDiameter="1.6999966mm" holeDiameter="1.1000232mm" shape="circle" />
<platedhole  portHints={["pin14"]} pcbX="5.08mm" pcbY="1.27mm" outerDiameter="1.6999966mm" holeDiameter="1.1000232mm" shape="circle" />
<platedhole  portHints={["pin15"]} pcbX="7.62mm" pcbY="-1.27mm" outerDiameter="1.6999966mm" holeDiameter="1.1000232mm" shape="circle" />
<platedhole  portHints={["pin16"]} pcbX="7.62mm" pcbY="1.27mm" outerDiameter="1.6999966mm" holeDiameter="1.1000232mm" shape="circle" />
<platedhole  portHints={["pin17"]} pcbX="10.16mm" pcbY="-1.27mm" outerDiameter="1.6999966mm" holeDiameter="1.1000232mm" shape="circle" />
<platedhole  portHints={["pin18"]} pcbX="10.16mm" pcbY="1.27mm" outerDiameter="1.6999966mm" holeDiameter="1.1000232mm" shape="circle" />
<silkscreenpath route={[{"x":-8.8900000000001,"y":0.03997960000003786},{"x":-11.429974600000037,"y":0.03997960000003786}]} />
<silkscreenpath route={[{"x":-8.8900000000001,"y":-2.4999950000000126},{"x":-8.8900000000001,"y":0.03997960000003786}]} />
<silkscreenpath route={[{"x":-11.429974600000037,"y":-2.4999950000000126},{"x":11.429974599999923,"y":-2.4999950000000126}]} />
<silkscreenpath route={[{"x":-11.429974600000037,"y":2.4999950000001263},{"x":-11.429974600000037,"y":-2.4999950000000126}]} />
<silkscreenpath route={[{"x":11.429974599999923,"y":2.4999950000001263},{"x":-11.429974600000037,"y":2.4999950000001263}]} />
<silkscreenpath route={[{"x":11.429974599999923,"y":-2.4999950000000126},{"x":11.429974599999923,"y":2.4999950000001263}]} />
<silkscreentext text="{NAME}" pcbX="-0.0127mm" pcbY="3.54mm" anchorAlignment="center" fontSize="1mm" />
<courtyardoutline outline={[{"x":-11.705400000000054,"y":2.7899999999999636},{"x":11.679999999999836,"y":2.7899999999999636},{"x":11.679999999999836,"y":-2.7899999999999636},{"x":-11.705400000000054,"y":-2.7899999999999636},{"x":-11.705400000000054,"y":2.7899999999999636}]} />
  </footprint>
)

export const PZ254V_12_18P = (
  props: ChipProps<typeof pz254v1218pPinLabels>,
) => {
  return (
    <chip
      pinLabels={pz254v1218pPinLabels}
      supplierPartNumbers={{
  "jlcpcb": [
    "C492426"
  ]
}}
      manufacturerPartNumber="PZ254V-12-18P"
      footprint={<PZ254V_12_18P_Footprint />}
      cadModel={{
        objUrl: "https://modelcdn.tscircuit.com/easyeda_models/assets/C492426.obj?uuid=944d3afa7415492585fb90fdc37a5397",
        stepUrl: "https://modelcdn.tscircuit.com/easyeda_models/assets/C492426.step?uuid=944d3afa7415492585fb90fdc37a5397",
        pcbRotationOffset: 0,
        modelOriginPosition: { x: 0, y: 0, z: -0.000005999999999950489 },
      }}
      {...props}
    />
  )
}