imrishabh18/microphone-board
This code defines a PCB connector component featuring six pins with associated footprint, silkscreen, and 3D model data for placement and visualization on a circuit board.
- Version
- 1.0.0
- License
- unset
- Stars
- 1
index.tsx
PCB
Schematic
import { Fragment } from "react"
import { Connector } from "./imports/Connector"
import { Microphone } from "./imports/Microphone"
const boardOutline = [
{ x: -7.421, y: -39.592 },
{ x: -7.348, y: -39.75 },
{ x: -7.248, y: -39.893 },
{ x: -7.124, y: -40.016 },
{ x: -6.982, y: -40.116 },
{ x: -6.824, y: -40.19 },
{ x: -6.655, y: -40.235 },
{ x: -6.482, y: -40.25 },
{ x: -6.518, y: -40.25 },
{ x: -0.018, y: -40.25 },
{ x: 6.482, y: -40.25 },
{ x: 6.655, y: -40.235 },
{ x: 6.824, y: -40.19 },
{ x: 6.982, y: -40.116 },
{ x: 7.124, y: -40.016 },
{ x: 7.248, y: -39.893 },
{ x: 7.348, y: -39.75 },
{ x: 7.421, y: -39.592 },
{ x: 8.452, y: -34.554 },
{ x: 8.481, y: -34.175 },
{ x: 8.437, y: -33.798 },
{ x: 8.321, y: -33.436 },
{ x: 8.137, y: -33.103 },
{ x: 7.893, y: -32.812 },
{ x: 7.597, y: -32.573 },
{ x: 7.261, y: -32.396 },
{ x: 6.897, y: -32.287 },
{ x: 6.518, y: -32.25 },
{ x: 2.582, y: -32.25 },
{ x: 2.396, y: -32.233 },
{ x: 2.216, y: -32.181 },
{ x: 2.05, y: -32.097 },
{ x: 1.901, y: -31.983 },
{ x: 1.777, y: -31.844 },
{ x: 1.681, y: -31.684 },
{ x: 1.616, y: -31.509 },
{ x: 0.501, y: -25.746 },
{ x: 0.493, y: -25.698 },
{ x: 0.487, y: -25.649 },
{ x: 0.483, y: -25.599 },
{ x: 0.482, y: -25.55 },
{ x: 0.482, y: 30.25 },
{ x: 0.496, y: 30.396 },
{ x: 0.539, y: 30.537 },
{ x: 0.608, y: 30.667 },
{ x: 0.701, y: 30.78 },
{ x: 0.815, y: 30.874 },
{ x: 0.945, y: 30.943 },
{ x: 1.085, y: 30.986 },
{ x: 1.232, y: 31 },
{ x: 1.362, y: 31.011 },
{ x: 1.488, y: 31.045 },
{ x: 1.607, y: 31.1 },
{ x: 1.714, y: 31.175 },
{ x: 1.806, y: 31.268 },
{ x: 1.881, y: 31.375 },
{ x: 1.936, y: 31.493 },
{ x: 1.97, y: 31.62 },
{ x: 1.982, y: 31.75 },
{ x: 1.982, y: 38.25 },
{ x: 1.943, y: 38.64 },
{ x: 1.829, y: 39.015 },
{ x: 1.645, y: 39.361 },
{ x: 1.396, y: 39.664 },
{ x: 1.093, y: 39.913 },
{ x: 0.747, y: 40.098 },
{ x: 0.372, y: 40.212 },
{ x: -0.018, y: 40.25 },
{ x: -0.409, y: 40.212 },
{ x: -0.784, y: 40.098 },
{ x: -1.129, y: 39.913 },
{ x: -1.433, y: 39.664 },
{ x: -1.681, y: 39.361 },
{ x: -1.866, y: 39.015 },
{ x: -1.98, y: 38.64 },
{ x: -2.018, y: 38.25 },
{ x: -2.018, y: 31.75 },
{ x: -2.004, y: 31.604 },
{ x: -1.961, y: 31.463 },
{ x: -1.892, y: 31.333 },
{ x: -1.799, y: 31.22 },
{ x: -1.685, y: 31.126 },
{ x: -1.555, y: 31.057 },
{ x: -1.415, y: 31.014 },
{ x: -1.268, y: 31 },
{ x: -1.122, y: 30.986 },
{ x: -0.981, y: 30.943 },
{ x: -0.852, y: 30.874 },
{ x: -0.738, y: 30.78 },
{ x: -0.645, y: 30.667 },
{ x: -0.575, y: 30.537 },
{ x: -0.533, y: 30.396 },
{ x: -0.518, y: 30.25 },
{ x: -0.518, y: -25.55 },
{ x: -0.52, y: -25.599 },
{ x: -0.523, y: -25.649 },
{ x: -0.529, y: -25.698 },
{ x: -0.538, y: -25.746 },
{ x: -1.652, y: -31.509 },
{ x: -1.717, y: -31.684 },
{ x: -1.814, y: -31.844 },
{ x: -1.938, y: -31.983 },
{ x: -2.086, y: -32.097 },
{ x: -2.253, y: -32.181 },
{ x: -2.432, y: -32.233 },
{ x: -2.618, y: -32.25 },
{ x: -6.518, y: -32.25 },
{ x: -6.897, y: -32.287 },
{ x: -7.261, y: -32.396 },
{ x: -7.597, y: -32.573 },
{ x: -7.893, y: -32.812 },
{ x: -8.137, y: -33.103 },
{ x: -8.321, y: -33.436 },
{ x: -8.437, y: -33.798 },
{ x: -8.481, y: -34.175 },
{ x: -8.452, y: -34.554 },
{ x: -7.421, y: -39.592 },
]
const profileCutouts = [
{ name: "CUTOUT_LEFT", x: -6.518, y: -34.25 },
{ name: "CUTOUT_RIGHT", x: 6.482, y: -34.25 },
{ name: "CUTOUT_TOP", x: -0.018, y: 38.25 },
]
export default () => (
<board
width="16.963mm"
height="80.5mm"
outline={boardOutline}
pcbStyle={{
silkscreenFontSize: "0.8mm",
viaPadDiameter: "0.6mm",
viaHoleDiameter: "0.3mm",
}}
>
{profileCutouts.map((cutout) => (
<Fragment key={cutout.name}>
<cutout
name={cutout.name}
shape="circle"
radius="1mm"
pcbX={cutout.x}
pcbY={cutout.y}
/>
</Fragment>
))}
<Connector name="J1" pcbX={0} pcbY={-37.25} schX={0} schY={-2} />
<Microphone
name="U1"
pcbX={-0.018}
pcbY={34.672}
pcbRotation={180}
schX={0}
schY={2}
/>
<capacitor
name="C1"
capacitance="100nF"
footprint="0402"
supplierPartNumbers={{
jlcpcb: ["C1525"],
}}
pcbX={-0.018}
pcbY={31.75}
pcbRotation={0}
schX={2.5}
schY={2}
/>
<trace from=".J1 > .pin1" to="net.GND" />
<trace from=".J1 > .pin2" to="net.VDD" />
<trace from=".J1 > .pin3" to="net.PDM_CLK" />
<trace from=".J1 > .pin4" to="net.PDM_DATA" />
<trace from=".J1 > .pin5" to="net.GND" />
<trace from=".J1 > .pin6" to="net.GND" />
<trace from=".U1 > .GND1" to="net.GND" />
<trace from=".U1 > .pin3_alt1" to="net.GND" />
<trace from=".U1 > .VDD" to="net.VDD" />
<trace from=".U1 > .CLK" to="net.PDM_CLK" />
<trace from=".U1 > .DATA" to="net.PDM_DATA" />
<trace from=".U1 > .SELECT" to="net.GND" />
<trace from=".C1 > .pin1" to="net.VDD" />
<trace from=".C1 > .pin2" to="net.GND" />
</board>
)