pixalynx/esp32-usb-ducky

This design features a PCB with key components including an SOT-223 AMS1117 voltage regulator, a USB Type-C connector with ESD protection array, an ESP32-S3-WROOM-1 module with integrated USB, a microSD card socket, power management chips, status LED, reset and boot buttons, and associated decoupling and signal routing, all arranged on a compact 26mm x 84.5mm dual-layer PCB.

Version
1.2.4
License
unset
Stars
0

dist/index.cjs

'use strict';

var jsxRuntime = require('react/jsx-runtime');

/**
 * Espressif ESP32-S3-WROOM-1-N16R8 (JLCPCB C2913202, 16MB flash / 8MB PSRAM).
 * Chosen over a plain ESP32 because only the S3/S2 series has a native USB
 * device controller — required to enumerate as a USB HID keyboard for
 * "rubber ducky" style keystroke injection. Per Espressif's datasheet,
 * GPIO19/GPIO20 are the fixed native-USB D-/D+ pins and GPIO0 is the BOOT
 * strapping pin; these were cross-checked against the datasheet and match
 * the pin numbers below (imported from JLCPCB/EasyEDA data).
 *
 * microSD: native 4-bit SDMMC (slot routed through the S3 GPIO matrix, so
 * any free GPIO works; GPIO19/20 stay reserved for USB and no strapping or
 * flash/PSRAM pins are used):
 *
 *   SDMMC 4-bit mapping:
 *     CLK  = GPIO12   (SD_CLK, 22R series R13)
 *     CMD  = GPIO11   (SD_CMD)
 *     D0   = GPIO13   (SD_D0)
 *     D1   = GPIO14   (SD_D1)
 *     D2   = GPIO21   (SD_D2)
 *     D3   = GPIO10   (SD_D3)
 *
 * Firmware intent (ESP-IDF, documentation only — no firmware lives here):
 *   4-bit width, 20 MHz for bring-up, then SDMMC_FREQ_HIGHSPEED (40 MHz):
 *     sdmmc_host_t host = SDMMC_HOST_DEFAULT();
 *     host.max_freq_khz = SDMMC_FREQ_HIGHSPEED;
 *     sdmmc_slot_config_t slot = SDMMC_SLOT_CONFIG_DEFAULT();
 *     slot.width = 4;
 *     slot.clk = GPIO_NUM_12; slot.cmd = GPIO_NUM_11;
 *     slot.d0 = GPIO_NUM_13;  slot.d1 = GPIO_NUM_14;
 *     slot.d2 = GPIO_NUM_21;  slot.d3 = GPIO_NUM_10;
 */
