seveibar/rp2040-zero
This code defines a hardware schematic with discrete components and modules including voltage regulators, microcontroller (RP2040), flash memory, LEDs, crystal oscillator, and buttons, interconnected through specific pins and footprints for PCB layout.
Usage: To use the RP2040 component from the "@tsci/seveibar.rp2040-zero" package: 1. Import the component: ```tsx import { RP2040 } from "@tsci/seveibar.rp2040-zero/imports/RP2040" ``` 2. Use in a circuit: ```tsx <RP2040 name="U3" connections={{ // Connect pins to nets or other components GPIO0: "net.GPIO0", IOVDD1: "net.V3_3", GND: "net.GND" }} /> ``` Key details: - Supports 57 pins - Pins include GPIO, power, USB, crystal, and debug interfaces - Can be configured with various connections and pin mappings
- Version
- 0.0.18-pr6-2229c6f4
- License
- unset
- Stars
- 1
dist/index.js
PCB
Schematic
import { XiaoBoard } from '@tscircuit/common';
const pinLabels$5 = {
pin1: ["VIN"],
pin2: ["GND"],
pin3: ["EN"],
pin4: ["NC"],
pin5: ["VOUT"],
};
const RT9013_33GB = (props) => {
return (React.createElement("chip", { pinLabels: pinLabels$5, supplierPartNumbers: {
jlcpcb: ["C47773"],
}, manufacturerPartNumber: "RT9013_33GB", footprint: React.createElement("footprint", null,
React.createElement("smtpad", { portHints: ["pin1"], pcbX: "-0.9499599999999191mm", pcbY: "-1.1581701499999326mm", width: "0.48999139999999997mm", height: "1.1569954mm", shape: "rect" }),
React.createElement("smtpad", { portHints: ["pin2"], pcbX: "0mm", pcbY: "-1.1581701499999326mm", width: "0.48999139999999997mm", height: "1.1569954mm", shape: "rect" }),
React.createElement("smtpad", { portHints: ["pin3"], pcbX: "0.9499599999998054mm", pcbY: "-1.1581701499999326mm", width: "0.48999139999999997mm", height: "1.1569954mm", shape: "rect" }),
React.createElement("smtpad", { portHints: ["pin4"], pcbX: "0.9499599999998054mm", pcbY: "1.1491658500000312mm", width: "0.48999139999999997mm", height: "1.1750040000000002mm", shape: "rect" }),
React.createElement("smtpad", { portHints: ["pin5"], pcbX: "-0.9499599999999191mm", pcbY: "1.1491658500000312mm", width: "0.48999139999999997mm", height: "1.1750040000000002mm", shape: "rect" }),
React.createElement("silkscreenpath", { route: [
{ x: -1.5262098000000606, y: -0.8557069500000125 },
{ x: -1.5262098000000606, y: 0.8467026499999974 },
] }),
React.createElement("silkscreenpath", { route: [
{ x: 1.5262097999998332, y: -0.8557069500000125 },
{ x: 1.5262097999998332, y: 0.8467026499999974 },
] }),
React.createElement("silkscreenpath", { route: [
{ x: 0.4764023999998699, y: 0.8467026499999974 },
{ x: -0.4764023999999836, y: 0.8467026499999974 },
] })), cadModel: {
objUrl: "https://modelcdn.tscircuit.com/easyeda_models/download?uuid=460193f9bf2d42e58cf3c2f675b07dc6&pn=C47773",
rotationOffset: { x: 0, y: 0, z: 90 },
positionOffset: { x: 0, y: 0, z: 0 },
}, ...props }));
};
const VoltageRegulator = (groupProps) => (React.createElement("group", { ...groupProps, pcbX: -5, pcbY: -5 },
React.createElement("capacitor", { name: "C6", schOrientation: "vertical", footprint: "0402", capacitance: "2.2uF" }),
React.createElement("capacitor", { name: "C1", schOrientation: "vertical", footprint: "0402", capacitance: "2.2uF" }),
React.createElement("capacitor", { name: "C2", schOrientation: "vertical", footprint: "0402", capacitance: "2.2uF" }),
React.createElement("capacitor", { name: "C5", schOrientation: "vertical", footprint: "0402", capacitance: "1uF" }),
React.createElement(RT9013_33GB, { name: "U1", connections: {
VIN: ["C6.1", "C1.1", "C2.1", "net.VSYS"],
GND: ["C6.2", "C1.2", "C2.2", "net.GND"],
EN: "U1.1",
VOUT: ["net.V3_3", "C5.1"],
} }),
React.createElement("trace", { from: "C5.2", to: "net.GND" })));
const pinLabels$4 = {
pin1: ["DO"],
pin2: ["GND"],
pin3: ["DI"],
pin4: ["VDD"],
};
const WS2812B_2020 = (props) => {
return (React.createElement("chip", { pinLabels: pinLabels$4, supplierPartNumbers: {
jlcpcb: ["C965555"],
}, manufacturerPartNumber: "WS2812B_2020", footprint: React.createElement("footprint", null,
React.createElement("smtpad", { portHints: ["pin1"], pcbX: "-0.9150349999999889mm", pcbY: "0.5500369999999748mm", width: "0.8999982mm", height: "0.6999986mm", shape: "rect" }),
React.createElement("smtpad", { portHints: ["pin2"], pcbX: "-0.9150349999999889mm", pcbY: "-0.5500369999999748mm", width: "0.8999982mm", height: "0.6999986mm", shape: "rect" }),
React.createElement("smtpad", { portHints: ["pin3"], pcbX: "0.9150349999999889mm", pcbY: "-0.5500369999999748mm", width: "0.8999982mm", height: "0.6999986mm", shape: "rect" }),
React.createElement("smtpad", { portHints: ["pin4"], pcbX: "0.9150349999999889mm", pcbY: "0.5500369999999748mm", width: "0.8999982mm", height: "0.6999986mm", shape: "rect" }),
React.createElement("silkscreenpath", { route: [
{ x: -0.24998679999998785, y: 0.7499603999999636 },
{ x: -0.09999980000009145, y: 0.7499603999999636 },
{ x: -0.09999980000009145, y: -0.6500114000000394 },
{ x: -0.09999980000009145, y: -0.6999986000000717 },
{ x: -0.24998679999998785, y: -0.6999986000000717 },
] }),
React.createElement("silkscreenpath", { route: [
{ x: -0.24998679999998785, y: 0.7499603999999636 },
{ x: -0.24998679999998785, y: -0.7000239999999849 },
] }),
React.createElement("silkscreenpath", { route: [
{ x: -1.299997400000052, y: 1.1499850000000151 },
{ x: -1.299997400000052, y: 1.1381486000000223 },
] }),
React.createElement("silkscreenpath", { route: [
{ x: 0.9999979999998914, y: 1.0999977999999828 },
{ x: -0.999998000000005, y: 1.0999977999999828 },
] }),
React.createElement("silkscreenpath", { route: [
{ x: -0.999998000000005, y: -1.0999977999999828 },
{ x: 0.9999979999998914, y: -1.0999977999999828 },
] })), schPinArrangement: {
leftSide: {
direction: "top-to-bottom",
pins: ["DI", "GND"],
},
rightSide: {
direction: "top-to-bottom",
pins: ["VDD", "DO"],
},
}, cadModel: {
objUrl: "https://modelcdn.tscircuit.com/easyeda_models/download?uuid=caa88715b11f4aa189b02e52bbb84e4f&pn=C965555",
rotationOffset: { x: 0, y: 0, z: 0 },
positionOffset: { x: 0, y: 0, z: 0 },
}, ...props }));
};
const LedCircuit = () => (React.createElement("group", { pcbX: -5, pcbY: 0 },
React.createElement(WS2812B_2020, { name: "L1", connections: {
VDD: "net.V3_3",
GND: "net.GND",
DI: "net.GPIO16",
} })));
const pinLabels$3 = {
pin1: ["CS_N"],
pin2: ["DO"],
pin3: ["WP_N"],
pin4: ["GND"],
pin5: ["DI"],
pin6: ["CLK"],
pin7: ["HOLD_N"],
pin8: ["VCC"],
pin9: ["EP"],
};
const W25Q16JVUXIQ = (props) => {
return (React.createElement("chip", { pinLabels: pinLabels$3, supplierPartNumbers: {
jlcpcb: ["C2843335"],
}, schPinArrangement: {
leftSide: {
direction: "top-to-bottom",
pins: ["CS_N", "DO", "WP_N", "GND"],
},
rightSide: {
direction: "top-to-bottom",
pins: ["VCC", "HOLD_N", "CLK", "DI"],
},
}, manufacturerPartNumber: "W25Q16JVUXIQ", footprint: React.createElement("footprint", null,
React.createElement("smtpad", { portHints: ["pin1"], pcbX: "-0.7500619999999572mm", pcbY: "-1.5074899999999616mm", width: "0.2800096mm", height: "0.5999987999999999mm", shape: "rect" }),
React.createElement("smtpad", { portHints: ["pin2"], pcbX: "-0.2499359999999342mm", pcbY: "-1.5074899999999616mm", width: "0.2800096mm", height: "0.5999987999999999mm", shape: "rect" }),
React.createElement("smtpad", { portHints: ["pin3"], pcbX: "0.24993599999982052mm", pcbY: "-1.5074899999999616mm", width: "0.2800096mm", height: "0.5999987999999999mm", shape: "rect" }),
React.createElement("smtpad", { portHints: ["pin4"], pcbX: "0.7500619999999572mm", pcbY: "-1.5074899999999616mm", width: "0.2800096mm", height: "0.5999987999999999mm", shape: "rect" }),
React.createElement("smtpad", { portHints: ["pin8"], pcbX: "-0.7500619999999572mm", pcbY: "1.5074899999999616mm", width: "0.2800096mm", height: "0.5999987999999999mm", shape: "rect" }),
React.createElement("smtpad", { portHints: ["pin7"], pcbX: "-0.2499359999999342mm", pcbY: "1.5074899999999616mm", width: "0.2800096mm", height: "0.5999987999999999mm", shape: "rect" }),
React.createElement("smtpad", { portHints: ["pin6"], pcbX: "0.24993599999982052mm", pcbY: "1.5074899999999616mm", width: "0.2800096mm", height: "0.5999987999999999mm", shape: "rect" }),
React.createElement("smtpad", { portHints: ["pin5"], pcbX: "0.7500619999999572mm", pcbY: "1.5074899999999616mm", width: "0.2800096mm", height: "0.5999987999999999mm", shape: "rect" }),
React.createElement("smtpad", { portHints: ["pin9"], pcbX: "0mm", pcbY: "0mm", width: "1.6999966mm", height: "0.29999939999999997mm", shape: "rect" }),
React.createElement("silkscreenpath", { route: [
{ x: 1.0763249999998834, y: -1.5760446000000456 },
{ x: 1.0763249999998834, y: 1.5763240000001133 },
] }),
React.createElement("silkscreenpath", { route: [
{ x: -1.0761472000000367, y: 1.5763240000001133 },
{ x: -1.0761472000000367, y: -1.5760446000000456 },
] })), cadModel: {
objUrl: "https://modelcdn.tscircuit.com/easyeda_models/download?uuid=2b35e1c3dcc44b77887d4f445b51370a&pn=C2843335",
rotationOffset: { x: 0, y: 0, z: 0 },
positionOffset: { x: 0, y: 0, z: 0 },
}, ...props }));
};
const FlashCircuit = () => (React.createElement("group", { pcbX: 0, pcbY: -5 },
React.createElement("capacitor", { name: "C3", capacitance: "1uF", footprint: "0603", schOrientation: "vertical", connections: {
pin2: "net.GND",
} }),
React.createElement(W25Q16JVUXIQ, { name: "U2", connections: {
CS_N: "net.QSPI_SS_N",
DO: "net.QSPI_SD1",
WP_N: "net.QSPI_SD2",
GND: "net.GND",
VCC: "C3.1",
HOLD_N: "net.QSPI_SD3",
CLK: "net.QSPI_CLK",
DI: "net.QSPI_SD0",
} })));
const pinLabels$2 = {
pin1: ["XTAL1"],
pin2: ["GND1"],
pin3: ["XTAL2"],
pin4: ["GND2"],
};
const ABM8_272_T3 = (props) => {
return (React.createElement("chip", { pinLabels: pinLabels$2, supplierPartNumbers: {
jlcpcb: ["C20625731"],
}, manufacturerPartNumber: "ABM8_272_T3", footprint: React.createElement("footprint", null,
React.createElement("smtpad", { portHints: ["pin1"], pcbX: "-1.1000739999999496mm", pcbY: "-0.850010999999995mm", width: "1.3999972mm", height: "1.1999975999999999mm", shape: "rect" }),
React.createElement("smtpad", { portHints: ["pin2"], pcbX: "1.1000739999999496mm", pcbY: "-0.850010999999995mm", width: "1.3999972mm", height: "1.1999975999999999mm", shape: "rect" }),
React.createElement("smtpad", { portHints: ["pin3"], pcbX: "1.1000739999999496mm", pcbY: "0.850010999999995mm", width: "1.3999972mm", height: "1.1999975999999999mm", shape: "rect" }),
React.createElement("smtpad", { portHints: ["pin4"], pcbX: "-1.1000739999999496mm", pcbY: "0.850010999999995mm", width: "1.3999972mm", height: "1.1999975999999999mm", shape: "rect" }),
React.createElement("silkscreenpath", { route: [
{ x: -2.028596400000083, y: -1.6784827999999834 },
{ x: -2.028596400000083, y: 1.678736800000138 },
{ x: 2.0285963999999694, y: 1.678736800000138 },
{ x: 2.0285963999999694, y: -1.6784827999999834 },
{ x: -2.028596400000083, y: -1.6784827999999834 },
] }),
React.createElement("silkscreenpath", { route: [
{ x: -2.257196399999998, y: -0.24988519999988057 },
{ x: -2.257196399999998, y: -1.9070827999998983 },
{ x: -0.39999920000002476, y: -1.9070827999998983 },
] })), cadModel: {
objUrl: "https://modelcdn.tscircuit.com/easyeda_models/download?uuid=02485e56ba8d4732a26526d2983fc729&pn=C20625731",
rotationOffset: { x: 0, y: 0, z: 0 },
positionOffset: { x: 0, y: 0, z: 0 },
}, ...props }));
};
const CrystalCircuit = () => (React.createElement("group", { pcbX: 5, pcbY: 0 },
React.createElement("resistor", { name: "R8", resistance: "1k", footprint: "0402", schOrientation: "vertical", connections: {
pin1: "net.XOUT",
} }),
React.createElement("capacitor", { schOrientation: "vertical", name: "C17", capacitance: "15pF", footprint: "0402", connections: {
pin2: "net.GND",
} }),
React.createElement("capacitor", { schOrientation: "vertical", name: "C16", capacitance: "15pF", footprint: "0402", connections: {
pin2: "net.GND",
} }),
React.createElement(ABM8_272_T3, { name: "X1", connections: {
XTAL1: ["C16.1", "net.XIN"],
GND1: "net.GND",
GND2: "net.GND",
XTAL2: ["C17.1", "R8.2"],
} })));
const pinLabels$1 = {
pin1: ["IOVDD1"],
pin2: ["GPIO0"],
pin3: ["GPIO1"],
pin4: ["GPIO2"],
pin5: ["GPIO3"],
pin6: ["GPIO4"],
pin7: ["GPIO5"],
pin8: ["GPIO6"],
pin9: ["GPIO7"],
pin10: ["IOVDD2"],
pin11: ["GPIO8"],
pin12: ["GPIO9"],
pin13: ["GPIO10"],
pin14: ["GPIO11"],
pin15: ["GPIO12"],
pin16: ["GPIO13"],
pin17: ["GPIO14"],
pin18: ["GPIO15"],
pin19: ["TESTEN"],
pin20: ["XIN"],
pin21: ["XOUT"],
pin22: ["IOVDD3"],
pin23: ["DVDD1"],
pin24: ["SWCLK"],
pin25: ["SWD"],
pin26: ["RUN"],
pin27: ["GPIO16"],
pin28: ["GPIO17"],
pin29: ["GPIO18"],
pin30: ["GPIO19"],
pin31: ["GPIO20"],
pin32: ["GPIO21"],
pin33: ["IOVDD4"],
pin34: ["GPIO22"],
pin35: ["GPIO23"],
pin36: ["GPIO24"],
pin37: ["GPIO25"],
pin38: ["GPIO26_ADC0"],
pin39: ["GPIO27_ADC1"],
pin40: ["GPIO28_ADC2"],
pin41: ["GPIO29_ADC3"],
pin42: ["IOVDD5"],
pin43: ["ADC_AVDD"],
pin44: ["VREG_VIN"],
pin45: ["VREG_VOUT"],
pin46: ["USB_DM"],
pin47: ["USB_DP"],
pin48: ["USB_VDD"],
pin49: ["IOVDD6"],
pin50: ["DVDD2"],
pin51: ["QSPI_SD3"],
pin52: ["QSPI_SCLK"],
pin53: ["QSPI_SD0"],
pin54: ["QSPI_SD2"],
pin55: ["QSPI_SD1"],
pin56: ["QSPI_SS_N"],
pin57: ["GND"],
};
const RP2040 = (props) => {
return (React.createElement("chip", { pinLabels: pinLabels$1, supplierPartNumbers: {
jlcpcb: ["C2040"],
}, schPinArrangement: {
leftSide: {
direction: "top-to-bottom",
pins: [
// Top on ref
"QSPI_SS_N",
"QSPI_SD1",
"QSPI_SD2",
"QSPI_SD0",
"QSPI_SCLK",
"QSPI_SD3",
"DVDD1",
"DVDD2",
"VREG_VIN",
"VREG_VOUT",
"IOVDD1",
"IOVDD2",
"IOVDD3",
"IOVDD4",
"IOVDD5",
"IOVDD6",
"GND",
"USB_VDD",
"USB_DP",
"USB_DM",
"ADC_AVDD",
"GPIO0",
"GPIO1",
"GPIO2",
"GPIO3",
"GPIO4",
"GPIO5",
"GPIO6",
"GPIO7",
"GPIO8",
"GPIO9",
"GPIO10",
"GPIO11",
],
},
rightSide: {
direction: "top-to-bottom",
pins: [
"GPIO29_ADC3",
"GPIO28_ADC2",
"GPIO27_ADC1",
"GPIO26_ADC0",
"GPIO25",
"GPIO24",
"GPIO23",
"GPIO22",
"GPIO21",
"GPIO20",
"GPIO19",
"GPIO18",
"GPIO17",
"GPIO16",
"GPIO12",
"GPIO13",
"GPIO14",
"GPIO15",
"TESTEN",
"XIN",
"XOUT",
"SWCLK",
"SWD",
"RUN",
],
},
}, schWidth: 3, schPinStyle: {
IOVDD1: {
marginTop: 0.4,
},
GND: {
marginTop: 0.4,
marginBottom: 0.4,
},
GPIO25: {
marginTop: 0.4,
},
GPIO12: {
marginTop: 0.4,
},
XIN: {
marginTop: 0.4,
},
XOUT: {
marginBottom: 0.4,
},
VREG_VIN: {
marginTop: 0.4,
},
}, manufacturerPartNumber: "RP2040", footprint: React.createElement("footprint", null,
React.createElement("smtpad", { portHints: ["pin1"], pcbX: "-3.5501580000000104mm", pcbY: "2.6000710000001845mm", width: "1.0999978mm", height: "0.19999959999999997mm", shape: "rect" }),
React.createElement("smtpad", { portHints: ["pin2"], pcbX: "-3.5501580000000104mm", pcbY: "2.200021000000106mm", width: "1.0999978mm", height: "0.19999959999999997mm", shape: "rect" }),
React.createElement("smtpad", { portHints: ["pin3"], pcbX: "-3.5501580000000104mm", pcbY: "1.7999710000001414mm", width: "1.0999978mm", height: "0.19999959999999997mm", shape: "rect" }),
React.createElement("smtpad", { portHints: ["pin4"], pcbX: "-3.5501580000000104mm", pcbY: "1.399921000000063mm", width: "1.0999978mm", height: "0.19999959999999997mm", shape: "rect" }),
React.createElement("smtpad", { portHints: ["pin5"], pcbX: "-3.5501580000000104mm", pcbY: "1.0001250000001392mm", width: "1.0999978mm", height: "0.19999959999999997mm", shape: "rect" }),
React.createElement("smtpad", { portHints: ["pin6"], pcbX: "-3.5501580000000104mm", pcbY: "0.6000750000000608mm", width: "1.0999978mm", height: "0.19999959999999997mm", shape: "rect" }),
React.createElement("smtpad", { portHints: ["pin7"], pcbX: "-3.5501580000000104mm", pcbY: "0.20002500000009604mm", width: "1.0999978mm", height: "0.19999959999999997mm", shape: "rect" }),
React.createElement("smtpad", { portHints: ["pin8"], pcbX: "-3.5501580000000104mm", pcbY: "-0.20002499999998236mm", width: "1.0999978mm", height: "0.19999959999999997mm", shape: "rect" }),
React.createElement("smtpad", { portHints: ["pin9"], pcbX: "-3.5501580000000104mm", pcbY: "-0.6000749999999471mm", width: "1.0999978mm", height: "0.19999959999999997mm", shape: "rect" }),
React.createElement("smtpad", { portHints: ["pin10"], pcbX: "-3.5501580000000104mm", pcbY: "-0.9998709999999846mm", width: "1.0999978mm", height: "0.19999959999999997mm", shape: "rect" }),
React.createElement("smtpad", { portHints: ["pin11"], pcbX: "-3.5501580000000104mm", pcbY: "-1.3999209999999493mm", width: "1.0999978mm", height: "0.19999959999999997mm", shape: "rect" }),
React.createElement("smtpad", { portHints: ["pin12"], pcbX: "-3.5501580000000104mm", pcbY: "-1.799970999999914mm", width: "1.0999978mm", height: "0.19999959999999997mm", shape: "rect" }),
React.createElement("smtpad", { portHints: ["pin13"], pcbX: "-3.5501580000000104mm", pcbY: "-2.2000209999998788mm", width: "1.0999978mm", height: "0.19999959999999997mm", shape: "rect" }),
React.createElement("smtpad", { portHints: ["pin14"], pcbX: "-3.5501580000000104mm", pcbY: "-2.6000709999998435mm", width: "1.0999978mm", height: "0.19999959999999997mm", shape: "rect" }),
React.createElement("smtpad", { portHints: ["pin15"], pcbX: "-2.5999439999999368mm", pcbY: "-3.55003099999999mm", width: "0.19999959999999997mm", height: "1.0999978mm", shape: "rect" }),
React.createElement("smtpad", { portHints: ["pin16"], pcbX: "-2.200148000000013mm", pcbY: "-3.55003099999999mm", width: "0.19999959999999997mm", height: "1.0999978mm", shape: "rect" }),
React.createElement("smtpad", { portHints: ["pin17"], pcbX: "-1.8000979999999345mm", pcbY: "-3.55003099999999mm", width: "0.19999959999999997mm", height: "1.0999978mm", shape: "rect" }),
React.createElement("smtpad", { portHints: ["pin18"], pcbX: "-1.4000480000001971mm", pcbY: "-3.55003099999999mm", width: "0.19999959999999997mm", height: "1.0999978mm", shape: "rect" }),
React.createElement("smtpad", { portHints: ["pin19"], pcbX: "-0.999998000000005mm", pcbY: "-3.55003099999999mm", width: "0.19999959999999997mm", height: "1.0999978mm", shape: "rect" }),
React.createElement("smtpad", { portHints: ["pin20"], pcbX: "-0.5999480000000403mm", pcbY: "-3.55003099999999mm", width: "0.19999959999999997mm", height: "1.0999978mm", shape: "rect" }),
React.createElement("smtpad", { portHints: ["pin21"], pcbX: "-0.20015200000000277mm", pcbY: "-3.55003099999999mm", width: "0.19999959999999997mm", height: "1.0999978mm", shape: "rect" }),
React.createElement("smtpad", { portHints: ["pin22"], pcbX: "0.19989799999996194mm", pcbY: "-3.55003099999999mm", width: "0.19999959999999997mm", height: "1.0999978mm", shape: "rect" }),
React.createElement("smtpad", { portHints: ["pin23"], pcbX: "0.5999479999999267mm", pcbY: "-3.55003099999999mm", width: "0.19999959999999997mm", height: "1.0999978mm", shape: "rect" }),
React.createElement("smtpad", { portHints: ["pin24"], pcbX: "0.999998000000005mm", pcbY: "-3.55003099999999mm", width: "0.19999959999999997mm", height: "1.0999978mm", shape: "rect" }),
React.createElement("smtpad", { portHints: ["pin25"], pcbX: "1.4000479999999698mm", pcbY: "-3.55003099999999mm", width: "0.19999959999999997mm", height: "1.0999978mm", shape: "rect" }),
React.createElement("smtpad", { portHints: ["pin26"], pcbX: "1.799844000000121mm", pcbY: "-3.55003099999999mm", width: "0.19999959999999997mm", height: "1.0999978mm", shape: "rect" }),
React.createElement("smtpad", { portHints: ["pin27"], pcbX: "2.1998939999998584mm", pcbY: "-3.55003099999999mm", width: "0.19999959999999997mm", height: "1.0999978mm", shape: "rect" }),
React.createElement("smtpad", { portHints: ["pin28"], pcbX: "2.5999439999999368mm", pcbY: "-3.55003099999999mm", width: "0.19999959999999997mm", height: "1.0999978mm", shape: "rect" }),
React.createElement("smtpad", { portHints: ["pin29"], pcbX: "3.5501580000000104mm", pcbY: "-2.6000709999998435mm", width: "1.0999978mm", height: "0.19999959999999997mm", shape: "rect" }),
React.createElement("smtpad", { portHints: ["pin30"], pcbX: "3.5501580000000104mm", pcbY: "-2.2000209999998788mm", width: "1.0999978mm", height: "0.19999959999999997mm", shape: "rect" }),
React.createElement("smtpad", { portHints: ["pin31"], pcbX: "3.5501580000000104mm", pcbY: "-1.799970999999914mm", width: "1.0999978mm", height: "0.19999959999999997mm", shape: "rect" }),
React.createElement("smtpad", { portHints: ["pin32"], pcbX: "3.5501580000000104mm", pcbY: "-1.3999209999999493mm", width: "1.0999978mm", height: "0.19999959999999997mm", shape: "rect" }),
React.createElement("smtpad", { portHints: ["pin33"], pcbX: "3.5501580000000104mm", pcbY: "-0.9998709999999846mm", width: "1.0999978mm", height: "0.19999959999999997mm", shape: "rect" }),
React.createElement("smtpad", { portHints: ["pin34"], pcbX: "3.5501580000000104mm", pcbY: "-0.6000749999999471mm", width: "1.0999978mm", height: "0.19999959999999997mm", shape: "rect" }),
React.createElement("smtpad", { portHints: ["pin35"], pcbX: "3.5501580000000104mm", pcbY: "-0.20002499999998236mm", width: "1.0999978mm", height: "0.19999959999999997mm", shape: "rect" }),
React.createElement("smtpad", { portHints: ["pin36"], pcbX: "3.5501580000000104mm", pcbY: "0.20002500000009604mm", width: "1.0999978mm", height: "0.19999959999999997mm", shape: "rect" }),
React.createElement("smtpad", { portHints: ["pin37"], pcbX: "3.5501580000000104mm", pcbY: "0.6000750000000608mm", width: "1.0999978mm", height: "0.19999959999999997mm", shape: "rect" }),
React.createElement("smtpad", { portHints: ["pin38"], pcbX: "3.5501580000000104mm", pcbY: "1.0001250000001392mm", width: "1.0999978mm", height: "0.19999959999999997mm", shape: "rect" }),
React.createElement("smtpad", { portHints: ["pin39"], pcbX: "3.5501580000000104mm", pcbY: "1.399921000000063mm", width: "1.0999978mm", height: "0.19999959999999997mm", shape: "rect" }),
React.createElement("smtpad", { portHints: ["pin40"], pcbX: "3.5501580000000104mm", pcbY: "1.7999710000001414mm", width: "1.0999978mm", height: "0.19999959999999997mm", shape: "rect" }),
React.createElement("smtpad", { portHints: ["pin41"], pcbX: "3.5501580000000104mm", pcbY: "2.200021000000106mm", width: "1.0999978mm", height: "0.19999959999999997mm", shape: "rect" }),
React.createElement("smtpad", { portHints: ["pin42"], pcbX: "3.5501580000000104mm", pcbY: "2.6000710000001845mm", width: "1.0999978mm", height: "0.19999959999999997mm", shape: "rect" }),
React.createElement("smtpad", { portHints: ["pin43"], pcbX: "2.5999439999999368mm", pcbY: "3.5500310000001036mm", width: "0.19999959999999997mm", height: "1.0999978mm", shape: "rect" }),
React.createElement("smtpad", { portHints: ["pin44"], pcbX: "2.1998939999998584mm", pcbY: "3.5500310000001036mm", width: "0.19999959999999997mm", height: "1.0999978mm", shape: "rect" }),
React.createElement("smtpad", { portHints: ["pin45"], pcbX: "1.799844000000121mm", pcbY: "3.5500310000001036mm", width: "0.19999959999999997mm", height: "1.0999978mm", shape: "rect" }),
React.createElement("smtpad", { portHints: ["pin46"], pcbX: "1.4000479999999698mm", pcbY: "3.5500310000001036mm", width: "0.19999959999999997mm", height: "1.0999978mm", shape: "rect" }),
React.createElement("smtpad", { portHints: ["pin47"], pcbX: "0.999998000000005mm", pcbY: "3.5500310000001036mm", width: "0.19999959999999997mm", height: "1.0999978mm", shape: "rect" }),
React.createElement("smtpad", { portHints: ["pin48"], pcbX: "0.5999479999999267mm", pcbY: "3.5500310000001036mm", width: "0.19999959999999997mm", height: "1.0999978mm", shape: "rect" }),
React.createElement("smtpad", { portHints: ["pin49"], pcbX: "0.19989799999996194mm", pcbY: "3.5500310000001036mm", width: "0.19999959999999997mm", height: "1.0999978mm", shape: "rect" }),
React.createElement("smtpad", { portHints: ["pin50"], pcbX: "-0.20015200000000277mm", pcbY: "3.5500310000001036mm", width: "0.19999959999999997mm", height: "1.0999978mm", shape: "rect" }),
React.createElement("smtpad", { portHints: ["pin51"], pcbX: "-0.5999480000000403mm", pcbY: "3.5500310000001036mm", width: "0.19999959999999997mm", height: "1.0999978mm", shape: "rect" }),
React.createElement("smtpad", { portHints: ["pin52"], pcbX: "-0.999998000000005mm", pcbY: "3.5500310000001036mm", width: "0.19999959999999997mm", height: "1.0999978mm", shape: "rect" }),
React.createElement("smtpad", { portHints: ["pin53"], pcbX: "-1.4000480000001971mm", pcbY: "3.5500310000001036mm", width: "0.19999959999999997mm", height: "1.0999978mm", shape: "rect" }),
React.createElement("smtpad", { portHints: ["pin54"], pcbX: "-1.8000979999999345mm", pcbY: "3.5500310000001036mm", width: "0.19999959999999997mm", height: "1.0999978mm", shape: "rect" }),
React.createElement("smtpad", { portHints: ["pin55"], pcbX: "-2.200148000000013mm", pcbY: "3.5500310000001036mm", width: "0.19999959999999997mm", height: "1.0999978mm", shape: "rect" }),
React.createElement("smtpad", { portHints: ["pin56"], pcbX: "-2.5999439999999368mm", pcbY: "3.5500310000001036mm", width: "0.19999959999999997mm", height: "1.0999978mm", shape: "rect" }),
React.createElement("smtpad", { portHints: ["pin57"], pcbX: "-1.1368683772161603e-13mm", pcbY: "0.00012700000002041634mm", width: "3.0999938mm", height: "3.0999938mm", shape: "rect" }),
React.createElement("silkscreenpath", { route: [
{ x: -3.2409891999999445, y: 3.5000184000000445 },
{ x: -3.2409891999999445, y: 3.4031682000000956 },
{ x: -3.5000691999999844, y: 3.1440882000001693 },
] }),
React.createElement("silkscreenpath", { route: [
{ x: -3.5000691999999844, y: 2.9311854000001176 },
{ x: -2.9311854000001176, y: 3.5000184000000445 },
] }),
React.createElement("silkscreenpath", { route: [
{ x: -3.5000691999999844, y: 2.9311854000001176 },
{ x: -3.5000691999999844, y: 3.5000184000000445 },
] }),
React.createElement("silkscreenpath", { route: [
{ x: -2.9311854000001176, y: -3.499916799999937 },
{ x: -3.40004399999998, y: -3.499916799999937 },
{ x: -3.5000691999999844, y: -3.499916799999937 },
{ x: -3.5000691999999844, y: -2.9310837999998967 },
] }),
React.createElement("silkscreenpath", { route: [
{ x: 3.499916800000051, y: -2.9310837999998967 },
{ x: 3.499916800000051, y: -3.499916799999937 },
{ x: 2.931083800000124, y: -3.499916799999937 },
] }),
React.createElement("silkscreenpath", { route: [
{ x: 2.931083800000124, y: 3.5000184000000445 },
{ x: 3.499916800000051, y: 3.5000184000000445 },
{ x: 3.499916800000051, y: 2.9311854000001176 },
] }),
React.createElement("silkscreenpath", { route: [
{ x: -3.5000691999999844, y: 3.5000184000000445 },
{ x: -2.9311854000001176, y: 3.5000184000000445 },
] })), cadModel: {
objUrl: "https://modelcdn.tscircuit.com/easyeda_models/download?uuid=76b360a9d4c54384a4e47d7e5af156df&pn=C2040",
rotationOffset: { x: 0, y: 0, z: 0 },
positionOffset: { x: 0, y: 0, z: 0 },
}, ...props }));
};
const RP2040Circuit = () => (React.createElement("group", null,
React.createElement(RP2040, { name: "U3", pcbX: 0, pcbY: 0, connections: {
// Power rails - IOVDD
IOVDD1: ["C12.pin1", "net.V3_3"],
IOVDD2: ["C14.pin1", "net.V3_3"],
IOVDD3: ["C8.pin1", "net.V3_3"],
IOVDD4: ["C13.pin1", "net.V3_3"],
IOVDD5: ["C15.pin1", "net.V3_3"],
IOVDD6: ["C19.pin1", "net.V3_3"],
// Core voltage - DVDD
DVDD1: ["C18.1", "net.V1_1"],
DVDD2: ["C7.1", "net.V1_1"],
// USB
USB_VDD: "net.USB_VDD",
USB_DM: "net.USB_N",
USB_DP: "net.USB_P",
// Ground
GND: "net.GND",
// GPIO pins 0-15
GPIO0: "net.GPIO0",
GPIO1: "net.GPIO1",
GPIO2: "net.GPIO2",
GPIO3: "net.GPIO3",
GPIO4: "net.GPIO4",
GPIO5: "net.GPIO5",
GPIO6: "net.GPIO6",
GPIO7: "net.GPIO7",
GPIO8: "net.GPIO8",
GPIO9: "net.GPIO9",
GPIO10: "net.GPIO10",
GPIO11: "net.GPIO11",
GPIO12: "net.GPIO12",
GPIO13: "net.GPIO13",
GPIO14: "net.GPIO14",
GPIO15: "net.GPIO15",
// GPIO16 is connected to LED
GPIO16: "net.GPIO16",
// ADC GPIO pins 26-29
GPIO26_ADC0: "net.GPIO26",
GPIO27_ADC1: "net.GPIO27",
GPIO28_ADC2: "net.GPIO28",
GPIO29_ADC3: "net.GPIO29",
// Crystal oscillator
XIN: "net.XIN",
XOUT: "net.XOUT",
// QSPI Flash
QSPI_SS_N: "net.QSPI_SS_N",
QSPI_SCLK: "net.QSPI_CLK",
QSPI_SD0: "net.QSPI_SD0",
QSPI_SD1: "net.QSPI_SD1",
QSPI_SD2: "net.QSPI_SD2",
QSPI_SD3: "net.QSPI_SD3",
// System control
RUN: "net.RUN",
// Voltage regulator
VREG_VIN: "net.V3_3",
VREG_VOUT: "net.V1_1",
// ADC voltage
ADC_AVDD: "net.V3_3",
// Debug (SWDIO = SWD)
SWD: "net.SWDIO",
SWCLK: "net.SWCLK",
} }),
["C12", "C14", "C8", "C13", "C15", "C19"].map((cName) => (React.createElement("capacitor", { key: cName, name: cName, capacitance: "100nF", schOrientation: "vertical", footprint: "0603", connections: {
pin2: "net.GND",
} }))),
React.createElement("capacitor", { name: "C18", capacitance: "100nF", footprint: "0603", schOrientation: "vertical", connections: {
pin2: "net.GND",
} }),
React.createElement("capacitor", { name: "C7", capacitance: "22nF", footprint: "0603", schOrientation: "vertical", connections: {
pin2: "net.GND",
} }),
React.createElement("capacitor", { name: "C9", capacitance: "2.2uF", footprint: "0603", schOrientation: "vertical", connections: { pin1: "net.V1_1", pin2: "net.GND" } }),
React.createElement("capacitor", { name: "C10", capacitance: "2.2uF", footprint: "0603", schOrientation: "vertical", connections: { pin1: "U3.VREG_VIN", pin2: "net.GND" } }),
React.createElement("capacitor", { name: "C11", capacitance: "2.2uF", footprint: "0603", schOrientation: "vertical", connections: { pin1: "U3.ADC_AVDD", pin2: "net.GND" } })));
const pinLabels = {
pin1: ["A"],
pin2: ["B"],
pin3: ["C"],
pin4: ["D"],
};
const TS_1187A_B_A_B = (props) => {
return (React.createElement("pushbutton", { pinLabels: pinLabels, supplierPartNumbers: {
jlcpcb: ["C318884"],
}, internallyConnectedPins: [
["A", "B"],
["C", "D"],
], manufacturerPartNumber: "TS_1187A_B_A_B", footprint: React.createElement("footprint", null,
React.createElement("smtpad", { portHints: ["pin1"], pcbX: "-2.999994000000015mm", pcbY: "1.8498819999999796mm", width: "0.9999979999999999mm", height: "0.7500112mm", shape: "rect" }),
React.createElement("smtpad", { portHints: ["pin2"], pcbX: "2.999994000000015mm", pcbY: "1.8498819999999796mm", width: "0.9999979999999999mm", height: "0.7500112mm", shape: "rect" }),
React.createElement("smtpad", { portHints: ["pin3"], pcbX: "-2.999994000000015mm", pcbY: "-1.849881999999866mm", width: "0.9999979999999999mm", height: "0.7500112mm", shape: "rect" }),
React.createElement("smtpad", { portHints: ["pin4"], pcbX: "2.999994000000015mm", pcbY: "-1.849881999999866mm", width: "0.9999979999999999mm", height: "0.7500112mm", shape: "rect" }),
React.createElement("silkscreenpath", { route: [
{ x: -1.0007600000001275, y: 1.800860000000057 },
{ x: 0.899159999999938, y: 1.800860000000057 },
{ x: 1.8008599999999433, y: 0.899159999999938 },
{ x: 1.8008599999999433, y: -0.899159999999938 },
{ x: 0.8000999999999294, y: -1.8999199999999519 },
{ x: -0.8991600000000517, y: -1.8999199999999519 },
{ x: -1.800860000000057, y: -0.9982199999999466 },
{ x: -1.800860000000057, y: 1.0007600000000139 },
{ x: -1.0007600000001275, y: 1.800860000000057 },
] }),
React.createElement("silkscreenpath", { route: [
{ x: 1.2750800000000027, y: 2.550160000000119 },
{ x: 2.1701506000000563, y: 1.6550893999999516 },
] }),
React.createElement("silkscreenpath", { route: [
{ x: 2.5501599999998916, y: 1.1684000000000196 },
{ x: 2.5501599999998916, y: -1.1684000000000196 },
] }),
React.createElement("silkscreenpath", { route: [
{ x: 2.1701506000000563, y: -1.6550893999999516 },
{ x: 1.2750800000000027, y: -2.5501600000000053 },
] }),
React.createElement("silkscreenpath", { route: [
{ x: -2.5501600000000053, y: 1.1684000000000196 },
{ x: -2.5501600000000053, y: -1.1684000000000196 },
] }),
React.createElement("silkscreenpath", { route: [
{ x: -2.17015060000017, y: -1.6550893999999516 },
{ x: -1.2750800000000027, y: -2.5501600000000053 },
] }),
React.createElement("silkscreenpath", { route: [
{ x: -1.2750800000000027, y: 2.550160000000119 },
{ x: -2.17015060000017, y: 1.6550893999999516 },
] }),
React.createElement("silkscreenpath", { route: [
{ x: -1.2750800000000027, y: -2.5501600000000053 },
{ x: 1.2750800000000027, y: -2.5501600000000053 },
] }),
React.createElement("silkscreenpath", { route: [
{ x: -1.2750800000000027, y: 2.550160000000119 },
{ x: 1.2750800000000027, y: 2.550160000000119 },
] })), cadModel: {
objUrl: "https://modelcdn.tscircuit.com/easyeda_models/download?uuid=91b67c1735f643ffb2e7226c23dd3492&pn=C318884",
rotationOffset: { x: 0, y: 0, z: 0 },
positionOffset: { x: 0, y: 0, z: 0 },
}, ...props }));
};
const KeyCircuit = () => (React.createElement("group", { pcbX: 0, pcbY: 5 },
React.createElement("resistor", { name: "R2", resistance: "1k", footprint: "0402", connections: {
pin1: "net.QSPI_SS_N",
} }),
React.createElement(TS_1187A_B_A_B, { name: "SW1", connections: {
pin1: "R2.2",
pin2: "net.GND",
} }),
React.createElement(TS_1187A_B_A_B, { name: "SW2", connections: {
pin1: "net.RUN",
pin2: "net.GND",
} })));
var index = () => (React.createElement(XiaoBoard, { variant: "RP2040", name: "J1", width: "21mm", height: "17.5mm", routingDisabled: true },
React.createElement("group", { subcircuit: true, routingDisabled: true },
React.createElement(VoltageRegulator, null),
React.createElement(LedCircuit, null),
React.createElement(FlashCircuit, null),
React.createElement(CrystalCircuit, null),
React.createElement(KeyCircuit, null),
React.createElement(RP2040Circuit, null))));
export { index as default };