olivergrabinski/tscircuit-weather

A 60×44 mm ESP32-S3 Wi‑Fi/BLE weather-station PCB with USB‑C power, 3.3 V regulation and ESD protection, temperature/humidity and UV/light sensors, status LEDs, buttons, Qwiic I²C expansion, debug GPIO header, and a printable enclosure.

Version
1.2.0
License
unset
Stars
0

dist/index.cjs

'use strict';

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

const pinLabels$8 = {
    pin1: ["GND1"],
    pin2: ["3V3"],
    pin3: ["EN"],
    pin4: ["IO4"],
    pin5: ["IO5"],
    pin6: ["IO6"],
    pin7: ["IO7"],
    pin8: ["IO15"],
    pin9: ["IO16"],
    pin10: ["IO17"],
    pin11: ["IO18"],
    pin12: ["IO8"],
    pin13: ["IO19"],
    pin14: ["IO20"],
    pin15: ["IO3"],
    pin16: ["IO46"],
    pin17: ["IO9"],
    pin18: ["IO10"],
    pin19: ["IO11"],
    pin20: ["IO12"],
    pin21: ["IO13"],
    pin22: ["IO14"],
    pin23: ["IO21"],
    pin24: ["IO47"],
    pin25: ["IO48"],
    pin26: ["IO45"],
    pin27: ["IO0"],
    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 },
    pin2: { requiresPower: true },
    pin3: { mustBeConnected: true },
    pin40: { requiresGround: true },
    pin41: { requiresGround: true }
};
const ESP32_S3_WROOM_1_N8R2 = (props) => {
    return (jsxRuntime.jsx("chip", { pinLabels: pinLabels$8, pinAttributes: pinAttributes$4, supplierPartNumbers: {
            "jlcpcb": [
                "C2913204"
            ]
        }, manufacturerPartNumber: "ESP32-S3-WROOM-1-N8R2", 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: "-1.500mm", pcbY: "1.325mm", width: "3.700mm", height: "3.700mm", shape: "rect" }), 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/C2913204.obj?uuid=ff306e3ed51d4ebc94ebabcd1b4d8906",
            stepUrl: "https://modelcdn.tscircuit.com/easyeda_models/assets/C2913204.step?uuid=ff306e3ed51d4ebc94ebabcd1b4d8906",
            pcbRotationOffset: 0,
            modelOriginPosition: { x: 0, y: -3.8004924000000644, z: -0.01 },
        }, ...props }));
};

const pinLabels$7 = {
    pin1: ["SDA"],
    pin2: ["SCL"],
    pin3: ["VDD"],
    pin4: ["VSS"],
    pin5: ["EP"]
};
const pinAttributes$3 = {
    pin3: { requiresPower: true },
    pin4: { requiresGround: true }
};
const SHT40_AD1B_R3 = (props) => {
    return (jsxRuntime.jsx("chip", { pinLabels: pinLabels$7, pinAttributes: pinAttributes$3, schPinArrangement: { "leftSide": [1, 2], "rightSide": [3, 4] }, supplierPartNumbers: {
            "jlcpcb": [
                "C2848306"
            ]
        }, manufacturerPartNumber: "SHT40-AD1B-R3", footprint: jsxRuntime.jsxs("footprint", { cutoutApertureDirection: "from_above", children: [jsxRuntime.jsx("smtpad", { portHints: ["pin1"], pcbX: "-0.677418mm", pcbY: "0.40005mm", width: "0.5050028mm", height: "0.419989mm", shape: "rect" }), jsxRuntime.jsx("smtpad", { portHints: ["pin2"], pcbX: "-0.677418mm", pcbY: "-0.40005mm", width: "0.5050028mm", height: "0.419989mm", shape: "rect" }), jsxRuntime.jsx("smtpad", { portHints: ["pin3"], pcbX: "0.677418mm", pcbY: "-0.40005mm", width: "0.5050028mm", height: "0.419989mm", shape: "rect" }), jsxRuntime.jsx("smtpad", { portHints: ["pin4"], pcbX: "0.677418mm", pcbY: "0.40005mm", width: "0.5050028mm", height: "0.419989mm", shape: "rect" }), jsxRuntime.jsx("smtpad", { portHints: ["pin5"], pcbX: "0mm", pcbY: "-0mm", width: "0.3999992mm", height: "1.0999978mm", shape: "rect" }), jsxRuntime.jsx("silkscreenpath", { route: [{ "x": -0.8261857999999904, "y": 0.8261857999999904 }, { "x": 0.8262111999999888, "y": 0.8261857999999904 }] }), jsxRuntime.jsx("silkscreenpath", { route: [{ "x": -0.8261857999999904, "y": -0.826211200000003 }, { "x": 0.8262111999999888, "y": -0.826211200000003 }] }), jsxRuntime.jsx("silkscreencircle", { pcbX: "-1.01346mm", pcbY: "0.76454mm", radius: "0.037592mm" }), jsxRuntime.jsx("silkscreentext", { text: "{NAME}", pcbX: "-0.0508mm", pcbY: "1.8382mm", anchorAlignment: "center", fontSize: "1mm" }), jsxRuntime.jsx("courtyardoutline", { outline: [{ "x": -1.29140000000001, "y": 1.0882000000000005 }, { "x": 1.189799999999991, "y": 1.0882000000000005 }, { "x": 1.189799999999991, "y": -1.06280000000001 }, { "x": -1.29140000000001, "y": -1.06280000000001 }, { "x": -1.29140000000001, "y": 1.0882000000000005 }] })] }), cadModel: {
            objUrl: "https://modelcdn.tscircuit.com/easyeda_models/assets/C2848306.obj?uuid=09d63d3bb21a495aa100cde68133c9fa",
            stepUrl: "https://modelcdn.tscircuit.com/easyeda_models/assets/C2848306.step?uuid=09d63d3bb21a495aa100cde68133c9fa",
            pcbRotationOffset: 0,
            modelOriginPosition: { x: 0.000012700000013410317, y: -12699999999199463e-21, z: -0.01 },
        }, ...props }));
};

