abse/rp2350-mcu-board
This code defines a compact, four-layer PCB hardware layout for the Raspberry Pi RP2350A microcontroller module, including the main IC, power regulation, USB-C connector, STM32-compatible headers, and associated passive components, with detailed component footprints, net connections, and copper pour zones for powering and ground references.
- Version
- 0.0.11
- License
- unset
- Stars
- 0
imports/RP2350A.tsx
import type { ChipProps } from "@tscircuit/props"
const pinLabels = {
pin1: ["IOVDD6"],
pin2: ["GPIO0"],
pin3: ["GPIO1"],
pin4: ["GPIO2"],
pin5: ["GPIO3"],
pin6: ["DVDD3"],
pin7: ["GPIO4"],
pin8: ["GPIO5"],
pin9: ["GPIO6"],
pin10: ["GPIO7"],
pin11: ["IOVDD5"],
pin12: ["GPIO8"],
pin13: ["GPIO9"],
pin14: ["GPIO10"],
pin15: ["GPIO11"],
pin16: ["GPIO12"],
pin17: ["GPIO13"],
pin18: ["GPIO14"],
pin19: ["GPIO15"],
pin20: ["IOVDD4"],
pin21: ["XIN"],
pin22: ["XOUT"],
pin23: ["DVDD2"],
pin24: ["SWCLK"],
pin25: ["SWDIO"],
pin26: ["RUN"],
pin27: ["GPIO16"],
pin28: ["GPIO17"],
pin29: ["GPIO18"],
pin30: ["IOVDD3"],
pin31: ["GPIO19"],
pin32: ["GPIO20"],
pin33: ["GPIO21"],
pin34: ["GPIO22"],
pin35: ["GPIO23"],
pin36: ["GPIO24"],
pin37: ["GPIO25"],
pin38: ["IOVDD2"],
pin39: ["DVDD1"],
pin40: ["GPIO26_ADC0"],
pin41: ["GPIO27_ADC1"],
pin42: ["GPIO28_ADC2"],
pin43: ["GPIO29_ADC3"],
pin44: ["ADC_AVDD"],
pin45: ["IOVDD1"],
pin46: ["VREG_AVDD"],
pin47: ["VREG_PGND"],
pin48: ["VREG_LX"],
pin49: ["VREG_VIN"],
pin50: ["VREG_FB"],
pin51: ["USB_DM"],
pin52: ["USB_DP"],
pin53: ["USB_OTP_VDD"],
pin54: ["QSPI_IOVDD"],
pin55: ["QSPI_SD3"],
pin56: ["QSPI_SCLK"],
pin57: ["QSPI_SD0"],
pin58: ["QSPI_SD2"],
pin59: ["QSPI_SD1"],
pin60: ["QSPI_SS"],
pin61: ["GND"]
} as const
export const RP2350A = (props: ChipProps<typeof pinLabels>) => {
return (
<chip
pinLabels={pinLabels}
pinAttributes={{
...Object.fromEntries(Object.entries(pinLabels)
.filter(([, labels]) => labels[0].startsWith("GPIO"))
.map(([pin]) => [pin, { isGpio: true }])),
pin1: { requiresPower: true, requiresVoltage: 3.3 },
pin6: { requiresPower: true, requiresVoltage: 1.1 },
pin11: { requiresPower: true, requiresVoltage: 3.3 },
pin20: { requiresPower: true, requiresVoltage: 3.3 },
pin23: { requiresPower: true, requiresVoltage: 1.1 },
pin30: { requiresPower: true, requiresVoltage: 3.3 },
pin38: { requiresPower: true, requiresVoltage: 3.3 },
pin39: { requiresPower: true, requiresVoltage: 1.1 },
pin44: { requiresPower: true, requiresVoltage: 3.3 },
pin45: { requiresPower: true, requiresVoltage: 3.3 },
pin46: { requiresPower: true, requiresVoltage: 3.3 },
pin47: { requiresGround: true },
pin48: { providesPower: true, mustBeConnected: true },
pin49: { requiresPower: true, requiresVoltage: 3.3 },
pin50: { mustBeConnected: true },
pin53: { requiresPower: true, requiresVoltage: 3.3 },
pin54: { requiresPower: true, requiresVoltage: 3.3 },
pin61: { requiresGround: true },
}}
supplierPartNumbers={{
"jlcpcb": [
"C42411118"
]
}}
manufacturerPartNumber="RP2350A"
footprint={<footprint>
<smtpad portHints={["pin61"]} pcbX="0mm" pcbY="-0.000127mm" width="3.3999932mm" height="3.3999932mm" shape="rect" />
<smtpad portHints={["pin60"]} pcbX="-2.799842mm" pcbY="3.574923mm" width="0.1999996mm" height="0.8750046mm" shape="rect" />
<smtpad portHints={["pin59"]} pcbX="-2.400046mm" pcbY="3.574923mm" width="0.1999996mm" height="0.8750046mm" shape="rect" />
<smtpad portHints={["pin58"]} pcbX="-1.999996mm" pcbY="3.574923mm" width="0.1999996mm" height="0.8750046mm" shape="rect" />
<smtpad portHints={["pin57"]} pcbX="-1.599946mm" pcbY="3.574923mm" width="0.1999996mm" height="0.8750046mm" shape="rect" />
<smtpad portHints={["pin56"]} pcbX="-1.199896mm" pcbY="3.574923mm" width="0.1999996mm" height="0.8750046mm" shape="rect" />
<smtpad portHints={["pin55"]} pcbX="-0.799846mm" pcbY="3.574923mm" width="0.1999996mm" height="0.8750046mm" shape="rect" />
<smtpad portHints={["pin54"]} pcbX="-0.40005mm" pcbY="3.574923mm" width="0.1999996mm" height="0.8750046mm" shape="rect" />
<smtpad portHints={["pin53"]} pcbX="0mm" pcbY="3.574923mm" width="0.1999996mm" height="0.8750046mm" shape="rect" />
<smtpad portHints={["pin52"]} pcbX="0.40005mm" pcbY="3.574923mm" width="0.1999996mm" height="0.8750046mm" shape="rect" />
<smtpad portHints={["pin51"]} pcbX="0.8001mm" pcbY="3.574923mm" width="0.1999996mm" height="0.8750046mm" shape="rect" />
<smtpad portHints={["pin50"]} pcbX="1.20015mm" pcbY="3.574923mm" width="0.1999996mm" height="0.8750046mm" shape="rect" />
<smtpad portHints={["pin49"]} pcbX="1.599946mm" pcbY="3.574923mm" width="0.1999996mm" height="0.8750046mm" shape="rect" />
<smtpad portHints={["pin48"]} pcbX="1.999996mm" pcbY="3.574923mm" width="0.1999996mm" height="0.8750046mm" shape="rect" />
<smtpad portHints={["pin47"]} pcbX="2.400046mm" pcbY="3.574923mm" width="0.1999996mm" height="0.8750046mm" shape="rect" />
<smtpad portHints={["pin46"]} pcbX="2.800096mm" pcbY="3.574923mm" width="0.1999996mm" height="0.8750046mm" shape="rect" />
<smtpad portHints={["pin45"]} pcbX="3.57505mm" pcbY="2.799969mm" width="0.8750046mm" height="0.1999996mm" shape="rect" />
<smtpad portHints={["pin44"]} pcbX="3.57505mm" pcbY="2.399919mm" width="0.8750046mm" height="0.1999996mm" shape="rect" />
<smtpad portHints={["pin43"]} pcbX="3.57505mm" pcbY="1.999615mm" width="0.8750046mm" height="0.1999996mm" shape="rect" />
<smtpad portHints={["pin42"]} pcbX="3.57505mm" pcbY="1.600073mm" width="0.8750046mm" height="0.1999996mm" shape="rect" />
<smtpad portHints={["pin41"]} pcbX="3.57505mm" pcbY="1.200023mm" width="0.8750046mm" height="0.1999996mm" shape="rect" />
<smtpad portHints={["pin40"]} pcbX="3.57505mm" pcbY="0.799973mm" width="0.8750046mm" height="0.1999996mm" shape="rect" />
<smtpad portHints={["pin39"]} pcbX="3.57505mm" pcbY="0.399923mm" width="0.8750046mm" height="0.1999996mm" shape="rect" />
<smtpad portHints={["pin38"]} pcbX="3.57505mm" pcbY="-0.000381mm" width="0.8750046mm" height="0.1999996mm" shape="rect" />
<smtpad portHints={["pin37"]} pcbX="3.57505mm" pcbY="-0.399923mm" width="0.8750046mm" height="0.1999996mm" shape="rect" />
<smtpad portHints={["pin36"]} pcbX="3.57505mm" pcbY="-0.799973mm" width="0.8750046mm" height="0.1999996mm" shape="rect" />
<smtpad portHints={["pin35"]} pcbX="3.57505mm" pcbY="-1.200023mm" width="0.8750046mm" height="0.1999996mm" shape="rect" />
<smtpad portHints={["pin34"]} pcbX="3.57505mm" pcbY="-1.600073mm" width="0.8750046mm" height="0.1999996mm" shape="rect" />
<smtpad portHints={["pin33"]} pcbX="3.57505mm" pcbY="-2.000377mm" width="0.8750046mm" height="0.1999996mm" shape="rect" />
<smtpad portHints={["pin32"]} pcbX="3.57505mm" pcbY="-2.399919mm" width="0.8750046mm" height="0.1999996mm" shape="rect" />
<smtpad portHints={["pin31"]} pcbX="3.57505mm" pcbY="-2.799969mm" width="0.8750046mm" height="0.1999996mm" shape="rect" />
<smtpad portHints={["pin30"]} pcbX="2.800096mm" pcbY="-3.574923mm" width="0.1999996mm" height="0.8750046mm" shape="rect" />
<smtpad portHints={["pin29"]} pcbX="2.400046mm" pcbY="-3.574923mm" width="0.1999996mm" height="0.8750046mm" shape="rect" />
<smtpad portHints={["pin28"]} pcbX="1.999996mm" pcbY="-3.574923mm" width="0.1999996mm" height="0.8750046mm" shape="rect" />
<smtpad portHints={["pin27"]} pcbX="1.599946mm" pcbY="-3.574923mm" width="0.1999996mm" height="0.8750046mm" shape="rect" />
<smtpad portHints={["pin26"]} pcbX="1.20015mm" pcbY="-3.574923mm" width="0.1999996mm" height="0.8750046mm" shape="rect" />
<smtpad portHints={["pin25"]} pcbX="0.8001mm" pcbY="-3.574923mm" width="0.1999996mm" height="0.8750046mm" shape="rect" />
<smtpad portHints={["pin24"]} pcbX="0.40005mm" pcbY="-3.574923mm" width="0.1999996mm" height="0.8750046mm" shape="rect" />
<smtpad portHints={["pin23"]} pcbX="0mm" pcbY="-3.574923mm" width="0.1999996mm" height="0.8750046mm" shape="rect" />
<smtpad portHints={["pin22"]} pcbX="-0.40005mm" pcbY="-3.574923mm" width="0.1999996mm" height="0.8750046mm" shape="rect" />
<smtpad portHints={["pin21"]} pcbX="-0.799846mm" pcbY="-3.574923mm" width="0.1999996mm" height="0.8750046mm" shape="rect" />
<smtpad portHints={["pin20"]} pcbX="-1.199896mm" pcbY="-3.574923mm" width="0.1999996mm" height="0.8750046mm" shape="rect" />
<smtpad portHints={["pin19"]} pcbX="-1.599946mm" pcbY="-3.574923mm" width="0.1999996mm" height="0.8750046mm" shape="rect" />
<smtpad portHints={["pin18"]} pcbX="-1.999996mm" pcbY="-3.574923mm" width="0.1999996mm" height="0.8750046mm" shape="rect" />
<smtpad portHints={["pin17"]} pcbX="-2.400046mm" pcbY="-3.574923mm" width="0.1999996mm" height="0.8750046mm" shape="rect" />
<smtpad portHints={["pin16"]} pcbX="-2.799842mm" pcbY="-3.574923mm" width="0.1999996mm" height="0.8750046mm" shape="rect" />
<smtpad portHints={["pin15"]} pcbX="-3.57505mm" pcbY="-2.799969mm" width="0.8750046mm" height="0.1999996mm" shape="rect" />
<smtpad portHints={["pin14"]} pcbX="-3.57505mm" pcbY="-2.400173mm" width="0.8750046mm" height="0.1999996mm" shape="rect" />
<smtpad portHints={["pin13"]} pcbX="-3.57505mm" pcbY="-2.000123mm" width="0.8750046mm" height="0.1999996mm" shape="rect" />
<smtpad portHints={["pin12"]} pcbX="-3.57505mm" pcbY="-1.600073mm" width="0.8750046mm" height="0.1999996mm" shape="rect" />
<smtpad portHints={["pin11"]} pcbX="-3.57505mm" pcbY="-1.200023mm" width="0.8750046mm" height="0.1999996mm" shape="rect" />
<smtpad portHints={["pin10"]} pcbX="-3.57505mm" pcbY="-0.799973mm" width="0.8750046mm" height="0.1999996mm" shape="rect" />
<smtpad portHints={["pin9"]} pcbX="-3.57505mm" pcbY="-0.399923mm" width="0.8750046mm" height="0.1999996mm" shape="rect" />
<smtpad portHints={["pin8"]} pcbX="-3.57505mm" pcbY="-0.000127mm" width="0.8750046mm" height="0.1999996mm" shape="rect" />
<smtpad portHints={["pin7"]} pcbX="-3.57505mm" pcbY="0.399923mm" width="0.8750046mm" height="0.1999996mm" shape="rect" />
<smtpad portHints={["pin6"]} pcbX="-3.57505mm" pcbY="0.799973mm" width="0.8750046mm" height="0.1999996mm" shape="rect" />
<smtpad portHints={["pin5"]} pcbX="-3.57505mm" pcbY="1.200023mm" width="0.8750046mm" height="0.1999996mm" shape="rect" />
<smtpad portHints={["pin4"]} pcbX="-3.57505mm" pcbY="1.599819mm" width="0.8750046mm" height="0.1999996mm" shape="rect" />
<smtpad portHints={["pin3"]} pcbX="-3.57505mm" pcbY="1.999869mm" width="0.8750046mm" height="0.1999996mm" shape="rect" />
<smtpad portHints={["pin2"]} pcbX="-3.57505mm" pcbY="2.399919mm" width="0.8750046mm" height="0.1999996mm" shape="rect" />
<smtpad portHints={["pin1"]} pcbX="-3.57505mm" pcbY="2.799969mm" width="0.8750046mm" height="0.1999996mm" shape="rect" />
<silkscreenpath route={[{"x":-3.1310834000000796,"y":3.5999673999999686},{"x":-3.199917400000004,"y":3.5999673999999686}]} />
<silkscreenpath route={[{"x":3.6000182000000223,"y":3.131083399999966},{"x":3.6000182000000223,"y":3.5999673999999686},{"x":3.1311596000000463,"y":3.5999673999999686}]} />
<silkscreenpath route={[{"x":3.1311596000000463,"y":-3.600043600000049},{"x":3.6000182000000223,"y":-3.600043600000049},{"x":3.6000182000000223,"y":-3.1311596000000463}]} />
<silkscreenpath route={[{"x":-3.5999673999999686,"y":-3.1311596000000463},{"x":-3.5999673999999686,"y":-3.600043600000049},{"x":-3.1310834000000796,"y":-3.600043600000049}]} />
<silkscreenpath route={[{"x":-3.199917400000004,"y":3.5999673999999686},{"x":-3.5999673999999686,"y":3.5999673999999686},{"x":-3.5999673999999686,"y":3.131083399999966}]} />
<silkscreenpath route={[{"x":-4.063999999999851,"y":3.5558730000000196},{"x":-4.068327420061223,"y":3.5230029812719295},{"x":-4.081014773719517,"y":3.4923730000000432},{"x":-4.101197438789313,"y":3.4660704387891883},{"x":-4.127499999999827,"y":3.4458877737193916},{"x":-4.158129981271941,"y":3.433200420061212},{"x":-4.191000000000031,"y":3.428873000000067},{"x":-4.223870018727894,"y":3.433200420061212},{"x":-4.254500000000007,"y":3.4458877737193916},{"x":-4.2808025612107485,"y":3.4660704387891883},{"x":-4.300985226280545,"y":3.4923730000000432},{"x":-4.313672579938839,"y":3.5230029812719295},{"x":-4.317999999999984,"y":3.5558730000000196},{"x":-4.313672579938839,"y":3.588743018727996},{"x":-4.300985226280545,"y":3.619372999999996},{"x":-4.2808025612107485,"y":3.645675561210737},{"x":-4.254500000000007,"y":3.665858226280534},{"x":-4.223870018727894,"y":3.6785455799386},{"x":-4.191000000000031,"y":3.6828729999999723},{"x":-4.158129981271941,"y":3.6785455799386},{"x":-4.127499999999827,"y":3.665858226280534},{"x":-4.101197438789313,"y":3.645675561210737},{"x":-4.081014773719517,"y":3.619372999999996},{"x":-4.068327420061223,"y":3.588743018727996},{"x":-4.063999999999851,"y":3.5558730000000196}]} />
<silkscreentext text="{NAME}" pcbX="-0.1524mm" pcbY="5.013073mm" anchorAlignment="center" fontSize="1mm" />
<courtyardoutline outline={[{"x":-4.567999999999984,"y":4.263072999999963},{"x":4.263200000000097,"y":4.263072999999963},{"x":4.263200000000097,"y":-4.263327000000004},{"x":-4.567999999999984,"y":-4.263327000000004},{"x":-4.567999999999984,"y":4.263072999999963}]} />
</footprint>}
cadModel={{
objUrl: "https://modelcdn.tscircuit.com/easyeda_models/assets/C42411118.obj?uuid=6af829ad488a4e1689b27543b3583581",
stepUrl: "https://modelcdn.tscircuit.com/easyeda_models/assets/C42411118.step?uuid=6af829ad488a4e1689b27543b3583581",
pcbRotationOffset: 0,
modelOriginPosition: { x: 0, y: 0, z: 0 },
}}
{...props}
/>
)
}