seveibar/adm6-breakout
This code defines PCB designs featuring a 60-pin fanout or direct routing layout with multiple signal and power layers, test pads, and component footprints for a high-density electronic breakout board.
- Version
- 1.0.2
- License
- unset
- Stars
- 0
rp2040-connector-routed.circuit.tsx
PCB
Schematic
import { Fragment } from "react"
import { ADM6_60_03_5_L_4_0_A_TR } from "./imports/ADM6_60_03_5_L_4_0_A_TR"
import { RP2040 } from "./imports/RP2040"
import { CONNECTOR_ROWS, pinMappings } from "./pin-mapping"
export default () => (
<board
title="30 random ADM6 contacts to RP2040 / 4 layers"
width="48mm"
height="28mm"
borderRadius="1.5mm"
layers={4}
schematicDisabled
autorouter="auto-local"
autorouterEffortLevel="1x"
minTraceWidth="0.1mm"
defaultTraceWidth="0.1mm"
minTraceToPadEdgeClearance="0.08mm"
minPadEdgeToPadEdgeClearance="0.08mm"
minViaEdgeToPadEdgeClearance="0.08mm"
minViaHoleEdgeToViaHoleEdgeClearance="0.1mm"
minViaHoleDiameter="0.2mm"
minViaPadDiameter="0.4mm"
>
<RP2040 name="U1" pcbX={0} pcbY={7} />
<fanout
name="ADM6_FANOUT"
pcbX={0}
pcbY={-6}
width="46mm"
height="10mm"
autorouter="fanout"
autorouterEffortLevel="1x"
fanoutRoutingLayers={["top", "bottom", "inner1", "inner2"]}
busFanoutDirections={{
ADM6_A: "topside_center",
ADM6_B: "topside_center",
ADM6_C: "bottomside_center",
ADM6_D: "bottomside_center",
}}
>
<ADM6_60_03_5_L_4_0_A_TR name="J1" pcbX={0} pcbY={0} />
</fanout>
{CONNECTOR_ROWS.map((row) => (
<Fragment key={row}>
<bus
name={`ADM6_${row}`}
connections={pinMappings
.filter(({ contact }) => contact.startsWith(row))
.map(({ name }) => name)}
/>
</Fragment>
))}
{pinMappings.map(({ contact, gpio, name }) => (
<Fragment key={name}>
<trace name={name} from={`.J1 > .${contact}`} to={`.U1 > .${gpio}`} />
</Fragment>
))}
</board>
)