const pinLabels$6 = {
    pin1: ["VDD"],
    pin2: ["NC"],
    pin3: ["GND"],
    pin4: ["SCL"],
    pin5: ["INT"],
    pin6: ["SDA"]
};
const pinAttributes$2 = {
    pin1: { requiresPower: true },
    pin2: { doNotConnect: true },
    pin3: { requiresGround: true }
};
const LTR_390UV_01 = (props) => {
    return (jsxRuntime.jsx("chip", { pinLabels: pinLabels$6, pinAttributes: pinAttributes$2, supplierPartNumbers: {
            "jlcpcb": [
                "C492374"
            ]
        }, manufacturerPartNumber: "LTR-390UV-01", footprint: 
        /* DFN-6 2x2 mm, 0.65 mm pitch (same geometry as the footprinter string);
           cutoutApertureDirection lets the enclosure open a window in the lid */
        jsxRuntime.jsxs("footprint", { cutoutApertureDirection: "from_above", children: [jsxRuntime.jsx("smtpad", { portHints: ["pin1"], shape: "rect", pcbX: -0.65, pcbY: -0.775, width: 0.4, height: 0.3 }), jsxRuntime.jsx("smtpad", { portHints: ["pin2"], shape: "rect", pcbX: 0, pcbY: -0.775, width: 0.4, height: 0.3 }), jsxRuntime.jsx("smtpad", { portHints: ["pin3"], shape: "rect", pcbX: 0.65, pcbY: -0.775, width: 0.4, height: 0.3 }), jsxRuntime.jsx("smtpad", { portHints: ["pin4"], shape: "rect", pcbX: 0.65, pcbY: 0.775, width: 0.4, height: 0.3 }), jsxRuntime.jsx("smtpad", { portHints: ["pin5"], shape: "rect", pcbX: 0, pcbY: 0.775, width: 0.4, height: 0.3 }), jsxRuntime.jsx("smtpad", { portHints: ["pin6"], shape: "rect", pcbX: -0.65, pcbY: 0.775, width: 0.4, height: 0.3 }), jsxRuntime.jsx("silkscreenpath", { route: [{ x: -0.963, y: -0.487 }, { x: -0.963, y: -1.137 }, { x: -0.313, y: -1.137 }] }), jsxRuntime.jsx("silkscreenpath", { route: [{ x: -0.963, y: 0.487 }, { x: -0.963, y: 1.137 }, { x: -0.313, y: 1.137 }] }), jsxRuntime.jsx("silkscreenpath", { route: [{ x: 0.963, y: -0.487 }, { x: 0.963, y: -1.137 }, { x: 0.313, y: -1.137 }] }), jsxRuntime.jsx("silkscreenpath", { route: [{ x: 0.963, y: 0.487 }, { x: 0.963, y: 1.137 }, { x: 0.313, y: 1.137 }] }), jsxRuntime.jsx("silkscreenpath", { route: [{ x: -0.637, y: -1.219 }, { x: -0.8, y: -1.381 }, { x: -0.475, y: -1.381 }, { x: -0.637, y: -1.219 }] }), jsxRuntime.jsx("courtyardrect", { pcbX: 0, pcbY: 0, width: 2.4, height: 2.4 })] }), cadModel: {
            objUrl: "https://modelcdn.tscircuit.com/easyeda_models/assets/C492374.obj?uuid=1c39744204904e7cb482098d76a2b99e",
            stepUrl: "https://modelcdn.tscircuit.com/easyeda_models/assets/C492374.step?uuid=1c39744204904e7cb482098d76a2b99e",
            pcbRotationOffset: 0,
            modelOriginPosition: { x: 0, y: 0, z: 0 },
        }, ...props }));
};

const pinLabels$5 = {
    pin1: ["GND"],
    pin2: ["VOUT1"],
    pin3: ["VIN"],
    pin4: ["VOUT2"]
};
const pinAttributes$1 = {
    pin1: { requiresGround: true },
    pin3: { requiresPower: true }
};
const AMS1117_3_3 = (props) => {
    return (jsxRuntime.jsx("chip", { pinLabels: pinLabels$5, pinAttributes: pinAttributes$1, supplierPartNumbers: {
            "jlcpcb": [
                "C6186"
            ]
        }, manufacturerPartNumber: "AMS1117-3.3", footprint: "sot223_w8.0599mm_p2.3mm_pl2.5mm_pw1.1mm_tabpl2.34mm_tabpw3.6mm_taboffset0.08mm_rounded0_pin1location(rightside,bottom)", cadModel: {
            objUrl: "https://modelcdn.tscircuit.com/easyeda_models/assets/C6186.obj?uuid=e80246a9471445bfb635be848806a22e",
            stepUrl: "https://modelcdn.tscircuit.com/easyeda_models/assets/C6186.step?uuid=e80246a9471445bfb635be848806a22e",
            pcbRotationOffset: 180,
            modelOriginPosition: { x: -0.14002385000003414, y: -12700000070253736e-21, z: -0.049394 },
        }, ...props }));
};