const pinLabels$6 = {
    pin1: ["GND1"],
    pin2: ["3V3"],
    pin3: ["EN"],
    pin4: ["IO4", "LED_GPIO"],
    pin5: ["IO5"],
    pin6: ["IO6"],
    pin7: ["IO7"],
    pin8: ["IO15"],
    pin9: ["IO16"],
    pin10: ["IO17"],
    pin11: ["IO18"],
    pin12: ["IO8"],
    pin13: ["IO19", "USB_D_NEG"],
    pin14: ["IO20", "USB_D_POS"],
    pin15: ["IO3"],
    pin16: ["IO46"],
    pin17: ["IO9"],
    pin18: ["IO10", "SD_D3"],
    pin19: ["IO11", "SD_CMD"],
    pin20: ["IO12", "SD_CLK"],
    pin21: ["IO13", "SD_D0"],
    pin22: ["IO14", "SD_D1"],
    pin23: ["IO21", "SD_D2"],
    pin24: ["IO47"],
    pin25: ["IO48"],
    pin26: ["IO45"],
    pin27: ["IO0", "BOOT"],
    pin28: ["IO35"],
    pin29: ["IO36"],
    pin30: ["IO37"],
    pin31: ["IO38"],
    pin32: ["IO39"],
    pin33: ["IO40"],
    pin34: ["IO41"],
    pin35: ["IO42"],
    pin36: ["RXD0"],
    pin37: ["TXD0"],
    pin38: ["IO2"],
    pin39: ["IO1"],
    pin40: ["GND2"],
    pin41: ["GND3"]
};
const pinAttributes$4 = {
    pin1: { requiresGround: true },
    pin40: { requiresGround: true },
    pin41: { requiresGround: true },
    pin2: { requiresPower: true },
    pin3: { mustBeConnected: true },
    pin27: { mustBeConnected: true }
};
const ESP32_S3_WROOM_1_N16R8 = (props) => {
    return (jsxRuntime.jsx("chip", { pinLabels: pinLabels$6, pinAttributes: pinAttributes$4, 
        // GND1 (pin1), GND2 (pin40) and the centre thermal pad GND3 (pin41) are
        // bonded together inside the module. Declaring that lets the centre pad
        // join the GND net through the ground pour + its via-in-pad array
        // instead of a routed trace (the autorouter draws a straight diagonal
        // from the pad centre when asked to route it, crossing other traces).
        internallyConnectedPins: [["pin1", "pin40", "pin41"]], supplierPartNumbers: {
            "jlcpcb": [
                "C2913202"
            ]
        }, manufacturerPartNumber: "ESP32-S3-WROOM-1-N16R8", footprint: jsxRuntime.jsxs("footprint", { children: [jsxRuntime.jsx("smtpad", { portHints: ["pin1"], pcbX: "-8.750046mm", pcbY: "9.0449527mm", width: "1.499997mm", height: "0.8999982mm", shape: "rect" }), jsxRuntime.jsx("smtpad", { portHints: ["pin2"], pcbX: "-8.750046mm", pcbY: "7.7749527mm", width: "1.499997mm", height: "0.8999982mm", shape: "rect" }), jsxRuntime.jsx("smtpad", { portHints: ["pin3"], pcbX: "-8.750046mm", pcbY: "6.5049527mm", width: "1.499997mm", height: "0.8999982mm", shape: "rect" }), jsxRuntime.jsx("smtpad", { portHints: ["pin4"], pcbX: "-8.750046mm", pcbY: "5.2349527mm", width: "1.499997mm", height: "0.8999982mm", shape: "rect" }), jsxRuntime.jsx("smtpad", { portHints: ["pin5"], pcbX: "-8.750046mm", pcbY: "3.9649527mm", width: "1.499997mm", height: "0.8999982mm", shape: "rect" }), jsxRuntime.jsx("smtpad", { portHints: ["pin6"], pcbX: "-8.750046mm", pcbY: "2.6949527mm", width: "1.499997mm", height: "0.8999982mm", shape: "rect" }), jsxRuntime.jsx("smtpad", { portHints: ["pin7"], pcbX: "-8.750046mm", pcbY: "1.4249527mm", width: "1.499997mm", height: "0.8999982mm", shape: "rect" }), jsxRuntime.jsx("smtpad", { portHints: ["pin8"], pcbX: "-8.750046mm", pcbY: "0.1549527mm", width: "1.499997mm", height: "0.8999982mm", shape: "rect" }), jsxRuntime.jsx("smtpad", { portHints: ["pin9"], pcbX: "-8.750046mm", pcbY: "-1.1150473mm", width: "1.499997mm", height: "0.8999982mm", shape: "rect" }), jsxRuntime.jsx("smtpad", { portHints: ["pin10"], pcbX: "-8.750046mm", pcbY: "-2.3850473mm", width: "1.499997mm", height: "0.8999982mm", shape: "rect" }), jsxRuntime.jsx("smtpad", { portHints: ["pin11"], pcbX: "-8.750046mm", pcbY: "-3.6550473mm", width: "1.499997mm", height: "0.8999982mm", shape: "rect" }), jsxRuntime.jsx("smtpad", { portHints: ["pin12"], pcbX: "-8.750046mm", pcbY: "-4.9250473mm", width: "1.499997mm", height: "0.8999982mm", shape: "rect" }), jsxRuntime.jsx("smtpad", { portHints: ["pin13"], pcbX: "-8.750046mm", pcbY: "-6.1950473mm", width: "1.499997mm", height: "0.8999982mm", shape: "rect" }), jsxRuntime.jsx("smtpad", { portHints: ["pin14"], pcbX: "-8.750046mm", pcbY: "-7.4650473mm", width: "1.499997mm", height: "0.8999982mm", shape: "rect" }), jsxRuntime.jsx("smtpad", { portHints: ["pin15"], pcbX: "-6.985mm", pcbY: "-8.7449533mm", width: "0.8999982mm", height: "1.499997mm", shape: "rect" }), jsxRuntime.jsx("smtpad", { portHints: ["pin16"], pcbX: "-5.715mm", pcbY: "-8.7449533mm", width: "0.8999982mm", height: "1.499997mm", shape: "rect" }), jsxRuntime.jsx("smtpad", { portHints: ["pin17"], pcbX: "-4.445mm", pcbY: "-8.7449533mm", width: "0.8999982mm", height: "1.499997mm", shape: "rect" }), jsxRuntime.jsx("smtpad", { portHints: ["pin18"], pcbX: "-3.175mm", pcbY: "-8.7449533mm", width: "0.8999982mm", height: "1.499997mm", shape: "rect" }), jsxRuntime.jsx("smtpad", { portHints: ["pin19"], pcbX: "-1.905mm", pcbY: "-8.7449533mm", width: "0.8999982mm", height: "1.499997mm", shape: "rect" }), jsxRuntime.jsx("smtpad", { portHints: ["pin20"], pcbX: "-0.635mm", pcbY: "-8.7449533mm", width: "0.8999982mm", height: "1.499997mm", shape: "rect" }), jsxRuntime.jsx("smtpad", { portHints: ["pin21"], pcbX: "0.635mm", pcbY: "-8.7449533mm", width: "0.8999982mm", height: "1.499997mm", shape: "rect" }), jsxRuntime.jsx("smtpad", { portHints: ["pin22"], pcbX: "1.905mm", pcbY: "-8.7449533mm", width: "0.8999982mm", height: "1.499997mm", shape: "rect" }), jsxRuntime.jsx("smtpad", { portHints: ["pin23"], pcbX: "3.175mm", pcbY: "-8.7449533mm", width: "0.8999982mm", height: "1.499997mm", shape: "rect" }), jsxRuntime.jsx("smtpad", { portHints: ["pin24"], pcbX: "4.445mm", pcbY: "-8.7449533mm", width: "0.8999982mm", height: "1.499997mm", shape: "rect" }), jsxRuntime.jsx("smtpad", { portHints: ["pin25"], pcbX: "5.715mm", pcbY: "-8.7449533mm", width: "0.8999982mm", height: "1.499997mm", shape: "rect" }), jsxRuntime.jsx("smtpad", { portHints: ["pin26"], pcbX: "6.985mm", pcbY: "-8.7149813mm", width: "0.8999982mm", height: "1.499997mm", shape: "rect" }), jsxRuntime.jsx("smtpad", { portHints: ["pin27"], pcbX: "8.750046mm", pcbY: "-7.4650473mm", width: "1.499997mm", height: "0.8999982mm", shape: "rect" }), jsxRuntime.jsx("smtpad", { portHints: ["pin28"], pcbX: "8.750046mm", pcbY: "-6.1950473mm", width: "1.499997mm", height: "0.8999982mm", shape: "rect" }), jsxRuntime.jsx("smtpad", { portHints: ["pin29"], pcbX: "8.750046mm", pcbY: "-4.9250473mm", width: "1.499997mm", height: "0.8999982mm", shape: "rect" }), jsxRuntime.jsx("smtpad", { portHints: ["pin30"], pcbX: "8.750046mm", pcbY: "-3.6550473mm", width: "1.499997mm", height: "0.8999982mm", shape: "rect" }), jsxRuntime.jsx("smtpad", { portHints: ["pin31"], pcbX: "8.750046mm", pcbY: "-2.3850473mm", width: "1.499997mm", height: "0.8999982mm", shape: "rect" }), jsxRuntime.jsx("smtpad", { portHints: ["pin32"], pcbX: "8.750046mm", pcbY: "-1.1150473mm", width: "1.499997mm", height: "0.8999982mm", shape: "rect" }), jsxRuntime.jsx("smtpad", { portHints: ["pin33"], pcbX: "8.750046mm", pcbY: "0.1549527mm", width: "1.499997mm", height: "0.8999982mm", shape: "rect" }), jsxRuntime.jsx("smtpad", { portHints: ["pin34"], pcbX: "8.750046mm", pcbY: "1.4249527mm", width: "1.499997mm", height: "0.8999982mm", shape: "rect" }), jsxRuntime.jsx("smtpad", { portHints: ["pin35"], pcbX: "8.750046mm", pcbY: "2.6949527mm", width: "1.499997mm", height: "0.8999982mm", shape: "rect" }), jsxRuntime.jsx("smtpad", { portHints: ["pin36"], pcbX: "8.750046mm", pcbY: "3.9649527mm", width: "1.499997mm", height: "0.8999982mm", shape: "rect" }), jsxRuntime.jsx("smtpad", { portHints: ["pin37"], pcbX: "8.750046mm", pcbY: "5.2349527mm", width: "1.499997mm", height: "0.8999982mm", shape: "rect" }), jsxRuntime.jsx("smtpad", { portHints: ["pin38"], pcbX: "8.750046mm", pcbY: "6.5049527mm", width: "1.499997mm", height: "0.8999982mm", shape: "rect" }), jsxRuntime.jsx("smtpad", { portHints: ["pin39"], pcbX: "8.750046mm", pcbY: "7.7749527mm", width: "1.499997mm", height: "0.8999982mm", shape: "rect" }), jsxRuntime.jsx("smtpad", { portHints: ["pin40"], pcbX: "8.750046mm", pcbY: "9.0449527mm", width: "1.499997mm", height: "0.8999982mm", shape: "rect" }), jsxRuntime.jsx("smtpad", { portHints: ["pin41"], pcbX: "-0.100076mm", pcbY: "-0.0751713mm", width: "0.8999982mm", height: "0.8999982mm", shape: "rect" }), jsxRuntime.jsx("smtpad", { portHints: ["pin41"], pcbX: "-1.500124mm", pcbY: "-0.0751713mm", width: "0.8999982mm", height: "0.8999982mm", shape: "rect" }), jsxRuntime.jsx("smtpad", { portHints: ["pin41"], pcbX: "-2.900172mm", pcbY: "-0.0751713mm", width: "0.8999982mm", height: "0.8999982mm", shape: "rect" }), jsxRuntime.jsx("smtpad", { portHints: ["pin41"], pcbX: "-2.900172mm", pcbY: "2.7249247mm", width: "0.8999982mm", height: "0.8999982mm", shape: "rect" }), jsxRuntime.jsx("smtpad", { portHints: ["pin41"], pcbX: "-1.500124mm", pcbY: "2.7249247mm", width: "0.8999982mm", height: "0.8999982mm", shape: "rect" }), jsxRuntime.jsx("smtpad", { portHints: ["pin41"], pcbX: "-0.100076mm", pcbY: "2.7249247mm", width: "0.8999982mm", height: "0.8999982mm", shape: "rect" }), jsxRuntime.jsx("smtpad", { portHints: ["pin41"], pcbX: "-0.100076mm", pcbY: "1.3248767mm", width: "0.8999982mm", height: "0.8999982mm", shape: "rect" }), jsxRuntime.jsx("smtpad", { portHints: ["pin41"], pcbX: "-2.900172mm", pcbY: "1.3248767mm", width: "0.8999982mm", height: "0.8999982mm", shape: "rect" }), jsxRuntime.jsx("smtpad", { portHints: ["pin41"], pcbX: "-1.500124mm", pcbY: "1.3248767mm", width: "0.8999982mm", height: "0.8999982mm", shape: "rect" }), jsxRuntime.jsx("platedhole", { portHints: ["pin41"], pcbX: "-0.100076mm", pcbY: "-0.0751713mm", shape: "circle", holeDiameter: "0.3mm", outerDiameter: "0.6mm" }), jsxRuntime.jsx("platedhole", { portHints: ["pin41"], pcbX: "-1.500124mm", pcbY: "-0.0751713mm", shape: "circle", holeDiameter: "0.3mm", outerDiameter: "0.6mm" }), jsxRuntime.jsx("platedhole", { portHints: ["pin41"], pcbX: "-2.900172mm", pcbY: "-0.0751713mm", shape: "circle", holeDiameter: "0.3mm", outerDiameter: "0.6mm" }), jsxRuntime.jsx("platedhole", { portHints: ["pin41"], pcbX: "-2.900172mm", pcbY: "2.7249247mm", shape: "circle", holeDiameter: "0.3mm", outerDiameter: "0.6mm" }), jsxRuntime.jsx("platedhole", { portHints: ["pin41"], pcbX: "-1.500124mm", pcbY: "2.7249247mm", shape: "circle", holeDiameter: "0.3mm", outerDiameter: "0.6mm" }), jsxRuntime.jsx("platedhole", { portHints: ["pin41"], pcbX: "-0.100076mm", pcbY: "2.7249247mm", shape: "circle", holeDiameter: "0.3mm", outerDiameter: "0.6mm" }), jsxRuntime.jsx("platedhole", { portHints: ["pin41"], pcbX: "-0.100076mm", pcbY: "1.3248767mm", shape: "circle", holeDiameter: "0.3mm", outerDiameter: "0.6mm" }), jsxRuntime.jsx("platedhole", { portHints: ["pin41"], pcbX: "-2.900172mm", pcbY: "1.3248767mm", shape: "circle", holeDiameter: "0.3mm", outerDiameter: "0.6mm" }), jsxRuntime.jsx("platedhole", { portHints: ["pin41"], pcbX: "-1.500124mm", pcbY: "1.3248767mm", shape: "circle", holeDiameter: "0.3mm", outerDiameter: "0.6mm" }), jsxRuntime.jsx("silkscreenpath", { route: [{ "x": 7.297165999999947, "y": 10.505351100000212 }, { "x": 7.297165999999947, "y": 15.38994890000015 }, { "x": 5.061966000000098, "y": 15.38994890000015 }] }), jsxRuntime.jsx("silkscreenpath", { route: [{ "x": 5.265165999999795, "y": 10.505351100000212 }, { "x": 5.265165999999795, "y": 15.38994890000015 }, { "x": 2.4129999999998972, "y": 15.38994890000015 }, { "x": 2.4129999999998972, "y": 13.230948900000158 }, { "x": -0.1270000000000664, "y": 13.230948900000158 }, { "x": -0.1270000000000664, "y": 15.38994890000015 }, { "x": -2.66700000000003, "y": 15.38994890000015 }, { "x": -2.66700000000003, "y": 13.230948900000158 }, { "x": -4.953000000000088, "y": 13.230948900000158 }, { "x": -4.953000000000088, "y": 15.38994890000015 }, { "x": -7.239000000000033, "y": 15.38994890000015 }, { "x": -7.239000000000033, "y": 11.706948900000157 }] }), jsxRuntime.jsx("silkscreenpath", { route: [{ "x": -9.000007400000186, "y": 10.505351100000212 }, { "x": 9.016999999999939, "y": 10.505351100000212 }] }), jsxRuntime.jsx("silkscreenpath", { route: [{ "x": 9.016999999999939, "y": 9.726104500000133 }, { "x": 9.016999999999939, "y": 16.53294890000018 }] }), jsxRuntime.jsx("silkscreenpath", { route: [{ "x": 7.666151799999966, "y": -8.994051099999865 }, { "x": 9.016999999999939, "y": -8.994051099999865 }, { "x": 9.016999999999939, "y": -8.14619909999999 }] }), jsxRuntime.jsx("silkscreenpath", { route: [{ "x": -9.000007400000186, "y": -8.14619909999999 }, { "x": -9.000007400000186, "y": -8.994051099999865 }, { "x": -7.66615180000008, "y": -8.994051099999865 }] }), jsxRuntime.jsx("silkscreenpath", { route: [{ "x": -9.000007400000186, "y": 16.544963100000018 }, { "x": -9.000007400000186, "y": 9.726104500000133 }] }), jsxRuntime.jsx("silkscreenpath", { route: [{ "x": 9.000007400000072, "y": 16.544963100000018 }, { "x": -9.000007400000186, "y": 16.544963100000018 }] }), jsxRuntime.jsx("silkscreentext", { text: "{NAME}", pcbX: "-0mm", pcbY: "17.5633527mm", anchorAlignment: "center", fontSize: "1mm" }), jsxRuntime.jsx("fabricationnotepath", { route: [{ "x": -7.239000000000033, "y": 15.516948900000102 }, { "x": -7.2555862000001525, "y": 15.5158567000002 }, { "x": -7.2718675999999505, "y": 15.51263090000009 }, { "x": -7.287590200000068, "y": 15.507271500000115 }, { "x": -7.302500000000009, "y": 15.499930900000095 }, { "x": -7.316317600000048, "y": 15.490710700000136 }, { "x": -7.328814400000056, "y": 15.479763300000059 }, { "x": -7.339761800000019, "y": 15.467266500000164 }, { "x": -7.348982000000092, "y": 15.453448900000126 }, { "x": -7.356322599999999, "y": 15.438539100000071 }, { "x": -7.361682000000087, "y": 15.422816500000181 }, { "x": -7.364907800000083, "y": 15.406535100000042 }, { "x": -7.366000000000099, "y": 15.38994890000015 }, { "x": -7.366000000000099, "y": 11.706948900000043 }, { "x": -7.364907800000083, "y": 11.69036270000015 }, { "x": -7.361682000000087, "y": 11.674081300000012 }, { "x": -7.356322599999999, "y": 11.658358700000122 }, { "x": -7.348982000000092, "y": 11.643448900000067 }, { "x": -7.339761800000019, "y": 11.629631300000142 }, { "x": -7.328814400000056, "y": 11.617134500000134 }, { "x": -7.316317600000048, "y": 11.606187100000056 }, { "x": -7.302500000000009, "y": 11.596966900000098 }, { "x": -7.287590200000068, "y": 11.589626300000077 }, { "x": -7.2718675999999505, "y": 11.584266900000102 }, { "x": -7.2555862000001525, "y": 11.581041099999993 }, { "x": -7.239000000000033, "y": 11.57994890000009 }, { "x": -7.222413799999913, "y": 11.581041099999993 }, { "x": -7.206132400000229, "y": 11.584266900000102 }, { "x": -7.190409799999998, "y": 11.589626300000077 }, { "x": -7.175500000000056, "y": 11.596966900000098 }, { "x": -7.161682400000018, "y": 11.606187100000056 }, { "x": -7.14918560000001, "y": 11.617134500000134 }, { "x": -7.13823820000016, "y": 11.629631300000142 }, { "x": -7.129017999999974, "y": 11.643448900000067 }, { "x": -7.121677400000067, "y": 11.658358700000122 }, { "x": -7.116317999999978, "y": 11.674081300000012 }, { "x": -7.113092199999983, "y": 11.69036270000015 }, { "x": -7.11200000000008, "y": 11.706948900000043 }, { "x": -7.11200000000008, "y": 15.262948900000083 }, { "x": -5.080000000000041, "y": 15.262948900000083 }, { "x": -5.080000000000041, "y": 13.230948900000044 }, { "x": -5.078907800000138, "y": 13.214362700000152 }, { "x": -5.075682000000143, "y": 13.198081300000013 }, { "x": -5.070322600000054, "y": 13.182358700000123 }, { "x": -5.062982000000034, "y": 13.167448900000068 }, { "x": -5.053761799999961, "y": 13.153631300000143 }, { "x": -5.0428143999999975, "y": 13.141134500000135 }, { "x": -5.030317600000103, "y": 13.130187100000057 }, { "x": -5.016500000000065, "y": 13.120966900000099 }, { "x": -5.00159020000001, "y": 13.113626300000078 }, { "x": -4.985867599999892, "y": 13.108266900000103 }, { "x": -4.969586200000208, "y": 13.105041099999994 }, { "x": -4.953000000000088, "y": 13.103948900000091 }, { "x": -2.66700000000003, "y": 13.103948900000091 }, { "x": -2.6504137999999102, "y": 13.105041099999994 }, { "x": -2.634132400000226, "y": 13.108266900000103 }, { "x": -2.618409799999995, "y": 13.113626300000078 }, { "x": -2.6035000000000537, "y": 13.120966900000099 }, { "x": -2.589682400000015, "y": 13.130187100000057 }, { "x": -2.577185600000007, "y": 13.141134500000135 }, { "x": -2.566238200000157, "y": 13.153631300000143 }, { "x": -2.557017999999971, "y": 13.167448900000068 }, { "x": -2.549677400000064, "y": 13.182358700000123 }, { "x": -2.5443179999999757, "y": 13.198081300000013 }, { "x": -2.54109219999998, "y": 13.214362700000152 }, { "x": -2.5400000000000773, "y": 13.230948900000044 }, { "x": -2.5400000000000773, "y": 15.262948900000083 }, { "x": -0.2540000000000191, "y": 15.262948900000083 }, { "x": -0.2540000000000191, "y": 13.230948900000044 }, { "x": -0.25290780000011637, "y": 13.214362700000152 }, { "x": -0.24968200000012075, "y": 13.198081300000013 }, { "x": -0.24432260000003225, "y": 13.182358700000123 }, { "x": -0.23698200000012548, "y": 13.167448900000068 }, { "x": -0.22776179999993929, "y": 13.153631300000143 }, { "x": -0.21681440000008934, "y": 13.141134500000135 }, { "x": -0.20431760000008126, "y": 13.130187100000057 }, { "x": -0.19050000000004275, "y": 13.120966900000099 }, { "x": -0.1755902000001015, "y": 13.113626300000078 }, { "x": -0.15986759999987044, "y": 13.108266900000103 }, { "x": -0.14358620000018618, "y": 13.105041099999994 }, { "x": -0.1270000000000664, "y": 13.103948900000091 }, { "x": 2.4129999999998972, "y": 13.103948900000091 }, { "x": 2.429586200000017, "y": 13.105041099999994 }, { "x": 2.445867599999815, "y": 13.108266900000103 }, { "x": 2.4615901999999323, "y": 13.113626300000078 }, { "x": 2.4764999999998736, "y": 13.120966900000099 }, { "x": 2.490317599999912, "y": 13.130187100000057 }, { "x": 2.50281439999992, "y": 13.141134500000135 }, { "x": 2.51376179999977, "y": 13.153631300000143 }, { "x": 2.52298200000007, "y": 13.167448900000068 }, { "x": 2.5303225999999768, "y": 13.182358700000123 }, { "x": 2.5356820000000653, "y": 13.198081300000013 }, { "x": 2.538907799999947, "y": 13.214362700000152 }, { "x": 2.53999999999985, "y": 13.230948900000044 }, { "x": 2.53999999999985, "y": 15.262948900000083 }, { "x": 5.06196599999987, "y": 15.262948900000083 }, { "x": 5.138166000000069, "y": 15.262948900000083 }, { "x": 5.138166000000069, "y": 10.505351100000098 }, { "x": 5.139258199999972, "y": 10.488764900000092 }, { "x": 5.142483999999854, "y": 10.472483500000067 }, { "x": 5.1478433999999424, "y": 10.456760900000177 }, { "x": 5.155183999999849, "y": 10.441851100000122 }, { "x": 5.164404200000149, "y": 10.428033500000083 }, { "x": 5.175351599999999, "y": 10.415536700000189 }, { "x": 5.187848400000007, "y": 10.404589300000112 }, { "x": 5.201666000000046, "y": 10.395369100000153 }, { "x": 5.216575799999987, "y": 10.388028500000132 }, { "x": 5.232298399999877, "y": 10.382669100000044 }, { "x": 5.248579799999902, "y": 10.379443300000162 }, { "x": 5.265166000000022, "y": 10.378351100000032 }, { "x": 5.281752199999914, "y": 10.379443300000162 }, { "x": 5.29803359999994, "y": 10.382669100000044 }, { "x": 5.313756200000057, "y": 10.388028500000132 }, { "x": 5.328665999999998, "y": 10.395369100000153 }, { "x": 5.3424835999998095, "y": 10.404589300000112 }, { "x": 5.354980400000045, "y": 10.415536700000189 }, { "x": 5.365927799999895, "y": 10.428033500000083 }, { "x": 5.37514799999974, "y": 10.441851100000122 }, { "x": 5.382488599999874, "y": 10.456760900000177 }, { "x": 5.387847999999963, "y": 10.472483500000067 }, { "x": 5.391073800000072, "y": 10.488764900000092 }, { "x": 5.392165999999975, "y": 10.505351100000098 }, { "x": 5.392165999999975, "y": 15.262948900000083 }, { "x": 7.170165999999995, "y": 15.262948900000083 }, { "x": 7.170165999999995, "y": 10.505351100000098 }, { "x": 7.171258199999897, "y": 10.488764900000092 }, { "x": 7.174484000000007, "y": 10.472483500000067 }, { "x": 7.179843400000095, "y": 10.456760900000177 }, { "x": 7.187184000000002, "y": 10.441851100000122 }, { "x": 7.1964042000000745, "y": 10.428033500000083 }, { "x": 7.2073515999999245, "y": 10.415536700000189 }, { "x": 7.2198483999999326, "y": 10.404589300000112 }, { "x": 7.233665999999971, "y": 10.395369100000153 }, { "x": 7.248575799999912, "y": 10.388028500000132 }, { "x": 7.26429840000003, "y": 10.382669100000044 }, { "x": 7.280579800000055, "y": 10.379443300000162 }, { "x": 7.297165999999947, "y": 10.378351100000032 }, { "x": 7.31375219999984, "y": 10.379443300000162 }, { "x": 7.3300336000000925, "y": 10.382669100000044 }, { "x": 7.3457561999999825, "y": 10.388028500000132 }, { "x": 7.360665999999924, "y": 10.395369100000153 }, { "x": 7.374483599999735, "y": 10.404589300000112 }, { "x": 7.38698039999997, "y": 10.415536700000189 }, { "x": 7.39792779999982, "y": 10.428033500000083 }, { "x": 7.407147999999893, "y": 10.441851100000122 }, { "x": 7.414488600000027, "y": 10.456760900000177 }, { "x": 7.4198480000001155, "y": 10.472483500000067 }, { "x": 7.423073799999997, "y": 10.488764900000092 }, { "x": 7.4241659999999, "y": 10.505351100000098 }, { "x": 7.4241659999999, "y": 15.38994890000015 }, { "x": 7.423073799999997, "y": 15.406535100000042 }, { "x": 7.4198480000001155, "y": 15.422816500000181 }, { "x": 7.414488600000027, "y": 15.438539100000071 }, { "x": 7.407147999999893, "y": 15.453448900000126 }, { "x": 7.39792779999982, "y": 15.467266500000164 }, { "x": 7.38698039999997, "y": 15.479763300000059 }, { "x": 7.374483599999735, "y": 15.490710700000136 }, { "x": 7.360665999999924, "y": 15.499930900000095 }, { "x": 7.3457561999999825, "y": 15.507271500000115 }, { "x": 7.3300336000000925, "y": 15.51263090000009 }, { "x": 7.31375219999984, "y": 15.5158567000002 }, { "x": 7.297165999999947, "y": 15.516948900000102 }, { "x": 5.265166000000022, "y": 15.516948900000102 }, { "x": 5.06196599999987, "y": 15.516948900000102 }, { "x": 2.4129999999998972, "y": 15.516948900000102 }, { "x": 2.3964137999997774, "y": 15.5158567000002 }, { "x": 2.380132400000207, "y": 15.51263090000009 }, { "x": 2.364409799999862, "y": 15.507271500000115 }, { "x": 2.349499999999921, "y": 15.499930900000095 }, { "x": 2.3356823999998824, "y": 15.490710700000136 }, { "x": 2.3231855999998743, "y": 15.479763300000059 }, { "x": 2.3122382000000243, "y": 15.467266500000164 }, { "x": 2.303017999999952, "y": 15.453448900000126 }, { "x": 2.295677400000045, "y": 15.438539100000071 }, { "x": 2.2903179999999566, "y": 15.422816500000181 }, { "x": 2.2870921999998473, "y": 15.406535100000042 }, { "x": 2.2859999999999445, "y": 15.38994890000015 }, { "x": 2.2859999999999445, "y": 13.35794890000011 }, { "x": 0, "y": 13.35794890000011 }, { "x": 0, "y": 15.38994890000015 }, { "x": -0.001092200000016419, "y": 15.406535100000042 }, { "x": -0.0043180000000120344, "y": 15.422816500000181 }, { "x": -0.009677400000100533, "y": 15.438539100000071 }, { "x": -0.017018000000007305, "y": 15.453448900000126 }, { "x": -0.026238200000079814, "y": 15.467266500000164 }, { "x": -0.03718560000004345, "y": 15.479763300000059 }, { "x": -0.04968240000005153, "y": 15.490710700000136 }, { "x": -0.06350000000009004, "y": 15.499930900000095 }, { "x": -0.07840980000003128, "y": 15.507271500000115 }, { "x": -0.09413240000014866, "y": 15.51263090000009 }, { "x": -0.1104137999999466, "y": 15.5158567000002 }, { "x": -0.1270000000000664, "y": 15.516948900000102 }, { "x": -2.66700000000003, "y": 15.516948900000102 }, { "x": -2.68358620000015, "y": 15.5158567000002 }, { "x": -2.6998675999999477, "y": 15.51263090000009 }, { "x": -2.715590200000065, "y": 15.507271500000115 }, { "x": -2.7305000000000064, "y": 15.499930900000095 }, { "x": -2.744317600000045, "y": 15.490710700000136 }, { "x": -2.756814400000053, "y": 15.479763300000059 }, { "x": -2.7677618000000166, "y": 15.467266500000164 }, { "x": -2.776982000000089, "y": 15.453448900000126 }, { "x": -2.784322599999996, "y": 15.438539100000071 }, { "x": -2.7896820000000844, "y": 15.422816500000181 }, { "x": -2.79290780000008, "y": 15.406535100000042 }, { "x": -2.7940000000000964, "y": 15.38994890000015 }, { "x": -2.7940000000000964, "y": 13.35794890000011 }, { "x": -4.826000000000022, "y": 13.35794890000011 }, { "x": -4.826000000000022, "y": 15.38994890000015 }, { "x": -4.827092200000038, "y": 15.406535100000042 }, { "x": -4.830318000000034, "y": 15.422816500000181 }, { "x": -4.835677400000122, "y": 15.438539100000071 }, { "x": -4.843018000000029, "y": 15.453448900000126 }, { "x": -4.852238200000102, "y": 15.467266500000164 }, { "x": -4.863185600000065, "y": 15.479763300000059 }, { "x": -4.87568239999996, "y": 15.490710700000136 }, { "x": -4.889499999999998, "y": 15.499930900000095 }, { "x": -4.904409800000053, "y": 15.507271500000115 }, { "x": -4.9201324000001705, "y": 15.51263090000009 }, { "x": -4.936413799999855, "y": 15.5158567000002 }, { "x": -4.953000000000088, "y": 15.516948900000102 }, { "x": -7.239000000000033, "y": 15.516948900000102 }], strokeWidth: "0.254mm" }), jsxRuntime.jsx("courtyardoutline", { outline: [{ "x": -9.7496000000001, "y": 16.813352699999996 }, { "x": 9.749599999999987, "y": 16.813352699999996 }, { "x": 9.749599999999987, "y": -9.74704729999985 }, { "x": -9.7496000000001, "y": -9.74704729999985 }, { "x": -9.7496000000001, "y": 16.813352699999996 }] })] }), cadModel: {
            objUrl: "https://modelcdn.tscircuit.com/easyeda_models/assets/C2913202.obj?uuid=ff306e3ed51d4ebc94ebabcd1b4d8906",
            stepUrl: "https://modelcdn.tscircuit.com/easyeda_models/assets/C2913202.step?uuid=ff306e3ed51d4ebc94ebabcd1b4d8906",
            pcbRotationOffset: 0,
            modelOriginPosition: { x: 0, y: -3.8004924000000644, z: -0.01 },
        }, ...props }));
};

