gokul/board-v2

This design integrates an ESP32-S3 Wi-Fi and Bluetooth module, a USB-C port with power and data circuitry, a USB ESD protection chip, a 3.3V voltage regulator, and an OLED display module on a PCB with associated routing and thermal copper pour layers.

Version
0.0.1
License
unset
Stars
0

dist/index.js

import { jsx, jsxs } from 'react/jsx-runtime';
import { SmdUsbC } from '@tsci/seveibar.smd-usb-c';

const pinLabels = {
    pin1: ["GND"],
    pin2: ["VCC"],
    pin3: ["SCL"],
    pin4: ["SDA"]
};
const HS154L03W2C01 = (props) => {
    return (jsx("chip", { pinLabels: pinLabels, supplierPartNumbers: {
            "jlcpcb": [
                "C7465999"
            ]
        }, manufacturerPartNumber: "HS154L03W2C01", footprint: jsxs("footprint", { children: [jsx("hole", { pcbX: "-18.699988mm", pcbY: "16.499967mm", diameter: "2.999994mm" }), jsx("hole", { pcbX: "-18.699988mm", pcbY: "-16.499967mm", diameter: "2.999994mm" }), jsx("hole", { pcbX: "18.699988mm", pcbY: "-16.499967mm", diameter: "2.999994mm" }), jsx("hole", { pcbX: "18.699988mm", pcbY: "16.499967mm", diameter: "2.999994mm" }), jsx("platedhole", { portHints: ["pin1"], pcbX: "-3.81mm", pcbY: "17.099915mm", outerDiameter: "1.6999966mm", holeDiameter: "0.999998mm", shape: "circle" }), jsx("platedhole", { portHints: ["pin2"], pcbX: "-1.27mm", pcbY: "17.099915mm", outerDiameter: "1.6999966mm", holeDiameter: "0.999998mm", shape: "circle" }), jsx("platedhole", { portHints: ["pin3"], pcbX: "1.27mm", pcbY: "17.099915mm", outerDiameter: "1.6999966mm", holeDiameter: "0.999998mm", shape: "circle" }), jsx("platedhole", { portHints: ["pin4"], pcbX: "3.81mm", pcbY: "17.099915mm", outerDiameter: "1.6999966mm", holeDiameter: "0.999998mm", shape: "circle" }), jsx("silkscreenpath", { route: [{ "x": 5.078018800000109, "y": -14.967889799999966 }, { "x": 5.078018800000109, "y": -18.998895199999993 }] }), jsx("silkscreenpath", { route: [{ "x": -5.081955799999946, "y": -14.967889799999966 }, { "x": 5.078018800000109, "y": -14.967889799999966 }] }), jsx("silkscreenpath", { route: [{ "x": 21.198992400000066, "y": -18.998895199999993 }, { "x": 5.078018800000109, "y": -18.998895199999993 }] }), jsx("silkscreenpath", { route: [{ "x": -5.081955799999946, "y": -18.998895199999993 }, { "x": -5.081955799999946, "y": -14.967889799999966 }] }), jsx("silkscreenpath", { route: [{ "x": -21.198941600000012, "y": -18.998895199999993 }, { "x": -5.081955799999946, "y": -18.998895199999993 }] }), jsx("silkscreenpath", { route: [{ "x": -21.198941600000012, "y": -18.998895199999993 }, { "x": -21.198941600000012, "y": 19.00902980000012 }] }), jsx("silkscreenpath", { route: [{ "x": -21.19993219999992, "y": 19.000038200000063 }, { "x": 21.198992400000066, "y": 19.000038200000063 }, { "x": 21.198992400000066, "y": -18.998895199999993 }] }), jsx("silkscreenpath", { route: [{ "x": -5.720079999999939, "y": 17.870043000000123 }, { "x": -5.72689135917642, "y": 17.818305590522073 }, { "x": -5.74686125383414, "y": 17.770093999999972 }, { "x": -5.778628768654357, "y": 17.728693768654466 }, { "x": -5.820028999999863, "y": 17.69692625383425 }, { "x": -5.868240590521964, "y": 17.67695635917653 }, { "x": -5.919977999999787, "y": 17.670145000000048 }, { "x": -5.971715409477724, "y": 17.67695635917653 }, { "x": -6.019926999999939, "y": 17.69692625383425 }, { "x": -6.0613272313454445, "y": 17.728693768654466 }, { "x": -6.093094746165548, "y": 17.770093999999972 }, { "x": -6.1130646408233815, "y": 17.818305590522073 }, { "x": -6.119875999999863, "y": 17.870043000000123 }, { "x": -6.1130646408233815, "y": 17.921780409477833 }, { "x": -6.093094746165548, "y": 17.969992000000047 }, { "x": -6.0613272313454445, "y": 18.011392231345553 }, { "x": -6.019926999999939, "y": 18.043159746165657 }, { "x": -5.971715409477724, "y": 18.06312964082349 }, { "x": -5.919977999999787, "y": 18.06994099999997 }, { "x": -5.868240590521964, "y": 18.06312964082349 }, { "x": -5.820028999999863, "y": 18.043159746165657 }, { "x": -5.778628768654357, "y": 18.011392231345553 }, { "x": -5.74686125383414, "y": 17.969992000000047 }, { "x": -5.72689135917642, "y": 17.921780409477833 }, { "x": -5.720079999999939, "y": 17.870043000000123 }] }), jsx("silkscreenpath", { route: [{ "x": -21.11293719999992, "y": -18.984874399999967 }, { "x": -6.8139563999998245, "y": -18.984874399999967 }, { "x": -6.8139563999998245, "y": -16.068903599999885 }, { "x": -5.872962599999937, "y": -16.068903599999885 }, { "x": -5.872962599999937, "y": -17.573879000000034 }, { "x": 6.074003600000083, "y": -17.573879000000034 }, { "x": 6.074003600000083, "y": -15.880892800000083 }, { "x": 7.015022800000111, "y": -15.880892800000083 }, { "x": 7.015022800000111, "y": -18.796888999999965 }, { "x": 19.996988200000146, "y": -18.796888999999965 }] }), jsx("silkscreentext", { text: "{NAME}", pcbX: "-0.0254mm", pcbY: "25.231727mm", anchorAlignment: "center", fontSize: "1mm" }), jsx("courtyardoutline", { outline: [{ "x": -21.484399999999937, "y": 24.48172700000009 }, { "x": 21.433600000000183, "y": 24.48172700000009 }, { "x": 21.433600000000183, "y": -19.274472999999944 }, { "x": -21.484399999999937, "y": -19.274472999999944 }, { "x": -21.484399999999937, "y": 24.48172700000009 }] })] }), cadModel: {
            objUrl: "https://modelcdn.tscircuit.com/easyeda_models/assets/C7465999.obj?uuid=aa861fa4eb4a4bd2a39608f58e47f232",
            stepUrl: "https://modelcdn.tscircuit.com/easyeda_models/assets/C7465999.step?uuid=aa861fa4eb4a4bd2a39608f58e47f232",
            pcbRotationOffset: 0,
            modelOriginPosition: { x: -25400000026820635e-21, y: -0.0050800000001345325, z: -8.480405999999999 },
        }, ...props }));
};

