rushabhcodes/ESP32-E-Reader
This code defines the hardware layout and schematic connections for an ESP32-based e-reader device, including microcontroller, USB, display, power management, connectors, passives, switches, and associated PCB footprints, placements, and net connections.
- Version
- 1.0.6
- License
- unset
- Stars
- 0
dist/index.js
import { jsx, jsxs } from 'react/jsx-runtime';
import { Fragment } from 'react';
const pinLabels$8 = {
pin1: ["DAT2"],
pin2: ["pin2"],
pin3: ["CMD"],
pin4: ["VDD"],
pin5: ["CLK"],
pin6: ["VSS"],
pin7: ["DAT0"],
pin8: ["DAT1"],
pin9: ["SW_B"],
pin10: ["pin10"],
pin11: ["SW_A"],
pin12: ["pin12"],
pin13: ["pin13"],
pin14: ["pin14"],
};
const pinAttributes$3 = {
pin4: { requiresPower: true },
pin6: { requiresGround: true },
};
const DM3AT_SF_PEJM5 = (props) => {
return (jsx("chip", { pinLabels: pinLabels$8, pinAttributes: pinAttributes$3, supplierPartNumbers: {
jlcpcb: ["C114218"],
}, manufacturerPartNumber: "DM3AT-SF-PEJM5", footprint: jsxs("footprint", { children: [jsx("smtpad", { portHints: ["pin14"], pcbX: "4.32491515mm", pcbY: "7.72502265mm", width: "0.999998mm", height: "1.1999976mm", shape: "rect" }), jsx("smtpad", { portHints: ["pin13"], pcbX: "6.67492315mm", pcbY: "-7.37502335mm", width: "1.2999974mm", height: "1.8999962mm", shape: "rect" }), jsx("smtpad", { portHints: ["pin12"], pcbX: "-6.82492285mm", pcbY: "-6.92493535mm", width: "0.999998mm", height: "2.7999944mm", shape: "rect" }), jsx("smtpad", { portHints: ["pin11"], pcbX: "-6.82492285mm", pcbY: "-2.77508335mm", width: "0.999998mm", height: "0.7999984mm", shape: "rect" }), jsx("smtpad", { portHints: ["pin10"], pcbX: "-6.82492285mm", pcbY: "3.42505665mm", width: "0.999998mm", height: "1.1999976mm", shape: "rect" }), jsx("smtpad", { portHints: ["pin9"], pcbX: "-5.87496285mm", pcbY: "7.72502265mm", width: "0.6999986mm", height: "1.1999976mm", shape: "rect" }), jsx("smtpad", { portHints: ["pin8"], pcbX: "-4.92500285mm", pcbY: "7.72502265mm", width: "0.6999986mm", height: "1.1999976mm", shape: "rect" }), jsx("smtpad", { portHints: ["pin7"], pcbX: "-3.82492885mm", pcbY: "7.72502265mm", width: "0.6999986mm", height: "1.1999976mm", shape: "rect" }), jsx("smtpad", { portHints: ["pin6"], pcbX: "-2.72510885mm", pcbY: "7.72502265mm", width: "0.6999986mm", height: "1.1999976mm", shape: "rect" }), jsx("smtpad", { portHints: ["pin5"], pcbX: "-1.62503485mm", pcbY: "7.72502265mm", width: "0.6999986mm", height: "1.1999976mm", shape: "rect" }), jsx("smtpad", { portHints: ["pin4"], pcbX: "-0.52496085mm", pcbY: "7.72502265mm", width: "0.6999986mm", height: "1.1999976mm", shape: "rect" }), jsx("smtpad", { portHints: ["pin3"], pcbX: "0.57511315mm", pcbY: "7.72502265mm", width: "0.6999986mm", height: "1.1999976mm", shape: "rect" }), jsx("smtpad", { portHints: ["pin2"], pcbX: "1.67493315mm", pcbY: "7.72502265mm", width: "0.6999986mm", height: "1.1999976mm", shape: "rect" }), jsx("smtpad", { portHints: ["pin1"], pcbX: "2.77500715mm", pcbY: "7.72502265mm", width: "0.6999986mm", height: "1.1999976mm", shape: "rect" }), jsx("silkscreenpath", { route: [
{ x: -6.368992849999927, y: 7.725022650000028 },
{ x: -7.511992849999842, y: 7.725022650000028 },
{ x: -7.511992849999842, y: -8.530977349999944 },
{ x: -7.38499284999989, y: -8.530977349999944 },
{ x: 7.601007149999987, y: -8.530977349999944 },
{ x: 7.601007149999987, y: 7.725022650000028 },
{ x: 5.061007150000137, y: 7.725022650000028 },
] }), jsx("silkscreentext", { text: "{NAME}", pcbX: "0.04450715mm", pcbY: "9.33411465mm", anchorAlignment: "center", fontSize: "1mm" }), jsx("fabricationnotepath", { route: [
{ x: -6.1749876499999345, y: -8.124983749999956 },
{ x: -6.1749876499999345, y: 0.17499965000013162 },
{ x: 5.0249899500000765, y: 0.17499965000013162 },
{ x: 5.124989750000054, y: -8.124983749999956 },
{ x: 4.724990550000143, y: -8.124983749999956 },
{ x: 4.724990550000143, y: -0.12499974999991537 },
{ x: -5.874988249999888, y: -0.12499974999991537 },
{ x: -5.874988249999888, y: -8.124983749999956 },
{ x: -6.1749876499999345, y: -8.124983749999956 },
], strokeWidth: "0.254mm" }), jsx("courtyardoutline", { outline: [
{ x: -7.761992849999842, y: 8.58411465000006 },
{ x: 7.851007149999987, y: 8.58411465000006 },
{ x: 7.851007149999987, y: -8.781485349999912 },
{ x: -7.761992849999842, y: -8.781485349999912 },
{ x: -7.761992849999842, y: 8.58411465000006 },
] })] }), cadModel: {
objUrl: "https://modelcdn.tscircuit.com/easyeda_models/assets/C114218.obj?uuid=969c0967dc6241d2ada5963291ad54a4",
stepUrl: "https://modelcdn.tscircuit.com/easyeda_models/assets/C114218.step?uuid=969c0967dc6241d2ada5963291ad54a4",
pcbRotationOffset: 0,
modelOriginPosition: {
x: 0.004997449999905257,
y: 0.16199104999998815,
z: -1.89,
},
}, ...props }));
};
const pinLabels$7 = {
pin1: ["3V3"],
pin2: ["EN"],
pin3: ["IO4"],
pin4: ["IO5"],
pin5: ["IO6"],
pin6: ["IO7"],
pin7: ["IO8"],
pin8: ["IO9"],
pin9: ["GND"],
pin10: ["IO10"],
pin11: ["RXD"],
pin12: ["TXD"],
pin13: ["IO18"],
pin14: ["IO19"],
pin15: ["IO3"],
pin16: ["IO2"],
pin17: ["IO1"],
pin18: ["IO0"],
pin19: ["EP"],
};
const pinAttributes$2 = {
pin9: { requiresGround: true },
};
const ESP32_C3_WROOM_02_N4 = (props) => {
return (jsx("chip", { pinLabels: pinLabels$7, pinAttributes: pinAttributes$2, supplierPartNumbers: {
jlcpcb: ["C2934560"],
}, manufacturerPartNumber: "ESP32-C3-WROOM-02-N4", footprint: jsxs("footprint", { children: [jsx("smtpad", { portHints: ["pin1"], pcbX: "-8.75mm", pcbY: "6mm", width: "1.5mm", height: "0.9mm", shape: "rect" }), jsx("smtpad", { portHints: ["pin2"], pcbX: "-8.75mm", pcbY: "4.5mm", width: "1.5mm", height: "0.9mm", shape: "rect" }), jsx("smtpad", { portHints: ["pin3"], pcbX: "-8.75mm", pcbY: "3mm", width: "1.5mm", height: "0.9mm", shape: "rect" }), jsx("smtpad", { portHints: ["pin4"], pcbX: "-8.75mm", pcbY: "1.5mm", width: "1.5mm", height: "0.9mm", shape: "rect" }), jsx("smtpad", { portHints: ["pin5"], pcbX: "-8.75mm", pcbY: "0mm", width: "1.5mm", height: "0.9mm", shape: "rect" }), jsx("smtpad", { portHints: ["pin6"], pcbX: "-8.75mm", pcbY: "-1.5mm", width: "1.5mm", height: "0.9mm", shape: "rect" }), jsx("smtpad", { portHints: ["pin7"], pcbX: "-8.75mm", pcbY: "-3mm", width: "1.5mm", height: "0.9mm", shape: "rect" }), jsx("smtpad", { portHints: ["pin8"], pcbX: "-8.75mm", pcbY: "-4.5mm", width: "1.5mm", height: "0.9mm", shape: "rect" }), jsx("smtpad", { portHints: ["pin9"], pcbX: "-8.75mm", pcbY: "-6mm", width: "1.5mm", height: "0.9mm", shape: "rect" }), jsx("smtpad", { portHints: ["pin10"], pcbX: "8.75mm", pcbY: "-6mm", width: "1.5mm", height: "0.9mm", shape: "rect" }), jsx("smtpad", { portHints: ["pin11"], pcbX: "8.75mm", pcbY: "-4.5mm", width: "1.5mm", height: "0.9mm", shape: "rect" }), jsx("smtpad", { portHints: ["pin12"], pcbX: "8.75mm", pcbY: "-3mm", width: "1.5mm", height: "0.9mm", shape: "rect" }), jsx("smtpad", { portHints: ["pin13"], pcbX: "8.75mm", pcbY: "-1.5mm", width: "1.5mm", height: "0.9mm", shape: "rect" }), jsx("smtpad", { portHints: ["pin14"], pcbX: "8.75mm", pcbY: "0mm", width: "1.5mm", height: "0.9mm", shape: "rect" }), jsx("smtpad", { portHints: ["pin15"], pcbX: "8.75mm", pcbY: "1.5mm", width: "1.5mm", height: "0.9mm", shape: "rect" }), jsx("smtpad", { portHints: ["pin16"], pcbX: "8.75mm", pcbY: "3mm", width: "1.5mm", height: "0.9mm", shape: "rect" }), jsx("smtpad", { portHints: ["pin17"], pcbX: "8.75mm", pcbY: "4.5mm", width: "1.5mm", height: "0.9mm", shape: "rect" }), jsx("smtpad", { portHints: ["pin18"], pcbX: "8.75mm", pcbY: "6mm", width: "1.5mm", height: "0.9mm", shape: "rect" }), jsx("smtpad", { portHints: ["pin19"], pcbX: "0.96mm", pcbY: "-0.2mm", width: "2.9mm", height: "2.9mm", shape: "rect" }), jsx("silkscreenpath", { route: [
{ x: 9.000007399999959, y: 6.654241200000001 },
{ x: 9.000007399999959, y: 13.100100800000064 },
{ x: -9.000007400000072, y: 13.100100800000064 },
{ x: -9.000007400000072, y: 6.654241200000001 },
] }), jsx("silkscreenpath", { route: [
{ x: -9.000007400000072, y: 7.100087400000007 },
{ x: 9.000007399999959, y: 7.100087400000007 },
] }), jsx("silkscreenpath", { route: [
{ x: -9.000007400000072, y: -6.654038000000014 },
{ x: -9.000007400000072, y: -6.899909999999977 },
] }), jsx("silkscreenpath", { route: [
{ x: -9.000007400000072, y: -5.15409180000006 },
{ x: -9.000007400000072, y: -5.345785599999999 },
] }), jsx("silkscreenpath", { route: [
{ x: -9.000007400000072, y: -3.6540948000000526 },
{ x: -9.000007400000072, y: -3.8457885999999917 },
] }), jsx("silkscreenpath", { route: [
{ x: -9.000007400000072, y: -2.154097800000045 },
{ x: -9.000007400000072, y: -2.345791599999984 },
] }), jsx("silkscreenpath", { route: [
{ x: -9.000007400000072, y: -0.6540499999998701 },
{ x: -9.000007400000072, y: -0.8457691999999497 },
] }), jsx("silkscreenpath", { route: [
{ x: -9.000007400000072, y: 0.8459723999999369 },
{ x: -9.000007400000072, y: 0.6542278000000579 },
] }), jsx("silkscreenpath", { route: [
{ x: -9.000007400000072, y: 2.3458931999999777 },
{ x: -9.000007400000072, y: 2.154224800000179 },
] }), jsx("silkscreenpath", { route: [
{ x: -9.000007400000072, y: 3.845915600000012 },
{ x: -9.000007400000072, y: 3.654221800000073 },
] }), jsx("silkscreenpath", { route: [
{ x: -9.000007400000072, y: 5.345912599999906 },
{ x: -9.000007400000072, y: 5.154218799999967 },
] }), jsx("silkscreenpath", { route: [
{ x: 9.000007399999959, y: 5.154218799999967 },
{ x: 9.000007399999959, y: 5.345912599999906 },
] }), jsx("silkscreenpath", { route: [
{ x: 9.000007399999959, y: 3.654221800000073 },
{ x: 9.000007399999959, y: 3.845915600000012 },
] }), jsx("silkscreenpath", { route: [
{ x: 9.000007399999959, y: 2.154224800000179 },
{ x: 9.000007399999959, y: 2.3458931999999777 },
] }), jsx("silkscreenpath", { route: [
{ x: 9.000007399999959, y: 0.6542278000000579 },
{ x: 9.000007399999959, y: 0.8459723999999369 },
] }), jsx("silkscreenpath", { route: [
{ x: 9.000007399999959, y: -0.8457691999999497 },
{ x: 9.000007399999959, y: -0.6540499999998701 },
] }), jsx("silkscreenpath", { route: [
{ x: 9.000007399999959, y: -2.345791599999984 },
{ x: 9.000007399999959, y: -2.154097800000045 },
] }), jsx("silkscreenpath", { route: [
{ x: 9.000007399999959, y: -3.8457885999999917 },
{ x: 9.000007399999959, y: -3.6540948000000526 },
] }), jsx("silkscreenpath", { route: [
{ x: 9.000007399999959, y: -5.345785599999999 },
{ x: 9.000007399999959, y: -5.15409180000006 },
] }), jsx("silkscreenpath", { route: [
{ x: -9.000007400000072, y: -6.899909999999977 },
{ x: 9.000007399999959, y: -6.899909999999977 },
{ x: 9.000007399999959, y: -6.654038000000014 },
] }), jsx("silkscreencircle", { pcbX: "-9.779mm", pcbY: "7.366mm", radius: "0.249936mm" }), jsx("silkscreentext", { text: "ANTENNA", pcbX: "-6.500114mm", pcbY: "9.100058mm", anchorAlignment: "bottom_left", fontSize: "2.032mm" }), jsx("silkscreentext", { text: "{NAME}", pcbX: "-0.1397mm", pcbY: "14.208mm", anchorAlignment: "center", fontSize: "1mm" }), jsx("fabricationnotepath", { route: [
{ x: -9.100007199999823, y: 6.650024799999983 },
{ x: -9.100007199999823, y: 13.050012000000038 },
{ x: -8.950020199999926, y: 13.199998999999934 },
{ x: 8.89995680000004, y: 13.199998999999934 },
{ x: 9.099956399999883, y: 12.999999399999979 },
{ x: 9.099956399999883, y: 6.849999000000025 },
{ x: 8.89995680000004, y: 6.849999000000025 },
{ x: 8.89995680000004, y: 12.999999399999979 },
{ x: -8.90000759999998, y: 12.999999399999979 },
{ x: -8.90000759999998, y: 6.700012000000129 },
{ x: -8.90000759999998, y: 6.650024799999983 },
{ x: -9.100007199999823, y: 6.650024799999983 },
], strokeWidth: "0.254mm" })] }), cadModel: {
objUrl: "https://modelcdn.tscircuit.com/easyeda_models/assets/C2934560.obj?uuid=3af5773cc1904a9197e0ebbdc043a5ad",
stepUrl: "https://modelcdn.tscircuit.com/easyeda_models/assets/C2934560.step?uuid=3af5773cc1904a9197e0ebbdc043a5ad",
pcbRotationOffset: 0,
modelOriginPosition: {
x: 0.000025399999913133797,
y: -3.1000192000000197,
z: -0.01,
},
}, ...props }));
};
const pinLabels$6 = {
pin1: ["pin1"],
pin2: ["pin2"],
pin3: ["1"],
pin4: ["2"],
};
const EVQP7C01P = (props) => {
const { name = "SW1", ...restProps } = props;
return (jsx("pushbutton", { name: name, pinLabels: pinLabels$6, supplierPartNumbers: {
jlcpcb: ["C388883"],
}, manufacturerPartNumber: "EVQP7C01P", footprint: jsxs("footprint", { children: [jsx("hole", { pcbX: "0mm", pcbY: "0.899922mm", diameter: "0.7999984mm" }), jsx("hole", { pcbX: "0mm", pcbY: "-0.899922mm", diameter: "0.7999984mm" }), jsx("smtpad", { portHints: ["pin1"], pcbX: "-1.800098mm", pcbY: "0.750062mm", width: "1.3999972mm", height: "1.0999978mm", shape: "rect" }), jsx("smtpad", { portHints: ["pin2"], pcbX: "-1.800098mm", pcbY: "-0.750062mm", width: "1.3999972mm", height: "1.0999978mm", shape: "rect" }), jsx("smtpad", { portHints: ["pin3"], pcbX: "1.800098mm", pcbY: "0.750062mm", width: "1.3999972mm", height: "1.0999978mm", shape: "rect" }), jsx("smtpad", { portHints: ["pin4"], pcbX: "1.800098mm", pcbY: "-0.750062mm", width: "1.3999972mm", height: "1.0999978mm", shape: "rect" }), jsx("silkscreenpath", { route: [
{ x: -0.8499856000000818, y: -1.4500097999999753 },
{ x: -0.850010999999995, y: -2.1500083999999333 },
] }), jsx("silkscreenpath", { route: [
{ x: -0.8499856000000818, y: -2.1500083999999333 },
{ x: 0.8499855999999681, y: -2.1500083999999333 },
] }), jsx("silkscreenpath", { route: [
{ x: 0.8499855999999681, y: -2.1500083999999333 },
{ x: 0.8499855999999681, y: -1.4500097999999753 },
] }), jsx("silkscreenpath", { route: [
{ x: -0.3406393999999864, y: -2.1500083999999333 },
{ x: -0.3406393999999864, y: -1.4500097999999753 },
] }), jsx("silkscreenpath", { route: [
{ x: 0.32778700000005756, y: -2.1500083999999333 },
{ x: 0.32778700000005756, y: -1.4500097999999753 },
] }), jsx("silkscreenpath", { route: [
{ x: -0.9249409999999898, y: 1.450009800000089 },
{ x: -0.21722080000006372, y: 1.450009800000089 },
] }), jsx("silkscreenpath", { route: [
{ x: 0.21722079999995003, y: 1.450009800000089 },
{ x: 0.9249409999999898, y: 1.450009800000089 },
] }), jsx("silkscreenpath", { route: [
{ x: -0.9249409999999898, y: -1.4500097999999753 },
{ x: -0.21722080000006372, y: -1.4500097999999753 },
] }), jsx("silkscreenpath", { route: [
{ x: 0.21722079999995003, y: -1.4500097999999753 },
{ x: 0.9249409999999898, y: -1.4500097999999753 },
] }), jsx("silkscreentext", { text: "{NAME}", pcbX: "0.0127mm", pcbY: "2.4986mm", anchorAlignment: "center", fontSize: "1mm" }), jsx("fabricationnotepath", { route: [
{ x: -0.8400034000000005, y: -1.4400021999999808 },
{ x: -0.8400034000000005, y: -2.080005999999912 },
{ x: 0.8599931999999626, y: -2.080005999999912 },
{ x: 0.8599931999999626, y: -1.4400021999999808 },
{ x: -0.8400034000000005, y: -1.4400021999999808 },
], strokeWidth: "0.254mm" }), jsx("courtyardoutline", { outline: [
{ x: -2.7391999999999825, y: 1.7486000000000104 },
{ x: 2.7645999999998594, y: 1.7486000000000104 },
{ x: 2.7645999999998594, y: -2.408999999999878 },
{ x: -2.7391999999999825, y: -2.408999999999878 },
{ x: -2.7391999999999825, y: 1.7486000000000104 },
] })] }), cadModel: {
objUrl: "https://modelcdn.tscircuit.com/easyeda_models/assets/C388883.obj?uuid=47afa358d3094fbf913052f46a4feca9",
stepUrl: "https://modelcdn.tscircuit.com/easyeda_models/assets/C388883.step?uuid=47afa358d3094fbf913052f46a4feca9",
pcbRotationOffset: 0,
modelOriginPosition: {
x: -0.006997699999942597,
y: -0.014002400000163173,
z: -10000000000287557e-22,
},
}, ...restProps }));
};
const pinLabels$5 = {
pin1: ["pin1"],
pin2: ["pin2"],
pin3: ["pin3"],
pin4: ["pin4"],
pin5: ["pin5"],
pin6: ["pin6"],
pin7: ["pin7"],
pin8: ["pin8"],
pin9: ["pin9"],
pin10: ["pin10"],
pin11: ["pin11"],
pin12: ["pin12"],
pin13: ["pin13"],
pin14: ["pin14"],
pin15: ["pin15"],
pin16: ["pin16"],
pin17: ["pin17"],
pin18: ["pin18"],
pin19: ["pin19"],
pin20: ["pin20"],
pin21: ["pin21"],
pin22: ["pin22"],
pin23: ["pin23"],
pin24: ["pin24"],
pin25: ["pin25"],
pin26: ["pin26"],
};
const FH12_24S_0_5SH_55_ = (props) => {
return (jsx("chip", { pinLabels: pinLabels$5, symbol: jsxs("symbol", { children: [jsx("port", { name: "pin2", pinNumber: 2, aliases: ["2"], direction: "left", schX: -0.6, schY: 2.1, schStemLength: 0.4 }), jsx("port", { name: "pin3", pinNumber: 3, aliases: ["3"], direction: "left", schX: -0.6, schY: 1.9, schStemLength: 0.4 }), jsx("port", { name: "pin4", pinNumber: 4, aliases: ["4"], direction: "left", schX: -0.6, schY: 1.7, schStemLength: 0.4 }), jsx("port", { name: "pin5", pinNumber: 5, aliases: ["5"], direction: "left", schX: -0.6, schY: 1.5, schStemLength: 0.4 }), jsx("port", { name: "pin6", pinNumber: 6, aliases: ["6"], direction: "left", schX: -0.6, schY: 1.3, schStemLength: 0.4 }), jsx("port", { name: "pin7", pinNumber: 7, aliases: ["7"], direction: "left", schX: -0.6, schY: 1.1, schStemLength: 0.4 }), jsx("port", { name: "pin8", pinNumber: 8, aliases: ["8"], direction: "left", schX: -0.6, schY: 0.9, schStemLength: 0.4 }), jsx("port", { name: "pin1", pinNumber: 1, aliases: ["1"], direction: "left", schX: -0.6, schY: 2.3, schStemLength: 0.4 }), jsx("schematicpath", { points: [
{ x: -0.2, y: 2.1 },
{ x: -0.06, y: 2.1 },
], strokeColor: "#880000" }), jsx("schematiccircle", { center: { x: 0, y: 2.1 }, radius: 0.06, color: "#880000" }), jsx("schematicpath", { points: [
{ x: -0.2, y: 1.7 },
{ x: -0.06, y: 1.7 },
], strokeColor: "#880000" }), jsx("schematiccircle", { center: { x: 0, y: 1.7 }, radius: 0.06, color: "#880000" }), jsx("schematicpath", { points: [
{ x: -0.2, y: 1.9 },
{ x: -0.06, y: 1.9 },
], strokeColor: "#880000" }), jsx("schematiccircle", { center: { x: 0, y: 1.9 }, radius: 0.06, color: "#880000" }), jsx("schematicpath", { points: [
{ x: -0.2, y: 1.5 },
{ x: -0.06, y: 1.5 },
], strokeColor: "#880000" }), jsx("schematiccircle", { center: { x: 0, y: 1.5 }, radius: 0.06, color: "#880000" }), jsx("schematicpath", { points: [
{ x: -0.2, y: 2.3 },
{ x: -0.06, y: 2.3 },
], strokeColor: "#880000" }), jsx("schematiccircle", { center: { x: 0, y: 2.3 }, radius: 0.06, color: "#880000" }), jsx("schematicpath", { points: [
{ x: -0.2, y: 1.3 },
{ x: -0.06, y: 1.3 },
], strokeColor: "#880000" }), jsx("schematiccircle", { center: { x: 0, y: 1.3 }, radius: 0.06, color: "#880000" }), jsx("schematicpath", { points: [
{ x: -0.2, y: 0.9 },
{ x: -0.06, y: 0.9 },
], strokeColor: "#880000" }), jsx("schematiccircle", { center: { x: 0, y: 0.9 }, radius: 0.06, color: "#880000" }), jsx("schematicpath", { points: [
{ x: -0.2, y: 1.1 },
{ x: -0.06, y: 1.1 },
], strokeColor: "#880000" }), jsx("schematiccircle", { center: { x: 0, y: 1.1 }, radius: 0.06, color: "#880000" }), jsx("port", { name: "pin9", pinNumber: 9, aliases: ["9"], direction: "left", schX: -0.6, schY: 0.7, schStemLength: 0.4 }), jsx("port", { name: "pin10", pinNumber: 10, aliases: ["10"], direction: "left", schX: -0.6, schY: 0.5, schStemLength: 0.4 }), jsx("schematicpath", { points: [
{ x: -0.2, y: 0.7 },
{ x: -0.06, y: 0.7 },
], strokeColor: "#880000" }), jsx("schematiccircle", { center: { x: 0, y: 0.7 }, radius: 0.06, color: "#880000" }), jsx("schematicpath", { points: [
{ x: -0.2, y: 0.5 },
{ x: -0.06, y: 0.5 },
], strokeColor: "#880000" }), jsx("schematiccircle", { center: { x: 0, y: 0.5 }, radius: 0.06, color: "#880000" }), jsx("port", { name: "pin11", pinNumber: 11, aliases: ["11"], direction: "left", schX: -0.6, schY: 0.3, schStemLength: 0.4 }), jsx("port", { name: "pin12", pinNumber: 12, aliases: ["12"], direction: "left", schX: -0.6, schY: 0.1, schStemLength: 0.4 }), jsx("port", { name: "pin13", pinNumber: 13, aliases: ["13"], direction: "left", schX: -0.6, schY: -0.1, schStemLength: 0.4 }), jsx("schematicpath", { points: [
{ x: -0.2, y: 0.3 },
{ x: -0.06, y: 0.3 },
], strokeColor: "#880000" }), jsx("schematiccircle", { center: { x: 0, y: 0.3 }, radius: 0.06, color: "#880000" }), jsx("schematicpath", { points: [
{ x: -0.2, y: 0.1 },
{ x: -0.06, y: 0.1 },
], strokeColor: "#880000" }), jsx("schematiccircle", { center: { x: 0, y: 0.1 }, radius: 0.06, color: "#880000" }), jsx("schematicpath", { points: [
{ x: -0.2, y: -0.1 },
{ x: -0.06, y: -0.1 },
], strokeColor: "#880000" }), jsx("schematiccircle", { center: { x: 0, y: -0.1 }, radius: 0.06, color: "#880000" }), jsx("port", { name: "pin14", pinNumber: 14, aliases: ["14"], direction: "left", schX: -0.6, schY: -0.3, schStemLength: 0.4 }), jsx("schematicpath", { points: [
{ x: -0.2, y: -0.3 },
{ x: -0.06, y: -0.3 },
], strokeColor: "#880000" }), jsx("schematiccircle", { center: { x: 0, y: -0.3 }, radius: 0.06, color: "#880000" }), jsx("port", { name: "pin15", pinNumber: 15, aliases: ["15"], direction: "left", schX: -0.6, schY: -0.5, schStemLength: 0.4 }), jsx("schematicpath", { points: [
{ x: -0.2, y: -0.5 },
{ x: -0.06, y: -0.5 },
], strokeColor: "#880000" }), jsx("schematiccircle", { center: { x: 0, y: -0.5 }, radius: 0.06, color: "#880000" }), jsx("port", { name: "pin16", pinNumber: 16, aliases: ["16"], direction: "left", schX: -0.6, schY: -0.7, schStemLength: 0.4 }), jsx("schematicpath", { points: [
{ x: -0.2, y: -0.7 },
{ x: -0.06, y: -0.7 },
], strokeColor: "#880000" }), jsx("schematiccircle", { center: { x: 0, y: -0.7 }, radius: 0.06, color: "#880000" }), jsx("port", { name: "pin17", pinNumber: 17, aliases: ["17"], direction: "left", schX: -0.6, schY: -0.9, schStemLength: 0.4 }), jsx("port", { name: "pin18", pinNumber: 18, aliases: ["18"], direction: "left", schX: -0.6, schY: -1.1, schStemLength: 0.4 }), jsx("schematicpath", { points: [
{ x: -0.2, y: -0.9 },
{ x: -0.06, y: -0.9 },
], strokeColor: "#880000" }), jsx("schematiccircle", { center: { x: 0, y: -0.9 }, radius: 0.06, color: "#880000" }), jsx("schematicpath", { points: [
{ x: -0.2, y: -1.1 },
{ x: -0.06, y: -1.1 },
], strokeColor: "#880000" }), jsx("schematiccircle", { center: { x: 0, y: -1.1 }, radius: 0.06, color: "#880000" }), jsx("port", { name: "pin19", pinNumber: 19, aliases: ["19"], direction: "left", schX: -0.6, schY: -1.3, schStemLength: 0.4 }), jsx("schematicpath", { points: [
{ x: -0.2, y: -1.3 },
{ x: -0.06, y: -1.3 },
], strokeColor: "#880000" }), jsx("schematiccircle", { center: { x: 0, y: -1.3 }, radius: 0.06, color: "#880000" }), jsx("port", { name: "pin20", pinNumber: 20, aliases: ["20"], direction: "left", schX: -0.6, schY: -1.5, schStemLength: 0.4 }), jsx("schematicpath", { points: [
{ x: -0.2, y: -1.5 },
{ x: -0.06, y: -1.5 },
], strokeColor: "#880000" }), jsx("schematiccircle", { center: { x: 0, y: -1.5 }, radius: 0.06, color: "#880000" }), jsx("port", { name: "pin21", pinNumber: 21, aliases: ["21"], direction: "left", schX: -0.6, schY: -1.7, schStemLength: 0.4 }), jsx("schematicpath", { points: [
{ x: -0.2, y: -1.7 },
{ x: -0.06, y: -1.7 },
], strokeColor: "#880000" }), jsx("schematiccircle", { center: { x: 0, y: -1.7 }, radius: 0.06, color: "#880000" }), jsx("port", { name: "pin22", pinNumber: 22, aliases: ["22"], direction: "left", schX: -0.6, schY: -1.9, schStemLength: 0.4 }), jsx("schematicpath", { points: [
{ x: -0.2, y: -1.9 },
{ x: -0.06, y: -1.9 },
], strokeColor: "#880000" }), jsx("schematiccircle", { center: { x: 0, y: -1.9 }, radius: 0.06, color: "#880000" }), jsx("port", { name: "pin23", pinNumber: 23, aliases: ["23"], direction: "left", schX: -0.6, schY: -2.1, schStemLength: 0.4 }), jsx("schematicpath", { points: [
{ x: -0.2, y: -2.1 },
{ x: -0.06, y: -2.1 },
], strokeColor: "#880000" }), jsx("schematiccircle", { center: { x: 0, y: -2.1 }, radius: 0.06, color: "#880000" }), jsx("port", { name: "pin24", pinNumber: 24, aliases: ["24"], direction: "left", schX: -0.6, schY: -2.3, schStemLength: 0.4 }), jsx("schematicpath", { points: [
{ x: -0.2, y: -2.3 },
{ x: -0.06, y: -2.3 },
], strokeColor: "#880000" }), jsx("schematiccircle", { center: { x: 0, y: -2.3 }, radius: 0.06, color: "#880000" }), jsx("port", { name: "pin25", pinNumber: 25, aliases: ["25"], direction: "right", schX: 0.6, schY: -2.1, schStemLength: 0.4 }), jsx("port", { name: "pin26", pinNumber: 26, aliases: ["26"], direction: "right", schX: 0.6, schY: -2.3, schStemLength: 0.4 }), jsx("schematicpath", { points: [
{ x: -0.2, y: 2.5 },
{ x: 0.202, y: 2.5 },
{ x: 0.2, y: -2.5 },
{ x: 0, y: -2.5 },
{ x: -0.2, y: -2.5 },
{ x: -0.2, y: 2.5 },
], strokeColor: "#880000" })] }), supplierPartNumbers: {
jlcpcb: ["C202112"],
}, manufacturerPartNumber: "FH12-24S-0.5SH(55)", footprint: jsxs("footprint", { children: [jsx("smtpad", { portHints: ["pin12"], pcbX: "0.249936mm", pcbY: "1.81276625mm", width: "0.2800096mm", height: "1.3999972mm", shape: "rect" }), jsx("smtpad", { portHints: ["pin13"], pcbX: "-0.249936mm", pcbY: "1.81276625mm", width: "0.2800096mm", height: "1.3999972mm", shape: "rect" }), jsx("smtpad", { portHints: ["pin14"], pcbX: "-0.750062mm", pcbY: "1.81276625mm", width: "0.2800096mm", height: "1.3999972mm", shape: "rect" }), jsx("smtpad", { portHints: ["pin15"], pcbX: "-1.249934mm", pcbY: "1.81276625mm", width: "0.2800096mm", height: "1.3999972mm", shape: "rect" }), jsx("smtpad", { portHints: ["pin16"], pcbX: "-1.75006mm", pcbY: "1.81276625mm", width: "0.2800096mm", height: "1.3999972mm", shape: "rect" }), jsx("smtpad", { portHints: ["pin17"], pcbX: "-2.249932mm", pcbY: "1.81276625mm", width: "0.2800096mm", height: "1.3999972mm", shape: "rect" }), jsx("smtpad", { portHints: ["pin18"], pcbX: "-2.750058mm", pcbY: "1.81276625mm", width: "0.2800096mm", height: "1.3999972mm", shape: "rect" }), jsx("smtpad", { portHints: ["pin19"], pcbX: "-3.24993mm", pcbY: "1.81276625mm", width: "0.2800096mm", height: "1.3999972mm", shape: "rect" }), jsx("smtpad", { portHints: ["pin20"], pcbX: "-3.750056mm", pcbY: "1.81276625mm", width: "0.2800096mm", height: "1.3999972mm", shape: "rect" }), jsx("smtpad", { portHints: ["pin21"], pcbX: "-4.249928mm", pcbY: "1.81276625mm", width: "0.2800096mm", height: "1.3999972mm", shape: "rect" }), jsx("smtpad", { portHints: ["pin22"], pcbX: "-4.750054mm", pcbY: "1.81276625mm", width: "0.2800096mm", height: "1.3999972mm", shape: "rect" }), jsx("smtpad", { portHints: ["pin23"], pcbX: "-5.249926mm", pcbY: "1.81276625mm", width: "0.2800096mm", height: "1.3999972mm", shape: "rect" }), jsx("smtpad", { portHints: ["pin24"], pcbX: "-5.750052mm", pcbY: "1.81276625mm", width: "0.2800096mm", height: "1.3999972mm", shape: "rect" }), jsx("smtpad", { portHints: ["pin25"], pcbX: "7.795514mm", pcbY: "-1.36276715mm", width: "1.5999968mm", height: "2.2999954mm", shape: "rect" }), jsx("smtpad", { portHints: ["pin26"], pcbX: "-7.795514mm", pcbY: "-1.36276715mm", width: "1.5999968mm", height: "2.2999954mm", shape: "rect" }), jsx("smtpad", { portHints: ["pin11"], pcbX: "0.750316mm", pcbY: "1.81276625mm", width: "0.2800096mm", height: "1.3999972mm", shape: "rect" }), jsx("smtpad", { portHints: ["pin10"], pcbX: "1.250442mm", pcbY: "1.81276625mm", width: "0.2800096mm", height: "1.3999972mm", shape: "rect" }), jsx("smtpad", { portHints: ["pin9"], pcbX: "1.750568mm", pcbY: "1.81276625mm", width: "0.2800096mm", height: "1.3999972mm", shape: "rect" }), jsx("smtpad", { portHints: ["pin8"], pcbX: "2.25044mm", pcbY: "1.81276625mm", width: "0.2800096mm", height: "1.3999972mm", shape: "rect" }), jsx("smtpad", { portHints: ["pin7"], pcbX: "2.750312mm", pcbY: "1.81276625mm", width: "0.2800096mm", height: "1.3999972mm", shape: "rect" }), jsx("smtpad", { portHints: ["pin6"], pcbX: "3.250184mm", pcbY: "1.81276625mm", width: "0.2800096mm", height: "1.3999972mm", shape: "rect" }), jsx("smtpad", { portHints: ["pin5"], pcbX: "3.750564mm", pcbY: "1.81276625mm", width: "0.2800096mm", height: "1.3999972mm", shape: "rect" }), jsx("smtpad", { portHints: ["pin4"], pcbX: "4.250182mm", pcbY: "1.81276625mm", width: "0.2800096mm", height: "1.3999972mm", shape: "rect" }), jsx("smtpad", { portHints: ["pin3"], pcbX: "4.750308mm", pcbY: "1.81276625mm", width: "0.2800096mm", height: "1.3999972mm", shape: "rect" }), jsx("smtpad", { portHints: ["pin2"], pcbX: "5.250434mm", pcbY: "1.81276625mm", width: "0.2800096mm", height: "1.3999972mm", shape: "rect" }), jsx("smtpad", { portHints: ["pin1"], pcbX: "5.75056mm", pcbY: "1.81276625mm", width: "0.2800096mm", height: "1.3999972mm", shape: "rect" }), jsx("silkscreenpath", { route: [
{ x: -7.550073800000007, y: -2.762764350000012 },
{ x: -7.550073800000007, y: -4.362761149999997 },
] }), jsx("silkscreenpath", { route: [
{ x: -7.550073800000007, y: -4.412773750000014 },
{ x: 7.549921400000002, y: -4.412773750000014 },
{ x: 7.549921400000002, y: -2.762764350000012 },
] }), jsx("silkscreenpath", { route: [
{ x: 7.549921400000002, y: 0.03723004999999091 },
{ x: 7.549921400000002, y: 1.2372276499999941 },
{ x: 6.121704799999989, y: 1.2372276499999941 },
] }), jsx("silkscreenpath", { route: [
{ x: -6.121196800000007, y: 1.2372276499999941 },
{ x: -7.550073800000007, y: 1.2372276499999941 },
{ x: -7.550073800000007, y: 0.03723004999999091 },
] }), jsx("silkscreenpath", { route: [
{ x: 5.8501026, y: 0.31414085000000114 },
{ x: 5.450052599999992, y: -0.0859091500000062 },
{ x: 6.2498985999999945, y: -0.0859091500000062 },
{ x: 5.8501026, y: 0.31414085000000114 },
] }), jsx("silkscreenpath", { route: [
{ x: 6.499072600000005, y: 1.6882808499999982 },
{ x: 6.375884219950663, y: 1.563192321495336 },
{ x: 6.500342599999996, y: 1.4393673297605005 },
{ x: 6.624800980049315, y: 1.563192321495336 },
{ x: 6.501612599999987, y: 1.6882808499999982 },
] }), jsx("silkscreentext", { text: "{NAME}", pcbX: "0.009906mm", pcbY: "-5.41734575mm", anchorAlignment: "center", fontSize: "1mm" }), jsx("courtyardoutline", { outline: [
{ x: -8.837994000000009, y: -4.6673457499999955 },
{ x: 8.857805999999997, y: -4.6673457499999955 },
{ x: 8.857805999999997, y: 2.7668542499999944 },
{ x: -8.837994000000009, y: 2.7668542499999944 },
{ x: -8.837994000000009, y: -4.6673457499999955 },
] })] }), cadModel: {
objUrl: "https://modelcdn.tscircuit.com/easyeda_models/assets/C202112.obj?uuid=80a519313ec9409481d237954e09dd94",
stepUrl: "https://modelcdn.tscircuit.com/easyeda_models/assets/C202112.step?uuid=80a519313ec9409481d237954e09dd94",
pcbRotationOffset: 0,
modelOriginPosition: {
x: -12699999984988608e-21,
y: 1.3889803499999942,
z: -0.05,
},
}, ...props }));
};
const pinLabels$4 = {
pin1: ["pin1"],
pin2: ["pin2"],
pin3: ["pin3"],
pin4: ["pin4"],
pin5: ["pin5"],
pin6: ["pin6"],
pin7: ["pin7"],
pin8: ["pin8"],
};
const FPC_05FB_6PH20 = (props) => {
return (jsx("chip", { pinLabels: pinLabels$4, supplierPartNumbers: {
jlcpcb: ["C2856827"],
}, manufacturerPartNumber: "FPC-05FB-6PH20", footprint: jsxs("footprint", { children: [jsx("smtpad", { portHints: ["pin8"], pcbX: "2.799969mm", pcbY: "-1.4749653mm", width: "1.999996mm", height: "1.7999964mm", shape: "rect" }), jsx("smtpad", { portHints: ["pin7"], pcbX: "-2.799969mm", pcbY: "-1.4749653mm", width: "1.999996mm", height: "1.7999964mm", shape: "rect" }), jsx("smtpad", { portHints: ["pin1"], pcbX: "1.250061mm", pcbY: "1.7749647mm", width: "0.2999994mm", height: "1.1999976mm", shape: "rect" }), jsx("smtpad", { portHints: ["pin2"], pcbX: "0.749935mm", pcbY: "1.7749647mm", width: "0.2999994mm", height: "1.1999976mm", shape: "rect" }), jsx("smtpad", { portHints: ["pin3"], pcbX: "0.250063mm", pcbY: "1.7749647mm", width: "0.2999994mm", height: "1.1999976mm", shape: "rect" }), jsx("smtpad", { portHints: ["pin4"], pcbX: "-0.250063mm", pcbY: "1.7749647mm", width: "0.2999994mm", height: "1.1999976mm", shape: "rect" }), jsx("smtpad", { portHints: ["pin5"], pcbX: "-0.749935mm", pcbY: "1.7749647mm", width: "0.2999994mm", height: "1.1999976mm", shape: "rect" }), jsx("smtpad", { portHints: ["pin6"], pcbX: "-1.250061mm", pcbY: "1.7749647mm", width: "0.2999994mm", height: "1.1999976mm", shape: "rect" }), jsx("silkscreenpath", { route: [
{ x: -3.250031599999943, y: -0.3439032999998517 },
{ x: -3.250031599999943, y: 1.6739489000001413 },
{ x: -1.6510253999999804, y: 1.6739489000001413 },
] }), jsx("silkscreenpath", { route: [
{ x: -3.250031599999943, y: -3.725024299999859 },
{ x: -3.250031599999943, y: -2.6061796999999842 },
] }), jsx("silkscreenpath", { route: [
{ x: 3.2499808000001167, y: -3.725024299999859 },
{ x: -3.250031599999943, y: -3.725024299999859 },
] }), jsx("silkscreenpath", { route: [
{ x: 3.2499808000001167, y: -0.3439032999998517 },
{ x: 3.2499808000001167, y: 1.649945900000148 },
{ x: 1.6311117999999851, y: 1.649945900000148 },
] }), jsx("silkscreenpath", { route: [
{ x: 3.2499808000001167, y: -3.725024299999859 },
{ x: 3.2499808000001167, y: -2.6061796999999842 },
] }), jsx("silkscreencircle", { pcbX: "1.999869mm", pcbY: "2.1498687mm", radius: "0.133096mm" }), jsx("silkscreentext", { text: "{NAME}", pcbX: "-0.001143mm", pcbY: "3.6639647mm", anchorAlignment: "center", fontSize: "1mm" }), jsx("fabricationnotepath", { route: [
{ x: -1.5999967999999853, y: -3.249993499999846 },
{ x: -1.5999967999999853, y: -0.3499992999999222 },
{ x: 1.6999966000000768, y: -0.3499992999999222 },
{ x: 1.6999966000000768, y: -3.249993499999846 },
{ x: 1.499997000000235, y: -3.249993499999846 },
{ x: 1.499997000000235, y: -0.5499988999998777 },
{ x: -1.3999971999999161, y: -0.5499988999998777 },
{ x: -1.3999971999999161, y: -3.249993499999846 },
{ x: -1.5999967999999853, y: -3.249993499999846 },
], strokeWidth: "0.254mm" }), jsx("courtyardoutline", { outline: [
{ x: -4.0484429999999065, y: 2.913964700000065 },
{ x: 4.0461570000001075, y: 2.913964700000065 },
{ x: 4.0461570000001075, y: -3.986835299999939 },
{ x: -4.0484429999999065, y: -3.986835299999939 },
{ x: -4.0484429999999065, y: 2.913964700000065 },
] })] }), cadModel: {
objUrl: "https://modelcdn.tscircuit.com/easyeda_models/assets/C2856827.obj?uuid=3b8a25b70b4242b9af209a241c828aaf",
stepUrl: "https://modelcdn.tscircuit.com/easyeda_models/assets/C2856827.step?uuid=3b8a25b70b4242b9af209a241c828aaf",
pcbRotationOffset: 0,
modelOriginPosition: {
x: 0.000012699999842880061,
y: -1.7749569000000749,
z: 0,
},
}, ...props }));
};
const FXL0420_100_M = (props) => {
return (jsx("inductor", { inductance: "10uH", supplierPartNumbers: {
jlcpcb: ["C177242"],
}, manufacturerPartNumber: "FXL0420-100-M", footprint: jsxs("footprint", { children: [jsx("smtpad", { portHints: ["pin2"], pcbX: "2.027936mm", pcbY: "0mm", width: "1.3999972mm", height: "2.120011mm", shape: "rect" }), jsx("smtpad", { portHints: ["pin1"], pcbX: "-2.027936mm", pcbY: "0mm", width: "1.3999972mm", height: "2.120011mm", shape: "rect" }), jsx("silkscreenpath", { route: [
{ x: -2.2761956000001646, y: 1.2123928000000888 },
{ x: -2.2761956000001646, y: 2.1761957999999595 },
{ x: 2.276195600000051, y: 2.1761957999999595 },
{ x: 2.276195600000051, y: 1.2123928000000888 },
] }), jsx("silkscreenpath", { route: [
{ x: -2.2761956000001646, y: -1.212392799999975 },
{ x: -2.2761956000001646, y: -2.1761957999999595 },
{ x: 2.276195600000051, y: -2.1761957999999595 },
{ x: 2.276195600000051, y: -1.212392799999975 },
] }), jsx("silkscreentext", { text: "{NAME}", pcbX: "0.0127mm", pcbY: "3.1844mm", anchorAlignment: "center", fontSize: "1mm" }), jsx("courtyardoutline", { outline: [
{ x: -2.967800000000011, y: 2.4343999999999824 },
{ x: 2.9932000000000016, y: 2.4343999999999824 },
{ x: 2.9932000000000016, y: -2.408999999999878 },
{ x: -2.967800000000011, y: -2.408999999999878 },
{ x: -2.967800000000011, y: 2.4343999999999824 },
] })] }), cadModel: {
objUrl: "https://modelcdn.tscircuit.com/easyeda_models/assets/C177242.obj?uuid=6e6184a556a149ae9f259e9ef2fd1e0f",
stepUrl: "https://modelcdn.tscircuit.com/easyeda_models/assets/C177242.step?uuid=6e6184a556a149ae9f259e9ef2fd1e0f",
pcbRotationOffset: 0,
modelOriginPosition: { x: 0, y: 0, z: 0 },
}, ...props }));
};
const pinLabels$3 = {
pin1: ["pin1"],
pin2: ["pin2"],
pin3: ["pin3"],
};
const JS102011SAQN = (props) => {
const { name = "SW1", ...restProps } = props;
return (jsx("switch", { name: name, pinLabels: pinLabels$3, supplierPartNumbers: {
jlcpcb: ["C221660"],
}, manufacturerPartNumber: "JS102011SAQN", footprint: jsxs("footprint", { children: [jsx("hole", { pcbX: "-3.400044mm", pcbY: "-1.75002825mm", diameter: "0.999998mm" }), jsx("hole", { pcbX: "3.400044mm", pcbY: "-1.75002825mm", diameter: "0.999998mm" }), jsx("smtpad", { portHints: ["pin1"], pcbX: "-2.499995mm", pcbY: "1.00002975mm", width: "1.1999976mm", height: "2.499995mm", shape: "rect" }), jsx("smtpad", { portHints: ["pin2"], pcbX: "0mm", pcbY: "1.00002975mm", width: "1.1999976mm", height: "2.499995mm", shape: "rect" }), jsx("smtpad", { portHints: ["pin3"], pcbX: "2.499995mm", pcbY: "1.00002975mm", width: "1.1999976mm", height: "2.499995mm", shape: "rect" }), jsx("silkscreenpath", { route: [
{ x: -0.20398740000007365, y: -5.56396524999991 },
{ x: -0.20398740000007365, y: -3.5319652499999847 },
] }), jsx("silkscreenpath", { route: [
{ x: -1.7279874000000746, y: -5.56396524999991 },
{ x: -0.20398740000007365, y: -5.56396524999991 },
] }), jsx("silkscreenpath", { route: [
{ x: -1.7279874000000746, y: -3.5319652499999847 },
{ x: -1.7279874000000746, y: -5.56396524999991 },
] }), jsx("silkscreenpath", { route: [
{ x: 4.5000164000000495, y: -3.5500500499999816 },
{ x: -4.5000164000000495, y: -3.550024649999955 },
] }), jsx("silkscreenpath", { route: [
{ x: -4.5000164000000495, y: -3.5500500499999816 },
{ x: -4.5000164000000495, y: 0.04996815000004062 },
] }), jsx("silkscreenpath", { route: [
{ x: 4.5000164000000495, y: 0.04999354999995376 },
{ x: 4.5000164000000495, y: -3.550024649999955 },
] }), jsx("silkscreenpath", { route: [
{ x: -4.5000164000000495, y: 0.04996815000004062 },
{ x: -3.371138799999926, y: 0.04996815000004062 },
] }), jsx("silkscreenpath", { route: [
{ x: -1.7088612000001149, y: 0.04996815000004062 },
{ x: -0.8311388000000761, y: 0.04996815000004062 },
] }), jsx("silkscreenpath", { route: [
{ x: 0.8311387999999624, y: 0.04996815000004062 },
{ x: 1.7088612000000012, y: 0.04996815000004062 },
] }), jsx("silkscreenpath", { route: [
{ x: 3.371138799999926, y: 0.04996815000004062 },
{ x: 4.5000164000000495, y: 0.04996815000004062 },
] }), jsx("silkscreentext", { text: "{NAME}", pcbX: "0mm", pcbY: "3.23777175mm", anchorAlignment: "center", fontSize: "1mm" }), jsx("fabricationnotepath", { route: [
{ x: -0.21600160000002688, y: -5.527948049999964 },
{ x: -0.21600160000002688, y: -3.5719448500000226 },
{ x: -0.2279903999999533, y: -3.5599560499999825 },
{ x: -1.6799813999999742, y: -3.5599560499999825 },
{ x: -1.6919956000000411, y: -3.5719702499999357 },
{ x: -1.6919956000000411, y: -5.49195624999993 },
{ x: -1.667992599999934, y: -5.5159592499999235 },
{ x: -0.21600160000002688, y: -5.527948049999964 },
], strokeWidth: "0.254mm" }), jsx("courtyardoutline", { outline: [
{ x: -4.771200000000135, y: 2.487771749999979 },
{ x: 4.771199999999908, y: 2.487771749999979 },
{ x: 4.771199999999908, y: -5.83542824999995 },
{ x: -4.771200000000135, y: -5.83542824999995 },
{ x: -4.771200000000135, y: 2.487771749999979 },
] })] }), cadModel: {
objUrl: "https://modelcdn.tscircuit.com/easyeda_models/assets/C221660.obj?uuid=d337b619ac8046ecb63111370d25527b",
stepUrl: "https://modelcdn.tscircuit.com/easyeda_models/assets/C221660.step?uuid=d337b619ac8046ecb63111370d25527b",
pcbRotationOffset: 0,
modelOriginPosition: {
x: 0,
y: 1.7459756499999777,
z: -0.8000016000000002,
},
}, ...restProps }));
};
const pinLabels$2 = {
pin1: ["VIN"],
pin2: ["VSS"],
pin3: ["CE"],
pin4: ["NC"],
pin5: ["VOUT"],
};
const pinAttributes$1 = {
pin1: { requiresPower: true },
pin2: { requiresGround: true },
pin4: { doNotConnect: true },
};
const ME6211C33M5G_N = (props) => {
return (jsx("chip", { pinLabels: pinLabels$2, pinAttributes: pinAttributes$1, supplierPartNumbers: {
jlcpcb: ["C82942"],
}, manufacturerPartNumber: "ME6211C33M5G-N", footprint: jsxs("footprint", { children: [jsx("smtpad", { portHints: ["pin1"], pcbX: "-0.94996mm", pcbY: "-1.15817015mm", width: "0.4899914mm", height: "1.1569954mm", shape: "rect" }), jsx("smtpad", { portHints: ["pin2"], pcbX: "0mm", pcbY: "-1.15817015mm", width: "0.4899914mm", height: "1.1569954mm", shape: "rect" }), jsx("smtpad", { portHints: ["pin3"], pcbX: "0.94996mm", pcbY: "-1.15817015mm", width: "0.4899914mm", height: "1.1569954mm", shape: "rect" }), jsx("smtpad", { portHints: ["pin4"], pcbX: "0.94996mm", pcbY: "1.14916585mm", width: "0.4899914mm", height: "1.175004mm", shape: "rect" }), jsx("smtpad", { portHints: ["pin5"], pcbX: "-0.94996mm", pcbY: "1.14916585mm", width: "0.4899914mm", height: "1.175004mm", shape: "rect" }), jsx("silkscreenpath", { route: [
{ x: -1.5262098000000606, y: -0.8557069500000125 },
{ x: -1.5262098000000606, y: 0.8467026499999974 },
] }), jsx("silkscreenpath", { route: [
{ x: 1.5262097999998332, y: -0.8557069500000125 },
{ x: 1.5262097999998332, y: 0.8467026499999974 },
] }), jsx("silkscreenpath", { route: [
{ x: 0.4764023999998699, y: 0.8467026499999974 },
{ x: -0.4764023999999836, y: 0.8467026499999974 },
] }), jsx("silkscreencircle", { pcbX: "-1.651mm", pcbY: "-1.14750215mm", radius: "0.150114mm" }), jsx("silkscreentext", { text: "{NAME}", pcbX: "-0.1397mm", pcbY: "2.74809785mm", anchorAlignment: "center", fontSize: "1mm" }), jsx("courtyardoutline", { outline: [
{ x: -2.0534000000000106, y: 1.998097850000022 },
{ x: 1.7739999999998872, y: 1.998097850000022 },
{ x: 1.7739999999998872, y: -2.108702149999999 },
{ x: -2.0534000000000106, y: -2.108702149999999 },
{ x: -2.0534000000000106, y: 1.998097850000022 },
] })] }), cadModel: {
objUrl: "https://modelcdn.tscircuit.com/easyeda_models/assets/C82942.obj?uuid=460193f9bf2d42e58cf3c2f675b07dc6",
stepUrl: "https://modelcdn.tscircuit.com/easyeda_models/assets/C82942.step?uuid=460193f9bf2d42e58cf3c2f675b07dc6",
pcbRotationOffset: 90,
modelOriginPosition: {
x: 0.004489450000050965,
y: 0.000012700000070253736,
z: -0.049083,
},
}, ...props }));
};
const pinLabels$1 = {
pin1: ["pin1"],
pin2: ["pin2"],
pin3: ["pin3"],
pin4: ["pin4"],
};
const SKRPACE010 = (props) => {
const { name = "SW1", ...restProps } = props;
return (jsx("pushbutton", { name: name, pinLabels: pinLabels$1, supplierPartNumbers: {
jlcpcb: ["C139797"],
}, manufacturerPartNumber: "SKRPACE010", footprint: jsxs("footprint", { children: [jsx("smtpad", { portHints: ["pin4"], pcbX: "-2.100072mm", pcbY: "1.074928mm", width: "1.0500106mm", height: "0.6999986mm", shape: "rect" }), jsx("smtpad", { portHints: ["pin3"], pcbX: "2.100072mm", pcbY: "1.074928mm", width: "1.0500106mm", height: "0.6999986mm", shape: "rect" }), jsx("smtpad", { portHints: ["pin2"], pcbX: "-2.100072mm", pcbY: "-1.074928mm", width: "1.0500106mm", height: "0.6999986mm", shape: "rect" }), jsx("smtpad", { portHints: ["pin1"], pcbX: "2.100072mm", pcbY: "-1.074928mm", width: "1.0500106mm", height: "0.6999986mm", shape: "rect" }), jsx("silkscreenpath", { route: [
{ x: -0.5080000000000382, y: 1.0160000000000764 },
{ x: 0.5079999999999245, y: 1.0160000000000764 },
] }), jsx("silkscreenpath", { route: [
{ x: -0.5080000000000382, y: -1.0159999999999627 },
{ x: 0.5079999999999245, y: -1.0159999999999627 },
] }), jsx("silkscreenpath", { route: [
{ x: 2.199893999999972, y: 0.5438140000001113 },
{ x: 2.199893999999972, y: -0.5438139999999976 },
] }), jsx("silkscreenpath", { route: [
{ x: 1.3664184000000432, y: 1.5238729999999805 },
{ x: -1.366418400000157, y: 1.5238729999999805 },
] }), jsx("silkscreenpath", { route: [
{ x: -2.1998940000000857, y: 0.5438140000001113 },
{ x: -2.1998940000000857, y: -0.5438139999999976 },
] }), jsx("silkscreenpath", { route: [
{ x: -1.3810995999999705, y: -1.5499079999999594 },
{ x: 1.3810995999998568, y: -1.5499079999999594 },
] }), jsx("silkscreenpath", { route: [
{ x: 0.5079999999999245, y: 1.0160000000000764 },
{ x: 0.26485528508385414, y: 0.9864768865048745 },
{ x: 0.035841257203401256, y: 0.8996233220636896 },
{ x: -0.16573262077258732, y: 0.7604869201419433 },
{ x: -0.32815160774794094, y: 0.5771537826788062 },
{ x: -0.4419765025684228, y: 0.36027856523526225 },
{ x: -0.5005922160837599, y: 0.1224652671394324 },
{ x: -0.5005922160837599, y: -0.1224652671394324 },
{ x: -0.4419765025684228, y: -0.36027856523514856 },
{ x: -0.32815160774794094, y: -0.5771537826788062 },
{ x: -0.16573262077258732, y: -0.7604869201418296 },
{ x: 0.035841257203401256, y: -0.8996233220635759 },
{ x: 0.26485528508385414, y: -0.9864768865047608 },
{ x: 0.5079999999999245, y: -1.0159999999999627 },
] }), jsx("silkscreenpath", { route: [
{ x: -0.5080000000000382, y: -1.0159999999999627 },
{ x: -0.26485528508374045, y: -0.9864768865047608 },
{ x: -0.03584125720362863, y: -0.8996233220635759 },
{ x: 0.165732620772701, y: -0.7604869201418296 },
{ x: 0.32815160774794094, y: -0.5771537826788062 },
{ x: 0.4419765025683091, y: -0.36027856523514856 },
{ x: 0.5005922160835325, y: -0.1224652671394324 },
{ x: 0.5005922160835325, y: 0.1224652671394324 },
{ x: 0.4419765025683091, y: 0.36027856523526225 },
{ x: 0.32815160774794094, y: 0.5771537826788062 },
{ x: 0.165732620772701, y: 0.7604869201419433 },
{ x: -0.03584125720362863, y: 0.8996233220636896 },
{ x: -0.26485528508374045, y: 0.9864768865048745 },
{ x: -0.5080000000000382, y: 1.0160000000000764 },
] }), jsx("silkscreentext", { text: "{NAME}", pcbX: "0.0127mm", pcbY: "2.6256mm", anchorAlignment: "center", fontSize: "1mm" }), jsx("courtyardoutline", { outline: [
{ x: -2.8662000000001626, y: 1.8756000000000768 },
{ x: 2.891599999999812, y: 1.8756000000000768 },
{ x: 2.891599999999812, y: -1.8501999999998588 },
{ x: -2.8662000000001626, y: -1.8501999999998588 },
{ x: -2.8662000000001626, y: 1.8756000000000768 },
] })] }), cadModel: {
objUrl: "https://modelcdn.tscircuit.com/easyeda_models/assets/C139797.obj?uuid=00d848a7e8384bbd9286566957e8bb9c",
stepUrl: "https://modelcdn.tscircuit.com/easyeda_models/assets/C139797.step?uuid=00d848a7e8384bbd9286566957e8bb9c",
pcbRotationOffset: 0,
modelOriginPosition: {
x: 0.000012700000070253736,
y: 0.00012700000002041634,
z: -0.01,
},
}, ...restProps }));
};
const pinLabels = {
pin1: ["SW"],
pin2: ["GND"],
pin3: ["FB"],
pin4: ["CTRL"],
pin5: ["VIN"],
};
const pinAttributes = {
pin2: { requiresGround: true },
pin5: { requiresPower: true },
};
const TPS61169DCKR = (props) => {
return (jsx("chip", { pinLabels: pinLabels, pinAttributes: pinAttributes, supplierPartNumbers: {
jlcpcb: ["C71045"],
}, manufacturerPartNumber: "TPS61169DCKR", footprint: jsxs("footprint", { children: [jsx("smtpad", { portHints: ["pin5"], pcbX: "-0.8875mm", pcbY: "-0.649986mm", width: "0.8999982mm", height: "0.3999992mm", shape: "rect" }), jsx("smtpad", { portHints: ["pin4"], pcbX: "-0.8875mm", pcbY: "0.649986mm", width: "0.8999982mm", height: "0.3999992mm", shape: "rect" }), jsx("smtpad", { portHints: ["pin3"], pcbX: "0.8875mm", pcbY: "0.649986mm", width: "0.8999982mm", height: "0.3999992mm", shape: "rect" }), jsx("smtpad", { portHints: ["pin2"], pcbX: "0.8875mm", pcbY: "0mm", width: "0.8999982mm", height: "0.3999992mm", shape: "rect" }), jsx("smtpad", { portHints: ["pin1"], pcbX: "0.8875mm", pcbY: "-0.649986mm", width: "0.8999982mm", height: "0.3999992mm", shape: "rect" }), jsx("silkscreenpath", { route: [
{ x: -0.6999732000001586, y: -0.2418841999997312 },
{ x: -0.6999732000001586, y: 0.24198580000006586 },
] }), jsx("silkscreenpath", { route: [
{ x: 0.6999985999998444, y: 1.058189400000174 },
{ x: 0.6999985999998444, y: 1.1500866000001224 },
] }), jsx("silkscreenpath", { route: [
{ x: 0.6999985999998444, y: -1.1499341999999615 },
{ x: 0.6999985999998444, y: -1.0580877999998393 },
] }), jsx("silkscreenpath", { route: [
{ x: -0.6999732000001586, y: 1.0581132000000935 },
{ x: -0.6999732000001586, y: 1.1500866000001224 },
] }), jsx("silkscreenpath", { route: [
{ x: -0.6999732000001586, y: -1.1499341999999615 },
{ x: -0.6999732000001586, y: -1.0580369999998993 },
] }), jsx("silkscreenpath", { route: [
{ x: -0.6999732000001586, y: 1.1500866000001224 },
{ x: 0.6999985999998444, y: 1.1500866000001224 },
] }), jsx("silkscreenpath", { route: [
{ x: -0.6999732000001586, y: -1.1499341999999615 },
{ x: 0.6999985999998444, y: -1.1499341999999615 },
] }), jsx("silkscreencircle", { pcbX: "1.143mm", pcbY: "-1.27mm", radius: "0.127mm" }), jsx("silkscreentext", { text: "{NAME}", pcbX: "0.237744mm", pcbY: "2.146556mm", anchorAlignment: "center", fontSize: "1mm" })] }), cadModel: {
objUrl: "https://modelcdn.tscircuit.com/easyeda_models/assets/C71045.obj?uuid=2a221d464efb4ebcb99e4ea11aff9052",
stepUrl: "https://modelcdn.tscircuit.com/easyeda_models/assets/C71045.step?uuid=2a221d464efb4ebcb99e4ea11aff9052",
pcbRotationOffset: 180,
modelOriginPosition: {
x: 0.000012699999842880061,
y: 0.00005080000005364127,
z: -0.1,
},
}, ...props }));
};
/** Static electrical, placement, and sourcing data for the Rev. B board. */
const lcscGroups = [
["C29936", ["C1", "C11", "C13"]],
["C96446", ["C5", "C7", "C10", "C14", "C24"]],
["C14663", ["C2", "C4", "C8", "C9", "C12", "C30"]],
[
"C1779",
["C3", "C15", "C16", "C17", "C18", "C22", "C23", "C26", "C28", "C29"],
],
["C3039694", ["C19"]],
["C28323", ["C21", "C25", "C27"]],
["C114659", ["R1"]],
["C98220", ["R4", "R10", "R11", "R18", "R19", "R20", "R21", "R23"]],
["C14675", ["R12", "R13", "R24", "R25"]],
["C114669", ["R5", "R14"]],
["C105578", ["R16"]],
["C2907006", ["R17"]],
["C125758", ["R27", "R28"]],
["C109318", ["R22"]],
["C105881", ["R26"]],
["C114627", ["R3"]],
["C113303", ["R6"]],
["C105580", ["R7", "R8"]],
["C520357", ["L1"]],
["C520308", ["L2"]],
["C82046", ["D2", "D3", "D4"]],
["C152519", ["D5"]],
["C173752", ["BT1"]],
["C2856831", ["J2"]],
["C2856827", ["J3"]],
["C114218", ["J4"]],
["C2830320", ["Q1"]],
["C469327", ["Q2"]],
["C424093", ["U1"]],
["C7519", ["U2"]],
["C2927799", ["U3"]],
["C2934560", ["U4"]],
["C82942", ["U5"]],
["C71045", ["U6"]],
["C388883", ["S1", "S2"]],
["C139797", ["SW2", "SW3", "SW4", "SW6"]],
["C49023765", ["SW7"]],
];
const lcscByRef = new Map(lcscGroups.flatMap(([partNumber, references]) => references.map((reference) => [reference, partNumber])));
const supplierPartNumbersFor = (reference) => {
const partNumber = lcscByRef.get(reference);
return partNumber ? { jlcpcb: [partNumber] } : undefined;
};
const kicad = (path) => `kicad:${path}`;
const FP = {
c0603: "0603",
c0805: "0805",
r0603: "0603",
r0805: "0805",
};
const polarizedPinLabels = {
pin1: "anode",
pin2: "cathode",
};
const capacitors = [
{
name: "C1",
value: "1uF",
footprint: FP.c0603,
section: "mcu_power",
pcbX: -11.150000000000006,
pcbY: 37.68,
pcbRotation: 180,
layer: "top",
},
{
name: "C2",
value: "100nF",
footprint: FP.c0603,
section: "battery_usb",
pcbX: -19.171300000000002,
pcbY: 22.952200000000005,
pcbRotation: 0,
layer: "top",
},
{
name: "C3",
value: "4.7uF",
footprint: FP.c0805,
section: "battery_usb",
pcbX: -19.1113,
pcbY: 24.682199999999995,
pcbRotation: 0,
layer: "top",
},
{
name: "C4",
value: "100nF",
footprint: FP.c0603,
section: "battery_usb",
pcbX: 20.57499999999999,
pcbY: 40.9675,
pcbRotation: 90,
layer: "top",
},
{
name: "C5",
value: "10uF",
footprint: FP.c0603,
section: "battery_usb",
pcbX: 18.724999999999994,
pcbY: 40.9675,
pcbRotation: 90,
layer: "top",
},
{
name: "C6",
value: "10uF",
footprint: FP.c0603,
section: "battery_usb",
pcbX: -26.525599999999997,
pcbY: 39.012,
pcbRotation: 90,
layer: "top",
},
{
name: "C7",
value: "10uF",
footprint: FP.c0603,
section: "mcu_power",
pcbX: -11.150000000000006,
pcbY: 39.18,
pcbRotation: 180,
layer: "top",
},
{
name: "C8",
value: "100nF",
footprint: FP.c0603,
section: "mcu_power",
pcbX: -11.150000000000006,
pcbY: 40.69,
pcbRotation: 180,
layer: "top",
},
{
name: "C9",
value: "100nF",
footprint: FP.c0603,
section: "mcu_power",
pcbX: -13.370000000000005,
pcbY: 16.3985,
pcbRotation: -90,
layer: "top",
},
{
name: "C10",
value: "10uF",
footprint: FP.c0603,
section: "mcu_power",
pcbX: -16.580000000000013,
pcbY: 16.40599999999999,
pcbRotation: -90,
layer: "top",
},
{
name: "C11",
value: "1uF",
footprint: FP.c0603,
section: "mcu_power",
pcbX: -14.969999999999999,
pcbY: 16.3985,
pcbRotation: -90,
layer: "top",
},
{
name: "C12",
value: "100nF",
footprint: FP.c0603,
section: "mcu_power",
pcbX: -7.530000000000001,
pcbY: 15.64,
pcbRotation: -90,
layer: "top",
},
{
name: "C13",
value: "1uF",
footprint: FP.c0603,
section: "mcu_power",
pcbX: -5.930000000000007,
pcbY: 15.64,
pcbRotation: -90,
layer: "top",
},
{
name: "C14",
value: "10uF",
footprint: FP.c0603,
section: "mcu_power",
pcbX: -4.310000000000002,
pcbY: 15.64,
pcbRotation: -90,
layer: "top",
},
{
name: "C15",
value: "4.7uF",
footprint: FP.c0805,
section: "display_power",
pcbX: -20.2825,
pcbY: 6.420000000000002,
pcbRotation: 0,
layer: "top",
},
{
name: "C16",
value: "4.7uF",
footprint: FP.c0805,
section: "display_power",
pcbX: -10.300000000000011,
pcbY: 1.3100000000000023,
pcbRotation: 90,
layer: "top",
},
{
name: "C17",
value: "4.7uF",
footprint: FP.c0805,
section: "display_power",
pcbX: -15.280000000000001,
pcbY: 4.75,
pcbRotation: 180,
layer: "top",
},
{
name: "C18",
value: "4.7uF",
footprint: FP.c0805,
section: "frontlight",
pcbX: 19.620000000000005,
pcbY: -1.0700000000000074,
pcbRotation: 0,
layer: "top",
},
{
name: "C19",
value: "10uF",
footprint: FP.c0805,
section: "display_power",
pcbX: 4.599999999999994,
pcbY: -10.657499999999999,
pcbRotation: 90,
layer: "top",
},
{
name: "C20",
value: "100nF",
footprint: FP.r0805,
section: "display_power",
pcbX: 2.4499999999999886,
pcbY: -10.657499999999999,
pcbRotation: 90,
layer: "top",
},
{
name: "C21",
value: "1uF",
footprint: FP.c0805,
section: "display_power",
pcbX: 0.4000000000000057,
pcbY: -10.657499999999999,
pcbRotation: -90,
layer: "top",
},
{
name: "C22",
value: "4.7uF",
footprint: FP.c0805,
section: "display_power",
pcbX: -3.8000000000000114,
pcbY: -10.657499999999999,
pcbRotation: -90,
layer: "top",
},
{
name: "C23",
value: "4.7uF",
footprint: FP.c0805,
section: "display_power",
pcbX: -8,
pcbY: -10.657499999999999,
pcbRotation: -90,
layer: "top",
},
{
name: "C24",
value: "10uF",
footprint: FP.c0603,
section: "storage",
pcbX: -9.761599999999987,
pcbY: -27.8408,
pcbRotation: 0,
layer: "top",
},
{
name: "C25",
value: "1uF",
footprint: FP.c0805,
section: "display_power",
pcbX: -1.6999999999999886,
pcbY: -10.657499999999999,
pcbRotation: -90,
layer: "top",
},
{
name: "C26",
value: "4.7uF",
footprint: FP.c0805,
section: "frontlight",
pcbX: 20.19999999999999,
pcbY: -10.070000000000007,
pcbRotation: 90,
layer: "top",
},
{
name: "C27",
value: "1uF",
footprint: FP.c0805,
section: "display_power",
pcbX: -10.099999999999994,
pcbY: -10.657499999999999,
pcbRotation: -90,
layer: "top",
},
{
name: "C28",
value: "4.7uF",
footprint: FP.c0805,
section: "display_power",
pcbX: -5.900000000000006,
pcbY: -10.657499999999999,
pcbRotation: -90,
layer: "top",
},
{
name: "C29",
value: "4.7uF",
footprint: FP.c0805,
section: "display_power",
pcbX: 6.6200000000000045,
pcbY: -10.657499999999999,
pcbRotation: -90,
layer: "top",
},
{
name: "C30",
value: "100nF",
footprint: FP.c0603,
section: "storage",
pcbX: -9.761599999999987,
pcbY: -29.370800000000003,
pcbRotation: 0,
layer: "top",
},
{
name: "C31",
value: "100nF",
footprint: FP.c0805,
section: "frontlight",
pcbX: 16.879999999999995,
pcbY: -10.079999999999998,
pcbRotation: 90,
layer: "top",
},
{
name: "C32",
value: "100nF",
footprint: FP.c0805,
section: "display_power",
pcbX: -15.240000000000009,
pcbY: -4.340000000000003,
pcbRotation: 0,
layer: "top",
},
];
const resistors = [
{
name: "R1",
value: "12k",
footprint: FP.r0603,
section: "controls",
pcbX: 13,
pcbY: -44.989999999999995,
pcbRotation: -90,
layer: "top",
},
{
name: "R3",
value: "5.6k",
footprint: FP.r0603,
section: "controls",
pcbX: -0.9499999999999886,
pcbY: -44.82000000000001,
pcbRotation: -90,
layer: "top",
},
{
name: "R4",
value: "10k",
footprint: FP.r0603,
section: "mcu_power",
pcbX: -11.159999999999997,
pcbY: 36.14,
pcbRotation: 180,
layer: "top",
},
{
name: "R5",
value: "470",
footprint: FP.r0603,
section: "battery_usb",
pcbX: -28.919999999999987,
pcbY: 30.39,
pcbRotation: 0,
layer: "top",
},
{
name: "R6",
value: "2.2k",
footprint: FP.r0603,
section: "controls",
pcbX: 28.02000000000001,
pcbY: -44.36,
pcbRotation: -90,
layer: "top",
},
{
name: "R7",
value: "5.1k",
footprint: FP.r0603,
section: "battery_usb",
pcbX: 19.2825,
pcbY: 29.86,
pcbRotation: 180,
layer: "top",
},
{
name: "R8",
value: "5.1k",
footprint: FP.r0603,
section: "battery_usb",
pcbX: 19.2825,
pcbY: 31.539999999999992,
pcbRotation: 180,
layer: "top",
},
{
name: "R9",
value: "2.5k",
footprint: FP.r0603,
section: "battery_usb",
pcbX: -15.320400000000006,
pcbY: 27.9122,
pcbRotation: 90,
layer: "top",
},
{
name: "R10",
value: "10k",
footprint: FP.r0603,
section: "controls",
pcbX: -25.54249999999999,
pcbY: 17.069999999999993,
pcbRotation: 0,
layer: "top",
},
{
name: "R11",
value: "10k",
footprint: FP.r0603,
section: "controls",
pcbX: -17.27000000000001,
pcbY: -44.83,
pcbRotation: 90,
layer: "top",
},
{
name: "R12",
value: "100k",
footprint: FP.r0603,
section: "mcu_power",
pcbX: 19.257499999999993,
pcbY: 27.629999999999995,
pcbRotation: 180,
layer: "top",
},
{
name: "R13",
value: "100k",
footprint: FP.r0603,
section: "mcu_power",
pcbX: 19.24000000000001,
pcbY: 26.03,
pcbRotation: 0,
layer: "top",
},
{
name: "R14",
value: "470",
footprint: FP.r0603,
section: "battery_usb",
pcbX: -18.295999999999992,
pcbY: 35.608399999999996,
pcbRotation: 90,
layer: "top",
},
{
name: "R15",
value: "2.7k",
footprint: FP.r0603,
section: "battery_usb",
pcbX: -19.870800000000003,
pcbY: 35.608399999999996,
pcbRotation: -90,
layer: "top",
},
{
name: "R16",
value: "1M",
footprint: FP.r0603,
section: "display_power",
pcbX: -18.507499999999993,
pcbY: -9.409999999999997,
pcbRotation: 0,
layer: "top",
},
{
name: "R17",
value: "2.2",
footprint: FP.r0805,
section: "display_power",
pcbX: -15.680000000000007,
pcbY: -8.019999999999996,
pcbRotation: -90,
layer: "top",
},
{
name: "R18",
value: "10k",
footprint: FP.r0603,
section: "display_power",
pcbX: 3.710000000000008,
pcbY: -1.269999999999996,
pcbRotation: 90,
layer: "top",
},
{
name: "R19",
value: "10k",
footprint: FP.r0603,
section: "display_power",
pcbX: 6.889999999999986,
pcbY: -1.269999999999996,
pcbRotation: 90,
layer: "top",
},
{
name: "R20",
value: "10k",
footprint: FP.r0603,
section: "storage",
pcbX: -9.761599999999987,
pcbY: -25.910399999999996,
pcbRotation: 180,
layer: "top",
},
{
name: "R21",
value: "10k",
footprint: FP.r0603,
section: "display_power",
pcbX: 5.27000000000001,
pcbY: -1.269999999999996,
pcbRotation: 90,
layer: "top",
},
{
name: "R22",
value: "10",
footprint: FP.r0603,
section: "frontlight",
pcbX: 24.439999999999998,
pcbY: -7.814999999999998,
pcbRotation: -90,
layer: "top",
},
{
name: "R23",
value: "10k",
footprint: FP.r0603,
section: "storage",
pcbX: -9.761599999999987,
pcbY: -31.34599999999999,
pcbRotation: 180,
layer: "top",
},
{
name: "R24",
value: "100k",
footprint: FP.r0603,
section: "storage",
pcbX: -9.761599999999987,
pcbY: -24.386399999999995,
pcbRotation: 180,
layer: "top",
},
{
name: "R25",
value: "100k",
footprint: FP.r0603,
section: "storage",
pcbX: -9.761599999999987,
pcbY: -32.81920000000001,
pcbRotation: 180,
layer: "top",
},
{
name: "R26",
value: "330",
footprint: FP.r0603,
section: "frontlight",
pcbX: 24.210000000000008,
pcbY: 1.0900000000000034,
pcbRotation: -90,
layer: "top",
},
{
name: "R27",
value: "20",
footprint: FP.r0603,
section: "mcu_power",
pcbX: -11.150000000000006,
pcbY: 31.769999999999996,
pcbRotation: 0,
layer: "top",
},
{
name: "R28",
value: "20",
footprint: FP.r0603,
section: "mcu_power",
pcbX: 9.474999999999994,
pcbY: 25.629999999999995,
pcbRotation: 90,
layer: "top",
},
];
const inductors = [
{
name: "L1",
value: "47uH",
footprint: kicad("Inductor_SMD/L_Panasonic_PCC-M0540M"),
section: "display_power",
pcbX: -22.377499999999998,
pcbY: 0.20250000000000057,
pcbRotation: -90,
layer: "top",
},
{
name: "L2",
value: "10uH",
footprint: kicad("Inductor_SMD/L_Bourns-SRN4018"),
section: "frontlight",
pcbX: 18.590000000000003,
pcbY: -5.049999999999997,
pcbRotation: -90,
layer: "top",
},
];
const diodes = [
{
name: "D2",
value: "MBR0530",
footprint: kicad("Diode_SMD/D_SOD-123"),
section: "display_power",
pcbX: -15.75,
pcbY: -2.1899999999999977,
pcbRotation: 180,
layer: "top",
},
{
name: "D3",
value: "MBR0530",
footprint: kicad("Diode_SMD/D_SOD-123"),
section: "display_power",
pcbX: -15.737500000000011,
pcbY: 0.18999999999999773,
pcbRotation: 0,
layer: "top",
},
{
name: "D4",
value: "MBR0530",
footprint: kicad("Diode_SMD/D_SOD-123"),
section: "display_power",
pcbX: -15.900000000000006,
pcbY: 2.569999999999993,
pcbRotation: 180,
layer: "top",
},
{
name: "D5",
value: "NSR0240",
footprint: kicad("Diode_SMD/D_SOD-323_HandSoldering"),
section: "frontlight",
pcbX: 22.28,
pcbY: -9.430000000000007,
pcbRotation: 90,
layer: "top",
},
];
const chips = [
{
name: "BT1",
value: "LiPo Cell",
kind: "connector",
footprint: kicad("Connector_JST/JST_PH_S2B-PH-K_1x02_P2.00mm_Horizontal"),
pins: ["1", "2"],
section: "battery_usb",
pcbX: -21.05000000000001,
pcbY: 40.629999999999995,
pcbRotation: 180,
layer: "top",
},
{
name: "J1",
value: "USB-C",
kind: "connector",
footprint: "usb-c-local",
pins: Array.from({ length: 16 }, (_, i) => `${i + 1}`),
noConnect: ["6", "7"],
section: "battery_usb",
pcbX: 27.555000000000007,
pcbY: 36.26,
pcbRotation: 90,
layer: "top",
},
{
name: "J2",
value: "4.2in E-Paper",
kind: "connector",
footprint: kicad("Connector_FFC-FPC/Hirose_FH12-24S-0.5SH_1x24-1MP_P0.50mm_Horizontal"),
pins: Array.from({ length: 24 }, (_, i) => `${i + 1}`),
noConnect: ["1", "4", "6", "7", "19"],
section: "display_power",
pcbX: -0.75,
pcbY: -17.477599999999995,
pcbRotation: 0,
layer: "top",
},
{
name: "J3",
value: "E-Paper Frontlight",
kind: "connector",
footprint: kicad("Connector_FFC-FPC/Hirose_FH12-6S-0.5SH_1x06-1MP_P0.50mm_Horizontal"),
pins: ["1", "2", "3", "4", "5", "6"],
noConnect: ["1", "2", "3", "4"],
section: "frontlight",
pcbX: 18.5,
pcbY: -17.92,
pcbRotation: 0,
layer: "top",
},
{
name: "J4",
value: "Micro SD",
kind: "connector",
footprint: kicad("Connector_Card/microSD_HC_Hirose_DM3AT-SF-PEJM5"),
pins: ["1", "2", "3", "4", "5", "6", "7", "8", "9", "10"],
noConnect: ["10"],
section: "storage",
pcbX: -22.349999999999994,
pcbY: -29.820000000000007,
pcbRotation: -90,
layer: "top",
},
{
name: "Q1",
value: "FS8205A",
footprint: kicad("Package_TO_SOT_SMD/SOT-23-6_Handsoldering"),
pins: ["1", "2", "3", "4", "5", "6"],
noConnect: ["2", "5"],
section: "battery_usb",
pcbX: -23.274400000000014,
pcbY: 31.646,
pcbRotation: 90,
layer: "top",
},
{
name: "Q2",
value: "Si1308EDL",
footprint: kicad("Package_TO_SOT_SMD/SOT-323_SC-70"),
pins: ["1", "2", "3"],
section: "display_power",
pcbX: -18.810000000000002,
pcbY: -5.560000000000002,
pcbRotation: 90,
layer: "top",
},
{
name: "U1",
value: "MCP73831-2",
footprint: kicad("Package_TO_SOT_SMD/SOT-23-5"),
pins: ["1", "2", "3", "4", "5"],
section: "battery_usb",
pcbX: -19.428799999999995,
pcbY: 27.765299999999996,
pcbRotation: -90,
layer: "top",
},
{
name: "U2",
value: "USBLC6-2SC6",
footprint: kicad("Package_TO_SOT_SMD/SOT-23-6"),
pins: ["1", "2", "3", "4", "5", "6"],
noConnect: ["1", "4"],
section: "battery_usb",
pcbX: 19.919999999999987,
pcbY: 36.4075,
pcbRotation: 90,
layer: "top",
},
{
name: "U3",
value: "DW01A",
footprint: kicad("Package_TO_SOT_SMD/SOT-23-6"),
pins: ["1", "2", "3", "4", "5", "6"],
noConnect: ["4"],
section: "battery_usb",
pcbX: -23.24940000000001,
pcbY: 36.6244,
pcbRotation: 90,
layer: "top",
},
{
name: "U4",
value: "ESP32-C3-WROOM-02",
footprint: kicad("RF_Module/ESP32-C3-WROOM-02"),
pins: Array.from({ length: 19 }, (_, i) => `${i + 1}`),
section: "mcu_power",
pcbX: 0.25,
pcbY: 34.78,
pcbRotation: 0,
layer: "top",
},
{
name: "U5",
value: "ME6211C33M5",
footprint: kicad("Package_TO_SOT_SMD/SOT-23-5"),
pins: ["1", "2", "3", "4", "5"],
noConnect: ["4"],
section: "mcu_power",
pcbX: -10.462500000000006,
pcbY: 15.549999999999997,
pcbRotation: 0,
layer: "top",
},
{
name: "U6",
value: "TPS61169DCKR",
footprint: kicad("Package_TO_SOT_SMD/SOT-353_SC-70-5"),
pins: ["1", "2", "3", "4", "5"],
section: "frontlight",
pcbX: 23.55000000000001,
pcbY: -4.112499999999997,
pcbRotation: 90,
layer: "top",
},
{
name: "S1",
value: "EN",
kind: "pushbutton",
footprint: kicad("Button_Switch_SMD/SW_SPST_EVQP7C"),
pins: ["1", "2"],
section: "controls",
pcbX: -29.125,
pcbY: -15.920000000000002,
pcbRotation: -90,
layer: "top",
},
{
name: "S2",
value: "POWER",
kind: "pushbutton",
footprint: kicad("Button_Switch_SMD/SW_SPST_EVQP7C"),
pins: ["1", "2"],
section: "controls",
pcbX: -29.07499999999999,
pcbY: 23.08,
pcbRotation: -90,
layer: "top",
},
{
name: "SW2",
value: "BACK",
kind: "pushbutton",
footprint: kicad("Button_Switch_SMD/SW_SPST_CK_KXT3"),
pins: ["1", "2", "3", "4"],
noConnect: ["2", "3"],
section: "controls",
pcbX: 7.75,
pcbY: -44.92,
pcbRotation: 180,
layer: "bottom",
},
{
name: "SW3",
value: "CONFIRM",
kind: "pushbutton",
footprint: kicad("Button_Switch_SMD/SW_SPST_CK_KXT3"),
pins: ["1", "2", "3", "4"],
noConnect: ["2", "3"],
section: "controls",
pcbX: -7.25,
pcbY: -44.92,
pcbRotation: 180,
layer: "bottom",
},
{
name: "SW4",
value: "LEFT",
kind: "pushbutton",
footprint: kicad("Button_Switch_SMD/SW_SPST_CK_KXT3"),
pins: ["1", "2", "3", "4"],
noConnect: ["2", "3"],
section: "controls",
pcbX: 22.75,
pcbY: -44.92,
pcbRotation: 180,
layer: "bottom",
},
{
name: "SW6",
value: "RIGHT",
kind: "pushbutton",
footprint: kicad("Button_Switch_SMD/SW_SPST_CK_KXT3"),
pins: ["1", "2", "3", "4"],
noConnect: ["2", "3"],
section: "controls",
pcbX: -22.25,
pcbY: -44.92,
pcbRotation: 180,
layer: "bottom",
},
{
name: "SW7",
value: "FRONTLIGHT",
footprint: kicad("Button_Switch_SMD/SW_SPDT_CK_JS102011SAQN"),
pins: ["1", "2", "3"],
noConnect: ["3"],
section: "frontlight",
pcbX: 27.349999999999994,
pcbY: 14.105000000000004,
pcbRotation: 90,
layer: "top",
},
{
name: "JP1",
value: "BOOT",
footprint: kicad("Jumper/SolderJumper-2_P1.3mm_Open_RoundedPad1.0x1.5mm"),
pins: ["1", "2"],
section: "mcu_power",
pcbX: -20.531200000000013,
pcbY: 18.285600000000002,
pcbRotation: 0,
layer: "top",
},
];
const testpoints = [
{
name: "TP1",
label: "BATT",
section: "battery_usb",
pcbX: -16.6704,
pcbY: 43.431599999999996,
pcbRotation: 0,
layer: "top",
},
{
name: "TP2",
label: "3V3",
section: "mcu_power",
pcbX: -3.360800000000012,
pcbY: 18.691999999999993,
pcbRotation: 0,
layer: "top",
},
{
name: "TP3",
label: "VBUS",
section: "battery_usb",
pcbX: 23.817200000000014,
pcbY: 44.1428,
pcbRotation: 0,
layer: "top",
},
{
name: "TP4",
label: "VGL",
section: "display_power",
pcbX: -9.710800000000006,
pcbY: 8.430399999999992,
pcbRotation: 0,
layer: "top",
},
{
name: "TP5",
label: "VGH",
section: "display_power",
pcbX: -12.961999999999989,
pcbY: 8.481200000000001,
pcbRotation: 0,
layer: "top",
},
{
name: "TP6",
label: "BAT_MEASURE",
section: "mcu_power",
pcbX: 19.042,
pcbY: 22.1464,
pcbRotation: 0,
layer: "top",
},
{
name: "TP7",
label: "LED",
section: "frontlight",
pcbX: 15.389999999999986,
pcbY: 1.9399999999999977,
pcbRotation: 0,
layer: "top",
},
];
const sectionOrigins = {
battery_usb: { x: -28, y: 20 },
mcu_power: { x: 0, y: 20 },
display_power: { x: 28, y: 20 },
storage: { x: -28, y: -7 },
controls: { x: 0, y: -7 },
frontlight: { x: 28, y: -7 },
};
const schematicSpecs = [
...capacitors,
...resistors,
...inductors,
{ name: "D1", section: "battery_usb" },
...diodes,
...chips,
...testpoints,
];
const schematicPlacementByReference = (() => {
const sectionIndexes = {};
return new Map(schematicSpecs.map(({ name, section }) => {
const index = sectionIndexes[section] ?? 0;
sectionIndexes[section] = index + 1;
const origin = sectionOrigins[section];
return [
name,
{
schX: origin.x + (index % 5) * 4.4,
schY: origin.y - Math.floor(index / 5) * 4.4,
schSectionName: section,
},
];
}));
})();
const schematicPlacementOverrides = {
R4: { schY: 21.201 },
J3: { schX: 36.53 },
U6: { schX: 41.47 },
};
const schematicPlacementFor = (reference) => {
const placement = schematicPlacementByReference.get(reference);
if (!placement)
throw new Error(`Missing schematic placement for ${reference}`);
return { ...placement, ...schematicPlacementOverrides[reference] };
};
const aliasForPin = (pin) => `P_${pin.replace(/[^A-Za-z0-9_]/g, "_")}`;
const pinLabelsFor = (pins) => Object.fromEntries(pins.map((pin) => [pin, aliasForPin(pin)]));
const endpoint = (ref, pin) => `.${ref} > .pin${pin}`;
/** Trace widths retained from the Rev. B KiCad design. */
const traceThicknessByNet = {
BATT_N_RAW: "0.5mm",
BATT_P: "0.5mm",
EPD_PUMP_NEG: "0.6mm",
EPD_PUMP_SWITCH: "0.5mm",
FL_INPUT: "0.4mm",
FL_LED_NEG: "0.3mm",
FL_LED_POS: "0.3mm",
FL_SWITCH: "0.6mm",
PREVGL: "0.4mm",
PROTECT_OC: "0.6mm",
PROTECT_OD: "0.6mm",
PROTECT_VCC: "0.3mm",
USB_VBUS: "0.5mm",
};
const nets = {
V3V3: [
endpoint("C7", "1"),
endpoint("C8", "1"),
endpoint("C12", "1"),
endpoint("C13", "1"),
endpoint("C14", "1"),
endpoint("C15", "1"),
endpoint("C19", "1"),
endpoint("C20", "1"),
endpoint("C21", "2"),
endpoint("C24", "1"),
endpoint("C30", "1"),
endpoint("J2", "15"),
endpoint("J2", "16"),
endpoint("J4", "4"),
endpoint("L1", "1"),
endpoint("R4", "2"),
endpoint("R10", "1"),
endpoint("R11", "1"),
endpoint("R18", "2"),
endpoint("R19", "2"),
endpoint("R20", "1"),
endpoint("R21", "2"),
endpoint("R23", "1"),
endpoint("R24", "1"),
endpoint("R25", "1"),
endpoint("U4", "1"),
endpoint("U5", "5"),
endpoint("TP2", "1"),
],
GND: [
endpoint("C1", "2"),
endpoint("C2", "2"),
endpoint("C3", "2"),
endpoint("C4", "2"),
endpoint("C5", "2"),
endpoint("C7", "2"),
endpoint("C8", "2"),
endpoint("C9", "2"),
endpoint("C10", "2"),
endpoint("C11", "2"),
endpoint("C12", "2"),
endpoint("C13", "2"),
endpoint("C14", "2"),
endpoint("C15", "2"),
endpoint("C17", "2"),
endpoint("C18", "2"),
endpoint("C19", "2"),
endpoint("C20", "2"),
endpoint("C21", "1"),
endpoint("C22", "1"),
endpoint("C23", "1"),
endpoint("C24", "2"),
endpoint("C25", "1"),
endpoint("C26", "2"),
endpoint("C27", "1"),
endpoint("C28", "1"),
endpoint("C29", "1"),
endpoint("C30", "2"),
endpoint("C31", "2"),
endpoint("C32", "2"),
endpoint("D3", "1"),
endpoint("J1", "1"),
endpoint("J1", "12"),
endpoint("J1", "13"),
endpoint("J1", "14"),
endpoint("J1", "15"),
endpoint("J1", "16"),
endpoint("J2", "8"),
endpoint("J2", "17"),
endpoint("J4", "6"),
endpoint("J4", "9"),
endpoint("JP1", "1"),
endpoint("Q1", "3"),
endpoint("R1", "2"),
endpoint("R3", "2"),
endpoint("R6", "2"),
endpoint("R7", "2"),
endpoint("R8", "2"),
endpoint("R9", "2"),
endpoint("R13", "2"),
endpoint("R15", "1"),
endpoint("R16", "2"),
endpoint("R17", "2"),
endpoint("R22", "2"),
endpoint("S1", "1"),
endpoint("S1", "3"),
endpoint("S2", "1"),
endpoint("S2", "3"),
endpoint("SW6", "1"),
endpoint("U1", "2"),
endpoint("U2", "2"),
endpoint("U4", "9"),
endpoint("U4", "19"),
endpoint("U5", "2"),
endpoint("U6", "2"),
],
BATT_P: [
endpoint("BT1", "1"),
endpoint("C9", "1"),
endpoint("C10", "1"),
endpoint("C11", "1"),
endpoint("R12", "1"),
endpoint("R14", "2"),
endpoint("SW7", "1"),
endpoint("U1", "3"),
endpoint("U5", "1"),
endpoint("U5", "3"),
endpoint("TP1", "1"),
],
BATT_N_RAW: [
endpoint("BT1", "2"),
endpoint("C6", "2"),
endpoint("Q1", "1"),
endpoint("U3", "6"),
],
ESP32_EN: [
endpoint("C1", "1"),
endpoint("R4", "1"),
endpoint("S1", "2"),
endpoint("S1", "4"),
endpoint("U4", "2"),
],
USB_VBUS: [
endpoint("C2", "1"),
endpoint("C3", "1"),
endpoint("C4", "1"),
endpoint("C5", "1"),
endpoint("D1", "2"),
endpoint("J1", "2"),
endpoint("J1", "11"),
endpoint("U1", "4"),
endpoint("U2", "5"),
endpoint("TP3", "1"),
],
USB_DP: [
endpoint("J1", "4"),
endpoint("J1", "9"),
endpoint("U2", "6"),
endpoint("U4", "14"),
],
USB_DM: [
endpoint("J1", "5"),
endpoint("J1", "8"),
endpoint("U2", "3"),
endpoint("U4", "13"),
],
USB_CC1: [endpoint("J1", "3"), endpoint("R7", "1")],
USB_CC2: [endpoint("J1", "10"), endpoint("R8", "1")],
CHARGE_LED_K: [endpoint("D1", "1"), endpoint("R5", "1")],
CHARGE_STAT: [endpoint("R5", "2"), endpoint("U1", "1")],
CHARGE_PROG: [endpoint("R9", "1"), endpoint("U1", "5")],
PROTECT_VCC: [endpoint("C6", "1"), endpoint("R14", "1"), endpoint("U3", "5")],
PROTECT_CS: [endpoint("R15", "2"), endpoint("U3", "2")],
PROTECT_OD: [endpoint("Q1", "6"), endpoint("U3", "1")],
PROTECT_OC: [endpoint("Q1", "4"), endpoint("U3", "3")],
BOOT_OPTION: [endpoint("JP1", "2"), endpoint("U4", "8")],
EPD_DC: [endpoint("J2", "11"), endpoint("U4", "3")],
EPD_RST: [endpoint("J2", "10"), endpoint("R21", "1"), endpoint("U4", "4")],
EPD_BUSY: [endpoint("J2", "9"), endpoint("R19", "1"), endpoint("U4", "5")],
EPD_CS: [endpoint("J2", "12"), endpoint("R18", "1"), endpoint("U4", "12")],
SPI_MISO: [endpoint("J4", "7"), endpoint("R20", "2"), endpoint("U4", "6")],
SPI_SCLK: [endpoint("J2", "13"), endpoint("J4", "5"), endpoint("R27", "1")],
SPI_MOSI: [endpoint("J2", "14"), endpoint("J4", "3"), endpoint("R28", "1")],
MCU_IO8: [endpoint("R27", "2"), endpoint("U4", "7")],
MCU_IO10: [endpoint("R28", "2"), endpoint("U4", "10")],
SD_CS: [endpoint("J4", "2"), endpoint("R23", "2"), endpoint("U4", "16")],
SD_DAT1: [endpoint("J4", "8"), endpoint("R24", "2")],
SD_DAT2: [endpoint("J4", "1"), endpoint("R25", "2")],
POWER_BUTTON: [
endpoint("R10", "2"),
endpoint("S2", "2"),
endpoint("S2", "4"),
endpoint("U4", "15"),
],
BUTTONS_ADC: [
endpoint("R11", "2"),
endpoint("SW2", "4"),
endpoint("SW3", "4"),
endpoint("SW4", "4"),
endpoint("SW6", "4"),
endpoint("U4", "17"),
],
BUTTON_BACK_DIV: [endpoint("R1", "1"), endpoint("SW2", "1")],
BUTTON_CONFIRM_DIV: [endpoint("R3", "1"), endpoint("SW3", "1")],
BUTTON_LEFT_DIV: [endpoint("R6", "1"), endpoint("SW4", "1")],
BATT_MEASURE: [
endpoint("R12", "2"),
endpoint("R13", "1"),
endpoint("U4", "18"),
endpoint("TP6", "1"),
],
FL_PWM: [endpoint("R26", "1"), endpoint("U4", "11")],
FL_CTRL: [endpoint("R26", "2"), endpoint("U6", "4")],
FL_INPUT: [
endpoint("C18", "1"),
endpoint("L2", "1"),
endpoint("SW7", "2"),
endpoint("U6", "5"),
],
FL_SWITCH: [endpoint("D5", "2"), endpoint("L2", "2"), endpoint("U6", "1")],
FL_LED_POS: [
endpoint("C26", "1"),
endpoint("C31", "1"),
endpoint("D5", "1"),
endpoint("J3", "5"),
endpoint("TP7", "1"),
],
FL_LED_NEG: [endpoint("J3", "6"), endpoint("R22", "1"), endpoint("U6", "3")],
EPD_PUMP_SWITCH: [
endpoint("C16", "2"),
endpoint("D4", "2"),
endpoint("L1", "2"),
endpoint("Q2", "3"),
],
EPD_PUMP_NEG: [
endpoint("C16", "1"),
endpoint("D2", "1"),
endpoint("D3", "2"),
],
PREVGH: [
endpoint("C17", "1"),
endpoint("D4", "1"),
endpoint("J2", "21"),
endpoint("TP5", "1"),
],
PREVGL: [
endpoint("C23", "2"),
endpoint("C32", "1"),
endpoint("D2", "2"),
endpoint("J2", "23"),
endpoint("TP4", "1"),
],
GDR: [endpoint("J2", "2"), endpoint("Q2", "1"), endpoint("R16", "1")],
RESE: [endpoint("J2", "3"), endpoint("Q2", "2"), endpoint("R17", "1")],
EPD_VDD: [endpoint("C25", "2"), endpoint("J2", "18")],
EPD_VSH1: [endpoint("C22", "2"), endpoint("J2", "20")],
EPD_VSH2: [endpoint("C29", "2"), endpoint("J2", "5")],
EPD_VSL: [endpoint("C28", "2"), endpoint("J2", "22")],
VCOM: [endpoint("C27", "2"), endpoint("J2", "24")],
};
const noConnectAliases = (spec) => spec.noConnect?.map(aliasForPin);
const schematicHeights = {
Q2: 0.4,
U1: 0.6,
U4: 2,
U5: 0.6,
U6: 0.6,
SW7: 0.4,
};
const renderChip = (spec) => {
const half = Math.ceil(spec.pins.length / 2);
const schematicPlacement = schematicPlacementFor(spec.name);
const importedCommon = {
name: spec.name,
pcbX: spec.pcbX,
pcbY: spec.pcbY,
pcbRotation: spec.pcbRotation,
layer: spec.layer,
supplierPartNumbers: supplierPartNumbersFor(spec.name),
schHeight: schematicHeights[spec.name],
...schematicPlacement,
};
if (spec.name === "J2")
return (jsx(FH12_24S_0_5SH_55_, { ...importedCommon, pcbY: spec.pcbY + 0.03723375, noConnect: ["pin1", "pin4", "pin6", "pin7", "pin19", "pin25", "pin26"] }, spec.name));
if (spec.name === "J3")
return (jsx(FPC_05FB_6PH20, { ...importedCommon, pcbY: spec.pcbY + 0.0750353, noConnect: ["pin1", "pin2", "pin3", "pin4", "pin7", "pin8"] }, spec.name));
if (spec.name === "J4")
return (jsx(DM3AT_SF_PEJM5, { ...importedCommon, noConnect: ["pin10", "pin11", "pin12", "pin13", "pin14"] }, spec.name));
if (spec.name === "U4")
return jsx(ESP32_C3_WROOM_02_N4, { ...importedCommon }, spec.name);
if (spec.name === "U5")
return (jsx(ME6211C33M5G_N, { ...importedCommon, pcbRotation: (spec.pcbRotation ?? 0) - 90, noConnect: ["pin4"] }, spec.name));
if (spec.name === "U6")
return (jsx(TPS61169DCKR, { ...importedCommon, pcbRotation: (spec.pcbRotation ?? 0) + 180 }, spec.name));
if (spec.name === "S1" || spec.name === "S2")
return jsx(EVQP7C01P, { ...importedCommon }, spec.name);
if (["SW2", "SW3", "SW4", "SW6"].includes(spec.name))
return (jsx(SKRPACE010, { ...importedCommon, noConnect: ["pin2", "pin3"] }, spec.name));
if (spec.name === "SW7")
return (jsx(JS102011SAQN, { ...importedCommon, pcbX: spec.pcbX - 1.75 }, spec.name));
const common = {
name: spec.name,
manufacturerPartNumber: spec.value,
footprint: spec.footprint,
pinLabels: pinLabelsFor(spec.pins),
noConnect: noConnectAliases(spec),
pcbX: spec.pcbX,
pcbY: spec.pcbY,
pcbRotation: spec.pcbRotation,
layer: spec.layer,
supplierPartNumbers: supplierPartNumbersFor(spec.name),
schPinArrangement: {
leftSide: spec.pins.slice(0, half).map(aliasForPin),
rightSide: spec.pins.slice(half).map(aliasForPin),
},
schHeight: schematicHeights[spec.name],
...schematicPlacement,
};
if (spec.name === "J1")
return (jsx("connector", { name: "J1", manufacturerPartNumber: "USB4105-xx-A", standard: "usb_c", pinCount: 16, pinLabels: pinLabelsFor(spec.pins), noConnect: noConnectAliases(spec), pcbX: spec.pcbX, pcbY: spec.pcbY, pcbRotation: -90, schPinArrangement: {
leftSide: ["P_1", "P_2", "P_3", "P_4", "P_5", "P_6", "P_7", "P_8"],
rightSide: [
"P_16",
"P_15",
"P_14",
"P_13",
"P_12",
"P_11",
"P_10",
"P_9",
],
}, schHeight: 1.4, ...schematicPlacement, footprint: jsxs("footprint", { insertionDirection: "from_top", children: [jsx("smtpad", { shape: "rect", width: "0.6mm", height: "1.15mm", pcbX: -3.2, pcbY: -3.68, portHints: ["pin1"] }), jsx("smtpad", { shape: "rect", width: "0.6mm", height: "1.15mm", pcbX: -2.4, pcbY: -3.68, portHints: ["pin2"] }), jsx("smtpad", { shape: "rect", width: "0.3mm", height: "1.15mm", pcbX: -1.25, pcbY: -3.68, portHints: ["pin6"] }), jsx("smtpad", { shape: "rect", width: "0.3mm", height: "1.15mm", pcbX: -0.25, pcbY: -3.68, portHints: ["pin5"] }), jsx("smtpad", { shape: "rect", width: "0.3mm", height: "1.15mm", pcbX: 0.25, pcbY: -3.68, portHints: ["pin4"] }), jsx("smtpad", { shape: "rect", width: "0.3mm", height: "1.15mm", pcbX: 1.25, pcbY: -3.68, portHints: ["pin3"] }), jsx("smtpad", { shape: "rect", width: "0.3mm", height: "1.15mm", pcbX: -1.75, pcbY: -3.68, portHints: ["pin10"] }), jsx("smtpad", { shape: "rect", width: "0.3mm", height: "1.15mm", pcbX: -0.75, pcbY: -3.68, portHints: ["pin9"] }), jsx("smtpad", { shape: "rect", width: "0.3mm", height: "1.15mm", pcbX: 0.75, pcbY: -3.68, portHints: ["pin8"] }), jsx("smtpad", { shape: "rect", width: "0.3mm", height: "1.15mm", pcbX: 1.75, pcbY: -3.68, portHints: ["pin7"] }), jsx("smtpad", { shape: "rect", width: "0.6mm", height: "1.15mm", pcbX: 2.4, pcbY: -3.68, portHints: ["pin11"] }), jsx("smtpad", { shape: "rect", width: "0.6mm", height: "1.15mm", pcbX: 3.2, pcbY: -3.68, portHints: ["pin12"] }), jsx("platedhole", { shape: "pill", outerWidth: "1mm", outerHeight: "2.1mm", holeWidth: "0.6mm", holeHeight: "1.7mm", pcbX: -4.32, pcbY: -3.105, portHints: ["pin13"] }), jsx("platedhole", { shape: "pill", outerWidth: "1mm", outerHeight: "1.8mm", holeWidth: "0.6mm", holeHeight: "1.4mm", pcbX: -4.32, pcbY: 1.075, portHints: ["pin14"] }), jsx("platedhole", { shape: "pill", outerWidth: "1mm", outerHeight: "2.1mm", holeWidth: "0.6mm", holeHeight: "1.7mm", pcbX: 4.32, pcbY: -3.105, portHints: ["pin15"] }), jsx("platedhole", { shape: "pill", outerWidth: "1mm", outerHeight: "1.8mm", holeWidth: "0.6mm", holeHeight: "1.4mm", pcbX: 4.32, pcbY: 1.075, portHints: ["pin16"] }), jsx("hole", { diameter: "0.65mm", pcbX: -2.89, pcbY: -2.605 }), jsx("hole", { diameter: "0.65mm", pcbX: 2.89, pcbY: -2.605 }), jsx("silkscreenrect", { width: "9.4mm", height: "7.2mm", pcbY: "-0.25mm" }), jsx("courtyardrect", { width: "10.64mm", height: "8.94mm", pcbY: "-0.29mm" })] }) }, spec.name));
if (spec.kind === "connector")
return jsx("connector", { ...common }, spec.name);
if (spec.kind === "pushbutton")
return jsx("pushbutton", { ...common }, spec.name);
return jsx("chip", { ...common }, spec.name);
};
const BatteryUsbSection = () => (jsx("schematicsection", { name: "battery_usb", displayName: "Battery, Protection, USB & Charging" }));
const McuPowerSection = () => (jsx("schematicsection", { name: "mcu_power", displayName: "3.3 V Rail & ESP32-C3" }));
const DisplayPowerSection = () => (jsx("schematicsection", { name: "display_power", displayName: "E-Paper Interface & Bias Rails" }));
const FrontlightSection = () => (jsx("schematicsection", { name: "frontlight", displayName: "15 V Frontlight Driver" }));
const StorageSection = () => (jsx("schematicsection", { name: "storage", displayName: "Micro SD Storage" }));
const ControlsSection = () => (jsx("schematicsection", { name: "controls", displayName: "User Controls" }));
const CircuitSections = () => (jsxs(Fragment, { children: [jsx(BatteryUsbSection, {}), jsx(McuPowerSection, {}), jsx(DisplayPowerSection, {}), jsx(FrontlightSection, {}), jsx(StorageSection, {}), jsx(ControlsSection, {}), capacitors.map((spec) => (jsx("capacitor", { name: spec.name, capacitance: spec.value, footprint: spec.footprint, supplierPartNumbers: supplierPartNumbersFor(spec.name), pcbX: spec.pcbX, pcbY: spec.pcbY, pcbRotation: spec.pcbRotation, layer: spec.layer, schOrientation: "vertical", ...schematicPlacementFor(spec.name) }, spec.name))), resistors.map((spec) => (jsx("resistor", { name: spec.name, resistance: spec.value, footprint: spec.footprint, supplierPartNumbers: supplierPartNumbersFor(spec.name), pcbX: spec.pcbX, pcbY: spec.pcbY, pcbRotation: spec.pcbRotation, layer: spec.layer, ...schematicPlacementFor(spec.name) }, spec.name))), inductors.map((spec) => spec.name === "L2" ? (jsx(FXL0420_100_M, { name: spec.name, pcbX: spec.pcbX, pcbY: spec.pcbY, pcbRotation: spec.pcbRotation, layer: spec.layer, supplierPartNumbers: supplierPartNumbersFor(spec.name), ...schematicPlacementFor(spec.name) }, spec.name)) : (jsx("inductor", { name: spec.name, inductance: spec.value, footprint: spec.footprint, supplierPartNumbers: supplierPartNumbersFor(spec.name), pcbX: spec.pcbX, pcbY: spec.pcbY, pcbRotation: spec.pcbRotation, layer: spec.layer, ...schematicPlacementFor(spec.name) }, spec.name))), jsx("led", { name: "D1", color: "red", pinLabels: polarizedPinLabels, footprint: "0805", pcbX: -29.62440000000001, pcbY: 34.475, pcbRotation: 90, layer: "top", ...schematicPlacementFor("D1") }), diodes.map((spec) => (jsx("diode", { name: spec.name, pinLabels: polarizedPinLabels, footprint: spec.footprint, supplierPartNumbers: supplierPartNumbersFor(spec.name), pcbX: spec.pcbX, pcbY: spec.pcbY, pcbRotation: spec.pcbRotation, layer: spec.layer, ...schematicPlacementFor(spec.name) }, spec.name))), chips.map(renderChip), testpoints.map((testpoint) => (jsx("testpoint", { name: testpoint.name, footprintVariant: "pad", padShape: "circle", padDiameter: "1.5mm", pcbX: testpoint.pcbX, pcbY: testpoint.pcbY, ...schematicPlacementFor(testpoint.name) }, testpoint.name)))] }));
function ESP32EReader() {
return (jsxs("board", { title: "ESP32 E-Reader Rev. B", width: "62.5mm", height: "96.16mm", borderRadius: "5mm", layers: 4, thickness: "1.6mm", doubleSidedAssembly: true, autorouter: { preset: "auto-local", allowViaInPad: true }, isViaInPadAllowed: true, children: [jsx(CircuitSections, {}), Object.entries(nets).map(([name, connections]) => (jsxs(Fragment, { children: [jsx("net", { name: name, isGroundNet: name === "GND", isPowerNet: ["GND", "V3V3", "USB_VBUS", "BATT_P"].includes(name) }), connections.map((connection, index) => (jsx(Fragment, { children: jsx("trace", { from: connection, to: `net.${name}`, thickness: traceThicknessByNet[name] ?? "0.2mm" }) }, `${name}-${index}`)))] }, name))), jsx("cutout", { name: "ENCLOSURE_SLOT", shape: "rect", width: "35mm", height: "2mm", pcbX: 5.75, pcbY: -39.92 }), jsx("silkscreentext", { text: "BATT", pcbX: -22, pcbY: 43, fontSize: "1mm" }), jsx("silkscreentext", { text: "USB", pcbX: 27, pcbY: 31, pcbRotation: 90, fontSize: "1mm" }), jsx("silkscreentext", { text: "POWER", pcbX: -28, pcbY: 20, pcbRotation: 90, fontSize: "1mm" }), jsx("silkscreentext", { text: "EN", pcbX: -28, pcbY: -16, pcbRotation: 90, fontSize: "1mm" }), jsx("silkscreentext", { text: "EPD", pcbX: 1, pcbY: -23, fontSize: "1mm" }), jsx("silkscreentext", { text: "EPD FL", pcbX: 20, pcbY: -23, fontSize: "1mm" }), jsx("silkscreentext", { text: "MICRO SD", pcbX: -22, pcbY: -38, fontSize: "1mm" }), jsx("silkscreentext", { text: "ESP32 E-Reader Rev. B", pcbX: 13, pcbY: -37, fontSize: "1mm" })] }));
}
export { ESP32EReader as default };