const pinLabels$5 = {
    pin1: ["IN"],
    pin2: ["GND"],
    pin3: ["EN"],
    pin4: ["NC"],
    pin5: ["OUT"]
};
const pinAttributes$3 = {
    pin2: { requiresGround: true },
    pin4: { doNotConnect: true }
};
const TLV75733PDBVR = (props) => {
    return (jsxRuntime.jsx("chip", { pinLabels: pinLabels$5, pinAttributes: pinAttributes$3, supplierPartNumbers: {
            "jlcpcb": [
                "C485517"
            ]
        }, manufacturerPartNumber: "TLV75733PDBVR", footprint: "sot25_w2.2mm_pl1mm_pin1location(leftside,bottom)", cadModel: {
            objUrl: "https://modelcdn.tscircuit.com/easyeda_models/assets/C485517.obj?uuid=de83a77687e64788a98e316d865b3813",
            stepUrl: "https://modelcdn.tscircuit.com/easyeda_models/assets/C485517.step?uuid=de83a77687e64788a98e316d865b3813",
            pcbRotationOffset: 0,
            modelOriginPosition: { x: 0, y: 0, z: -0.75 },
        }, ...props }));
};

/**
 * USBLC6-2SC6 low-capacitance USB ESD protection array, SOT-23-6.
 * JLCPCB C2687116 is the UMW (Youtai Semiconductor) pin-compatible
 * second source of the ST part; the pinout and package are identical. Footprint is the exact EasyEDA land pattern (6 pads,
 * 0.95mm pitch, 2 rows at +/-1.149mm) — verified against the manufacturer
 * package, so JLCPCB's part lands correctly. I/O pin names follow ST's
 * datasheet: I/O1 is bonded to both pin1 and pin6, I/O2 to both pin3 and
 * pin4, so either pin of a pair works (or both, as a straight-through pair).
 */