const espPins = {
    pin1: ["GND1"], pin2: ["V3V3"], pin3: ["EN"], pin4: ["IO4"],
    pin5: ["IO5"], pin6: ["IO6"], pin7: ["IO7"], pin8: ["IO15"],
    pin9: ["IO16"], pin10: ["IO17"], pin11: ["IO18"], pin12: ["IO8"],
    pin13: ["IO19", "USB_DN"], pin14: ["IO20", "USB_DP"], 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", "BOOT"],
    pin28: ["IO35"], pin29: ["IO36"], pin30: ["IO37"], pin31: ["IO38"],
    pin32: ["IO39"], pin33: ["IO40"], pin34: ["IO41"], pin35: ["IO42"],
    pin36: ["RXD0", "IO44"], pin37: ["TXD0", "IO43"], pin38: ["IO2"],
    pin39: ["IO1"], pin40: ["GND2"], pin41: ["EP", "GND3"],
};
const unusedEspPins = [
    "IO4", "IO5", "IO6", "IO7", "IO15", "IO16", "IO17", "IO18",
    "IO3", "IO46", "IO10", "IO11", "IO12", "IO13", "IO14", "IO21",
    "IO47", "IO48", "IO45", "IO35", "IO36", "IO37", "IO38", "IO39",
    "IO40", "IO41", "IO42", "RXD0", "TXD0", "IO2", "IO1",
];
function DisplayBoard() {
    return (jsxs("board", { width: "70mm", height: "70mm", children: [jsx(SmdUsbC, { name: "J1", pcbX: 0, pcbY: -31, noConnect: ["SBU1", "SBU2"], layer: "bottom", connections: {
                    A1: "net.GND", B12: "net.GND", A12: "net.GND", B1: "net.GND",
                    A4: "net.VBUS", B9: "net.VBUS", A9: "net.VBUS", B4: "net.VBUS",
                    A6: "net.USB_DP_CONN", B6: "net.USB_DP_CONN",
                    A7: "net.USB_DN_CONN", B7: "net.USB_DN_CONN",
                    CC1: "net.USB_CC1", CC2: "net.USB_CC2",
                } }), jsx("resistor", { name: "R_CC1", resistance: "5.1k", footprint: "0603", pcbX: -8, pcbY: -25, connections: { pin1: "net.USB_CC1", pin2: "net.GND" } }), jsx("resistor", { name: "R_CC2", resistance: "5.1k", footprint: "0603", pcbX: 8, pcbY: -25, connections: { pin1: "net.USB_CC2", pin2: "net.GND" } }), jsx("resistor", { name: "R_USB_DN", resistance: "22", footprint: "0402", pcbX: -7, pcbY: 7, connections: { pin1: "net.USB_DN_CONN", pin2: "net.USB_DN_ESP" } }), jsx("resistor", { name: "R_USB_DP", resistance: "22", footprint: "0402", pcbX: -4, pcbY: 7, connections: { pin1: "net.USB_DP_CONN", pin2: "net.USB_DP_ESP" } }), jsx("chip", { name: "D_USB", manufacturerPartNumber: "USBLC6-2SC6", footprint: "sot23_6", pcbX: 0, pcbY: -28, pinLabels: { pin1: "IO1", pin2: "GND", pin3: "IO2", pin4: "IO2B", pin5: "VBUS", pin6: "IO1B" }, connections: { IO1: "net.USB_DN_CONN", IO1B: "net.USB_DN_CONN",
                    IO2: "net.USB_DP_CONN", IO2B: "net.USB_DP_CONN", GND: "net.GND", VBUS: "net.VBUS" } }), jsx("chip", { name: "U1", manufacturerPartNumber: "AMS1117-3.3", footprint: "sot223", pcbX: -18, pcbY: -27, pinLabels: { pin1: "GND", pin2: "VOUT", pin3: "VIN" }, connections: { GND: "net.GND", VIN: "net.VBUS", VOUT: "net.V3V3" } }), jsx("capacitor", { name: "C_REG_IN", capacitance: "10uF", footprint: "0805", pcbX: -27, pcbY: -27, connections: { pin1: "net.VBUS", pin2: "net.GND" } }), jsx("capacitor", { name: "C_REG_OUT", capacitance: "22uF", footprint: "0805", pcbX: -8, pcbY: -27, connections: { pin1: "net.V3V3", pin2: "net.GND" } }), jsx("chip", { name: "U3", manufacturerPartNumber: "ESP32-S3-WROOM-1-N8", footprint: "kicad:RF_Module/ESP32-S3-WROOM-1", pcbX: 0, pcbY: 22, pinLabels: espPins, noConnect: unusedEspPins, connections: { GND1: "net.GND", GND2: "net.GND", GND3: "net.GND",
                    V3V3: "net.V3V3", EN: "net.ESP_EN", BOOT: "net.ESP_BOOT",
                    USB_DN: "net.USB_DN_ESP", USB_DP: "net.USB_DP_ESP",
                    IO8: "net.DISPLAY_SDA", IO9: "net.DISPLAY_SCL" } }), jsx("capacitor", { name: "C_ESP_BULK", capacitance: "10uF", footprint: "0805", pcbX: -13, pcbY: 22, connections: { pin1: "net.V3V3", pin2: "net.GND" } }), jsx("capacitor", { name: "C_ESP_DECOUPLE", capacitance: "100nF", footprint: "0603", pcbX: -13, pcbY: 18, connections: { pin1: "net.V3V3", pin2: "net.GND" } }), jsx("resistor", { name: "R_EN", resistance: "10k", footprint: "0603", pcbX: -13, pcbY: 14, connections: { pin1: "net.V3V3", pin2: "net.ESP_EN" } }), jsx("capacitor", { name: "C_EN", capacitance: "1uF", footprint: "0603", pcbX: -17, pcbY: 14, connections: {
                    pin1: "net.ESP_EN",
                    pin2: "net.GND",
                } }), jsx("resistor", { name: "R_BOOT", resistance: "10k", footprint: "0603", pcbX: 13, pcbY: 14, connections: { pin1: "net.V3V3", pin2: "net.ESP_BOOT" } }), jsx("pushbutton", { name: "SW_RESET", footprint: "pushbutton_id1.3mm_od2mm", pcbX: -27, pcbY: 29, layer: "bottom", connections: { pin1: "net.ESP_EN", pin2: "net.GND" } }), jsx("pushbutton", { name: "SW_BOOT", footprint: "pushbutton_id1.3mm_od2mm", pcbX: 27, pcbY: 29, layer: "bottom", connections: { pin1: "net.ESP_BOOT", pin2: "net.GND" } }), jsx("resistor", { name: "R_SDA", resistance: "4.7k", footprint: "0603", pcbX: 13, pcbY: 12, connections: { pin1: "net.V3V3", pin2: "net.DISPLAY_SDA" } }), jsx("resistor", { name: "R_SCL", resistance: "4.7k", footprint: "0603", pcbX: 16, pcbY: 15, connections: {
                    pin1: "net.V3V3",
                    pin2: "net.DISPLAY_SCL",
                } }), jsx(HS154L03W2C01, { name: "DS1", pcbX: 0, pcbY: 2, pcbRotation: "180deg", layer: "bottom", connections: { GND: "net.GND", VCC: "net.V3V3",
                    SCL: "net.DISPLAY_SCL", SDA: "net.DISPLAY_SDA" } }), jsx("trace", { from: "J1.A1", to: "net.GND" }), jsx("trace", { from: "J1.B12", to: "net.GND" }), jsx("trace", { from: "J1.A12", to: "net.GND" }), jsx("trace", { from: "J1.B1", to: "net.GND" }), jsx("trace", { from: "J1.A4", to: "net.VBUS", thickness: "0.8mm" }), jsx("trace", { from: "J1.B9", to: "net.VBUS", thickness: "0.8mm" }), jsx("trace", { from: "J1.A9", to: "net.VBUS", thickness: "0.8mm" }), jsx("trace", { from: "J1.B4", to: "net.VBUS", thickness: "0.8mm" }), jsx("trace", { from: "J1.A6", to: "net.USB_DP_CONN" }), jsx("trace", { from: "J1.B6", to: "net.USB_DP_CONN" }), jsx("trace", { from: "J1.A7", to: "net.USB_DN_CONN" }), jsx("trace", { from: "J1.B7", to: "net.USB_DN_CONN" }), jsx("trace", { from: "J1.CC1", to: "net.USB_CC1" }), jsx("trace", { from: "R_CC1.pin1", to: "net.USB_CC1" }), jsx("trace", { from: "J1.CC2", to: "net.USB_CC2" }), jsx("trace", { from: "R_CC2.pin1", to: "net.USB_CC2" }), jsx("trace", { from: "R_CC1.pin2", to: "net.GND" }), jsx("trace", { from: "R_CC2.pin2", to: "net.GND" }), jsx("trace", { from: "D_USB.IO1", to: "net.USB_DN_CONN" }), jsx("trace", { from: "D_USB.IO1B", to: "net.USB_DN_CONN" }), jsx("trace", { from: "D_USB.IO2", to: "net.USB_DP_CONN" }), jsx("trace", { from: "D_USB.IO2B", to: "net.USB_DP_CONN" }), jsx("trace", { from: "D_USB.GND", to: "net.GND" }), jsx("trace", { from: "D_USB.VBUS", to: "net.VBUS", thickness: "0.8mm" }), jsx("trace", { name: "USB_DN_CONN_PAIR", from: "R_USB_DN.pin1", to: "net.USB_DN_CONN", thickness: "0.2mm" }), jsx("trace", { name: "USB_DP_CONN_PAIR", from: "R_USB_DP.pin1", to: "net.USB_DP_CONN", thickness: "0.2mm" }), jsx("trace", { name: "USB_DN_ESP_PAIR", from: "R_USB_DN.pin2", to: "net.USB_DN_ESP", thickness: "0.2mm" }), jsx("trace", { from: "U3.USB_DN", to: "net.USB_DN_ESP" }), jsx("trace", { name: "USB_DP_ESP_PAIR", from: "R_USB_DP.pin2", to: "net.USB_DP_ESP", thickness: "0.2mm" }), jsx("trace", { from: "U3.USB_DP", to: "net.USB_DP_ESP" }), jsx("trace", { from: "U1.VIN", to: "net.VBUS", thickness: "0.8mm" }), jsx("trace", { from: "U1.GND", to: "net.GND" }), jsx("trace", { from: "U1.VOUT", to: "net.V3V3", thickness: "0.7mm" }), jsx("trace", { from: "C_REG_IN.pin1", to: "net.VBUS", thickness: "0.8mm" }), jsx("trace", { from: "C_REG_IN.pin2", to: "net.GND" }), jsx("trace", { from: "C_REG_OUT.pin1", to: "net.V3V3", thickness: "0.7mm" }), jsx("trace", { from: "C_REG_OUT.pin2", to: "net.GND" }), jsx("trace", { from: "U3.GND1", to: "net.GND" }), jsx("trace", { from: "U3.GND2", to: "net.GND" }), jsx("trace", { from: "U3.GND3", to: "net.GND" }), jsx("trace", { from: "U3.V3V3", to: "net.V3V3", thickness: "0.7mm" }), jsx("trace", { from: "C_ESP_BULK.pin1", to: "net.V3V3", thickness: "0.7mm" }), jsx("trace", { from: "C_ESP_BULK.pin2", to: "net.GND" }), jsx("trace", { from: "C_ESP_DECOUPLE.pin1", to: "net.V3V3", thickness: "0.7mm" }), jsx("trace", { from: "C_ESP_DECOUPLE.pin2", to: "net.GND" }), jsx("trace", { from: "R_EN.pin1", to: "net.V3V3", thickness: "0.7mm" }), jsx("trace", { from: "R_EN.pin2", to: "net.ESP_EN" }), jsx("trace", { from: "U3.EN", to: "net.ESP_EN" }), jsx("trace", { from: "C_EN.pin1", to: "net.ESP_EN" }), jsx("trace", { from: "C_EN.pin2", to: "net.GND" }), jsx("trace", { from: "SW_RESET.pin1", to: "net.ESP_EN" }), jsx("trace", { from: "SW_RESET.pin2", to: "net.GND" }), jsx("trace", { from: "R_BOOT.pin1", to: "net.V3V3", thickness: "0.7mm" }), jsx("trace", { from: "R_BOOT.pin2", to: "net.ESP_BOOT" }), jsx("trace", { from: "U3.BOOT", to: "net.ESP_BOOT" }), jsx("trace", { from: "SW_BOOT.pin1", to: "net.ESP_BOOT" }), jsx("trace", { from: "SW_BOOT.pin2", to: "net.GND" }), jsx("trace", { from: "U3.IO8", to: "net.DISPLAY_SDA" }), jsx("trace", { from: "U3.IO9", to: "net.DISPLAY_SCL" }), jsx("trace", { from: "R_SDA.pin1", to: "net.V3V3", thickness: "0.7mm" }), jsx("trace", { from: "R_SDA.pin2", to: "net.DISPLAY_SDA" }), jsx("trace", { from: "R_SCL.pin1", to: "net.V3V3", thickness: "0.7mm" }), jsx("trace", { from: "R_SCL.pin2", to: "net.DISPLAY_SCL" }), jsx("trace", { from: "DS1.VCC", to: "net.V3V3", thickness: "0.7mm" }), jsx("trace", { from: "DS1.GND", to: "net.GND" }), jsx("trace", { from: "DS1.SDA", to: "net.DISPLAY_SDA" }), jsx("trace", { from: "DS1.SCL", to: "net.DISPLAY_SCL" }), jsx("differentialpair", { name: "USB_CONN_DIFF", positiveConnection: "USB_DP_CONN_PAIR", negativeConnection: "USB_DN_CONN_PAIR", targetDifferentialImpedance: "90ohm", pcbTraceGap: "0.2mm", maxLengthSkew: "0.25mm", maxUncoupledLength: "2mm" }), jsx("differentialpair", { name: "USB_ESP_DIFF", positiveConnection: "USB_DP_ESP_PAIR", negativeConnection: "USB_DN_ESP_PAIR", targetDifferentialImpedance: "90ohm", pcbTraceGap: "0.2mm", maxLengthSkew: "0.25mm", maxUncoupledLength: "2mm" }), jsx("copperpour", { name: "AMS1117_V3V3_HEAT_SPREADER", layer: "top", connectsTo: "net.V3V3", useThermalReliefs: false, clearance: "0.2mm", boardEdgeMargin: "0.3mm", outline: [
                    { x: -25, y: -32 },
                    { x: -10, y: -32 },
                    { x: -10, y: -21 },
                    { x: -25, y: -21 },
                ] }), jsx("copperpour", { name: "GND_PLANE_BOTTOM", layer: "bottom", connectsTo: "net.GND", useThermalReliefs: true, unbroken: true, clearance: "0.2mm", boardEdgeMargin: "0.3mm", padMargin: "0.2mm", traceMargin: "0.2mm", outline: [
                    { x: -34.7, y: -34.7 },
                    { x: 34.7, y: -34.7 },
                    { x: 34.7, y: 34.7 },
                    { x: 24, y: 34.7 },
                    { x: 24, y: 23 },
                    { x: -24, y: 23 },
                    { x: -24, y: 34.7 },
                    { x: -34.7, y: 34.7 },
                ] }), jsx("silkscreentext", { text: "DISPLAY / ESP32-S3", pcbX: 0, pcbY: 17, fontSize: "1mm" }), jsx("silkscreentext", { text: "USB-C POWER + PROGRAM", pcbX: 0, pcbY: -33, fontSize: "0.8mm" }), jsx("silkscreentext", { text: "DISPLAY - BACK", pcbX: 0, pcbY: 25, rotate: "180deg", fontSize: "0.8mm", layer: "bottom" })] }));
}

export { DisplayBoard as default };