const pinLabels$4 = {
    pin1: ["pin1"],
    pin2: ["GND"],
    pin3: ["pin3"],
    pin4: ["pin4"],
    pin5: ["VBUS"],
    pin6: ["pin6"]
};
const pinAttributes = {
    pin2: { requiresGround: true },
    pin5: { requiresPower: true }
};
const USBLC6_2SC6 = (props) => {
    return (jsxRuntime.jsx("chip", { pinLabels: pinLabels$4, pinAttributes: pinAttributes, supplierPartNumbers: {
            "jlcpcb": [
                "C2687116"
            ]
        }, manufacturerPartNumber: "USBLC6-2SC6", footprint: "dfn6_p0.95mm_w3.3702mm_pw0.532mm_pl1.072mm_pin1location(leftside,bottom)", 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 }));
};

const pinLabels$3 = {
    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$3, supplierPartNumbers: {
            "jlcpcb": [
                "C318884"
            ]
        }, manufacturerPartNumber: "TS-1187A-B-A-B", footprint: 
        /* 5.1 x 5.1 mm tactile switch, pads 6.0 x 3.7 mm apart (footprinter
           smdpushbutton4_px6mm_py3.7mm_pw1mm_ph0.75mm); actuated through the lid */
        jsxRuntime.jsxs("footprint", { cutoutApertureDirection: "from_above", children: [jsxRuntime.jsx("smtpad", { portHints: ["pin1"], shape: "rect", pcbX: -3, pcbY: 1.85, width: 1, height: 0.75 }), jsxRuntime.jsx("smtpad", { portHints: ["pin2"], shape: "rect", pcbX: 3, pcbY: 1.85, width: 1, height: 0.75 }), jsxRuntime.jsx("smtpad", { portHints: ["pin3"], shape: "rect", pcbX: -3, pcbY: -1.85, width: 1, height: 0.75 }), jsxRuntime.jsx("smtpad", { portHints: ["pin4"], shape: "rect", pcbX: 3, pcbY: -1.85, width: 1, height: 0.75 }), jsxRuntime.jsx("silkscreenpath", { route: [{ x: -2.35, y: 2.325 }, { x: 2.35, y: 2.325 }] }), jsxRuntime.jsx("silkscreenpath", { route: [{ x: -2.35, y: -2.325 }, { x: 2.35, y: -2.325 }] }), jsxRuntime.jsx("silkscreenpath", { route: [{ x: -3, y: -1.325 }, { x: -3, y: 1.325 }] }), jsxRuntime.jsx("silkscreenpath", { route: [{ x: 3, y: -1.325 }, { x: 3, y: 1.325 }] }), jsxRuntime.jsx("courtyardrect", { pcbX: 0, pcbY: 0, width: 7.2, height: 5.4 })] }), 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$2 = {
    pin1: ["cathode", "neg"],
    pin2: ["anode", "pos"]
};
const KT_0603G = (props) => {
    const { name = "LED1", ...restProps } = props;
    return (jsxRuntime.jsx("led", { name: name, pinLabels: pinLabels$2, supplierPartNumbers: {
            "jlcpcb": [
                "C12624"
            ]
        }, manufacturerPartNumber: "KT-0603G", footprint: "smdpads2_p1.498mm_pw0.8mm_ph0.8mm", cadModel: {
            objUrl: "https://modelcdn.tscircuit.com/easyeda_models/assets/C12624.obj?uuid=3c2caa1a3e7d4a5a87f46b87d898ef41",
            stepUrl: "https://modelcdn.tscircuit.com/easyeda_models/assets/C12624.step?uuid=3c2caa1a3e7d4a5a87f46b87d898ef41",
            pcbRotationOffset: 0,
            modelOriginPosition: { x: -12700000070253736e-21, y: 0.000012699999956566899, z: -0.01 },
        }, ...restProps }));
};

const pinLabels$1 = {
    pin1: ["cathode", "neg"],
    pin2: ["anode", "pos"]
};
const KT_0603B = (props) => {
    const { name = "LED1", ...restProps } = props;
    return (jsxRuntime.jsx("led", { name: name, pinLabels: pinLabels$1, supplierPartNumbers: {
            "jlcpcb": [
                "C2288"
            ]
        }, manufacturerPartNumber: "Blue light 0603", footprint: "smdpads2_p1.498mm_pw0.8mm_ph0.8mm", cadModel: {
            objUrl: "https://modelcdn.tscircuit.com/easyeda_models/assets/C2288.obj?uuid=3c2caa1a3e7d4a5a87f46b87d898ef41",
            stepUrl: "https://modelcdn.tscircuit.com/easyeda_models/assets/C2288.step?uuid=3c2caa1a3e7d4a5a87f46b87d898ef41",
            pcbRotationOffset: 0,
            modelOriginPosition: { x: -12700000070253736e-21, y: 0.000012699999956566899, z: -0.01 },
        }, ...restProps }));
};

const pinLabels = {
    pin1: ["pin1"],
    pin2: ["pin2"],
    pin3: ["pin3"],
    pin4: ["pin4"],
    pin5: ["pin5"],
    pin6: ["pin6"]
};
/** JST SH 1.0 mm 4-pin side-entry (Qwiic / STEMMA QT). Cable enters from -Y. */
const JST_SH_SM04B_SRSS_TB = (props) => {
    return (jsxRuntime.jsx("connector", { pinLabels: pinLabels, supplierPartNumbers: {
            "jlcpcb": [
                "C160404"
            ]
        }, manufacturerPartNumber: "SM04B-SRSS-TB(LF)(SN)", footprint: jsxRuntime.jsxs("footprint", { insertionDirection: "from_bottom", children: [jsxRuntime.jsx("smtpad", { portHints: ["pin2"], pcbX: "-0.499872mm", pcbY: "2.0005167mm", width: "0.5999988mm", height: "1.5500096mm", shape: "rect" }), jsxRuntime.jsx("smtpad", { portHints: ["pin1"], pcbX: "-1.49987mm", pcbY: "2.0005167mm", width: "0.5999988mm", height: "1.5500096mm", shape: "rect" }), jsxRuntime.jsx("smtpad", { portHints: ["pin4"], pcbX: "1.500378mm", pcbY: "2.0000087mm", width: "0.5999988mm", height: "1.5500096mm", shape: "rect" }), jsxRuntime.jsx("smtpad", { portHints: ["pin3"], pcbX: "0.50038mm", pcbY: "2.0000087mm", width: "0.5999988mm", height: "1.5500096mm", shape: "rect" }), jsxRuntime.jsx("smtpad", { portHints: ["pin6"], pcbX: "-2.800096mm", pcbY: "-1.8750153mm", width: "1.1999976mm", height: "1.7999964mm", shape: "rect" }), jsxRuntime.jsx("smtpad", { portHints: ["pin5"], pcbX: "2.800096mm", pcbY: "-1.8755233mm", width: "1.1999976mm", height: "1.7999964mm", shape: "rect" }), jsxRuntime.jsx("silkscreenpath", { route: [{ "x": -2.019960400000059, "y": -2.397467900000038 }, { "x": 1.8800063999999566, "y": -2.397467900000038 }] }), jsxRuntime.jsx("silkscreenpath", { route: [{ "x": -1.9400266000000101, "y": 1.8624676999997973 }, { "x": -3.019958400000064, "y": 1.8624676999997973 }, { "x": -3.019958400000064, "y": -0.7374763000001394 }] }), jsxRuntime.jsx("silkscreenpath", { route: [{ "x": 2.040000999999961, "y": 1.8624676999997973 }, { "x": 2.9600143999999773, "y": 1.8624676999997973 }, { "x": 2.9600143999999773, "y": -0.7443089000000782 }] }), jsxRuntime.jsx("silkscreencircle", { pcbX: "-2.49936mm", pcbY: "1.3749147mm", radius: "0.124968mm" }), jsxRuntime.jsx("silkscreentext", { text: "{NAME}", pcbX: "0.000254mm", pcbY: "3.7879167mm", anchorAlignment: "center", fontSize: "1mm" }), jsxRuntime.jsx("courtyardoutline", { outline: [{ "x": -3.653346000000056, "y": 3.037916699999869 }, { "x": 3.653854000000024, "y": 3.037916699999869 }, { "x": 3.653854000000024, "y": -3.024683300000106 }, { "x": -3.653346000000056, "y": -3.024683300000106 }, { "x": -3.653346000000056, "y": 3.037916699999869 }] })] }), cadModel: {
            objUrl: "https://modelcdn.tscircuit.com/easyeda_models/assets/C160404.obj?uuid=96ff162c26934a308e7bbf01d083d593",
            stepUrl: "https://modelcdn.tscircuit.com/easyeda_models/assets/C160404.step?uuid=96ff162c26934a308e7bbf01d083d593",
            pcbRotationOffset: 0,
            modelOriginPosition: { x: 1.5, y: 0.2875033000001168, z: -0.01 },
        }, ...props }));
};

/**
 * Wi-Fi weather station
 *
 *  - ESP32-S3-WROOM-1 module: Wi-Fi + BLE, native USB (no UART bridge needed)
 *  - SHT40-AD1B: temperature + relative humidity, I2C 0x44
 *  - LTR-390UV-01: UV index + ambient light, I2C 0x53, INT on IO10
 *  - USB-C power/programming, AMS1117-3.3 LDO, USBLC6-2SC6 ESD protection
 *  - Qwiic (JST-SH 1.0 mm) I2C expansion + 8-pin debug/GPIO header
 *
 * Rev 1.1 (2026-09-24)
 *  - SHT40 sits on a thermal-isolation island: three 1.2 mm milled slots
 *    leave a 3.2 mm bridge at the bottom for the four traces, so heat from the
 *    LDO/module reaches the sensor only through that bridge.
 *  - <enclosure.fdm.box> models a printable case: window above the UV sensor,
 *    vent above the SHT40 island, holes for USB-C, Qwiic and both buttons.
 *
 * Fab rules: 0.25 mm signal traces (0.15 mm min), 0.5 mm 3V3/VBUS and 0.4 mm
 * GND traces, vias 0.3 mm drill / 0.6 mm pad,
 * i.e. within JLCPCB's standard 2-layer capability.
 *
 * ESP32-S3 pin plan
 *  IO8  SDA        IO9  SCL        IO10 UV_INT
 *  IO19 USB D-     IO20 USB D+     IO21 status LED
 *  IO0  BOOT       EN   RESET      IO4..IO7 spare ADC-capable GPIO on header
 *  TXD0/RXD0 UART0 on header
 */
/**
 * USB-C receptacle land pattern for HRO TYPE-C-31-M-12 (JLCPCB C165948),
 * copied from the exact EasyEDA footprint with its original pin numbering
 * (1-4 shell anchors, 5-12 signals, 13/14 GND, 15/16 VBUS) so the pick-and-
 * place rotation can be verified against the supplier part and the 3D model
 * lines up. Each shell anchor is its own pin, so every pad resolves to
 * exactly one port. The cable enters from -Y in this unrotated frame.
 */
const UsbC16Footprint = (jsxRuntime.jsxs("footprint", { insertionDirection: "from_bottom", children: [jsxRuntime.jsx("platedhole", { portHints: ["pin1"], shape: "pill", pcbX: 4.325, pcbY: 1.405, outerWidth: 1.2, outerHeight: 2.0, holeWidth: 0.8, holeHeight: 1.6 }), jsxRuntime.jsx("platedhole", { portHints: ["pin2"], shape: "pill", pcbX: 4.325, pcbY: -2.774, outerWidth: 1.2, outerHeight: 1.8, holeWidth: 0.8, holeHeight: 1.4 }), jsxRuntime.jsx("platedhole", { portHints: ["pin3"], shape: "pill", pcbX: -4.325, pcbY: -2.774, outerWidth: 1.2, outerHeight: 1.8, holeWidth: 0.8, holeHeight: 1.4 }), jsxRuntime.jsx("platedhole", { portHints: ["pin4"], shape: "pill", pcbX: -4.325, pcbY: 1.405, outerWidth: 1.2, outerHeight: 2.0, holeWidth: 0.8, holeHeight: 1.6 }), jsxRuntime.jsx("smtpad", { portHints: ["pin5"], shape: "rect", pcbX: -1.75, pcbY: 2.174, width: 0.3, height: 1.3 }), jsxRuntime.jsx("smtpad", { portHints: ["pin6"], shape: "rect", pcbX: -1.25, pcbY: 2.174, width: 0.3, height: 1.3 }), jsxRuntime.jsx("smtpad", { portHints: ["pin7"], shape: "rect", pcbX: -0.75, pcbY: 2.174, width: 0.3, height: 1.3 }), jsxRuntime.jsx("smtpad", { portHints: ["pin8"], shape: "rect", pcbX: -0.25, pcbY: 2.174, width: 0.3, height: 1.3 }), jsxRuntime.jsx("smtpad", { portHints: ["pin9"], shape: "rect", pcbX: 0.25, pcbY: 2.174, width: 0.3, height: 1.3 }), jsxRuntime.jsx("smtpad", { portHints: ["pin10"], shape: "rect", pcbX: 0.75, pcbY: 2.174, width: 0.3, height: 1.3 }), jsxRuntime.jsx("smtpad", { portHints: ["pin11"], shape: "rect", pcbX: 1.25, pcbY: 2.174, width: 0.3, height: 1.3 }), jsxRuntime.jsx("smtpad", { portHints: ["pin12"], shape: "rect", pcbX: 1.75, pcbY: 2.174, width: 0.3, height: 1.3 }), jsxRuntime.jsx("smtpad", { portHints: ["pin13"], shape: "rect", pcbX: -3.2, pcbY: 2.174, width: 0.6, height: 1.3 }), jsxRuntime.jsx("smtpad", { portHints: ["pin14"], shape: "rect", pcbX: 3.2, pcbY: 2.174, width: 0.6, height: 1.3 }), jsxRuntime.jsx("smtpad", { portHints: ["pin15"], shape: "rect", pcbX: 2.4, pcbY: 2.174, width: 0.6, height: 1.3 }), jsxRuntime.jsx("smtpad", { portHints: ["pin16"], shape: "rect", pcbX: -2.4, pcbY: 2.174, width: 0.6, height: 1.3 }), jsxRuntime.jsx("hole", { pcbX: -2.9, pcbY: 0.905, diameter: 0.6 }), jsxRuntime.jsx("hole", { pcbX: 2.9, pcbY: 0.905, diameter: 0.6 }), jsxRuntime.jsx("courtyardrect", { pcbX: 0, pcbY: -1.29, width: 10.35, height: 8.72 }), jsxRuntime.jsx("silkscreenpath", { route: [{ x: -4.46, y: -1.67 }, { x: -4.46, y: 0.18 }] }), jsxRuntime.jsx("silkscreenpath", { route: [{ x: 4.47, y: -1.67 }, { x: 4.47, y: 0.18 }] }), jsxRuntime.jsx("silkscreenpath", { route: [{ x: -4.46, y: -3.91 }, { x: -4.46, y: -5.39 }, { x: 4.47, y: -5.39 }, { x: 4.47, y: -3.91 }] })] }));
/** 3D model of the receptacle, as published for JLCPCB C165948 */
const usbCCadModel = {
    objUrl: "https://modelcdn.tscircuit.com/easyeda_models/assets/C165948.obj?uuid=617b05f9bba7410b96c001093d8189e4",
    stepUrl: "https://modelcdn.tscircuit.com/easyeda_models/assets/C165948.step?uuid=617b05f9bba7410b96c001093d8189e4",
    pcbRotationOffset: 180,
    modelOriginPosition: { x: 0, y: -2.75, z: 0 },
};
const usbCPinLabels = {
    pin1: ["SHELL1", "EH2"],
    pin2: ["SHELL2", "EH1"],
    pin3: ["SHELL3", "EH4"],
    pin4: ["SHELL4", "EH3"],
    pin5: ["SBU2", "B8"],
    pin6: ["CC1", "A5"],
    pin7: ["DM2", "DN2", "B7"],
    pin8: ["DP1", "A6"],
    pin9: ["DM1", "DN1", "A7"],
    pin10: ["DP2", "B6"],
    pin11: ["SBU1", "A8"],
    pin12: ["CC2", "B5"],
    pin13: ["GND1", "A1B12"],
    pin14: ["GND2", "B1A12"],
    pin15: ["VBUS1", "B4A9"],
    pin16: ["VBUS2", "A4B9"],
};
var index_circuit = () => (jsxRuntime.jsxs(tscircuit.assembly.device, { name: "weather_station", children: [jsxRuntime.jsxs("board", { name: "B1", width: "60mm", height: "44mm", layers: 2, defaultTraceWidth: "0.25mm", minTraceWidth: "0.15mm", minViaHoleDiameter: "0.3mm", minViaPadDiameter: "0.6mm", children: [jsxRuntime.jsx("schematicsection", { name: "power", displayName: "Power: USB-C in, 3.3 V LDO" }), jsxRuntime.jsx("schematicsection", { name: "mcu", displayName: "MCU: ESP32-S3 (Wi-Fi, native USB)" }), jsxRuntime.jsx("schematicsection", { name: "sensors", displayName: "Sensors: SHT40 (T/RH) + LTR-390UV (UV)" }), jsxRuntime.jsx("schematicsection", { name: "io", displayName: "Expansion: Qwiic + debug header" }), jsxRuntime.jsx("net", { name: "GND", isGroundNet: true, nominalTraceWidth: "0.4mm" }), jsxRuntime.jsx("net", { name: "V3_3", isPowerNet: true, nominalTraceWidth: "0.5mm" }), jsxRuntime.jsx("net", { name: "VBUS", isPowerNet: true, nominalTraceWidth: "0.5mm" }), jsxRuntime.jsx("hole", { diameter: "3.2mm", pcbX: -27, pcbY: 19 }), jsxRuntime.jsx("hole", { diameter: "3.2mm", pcbX: 27, pcbY: 19 }), jsxRuntime.jsx("hole", { diameter: "3.2mm", pcbX: -27, pcbY: -19 }), jsxRuntime.jsx("hole", { diameter: "3.2mm", pcbX: 27, pcbY: -19 }), jsxRuntime.jsx("keepout", { shape: "rect", pcbX: -14, pcbY: 19, width: "18mm", height: "6mm", excludeRefs: [".U1"] }), jsxRuntime.jsx("silkscreentext", { text: "WEATHER STATION v1.1", pcbX: 12, pcbY: 5, fontSize: "1.2mm" }), jsxRuntime.jsx("keepout", { shape: "circle", pcbX: -16.9, pcbY: -15.795, radius: "0.6mm", excludeRefs: [".J1"] }), jsxRuntime.jsx("keepout", { shape: "circle", pcbX: -11.1, pcbY: -15.795, radius: "0.6mm", excludeRefs: [".J1"] }), jsxRuntime.jsx("cutout", { shape: "rect", pcbX: 15.9, pcbY: 18.5, width: "1.2mm", height: "8mm" }), jsxRuntime.jsx("cutout", { shape: "rect", pcbX: 22.6, pcbY: 18.5, width: "1.2mm", height: "8mm" }), jsxRuntime.jsx("cutout", { shape: "rect", pcbX: 16.45, pcbY: 13.9, width: "2.3mm", height: "1.2mm" }), jsxRuntime.jsx("cutout", { shape: "rect", pcbX: 22, pcbY: 13.9, width: "2.4mm", height: "1.2mm" }), jsxRuntime.jsx("silkscreentext", { text: "ANTENNA KEEP-OUT", pcbX: -14, pcbY: 19, fontSize: "0.8mm" }), jsxRuntime.jsx("connector", { name: "J1", standard: "usb_c", manufacturerPartNumber: "TYPE-C-31-M-12", supplierPartNumbers: { jlcpcb: ["C165948"] }, pinLabels: usbCPinLabels, footprint: UsbC16Footprint, cadModel: usbCCadModel, schSectionName: "power", pcbX: -14, pcbY: -16.7, schX: -15, schY: 0, connections: {
                        VBUS1: "net.VBUS",
                        VBUS2: "net.VBUS",
                        GND1: "net.GND",
                        GND2: "net.GND",
                        SHELL1: "net.GND",
                        SHELL2: "net.GND",
                        SHELL3: "net.GND",
                        SHELL4: "net.GND",
                        CC1: "net.CC1",
                        CC2: "net.CC2",
                        DP1: "net.USB_DP",
                        DP2: "net.USB_DP",
                        DM1: "net.USB_DM",
                        DM2: "net.USB_DM",
                    }, children: jsxRuntime.jsx(tscircuit.enclosure.cutoutaperture, { shape: "pill", width: "10mm", height: "4mm", margin: "0.5mm" }) }), jsxRuntime.jsx("resistor", { name: "R1", resistance: "5.1k", footprint: "0603", schSectionName: "power", pcbX: -21, pcbY: -15, pcbRotation: 90, schX: -13, schY: -2.5, schRotation: 90, connections: { pin1: "net.CC1", pin2: "net.GND" } }), jsxRuntime.jsx("resistor", { name: "R2", resistance: "5.1k", footprint: "0603", schSectionName: "power", pcbX: -7, pcbY: -13, pcbRotation: 90, schX: -11.5, schY: -2.5, schRotation: 90, connections: { pin1: "net.CC2", pin2: "net.GND" } }), jsxRuntime.jsx(USBLC6_2SC6, { name: "U5", schSectionName: "power", pcbX: -14, pcbY: -9.5, schX: -11, schY: 1.5, connections: {
                        pin1: "net.USB_DM",
                        pin6: "net.USB_DM",
                        pin3: "net.USB_DP",
                        pin4: "net.USB_DP",
                        GND: "net.GND",
                        VBUS: "net.VBUS",
                    } }), jsxRuntime.jsx(AMS1117_3_3, { name: "U2", schSectionName: "power", pcbX: -1, pcbY: -15, schX: -8, schY: 0, connections: {
                        VIN: "net.VBUS",
                        GND: "net.GND",
                        VOUT1: "net.V3_3",
                        VOUT2: "net.V3_3",
                    } }), jsxRuntime.jsx("capacitor", { name: "C1", capacitance: "10uF", footprint: "0805", schSectionName: "power", pcbX: -1, pcbY: -20, schX: -9.5, schY: -2, schRotation: 90, connections: { pin1: "net.VBUS", pin2: "net.GND" } }), jsxRuntime.jsx("capacitor", { name: "C2", capacitance: "22uF", footprint: "0805", schSectionName: "power", pcbX: 5.5, pcbY: -15, pcbRotation: 90, schX: -7, schY: -2, schRotation: 90, connections: { pin1: "net.V3_3", pin2: "net.GND" } }), jsxRuntime.jsx("capacitor", { name: "C3", capacitance: "100nF", footprint: "0603", schSectionName: "power", pcbX: 5.5, pcbY: -11.5, pcbRotation: 90, schX: -5.8, schY: -2, schRotation: 90, connections: { pin1: "net.V3_3", pin2: "net.GND" } }), jsxRuntime.jsx("resistor", { name: "R9", resistance: "1k", footprint: "0603", schSectionName: "power", pcbX: 9.5, pcbY: -10.5, schX: -5.8, schY: 1.2, schRotation: 90, connections: { pin1: "net.V3_3", pin2: "net.PWR_LED" } }), jsxRuntime.jsx(KT_0603G, { name: "D1", color: "green", schSectionName: "power", pcbX: 9.5, pcbY: -13, schX: -5.8, schY: -0.3, schRotation: -90, connections: { anode: "net.PWR_LED", cathode: "net.GND" } }), jsxRuntime.jsx(ESP32_S3_WROOM_1_N8R2, { name: "U1", schSectionName: "mcu", pcbX: -14, pcbY: 5.5, schX: 5.5, schY: 0, schPinArrangement: {
                        leftSide: {
                            direction: "top-to-bottom",
                            pins: [
                                "3V3", "EN", "IO0", "IO19", "IO20", "IO8", "IO9", "IO10", "IO21",
                                "TXD0", "RXD0", "IO4", "IO5", "IO6", "IO7",
                            ],
                        },
                        rightSide: {
                            direction: "top-to-bottom",
                            pins: [
                                "IO1", "IO2", "IO3", "IO11", "IO12", "IO13", "IO14", "IO15", "IO16",
                                "IO17", "IO18", "IO35", "IO36", "IO37", "IO38", "IO39", "IO40",
                                "IO41", "IO42", "IO45", "IO46", "IO47", "IO48",
                            ],
                        },
                        bottomSide: {
                            direction: "left-to-right",
                            pins: ["GND1", "GND2", "GND3"],
                        },
                    }, connections: {
                        GND1: "net.GND",
                        GND2: "net.GND",
                        GND3: "net.GND",
                        "3V3": "net.V3_3",
                        EN: "net.EN",
                        IO0: "net.BOOT",
                        IO19: "net.USB_DM",
                        IO20: "net.USB_DP",
                        IO8: "net.SDA",
                        IO9: "net.SCL",
                        IO10: "net.UV_INT",
                        IO21: "net.LED",
                        TXD0: "net.TXD0",
                        RXD0: "net.RXD0",
                        IO4: "net.IO4",
                        IO5: "net.IO5",
                        IO6: "net.IO6",
                        IO7: "net.IO7",
                    } }), jsxRuntime.jsx("capacitor", { name: "C9", capacitance: "22uF", footprint: "0805", schSectionName: "mcu", pcbX: -26, pcbY: 14.5, pcbRotation: 90, schX: 6, schY: 4.2, schRotation: 90, connections: { pin1: "net.V3_3", pin2: "net.GND" } }), jsxRuntime.jsx("capacitor", { name: "C4", capacitance: "10uF", footprint: "0805", schSectionName: "mcu", pcbX: -26, pcbY: 11, pcbRotation: 90, schX: 3.5, schY: 4.2, schRotation: 90, connections: { pin1: "net.V3_3", pin2: "net.GND" } }), jsxRuntime.jsx("capacitor", { name: "C5", capacitance: "100nF", footprint: "0603", schSectionName: "mcu", pcbX: -26, pcbY: 7.5, pcbRotation: 90, schX: 4.7, schY: 4.2, schRotation: 90, connections: { pin1: "net.V3_3", pin2: "net.GND" } }), jsxRuntime.jsx("resistor", { name: "R3", resistance: "10k", footprint: "0603", schSectionName: "mcu", pcbX: -26, pcbY: 4.0, pcbRotation: 90, schX: 1, schY: 2.5, schRotation: 90, connections: { pin1: "net.EN", pin2: "net.V3_3" } }), jsxRuntime.jsx("capacitor", { name: "C6", capacitance: "1uF", footprint: "0603", schSectionName: "mcu", pcbX: -26, pcbY: 0.5, pcbRotation: 90, schX: 1, schY: 0.8, schRotation: 90, connections: { pin1: "net.EN", pin2: "net.GND" } }), jsxRuntime.jsx(TS_1187A_B_A_B, { name: "SW1", schSectionName: "mcu", pcbX: -25, pcbY: -9, pcbRotation: 90, schX: -1, schY: 1.7, connections: { A: "net.EN", D: "net.GND" }, children: jsxRuntime.jsx(tscircuit.enclosure.cutoutaperture, { shape: "circle", radius: "2mm" }) }), jsxRuntime.jsx("resistor", { name: "R4", resistance: "10k", footprint: "0603", schSectionName: "mcu", pcbX: 4.5, pcbY: 4.5, pcbRotation: 90, schX: 1, schY: -1.2, schRotation: 90, connections: { pin1: "net.BOOT", pin2: "net.V3_3" } }), jsxRuntime.jsx(TS_1187A_B_A_B, { name: "SW2", schSectionName: "mcu", pcbX: 2, pcbY: -3, pcbRotation: 90, schX: -1, schY: -2.2, connections: { A: "net.BOOT", D: "net.GND" }, children: jsxRuntime.jsx(tscircuit.enclosure.cutoutaperture, { shape: "circle", radius: "2mm" }) }), jsxRuntime.jsx("resistor", { name: "R8", resistance: "1k", footprint: "0603", schSectionName: "mcu", pcbX: -9.5, pcbY: -7, schX: 1, schY: -3.5, connections: { pin1: "net.LED", pin2: "net.STATUS_LED" } }), jsxRuntime.jsx(KT_0603B, { name: "D2", color: "blue", schSectionName: "mcu", pcbX: -9.5, pcbY: -9, schX: 2.7, schY: -3.5, connections: { anode: "net.STATUS_LED", cathode: "net.GND" } }), jsxRuntime.jsx(SHT40_AD1B_R3, { name: "U3", schSectionName: "sensors", pcbX: 19.25, pcbY: 19, schX: 15.5, schY: 3.5, noConnect: ["EP"], connections: {
                        SDA: "net.SDA",
                        SCL: "net.SCL",
                        VDD: "net.V3_3",
                        VSS: "net.GND",
                    }, children: jsxRuntime.jsx(tscircuit.enclosure.cutoutaperture, { shape: "rect", width: "5mm", height: "7mm" }) }), jsxRuntime.jsx("capacitor", { name: "C7", capacitance: "100nF", footprint: "0603", schSectionName: "sensors", pcbX: 19.25, pcbY: 16, schX: 18, schY: 3.5, schRotation: 90, connections: { pin1: "net.V3_3", pin2: "net.GND" } }), jsxRuntime.jsx(LTR_390UV_01, { name: "U4", schSectionName: "sensors", pcbX: 10, pcbY: 18.5, schX: 15.5, schY: 0, noConnect: ["NC"], connections: {
                        VDD: "net.V3_3",
                        GND: "net.GND",
                        SCL: "net.SCL",
                        SDA: "net.SDA",
                        INT: "net.UV_INT",
                    }, children: jsxRuntime.jsx(tscircuit.enclosure.cutoutaperture, { shape: "circle", radius: "3mm" }) }), jsxRuntime.jsx("capacitor", { name: "C8", capacitance: "100nF", footprint: "0603", schSectionName: "sensors", pcbX: 10, pcbY: 15, schX: 18, schY: 0, schRotation: 90, connections: { pin1: "net.V3_3", pin2: "net.GND" } }), jsxRuntime.jsx("resistor", { name: "R5", resistance: "4.7k", footprint: "0603", schSectionName: "sensors", pcbX: 4, pcbY: 18, schX: 11.5, schY: 3.5, schRotation: 90, connections: { pin1: "net.SDA", pin2: "net.V3_3" } }), jsxRuntime.jsx("resistor", { name: "R6", resistance: "4.7k", footprint: "0603", schSectionName: "sensors", pcbX: 4, pcbY: 15, schX: 13, schY: 3.5, schRotation: 90, connections: { pin1: "net.SCL", pin2: "net.V3_3" } }), jsxRuntime.jsx("resistor", { name: "R7", resistance: "10k", footprint: "0603", schSectionName: "sensors", pcbX: 4, pcbY: 12, schX: 13, schY: 0, schRotation: 90, connections: { pin1: "net.UV_INT", pin2: "net.V3_3" } }), jsxRuntime.jsx(JST_SH_SM04B_SRSS_TB, { name: "J2", schSectionName: "io", pcbX: 20, pcbY: -19, schX: 13, schY: -4, pinLabels: {
                        pin1: "GND",
                        pin2: "V3_3",
                        pin3: "SDA",
                        pin4: "SCL",
                        pin5: "SHIELD1",
                        pin6: "SHIELD2",
                    }, connections: {
                        GND: "net.GND",
                        V3_3: "net.V3_3",
                        SDA: "net.SDA",
                        SCL: "net.SCL",
                        SHIELD1: "net.GND",
                        SHIELD2: "net.GND",
                    }, children: jsxRuntime.jsx(tscircuit.enclosure.cutoutaperture, { shape: "rect", width: "7mm", height: "4mm", margin: "0.5mm" }) }), jsxRuntime.jsx("pinheader", { name: "J3", pinCount: 8, pitch: "2.54mm", gender: "male", showSilkscreenPinLabels: true, manufacturerPartNumber: "PZ254V-11-08P", supplierPartNumbers: { jlcpcb: ["C492407"] }, schSectionName: "io", pcbX: 26.5, pcbY: 0, pcbRotation: 90, schX: 19.5, schY: -4, schFacingDirection: "left", pinLabels: ["V3_3", "GND", "TXD0", "RXD0", "IO4", "IO5", "IO6", "IO7"], connections: {
                        V3_3: "net.V3_3",
                        GND: "net.GND",
                        TXD0: "net.TXD0",
                        RXD0: "net.RXD0",
                        IO4: "net.IO4",
                        IO5: "net.IO5",
                        IO6: "net.IO6",
                        IO7: "net.IO7",
                    } }), jsxRuntime.jsx("copperpour", { connectsTo: "net.GND", layer: "bottom" })] }), jsxRuntime.jsx(tscircuit.enclosure.fdm.box, { boardRef: ".B1", wallThickness: "2mm", boardClearance: "1mm" })] }));

module.exports = index_circuit;