const pinLabels$4 = {
    pin1: ["IO1"],
    pin2: ["GND"],
    pin3: ["IO2"],
    pin4: ["IO2_B"],
    pin5: ["VBUS"],
    pin6: ["IO1_B"]
};
const pinAttributes$2 = {
    pin2: { requiresGround: true },
    pin5: { requiresPower: true }
};
const USBLC6_2SC6 = (props) => {
    return (jsxRuntime.jsx("chip", { pinLabels: pinLabels$4, pinAttributes: pinAttributes$2, supplierPartNumbers: {
            "jlcpcb": [
                "C2687116"
            ]
        }, manufacturerPartNumber: "USBLC6-2SC6", footprint: jsxRuntime.jsxs("footprint", { children: [jsxRuntime.jsx("smtpad", { portHints: ["pin1"], pcbX: "-0.94996mm", pcbY: "-1.149096mm", width: "0.532003mm", height: "1.072007mm", shape: "rect" }), jsxRuntime.jsx("smtpad", { portHints: ["pin2"], pcbX: "0mm", pcbY: "-1.149096mm", width: "0.532003mm", height: "1.072007mm", shape: "rect" }), jsxRuntime.jsx("smtpad", { portHints: ["pin3"], pcbX: "0.94996mm", pcbY: "-1.149096mm", width: "0.532003mm", height: "1.072007mm", shape: "rect" }), jsxRuntime.jsx("smtpad", { portHints: ["pin4"], pcbX: "0.94996mm", pcbY: "1.149096mm", width: "0.532003mm", height: "1.072007mm", shape: "rect" }), jsxRuntime.jsx("smtpad", { portHints: ["pin5"], pcbX: "0mm", pcbY: "1.149096mm", width: "0.532003mm", height: "1.072007mm", shape: "rect" }), jsxRuntime.jsx("smtpad", { portHints: ["pin6"], pcbX: "-0.94996mm", pcbY: "1.149096mm", width: "0.532003mm", height: "1.072007mm", shape: "rect" }), jsxRuntime.jsx("silkscreenpath", { route: [{ "x": 1.5391891999998961, "y": -0.8892031999998835 }, { "x": 1.5391891999998961, "y": 0.8892031999999972 }] }), jsxRuntime.jsx("silkscreenpath", { route: [{ "x": -1.5391892000000098, "y": -0.8892031999998835 }, { "x": -1.5391892000000098, "y": 0.8892031999999972 }] }), jsxRuntime.jsx("silkscreencircle", { pcbX: "-1.668272mm", pcbY: "-1.301496mm", radius: "0.150114mm" }), jsxRuntime.jsx("silkscreentext", { text: "{NAME}", pcbX: "-0.1524mm", pcbY: "2.6764mm", anchorAlignment: "center", fontSize: "1mm" }), jsxRuntime.jsx("courtyardoutline", { outline: [{ "x": -2.078800000000001, "y": 1.9264000000000578 }, { "x": 1.7739999999998872, "y": 1.9264000000000578 }, { "x": 1.7739999999998872, "y": -2.0279999999999063 }, { "x": -2.078800000000001, "y": -2.0279999999999063 }, { "x": -2.078800000000001, "y": 1.9264000000000578 }] })] }), cadModel: {
            objUrl: "https://modelcdn.tscircuit.com/easyeda_models/assets/C2687116.obj?uuid=229b69761e2c45dba6a83d8866dec72d",
            stepUrl: "https://modelcdn.tscircuit.com/easyeda_models/assets/C2687116.step?uuid=229b69761e2c45dba6a83d8866dec72d",
            pcbRotationOffset: 90,
            modelOriginPosition: { x: -12700000070253736e-21, y: 0.000012700000070253736, z: -0.048939 },
        }, ...props }));
};

/**
 * TF-01A push-push microSD socket (JLCPCB C91145). JLCPCB/EasyEDA only
 * resolved VDD/VSS/CD; pins 1/2/3/5/7/8 follow the standard SD Association
 * 8-contact microSD pinout (SPI-mode names in parens) — DAT2, CS(CD/DAT3),
 * MOSI(CMD), CLK, MISO(DAT0), DAT1 — this ordering was verified against the
 * standard microSD mapping and is correct. DAT1/DAT2 are unused in 1-bit SPI
 * mode and left unconnected. pin9 is the mechanical card-detect switch
 * (separate from the electrical DAT3/CD line); left unconnected since this
 * design doesn't do card-insertion detection. pins 10-13 are the shell's
 * ground/shield legs.
 */
const pinLabels$3 = {
    pin1: ["DAT2"],
    pin2: ["CS"],
    pin3: ["MOSI"],
    pin4: ["VDD"],
    pin5: ["SCK"],
    pin6: ["VSS"],
    pin7: ["MISO"],
    pin8: ["DAT1"],
    pin9: ["CD"],
    pin10: ["GND1"],
    pin11: ["GND4"],
    pin12: ["GND3"],
    pin13: ["GND2"]
};
const pinAttributes$1 = {
    pin4: { requiresPower: true },
    pin6: { requiresGround: true },
    pin10: { requiresGround: true },
    pin11: { requiresGround: true },
    pin12: { requiresGround: true },
    pin13: { requiresGround: true }
};
const TF_01A = (props) => {
    return (jsxRuntime.jsx("chip", { pinLabels: pinLabels$3, pinAttributes: pinAttributes$1, supplierPartNumbers: {
            "jlcpcb": [
                "C91145"
            ]
        }, manufacturerPartNumber: "TF-01A", footprint: jsxRuntime.jsxs("footprint", { children: [jsxRuntime.jsx("hole", { pcbX: "-4.9499393mm", pcbY: "-5.39108015mm", diameter: "0.999998mm" }), jsxRuntime.jsx("hole", { pcbX: "3.0500447mm", pcbY: "-5.39108015mm", diameter: "0.999998mm" }), jsxRuntime.jsx("smtpad", { portHints: ["pin1"], pcbX: "2.2400133mm", pcbY: "5.45108765mm", width: "0.5999988mm", height: "1.2999974mm", shape: "rect" }), jsxRuntime.jsx("smtpad", { portHints: ["pin2"], pcbX: "1.1399647mm", pcbY: "5.45108765mm", width: "0.5999988mm", height: "1.2999974mm", shape: "rect" }), jsxRuntime.jsx("smtpad", { portHints: ["pin3"], pcbX: "0.0399161mm", pcbY: "5.45108765mm", width: "0.5999988mm", height: "1.2999974mm", shape: "rect" }), jsxRuntime.jsx("smtpad", { portHints: ["pin4"], pcbX: "-1.0601325mm", pcbY: "5.45108765mm", width: "0.5999988mm", height: "1.2999974mm", shape: "rect" }), jsxRuntime.jsx("smtpad", { portHints: ["pin5"], pcbX: "-2.1599525mm", pcbY: "5.45108765mm", width: "0.5999988mm", height: "1.2999974mm", shape: "rect" }), jsxRuntime.jsx("smtpad", { portHints: ["pin6"], pcbX: "-3.2600011mm", pcbY: "5.45108765mm", width: "0.5999988mm", height: "1.2999974mm", shape: "rect" }), jsxRuntime.jsx("smtpad", { portHints: ["pin7"], pcbX: "-4.3600497mm", pcbY: "5.45108765mm", width: "0.5999988mm", height: "1.2999974mm", shape: "rect" }), jsxRuntime.jsx("smtpad", { portHints: ["pin8"], pcbX: "-5.4598697mm", pcbY: "5.45108765mm", width: "0.5999988mm", height: "1.2999974mm", shape: "rect" }), jsxRuntime.jsx("smtpad", { portHints: ["pin9"], pcbX: "-6.5599691mm", pcbY: "5.45068125mm", width: "0.5999988mm", height: "1.2999974mm", shape: "rect" }), jsxRuntime.jsx("smtpad", { portHints: ["pin10"], pcbX: "-7.7599667mm", pcbY: "4.60069565mm", width: "1.1999976mm", height: "1.3999972mm", shape: "rect" }), jsxRuntime.jsx("smtpad", { portHints: ["pin13"], pcbX: "6.9200141mm", pcbY: "4.60069565mm", width: "1.1999976mm", height: "1.3999972mm", shape: "rect" }), jsxRuntime.jsx("smtpad", { portHints: ["pin12"], pcbX: "7.7599667mm", pcbY: "-5.10108835mm", width: "1.1999976mm", height: "1.999996mm", shape: "rect" }), jsxRuntime.jsx("smtpad", { portHints: ["pin11"], pcbX: "-7.7599667mm", pcbY: "-5.10108835mm", width: "1.1999976mm", height: "1.999996mm", shape: "rect" }), jsxRuntime.jsx("silkscreenpath", { route: [{ "x": -7.365987300000029, "y": 3.581139650000182 }, { "x": -7.365987300000029, "y": -3.927989349999848 }] }), jsxRuntime.jsx("silkscreenpath", { route: [{ "x": 7.366012699999828, "y": -3.991514749999851 }, { "x": 7.366012699999828, "y": 3.501485250000087 }] }), jsxRuntime.jsx("silkscreenpath", { route: [{ "x": -7.365987300000029, "y": -6.340963949999946 }, { "x": -7.365987300000029, "y": -9.401054349999981 }, { "x": 7.366012699999828, "y": -9.401028949999954 }, { "x": 7.366012699999828, "y": -6.491027149999923 }] }), jsxRuntime.jsx("silkscreenpath", { route: [{ "x": -7.365987300000029, "y": -8.915685749999966 }, { "x": -7.365987300000029, "y": -8.691022750000116 }, { "x": 1.000010699999848, "y": -8.691022750000116 }, { "x": 3.9370126999999684, "y": -9.388100349999945 }] }), jsxRuntime.jsx("silkscreentext", { text: "{NAME}", pcbX: "0.0000127mm", pcbY: "7.11097965mm", anchorAlignment: "center", fontSize: "1mm" }), jsxRuntime.jsx("fabricationnotepath", { route: [{ "x": -6.999998699999992, "y": -9.490995750000025 }, { "x": -6.999998699999992, "y": 2.0090066500000603 }, { "x": -6.999998699999992, "y": -9.490995750000025 }], strokeWidth: "0.254mm" }), jsxRuntime.jsx("fabricationnotepath", { route: [{ "x": 7.000024100000019, "y": -9.490995750000025 }, { "x": 7.000024100000019, "y": 2.0090066500000603 }, { "x": 6.0000007000001006, "y": 2.0090066500000603 }, { "x": 6.0000007000001006, "y": -9.490995750000025 }, { "x": 7.000024100000019, "y": -9.490995750000025 }], strokeWidth: "0.254mm" }), jsxRuntime.jsx("fabricationnotepath", { route: [{ "x": -5.999975300000074, "y": 2.0090066500000603 }, { "x": 6.0000007000001006, "y": 2.0090066500000603 }, { "x": 6.0000007000001006, "y": 1.0090086500000552 }, { "x": -5.999975300000074, "y": 1.0090086500000552 }, { "x": -5.999975300000074, "y": 2.0090066500000603 }], strokeWidth: "0.254mm" }), jsxRuntime.jsx("courtyardoutline", { outline: [{ "x": -8.606587300000115, "y": 6.360979650000104 }, { "x": 8.606612699999914, "y": 6.360979650000104 }, { "x": 8.606612699999914, "y": -9.73462035 }, { "x": -8.606587300000115, "y": -9.73462035 }, { "x": -8.606587300000115, "y": 6.360979650000104 }] })] }), cadModel: {
            objUrl: "https://modelcdn.tscircuit.com/easyeda_models/assets/C91145.obj?uuid=5685a23adc9a4e3e9b914abe5ae03aae",
            stepUrl: "https://modelcdn.tscircuit.com/easyeda_models/assets/C91145.step?uuid=5685a23adc9a4e3e9b914abe5ae03aae",
            pcbRotationOffset: 0,
            modelOriginPosition: { x: -0.0022224999997728645, y: 5.101310850000045, z: -0.14733820000000009 },
        }, ...props }));
};

const pinLabels$2 = {
    pin1: ["A"],
    pin2: ["B"],
    pin3: ["C"],
    pin4: ["D"]
};
const TS_1187A_B_A_B = (props) => {
    const { name = "SW1", ...restProps } = props;
    return (jsxRuntime.jsx("pushbutton", { name: name, pinLabels: pinLabels$2, 
        // Per the XKB TS-1187A datasheet, A(pin1)-B(pin2) are one internal
        // terminal (top row of the footprint) and C(pin3)-D(pin4) the other
        // (bottom row); pressing the button joins A/B to C/D.
        internallyConnectedPins: [["pin1", "pin2"], ["pin3", "pin4"]], supplierPartNumbers: {
            "jlcpcb": [
                "C318884"
            ]
        }, manufacturerPartNumber: "TS-1187A-B-A-B", footprint: "smdpushbutton4_px6mm_py3.7mm_pw1mm_ph0.75mm", cadModel: {
            objUrl: "https://modelcdn.tscircuit.com/easyeda_models/assets/C318884.obj?uuid=91b67c1735f643ffb2e7226c23dd3492",
            stepUrl: "https://modelcdn.tscircuit.com/easyeda_models/assets/C318884.step?uuid=91b67c1735f643ffb2e7226c23dd3492",
            pcbRotationOffset: 0,
            modelOriginPosition: { x: 0.000012700000070253736, y: 0.0004999999999999449, z: -0.05 },
        }, ...restProps }));
};

const pinLabels$1 = {
    pin25: ["SHELL1"],
    pin26: ["SHELL2"],
    pin27: ["A1", "GND1"],
    pin28: ["A2", "SSTXP1"],
    pin29: ["A3", "SSTXN1"],
    pin30: ["A4", "VBUS1"],
    pin31: ["B12", "GND2"],
    pin32: ["B11", "SSRXP1"],
    pin33: ["B10", "SSRXN1"],
    pin34: ["B9", "VBUS2"],
    pin35: ["A5", "CC1"],
    pin36: ["A6", "DP1"],
    pin37: ["A7", "DN1"],
    pin38: ["A12", "GND3"]
};
const pinAttributes = {
    pin30: { requiresPower: true },
    pin34: { requiresPower: true },
    pin27: { requiresGround: true },
    pin31: { requiresGround: true },
    pin38: { requiresGround: true },
    pin25: { requiresGround: true },
    pin26: { requiresGround: true },
};
const U261_121N_4BS2S = (props) => {
    return (jsxRuntime.jsx("chip", { pinLabels: pinLabels$1, pinAttributes: pinAttributes, supplierPartNumbers: {
            "jlcpcb": [
                "C2879827"
            ]
        }, manufacturerPartNumber: "U261-121N-4BS2S", footprint: jsxRuntime.jsxs("footprint", { children: [jsxRuntime.jsx("platedhole", { portHints: ["pin25"], pcbX: "-4.275074mm", pcbY: "0.17498695mm", holeWidth: "0.5000244mm", holeHeight: "1.700022mm", outerWidth: "1.1999976mm", outerHeight: "2.3999952mm", shape: "pill" }), jsxRuntime.jsx("platedhole", { portHints: ["pin26"], pcbX: "4.27482mm", pcbY: "0.17498695mm", holeWidth: "0.5000244mm", holeHeight: "1.700022mm", outerWidth: "1.1999976mm", outerHeight: "2.3999952mm", shape: "pill" }), jsxRuntime.jsx("smtpad", { portHints: ["pin27"], pcbX: "2.749804mm", pcbY: "0.52499895mm", width: "0.2999994mm", height: "0.8999982mm", shape: "rect" }), jsxRuntime.jsx("smtpad", { portHints: ["pin28"], pcbX: "2.249932mm", pcbY: "0.52499895mm", width: "0.2999994mm", height: "0.8999982mm", shape: "rect" }), jsxRuntime.jsx("smtpad", { portHints: ["pin29"], pcbX: "1.749806mm", pcbY: "0.52499895mm", width: "0.2999994mm", height: "0.8999982mm", shape: "rect" }), jsxRuntime.jsx("smtpad", { portHints: ["pin30"], pcbX: "1.249934mm", pcbY: "0.52499895mm", width: "0.2999994mm", height: "0.8999982mm", shape: "rect" }), jsxRuntime.jsx("smtpad", { portHints: ["pin31"], pcbX: "0.749808mm", pcbY: "0.52499895mm", width: "0.2999994mm", height: "0.8999982mm", shape: "rect" }), jsxRuntime.jsx("smtpad", { portHints: ["pin32"], pcbX: "0.249936mm", pcbY: "0.52499895mm", width: "0.2999994mm", height: "0.8999982mm", shape: "rect" }), jsxRuntime.jsx("smtpad", { portHints: ["pin33"], pcbX: "-0.25019mm", pcbY: "0.52499895mm", width: "0.2999994mm", height: "0.8999982mm", shape: "rect" }), jsxRuntime.jsx("smtpad", { portHints: ["pin34"], pcbX: "-0.750062mm", pcbY: "0.52499895mm", width: "0.2999994mm", height: "0.8999982mm", shape: "rect" }), jsxRuntime.jsx("smtpad", { portHints: ["pin35"], pcbX: "-1.250188mm", pcbY: "0.52499895mm", width: "0.2999994mm", height: "0.8999982mm", shape: "rect" }), jsxRuntime.jsx("smtpad", { portHints: ["pin36"], pcbX: "-1.75006mm", pcbY: "0.52499895mm", width: "0.2999994mm", height: "0.8999982mm", shape: "rect" }), jsxRuntime.jsx("smtpad", { portHints: ["pin37"], pcbX: "-2.250186mm", pcbY: "0.52499895mm", width: "0.2999994mm", height: "0.8999982mm", shape: "rect" }), jsxRuntime.jsx("smtpad", { portHints: ["pin38"], pcbX: "-2.750058mm", pcbY: "0.52499895mm", width: "0.2999994mm", height: "0.8999982mm", shape: "rect" }), jsxRuntime.jsx("smtpad", { portHints: ["pin25"], pcbX: "-3.999992mm", pcbY: "-0.47499905mm", width: "1.4299946mm", height: "0.999998mm", shape: "rect" }), jsxRuntime.jsx("smtpad", { portHints: ["pin26"], pcbX: "3.999992mm", pcbY: "-0.47499905mm", width: "1.4299946mm", height: "0.999998mm", shape: "rect" }), jsxRuntime.jsx("silkscreenpath", { route: [{ "x": -4.31901599999992, "y": -0.7551610499999697 }, { "x": -4.235170599999947, "y": -12.955085850000046 }, { "x": 4.294809800000053, "y": -12.955085850000046 }, { "x": 4.316983999999934, "y": -0.7551610499999697 }] }), jsxRuntime.jsx("silkscreenpath", { route: [{ "x": 2.96458640000003, "y": 1.1949747499999148 }, { "x": 3.6769040000001496, "y": 1.1949747499999148 }] }), jsxRuntime.jsx("silkscreenpath", { route: [{ "x": -3.6772595999999567, "y": 1.1949747499999148 }, { "x": -2.9649673999999777, "y": 1.1949747499999148 }] }), jsxRuntime.jsx("silkscreencircle", { pcbX: "2.579878mm", pcbY: "1.34491095mm", radius: "0.127mm" }), jsxRuntime.jsx("silkscreentext", { text: "{NAME}", pcbX: "0.006604mm", pcbY: "2.46479895mm", anchorAlignment: "center", fontSize: "1mm" }), jsxRuntime.jsx("courtyardoutline", { outline: [{ "x": -5.145595999999955, "y": 1.7147989499999312 }, { "x": 5.158804000000032, "y": 1.7147989499999312 }, { "x": 5.158804000000032, "y": -13.212401050000153 }, { "x": -5.145595999999955, "y": -13.212401050000153 }, { "x": -5.145595999999955, "y": 1.7147989499999312 }] })] }), cadModel: {
            objUrl: "https://modelcdn.tscircuit.com/easyeda_models/assets/C2879827.obj?uuid=f20717cda2a24fedb1b3a085e3246fc0",
            stepUrl: "https://modelcdn.tscircuit.com/easyeda_models/assets/C2879827.step?uuid=f20717cda2a24fedb1b3a085e3246fc0",
            pcbRotationOffset: 0,
            // The EasyEDA importer's origin (y 1.94, z 2.3) rendered the plug
            // 2.55mm below the board surface, so it looked detached. Measured from
            // the OBJ: the mounting flange's underside is at z=-0.25 and the two
            // shell pegs are centred at y=2.30, while the footprint's peg slots are
            // centred at y=0.175. Shifting the origin puts the flange on the board
            // top and the pegs in their slots; the 10mm plug body then overhangs
            // the board edge as the datasheet's recommended layout shows.
            modelOriginPosition: { x: 0.00013970000009067007, y: 2.125, z: -0.25 },
        }, ...props }));
};

const pinLabels = {
    pin1: ["cathode", "neg"],
    pin2: ["anode", "pos"]
};
const XL_1608UBC_04 = (props) => {
    const { name = "LED1", ...restProps } = props;
    return (jsxRuntime.jsx("led", { name: name, pinLabels: pinLabels, supplierPartNumbers: {
            "jlcpcb": [
                "C965807"
            ]
        }, manufacturerPartNumber: "XL-1608UBC-04", footprint: "smdpads2_p1.498mm_pw0.8mm_ph0.8mm", cadModel: {
            objUrl: "https://modelcdn.tscircuit.com/easyeda_models/assets/C965807.obj?uuid=bfb81b195f37496bb30ade8d51870f96",
            stepUrl: "https://modelcdn.tscircuit.com/easyeda_models/assets/C965807.step?uuid=bfb81b195f37496bb30ade8d51870f96",
            pcbRotationOffset: 0,
            modelOriginPosition: { x: -12700000070253736e-21, y: -5080000005364127e-20, z: -0.01 },
        }, ...restProps }));
};

// Schematic sections on a compact grid.
const SEC = {
    Usb: { x: 0, y: 16 },
    Mcu: { x: 0, y: 2 },
    BootReset: { x: 10, y: 2 },
    Power: { x: -10, y: -8 },
    Indicator: { x: 20, y: -8 },
    MicroSd: { x: 0, y: -20 },
};
// Board outline is a plain 26 x 84.5mm stick. The USB-C male plug (J1) is a
// board-edge part: only its 4.65mm rear flange sits on the PCB and the ~9mm
// plug body overhangs the TOP edge (y = +35.5) to insert straight into a host.
// Per the XKB datasheet's recommended layout the PCB edge is 4.65mm ahead of
// the connector's rear face, i.e. ~4.0mm ahead of the signal-pad centres —
// with J1 at pcbY=32 (pads at y=31.5) the 35.5 edge lands on that line.
// The ESP32 module lives at the BOTTOM with its printed antenna right at the
// bottom edge, as far from the USB metal as the board allows.
//   top edge (USB-C plug)   y = +35.5
//   bottom edge (antenna)   y = -49
const BOARD_OUTLINE = [
    { x: -13, y: -49 },
    { x: 13, y: -49 },
    { x: 13, y: 35.5 },
    { x: -13, y: 35.5 },
];
// U1 is placed antenna-down (pcbRotation=180) at the bottom. Its printed
// antenna (the module's own meander) now sits flush at the bottom board edge
// with no copper around or under it — the proper spot for RF, well clear of
// the USB shell up top. The keepout spans the FULL board width (26mm) so the
// GND pours can't fill the strips beside the antenna down to the board edge
// (Espressif's module guidelines want the sides of the antenna clear, not just
// the area under it).
const ANTENNA_KEEPOUT = { pcbX: 0, pcbY: -45.65, width: 26.2, height: 6.6 };
var index_circuit = () => (jsxRuntime.jsxs("board", { width: "26mm", height: "84.5mm", layers: 2, thickness: "1.6mm", outline: BOARD_OUTLINE, title: "ESP32-S3 USB-C Stick", 
    // Autorouter vias: 0.3mm hole / 0.5mm pad = 0.1mm annular ring, the
    // minimum JLCPCB accepts (they prefer 0.15mm; bump the pad to 0.6mm if
    // routing density allows).
    pcbStyle: { viaHoleDiameter: "0.3mm", viaPadDiameter: "0.5mm" }, children: [jsxRuntime.jsx("net", { name: "GND", isGroundNet: true }), jsxRuntime.jsx("net", { name: "VBUS", isPowerNet: true }), jsxRuntime.jsx("net", { name: "V3V3", isPowerNet: true }), jsxRuntime.jsx("schematicsection", { name: "Usb", displayName: "USB-C Plug & ESD" }), jsxRuntime.jsx("schematicsection", { name: "Mcu", displayName: "ESP32-S3-WROOM-1" }), jsxRuntime.jsx("schematicsection", { name: "BootReset", displayName: "Boot / Reset" }), jsxRuntime.jsx("schematicsection", { name: "Power", displayName: "5V -> 3.3V Regulation" }), jsxRuntime.jsx("schematicsection", { name: "Indicator", displayName: "Status LED" }), jsxRuntime.jsx("schematicsection", { name: "MicroSd", displayName: "MicroSD (4-bit SDMMC)" }), jsxRuntime.jsx(U261_121N_4BS2S, { name: "J1", pcbX: 0, pcbY: 32, pcbRotation: 180, schX: SEC.Usb.x, schY: SEC.Usb.y, schSectionName: "Usb" }), jsxRuntime.jsx("resistor", { name: "R11", resistance: "5.1k", footprint: "0402", pcbX: -4, pcbY: 28.5, schSectionName: "Usb", schX: SEC.Usb.x - 5, schY: SEC.Usb.y - 2 }), jsxRuntime.jsx(USBLC6_2SC6, { name: "U3", pcbX: 4.5, pcbY: 27.8, schSectionName: "Usb", schX: SEC.Usb.x + 6, schY: SEC.Usb.y - 3 }), jsxRuntime.jsx("resistor", { name: "R3", resistance: "22", footprint: "0402", pcbX: 10.85, pcbY: -24.5, pcbRotation: 270, schSectionName: "Usb", schX: SEC.Usb.x + 3, schY: SEC.Usb.y - 6 }), jsxRuntime.jsx("resistor", { name: "R4", resistance: "22", footprint: "0402", pcbX: 11.85, pcbY: -24.5, pcbRotation: 270, schSectionName: "Usb", schX: SEC.Usb.x - 3, schY: SEC.Usb.y - 6 }), jsxRuntime.jsx("trace", { from: "J1.VBUS1", to: "net.VBUS", thickness: "0.4mm" }), jsxRuntime.jsx("trace", { from: "J1.VBUS2", to: "net.VBUS", thickness: "0.4mm" }), jsxRuntime.jsx("trace", { from: "J1.GND1", to: "net.GND" }), jsxRuntime.jsx("trace", { from: "J1.GND2", to: "net.GND" }), jsxRuntime.jsx("trace", { from: "J1.GND3", to: "net.GND" }), jsxRuntime.jsx("trace", { from: "J1.SHELL1", to: "net.GND" }), jsxRuntime.jsx("trace", { from: "J1.SHELL2", to: "net.GND" }), jsxRuntime.jsx("trace", { from: "J1.CC1", to: "R11.pin1" }), jsxRuntime.jsx("trace", { from: "R11.pin2", to: "net.GND" }), jsxRuntime.jsx("trace", { from: "J1.DP1", to: "U3.IO1_B" }), jsxRuntime.jsx("trace", { from: "J1.DN1", to: "U3.IO2_B" }), jsxRuntime.jsx("trace", { from: "U3.GND", to: "net.GND" }), jsxRuntime.jsx("trace", { from: "U3.VBUS", to: "net.VBUS" }), jsxRuntime.jsx("trace", { name: "USB_DP_pair", from: "U3.IO1", to: "R3.pin1", thickness: "0.2mm", pcbPath: [
                { x: -0.95, y: -2.2 },
                { x: 6.9, y: -7 },
                { x: 6.9, y: -50.8 },
                { x: 6.35, y: -51.35 },
            ] }), jsxRuntime.jsx("trace", { name: "USB_DN_pair", from: "U3.IO2", to: "R4.pin1", thickness: "0.2mm", pcbPath: [
                { x: 0.95, y: -2.893 },
                { x: 7.3, y: -6.776 },
                { x: 7.3, y: -50.8 },
                { x: 7.35, y: -51.35 },
            ] }), jsxRuntime.jsx("capacitor", { name: "C9", capacitance: "100nF", footprint: "0402", pcbX: 7.5, pcbY: 29, schOrientation: "vertical", schSectionName: "Usb", schX: SEC.Usb.x + 6, schY: SEC.Usb.y - 6 }), jsxRuntime.jsx("trace", { from: "C9.pin1", to: "net.VBUS" }), jsxRuntime.jsx("trace", { from: "C9.pin2", to: "net.GND" }), jsxRuntime.jsx(TLV75733PDBVR, { name: "U2", pcbX: 0, pcbY: 15.5, schSectionName: "Power", schX: SEC.Power.x, schY: SEC.Power.y - 0.68 }), jsxRuntime.jsx("capacitor", { name: "C1", capacitance: "10uF", footprint: "0805", schOrientation: "vertical", pcbX: -3.5, pcbY: 13.6, pcbRotation: 180, schSectionName: "Power", schX: SEC.Power.x - 4, schY: SEC.Power.y }), jsxRuntime.jsx("capacitor", { name: "C2", capacitance: "22uF", footprint: "0805", supplierPartNumbers: { jlcpcb: ["C45783"] }, schOrientation: "vertical", pcbX: -3.5, pcbY: 17.4, pcbRotation: 180, schSectionName: "Power", schX: SEC.Power.x + 4, schY: SEC.Power.y }), jsxRuntime.jsx("trace", { from: "net.VBUS", to: "U2.IN", thickness: "0.4mm" }), jsxRuntime.jsx("trace", { from: "U2.EN", to: "net.VBUS" }), jsxRuntime.jsx("trace", { from: "U2.GND", to: "net.GND" }), jsxRuntime.jsx("trace", { from: "U2.OUT", to: "net.V3V3", thickness: "0.8mm" }), jsxRuntime.jsx("trace", { from: "C1.pin1", to: "net.VBUS", thickness: "0.4mm" }), jsxRuntime.jsx("trace", { from: "C1.pin2", to: "net.GND" }), jsxRuntime.jsx("trace", { from: "C2.pin1", to: "net.V3V3", thickness: "0.4mm" }), jsxRuntime.jsx("trace", { from: "C2.pin2", to: "net.GND" }), jsxRuntime.jsx("resistor", { name: "R1", resistance: "10k", footprint: "0402", pcbX: -1, pcbY: 10, schSectionName: "BootReset", schX: SEC.BootReset.x, schY: SEC.BootReset.y + 4.58 }), jsxRuntime.jsx("capacitor", { name: "C5", capacitance: "1uF", footprint: "0402", schOrientation: "vertical", pcbX: -4, pcbY: 10, schSectionName: "BootReset", schX: SEC.BootReset.x + 4, schY: SEC.BootReset.y + 4 }), jsxRuntime.jsx(TS_1187A_B_A_B, { name: "SW2", pcbX: -7, pcbY: 7, schSectionName: "BootReset", schX: SEC.BootReset.x, schY: SEC.BootReset.y }), jsxRuntime.jsx("trace", { from: "U1.EN", to: "R1.pin2" }), jsxRuntime.jsx("trace", { from: "U1.EN", to: "C5.pin1" }), jsxRuntime.jsx("trace", { from: "U1.EN", to: "SW2.pin1" }), jsxRuntime.jsx("trace", { from: "R1.pin1", to: "net.V3V3" }), jsxRuntime.jsx("trace", { from: "C5.pin2", to: "net.GND" }), jsxRuntime.jsx("trace", { from: "SW2.pin3", to: "net.GND" }), jsxRuntime.jsx("trace", { from: "SW2.pin2", to: "SW2.pin1" }), jsxRuntime.jsx("trace", { from: "SW2.pin4", to: "SW2.pin3" }), jsxRuntime.jsx("resistor", { name: "R2", resistance: "10k", footprint: "0402", pcbX: 4, pcbY: 10, schSectionName: "BootReset", schX: SEC.BootReset.x, schY: SEC.BootReset.y - 8 }), jsxRuntime.jsx(TS_1187A_B_A_B, { name: "SW1", pcbX: 7, pcbY: 7, schSectionName: "BootReset", schX: SEC.BootReset.x, schY: SEC.BootReset.y - 12 }), jsxRuntime.jsx("trace", { from: "U1.BOOT", to: "R2.pin2" }), jsxRuntime.jsx("trace", { from: "U1.BOOT", to: "SW1.pin1" }), jsxRuntime.jsx("trace", { from: "R2.pin1", to: "net.V3V3" }), jsxRuntime.jsx("trace", { from: "SW1.pin3", to: "net.GND" }), jsxRuntime.jsx("trace", { from: "SW1.pin2", to: "SW1.pin1" }), jsxRuntime.jsx("trace", { from: "SW1.pin4", to: "SW1.pin3" }), jsxRuntime.jsx("resistor", { name: "R5", resistance: "330", footprint: "0402", schOrientation: "vertical", pcbX: -9, pcbY: 1, schSectionName: "Indicator", schX: SEC.Indicator.x, schY: SEC.Indicator.y }), jsxRuntime.jsx(XL_1608UBC_04, { name: "LED1", schRotation: 90, pcbX: -9, pcbY: -2, schSectionName: "Indicator", schX: SEC.Indicator.x, schY: SEC.Indicator.y - 3 }), jsxRuntime.jsx("trace", { from: "U1.LED_GPIO", to: "R5.pin1" }), jsxRuntime.jsx("trace", { from: "R5.pin2", to: "LED1.anode" }), jsxRuntime.jsx("trace", { from: "LED1.cathode", to: "net.GND" }), jsxRuntime.jsx(TF_01A, { name: "SD1", pcbX: 0, pcbY: -7, pcbRotation: 90, schHeight: 1.4, schSectionName: "MicroSd", schX: SEC.MicroSd.x, schY: SEC.MicroSd.y + 2.82 }), jsxRuntime.jsx("resistor", { name: "R6", resistance: "10k", footprint: "0402", pcbX: 4.5, pcbY: -16.6, schSectionName: "MicroSd", schX: SEC.MicroSd.x + 6, schY: SEC.MicroSd.y + 3 }), jsxRuntime.jsx("capacitor", { name: "C7", capacitance: "100nF", footprint: "0402", schOrientation: "vertical", pcbX: -8.5, pcbY: -5, schSectionName: "MicroSd", schX: SEC.MicroSd.x - 3, schY: SEC.MicroSd.y + 3 }), jsxRuntime.jsx("capacitor", { name: "C8", capacitance: "10uF", footprint: "0805", schOrientation: "vertical", pcbX: 7, pcbY: -18.5, schSectionName: "MicroSd", schX: SEC.MicroSd.x - 6, schY: SEC.MicroSd.y + 3 }), jsxRuntime.jsx("resistor", { name: "R7", resistance: "10k", footprint: "0402", pcbX: 3.5, pcbY: -18.5, schSectionName: "MicroSd", schX: SEC.MicroSd.x + 10, schY: SEC.MicroSd.y + 7 }), jsxRuntime.jsx("resistor", { name: "R8", resistance: "10k", footprint: "0402", pcbX: -2, pcbY: -19, schSectionName: "MicroSd", schX: SEC.MicroSd.x + 10, schY: SEC.MicroSd.y + 4 }), jsxRuntime.jsx("resistor", { name: "R9", resistance: "10k", footprint: "0402", pcbX: -9, pcbY: -8, schSectionName: "MicroSd", schX: SEC.MicroSd.x - 10, schY: SEC.MicroSd.y + 7 }), jsxRuntime.jsx("resistor", { name: "R10", resistance: "10k", footprint: "0402", pcbX: -9, pcbY: -11, schSectionName: "MicroSd", schX: SEC.MicroSd.x - 10, schY: SEC.MicroSd.y + 4 }), jsxRuntime.jsx("trace", { from: "SD1.VDD", to: "net.V3V3", thickness: "0.4mm" }), jsxRuntime.jsx("trace", { from: "C7.pin1", to: "net.V3V3" }), jsxRuntime.jsx("trace", { from: "C8.pin1", to: "net.V3V3", thickness: "0.4mm" }), jsxRuntime.jsx("trace", { from: "SD1.VSS", to: "net.GND" }), jsxRuntime.jsx("trace", { from: "C7.pin2", to: "net.GND" }), jsxRuntime.jsx("trace", { from: "C8.pin2", to: "net.GND" }), jsxRuntime.jsx("trace", { from: "SD1.GND1", to: "net.GND" }), jsxRuntime.jsx("trace", { from: "SD1.GND2", to: "net.GND" }), jsxRuntime.jsx("trace", { from: "SD1.GND3", to: "net.GND" }), jsxRuntime.jsx("trace", { from: "SD1.GND4", to: "net.GND" }), jsxRuntime.jsx("resistor", { name: "R14", resistance: "0", footprint: "0402", pcbX: 3.18, pcbY: -20.8, pcbRotation: 270, schSectionName: "MicroSd", schX: SEC.MicroSd.x + 6, schY: SEC.MicroSd.y - 3 }), jsxRuntime.jsx("resistor", { name: "R15", resistance: "0", footprint: "0402", pcbX: 1.91, pcbY: -20.8, pcbRotation: 270, schSectionName: "MicroSd", schX: SEC.MicroSd.x + 2, schY: SEC.MicroSd.y - 3 }), jsxRuntime.jsx("resistor", { name: "R13", resistance: "22", footprint: "0402", pcbX: 0.64, pcbY: -20.8, pcbRotation: 270, schSectionName: "MicroSd", schX: SEC.MicroSd.x - 2, schY: SEC.MicroSd.y - 3 }), jsxRuntime.jsx("resistor", { name: "R16", resistance: "0", footprint: "0402", pcbX: -0.63, pcbY: -20.8, pcbRotation: 270, schSectionName: "MicroSd", schX: SEC.MicroSd.x - 6, schY: SEC.MicroSd.y - 3 }), jsxRuntime.jsx("resistor", { name: "R17", resistance: "0", footprint: "0402", pcbX: -1.9, pcbY: -20.8, pcbRotation: 270, schSectionName: "MicroSd", schX: SEC.MicroSd.x - 10, schY: SEC.MicroSd.y - 3 }), jsxRuntime.jsx("resistor", { name: "R18", resistance: "0", footprint: "0402", pcbX: -3.17, pcbY: -20.8, pcbRotation: 270, schSectionName: "MicroSd", schX: SEC.MicroSd.x - 14, schY: SEC.MicroSd.y - 3 }), jsxRuntime.jsx("trace", { from: "SD1.CS", to: "R14.pin1" }), jsxRuntime.jsx("trace", { from: "R14.pin2", to: "U1.SD_D3" }), jsxRuntime.jsx("trace", { from: "SD1.CS", to: "R6.pin2" }), jsxRuntime.jsx("trace", { from: "R6.pin1", to: "net.V3V3" }), jsxRuntime.jsx("trace", { from: "SD1.MOSI", to: "R15.pin1" }), jsxRuntime.jsx("trace", { from: "R15.pin2", to: "U1.SD_CMD" }), jsxRuntime.jsx("trace", { from: "R7.pin1", to: "net.V3V3" }), jsxRuntime.jsx("trace", { from: "R7.pin2", to: "SD1.MOSI" }), jsxRuntime.jsx("trace", { name: "SD_CLK_lane", from: "SD1.SCK", to: "R13.pin1", thickness: "0.2mm", pcbPath: [
                { x: -2.16, y: 6.6 },
                { x: -2.16, y: 6.6, via: true, toLayer: "bottom" },
                { x: -2.16, y: 6.6 },
                { x: -2.16, y: 10.6 },
                { x: -9.6, y: 10.6 },
                { x: -11.3, y: -0.64 },
                { x: -11.3, y: -0.64, via: true, toLayer: "top" },
                { x: -11.3, y: -0.64 },
            ] }), jsxRuntime.jsx("trace", { from: "R13.pin2", to: "U1.SD_CLK" }), jsxRuntime.jsx("trace", { from: "SD1.MISO", to: "R16.pin1" }), jsxRuntime.jsx("trace", { from: "R16.pin2", to: "U1.SD_D0" }), jsxRuntime.jsx("trace", { from: "R8.pin1", to: "net.V3V3" }), jsxRuntime.jsx("trace", { from: "R8.pin2", to: "SD1.MISO" }), jsxRuntime.jsx("trace", { from: "SD1.DAT1", to: "R17.pin1" }), jsxRuntime.jsx("trace", { from: "R17.pin2", to: "U1.SD_D1" }), jsxRuntime.jsx("trace", { from: "R9.pin1", to: "net.V3V3" }), jsxRuntime.jsx("trace", { from: "R9.pin2", to: "SD1.DAT1" }), jsxRuntime.jsx("trace", { from: "SD1.DAT2", to: "R18.pin1" }), jsxRuntime.jsx("trace", { from: "R18.pin2", to: "U1.SD_D2" }), jsxRuntime.jsx("trace", { from: "R10.pin1", to: "net.V3V3" }), jsxRuntime.jsx("trace", { from: "R10.pin2", to: "SD1.DAT2" }), jsxRuntime.jsx(ESP32_S3_WROOM_1_N16R8, { name: "U1", pcbX: 0, pcbY: -32, pcbRotation: 180, schHeight: 4.2, schSectionName: "Mcu", schX: SEC.Mcu.x, schY: SEC.Mcu.y }), jsxRuntime.jsx("trace", { from: "R4.pin2", to: "U1.USB_D_NEG" }), jsxRuntime.jsx("trace", { from: "R3.pin2", to: "U1.USB_D_POS" }), jsxRuntime.jsx("trace", { from: "U1.3V3", to: "net.V3V3", thickness: "0.4mm" }), jsxRuntime.jsx("trace", { from: "U1.GND1", to: "net.GND" }), jsxRuntime.jsx("trace", { from: "U1.GND2", to: "net.GND" }), jsxRuntime.jsx("capacitor", { name: "C3", capacitance: "10uF", footprint: "0805", schOrientation: "vertical", pcbX: 11.3, pcbY: -34.5, pcbRotation: 90, schSectionName: "Mcu", schX: SEC.Mcu.x - 5, schY: SEC.Mcu.y - 3 }), jsxRuntime.jsx("capacitor", { name: "C4", capacitance: "100nF", footprint: "0402", schOrientation: "vertical", pcbX: 11.3, pcbY: -39.5, pcbRotation: 90, schSectionName: "Mcu", schX: SEC.Mcu.x - 5, schY: SEC.Mcu.y - 5 }), jsxRuntime.jsx("trace", { from: "C3.pin1", to: "net.V3V3", thickness: "0.4mm" }), jsxRuntime.jsx("trace", { from: "C3.pin2", to: "net.GND" }), jsxRuntime.jsx("trace", { from: "C4.pin1", to: "net.V3V3" }), jsxRuntime.jsx("trace", { from: "C4.pin2", to: "net.GND" }), jsxRuntime.jsx("keepout", { shape: "rect", layer: "top", pcbX: 12.7, pcbY: -6.75, width: 0.6, height: 84.5 }), jsxRuntime.jsx("keepout", { shape: "rect", layer: "bottom", pcbX: 12.7, pcbY: -6.75, width: 0.6, height: 84.5 }), jsxRuntime.jsx("keepout", { shape: "rect", layer: "top", pcbX: 7, pcbY: 22.95, width: 8, height: 4.9, excludeRefs: [".U3", ".R3", ".R4"] }), jsxRuntime.jsx("keepout", { shape: "rect", layer: "top", pcbX: 4.6, pcbY: 25.7, width: 3.2, height: 0.6, excludeRefs: [".U3", ".R3", ".R4"] }), jsxRuntime.jsx("keepout", { shape: "rect", layer: "top", pcbX: 11.7, pcbY: -1, width: 1.4, height: 45, excludeRefs: [".U3", ".R3", ".R4"] }), jsxRuntime.jsx("keepout", { shape: "rect", layer: "bottom", pcbX: -8.9, pcbY: -9.16, width: 3.9, height: 0.5, excludeRefs: [".SD1", ".R13"] }), jsxRuntime.jsx("keepout", { shape: "rect", layer: "bottom", pcbX: -10.6, pcbY: -12.88, width: 0.5, height: 7.9, excludeRefs: [".SD1", ".R13"] }), Array.from({ length: 12 }, (_, i) => {
            const t = 0.03 + (i * (0.9244 - 0.03)) / 11;
            const x = -10.6 + t * (0.64 + 10.6);
            const y = -16.6 + t * (-18.3 + 16.6);
            return (jsxRuntime.jsx("keepout", { shape: "rect", layer: "bottom", pcbX: x, pcbY: y, width: 1.0, height: 0.5, excludeRefs: [".SD1", ".R13"] }, `sdclk_diag_${i}`));
        }), jsxRuntime.jsx("keepout", { shape: "rect", layer: "top", pcbX: 0.64, pcbY: -19.25, width: 0.4, height: 1.3, excludeRefs: [".SD1", ".R13"] }), jsxRuntime.jsx("keepout", { shape: "rect", layer: "top", pcbX: -12.6, pcbY: -6.75, width: 0.8, height: 84.5 }), jsxRuntime.jsx("keepout", { shape: "rect", layer: "bottom", pcbX: -12.6, pcbY: -6.75, width: 0.8, height: 84.5 }), jsxRuntime.jsx("keepout", { shape: "rect", layer: "top", ...ANTENNA_KEEPOUT }), jsxRuntime.jsx("keepout", { shape: "rect", layer: "bottom", ...ANTENNA_KEEPOUT }), jsxRuntime.jsx("copperpour", { name: "U2_out_pour", connectsTo: "net.V3V3", layer: "top", outline: [
                { x: -6, y: 15.6 },
                { x: -0.2, y: 15.6 },
                { x: -0.2, y: 19 },
                { x: -6, y: 19 },
            ] }), jsxRuntime.jsx("copperpour", { connectsTo: "net.GND", layer: "top", clearance: "0.2mm", boardEdgeMargin: "1mm" }), jsxRuntime.jsx("copperpour", { connectsTo: "net.GND", layer: "bottom", clearance: "0.2mm", boardEdgeMargin: "1mm" })] }));

module.exports = index_circuit;