AnasSarkiz/ESP32_module

This circuit implements an ESP32-based wireless communication module with integrated crystal oscillator, decoupling capacitors, antenna, and multiple serial flash and RAM chips for storage.

Usage: To import and use the ESP32 module component: 1. Import the component: ```tsx import { ESP32Module } from "@tsci/AnasSarkiz.ESP32_module" ``` 2. Use in a circuit: ```tsx <board> <ESP32Module name="ESP32_1" /> </board> ``` The component includes a pre-configured ESP32 module with associated capacitors, resistors, and other supporting components. It can be directly added to a circuit board design.

Version
0.0.1
License
unset
Stars
5

dist/index.js

PCBPCB preview for dist/index.js
SchematicSchematic preview for dist/index.js
"use strict";

Object.defineProperty(exports, "__esModule", {
  value: true
});
exports.ESP32Module = void 0;
var _AnasSarkiz = require("@tsci/AnasSarkiz.ESP32_D0WD");
var _core = require("@tscircuit/core");
const ESP32Module = props => {
  const ESP32 = (0, _AnasSarkiz.useESP32_D0WD)("U2");

  // Capacitors
  const C1 = (0, _core.useCapacitor)("C1", {
    capacitance: "0F"
  }); //TDB
  const C2 = (0, _core.useCapacitor)("C2", {
    capacitance: "0F"
  }); //TDB
  const C3 = (0, _core.useCapacitor)("C3", {
    capacitance: "100pF"
  });
  const C4 = (0, _core.useCapacitor)("C4", {
    capacitance: "0.1uF"
  });
  const C5 = (0, _core.useCapacitor)("C5", {
    capacitance: "10nF"
  }); // 10nF/6.3V (10%)
  const C6 = (0, _core.useCapacitor)("C6", {
    capacitance: "3.3nF"
  }); // 3.3nf/6.3V (10%)
  const C9 = (0, _core.useCapacitor)("C9", {
    capacitance: "1nF"
  });
  const C10 = (0, _core.useCapacitor)("C10", {
    capacitance: "0.1uF"
  });
  const C11 = (0, _core.useCapacitor)("C11", {
    capacitance: "1uF"
  });
  const C13 = (0, _core.useCapacitor)("C13", {
    capacitance: "10uF"
  });
  const C14 = (0, _core.useCapacitor)("C14", {
    capacitance: "0"
  }); // TBD
  const C15 = (0, _core.useCapacitor)("C15", {
    capacitance: "0"
  }); // TBD
  const C19 = (0, _core.useCapacitor)("C19", {
    capacitance: "0.1uF"
  });
  const C20 = (0, _core.useCapacitor)("C20", {
    capacitance: "1uF"
  });
  const C21 = (0, _core.useCapacitor)("C21", {
    capacitance: "0"
  }); // NC
  const C24 = (0, _core.useCapacitor)("C24", {
    capacitance: "1uF"
  });

  // Resistors
  const R1 = (0, _core.useResistor)("R1", {
    resistance: "20k"
  });
  const R2 = (0, _core.useResistor)("R2", {
    resistance: "0Ω"
  }); //TDB
  const R3 = (0, _core.useResistor)("R3", {
    resistance: "499Ω"
  });
  const R4 = (0, _core.useResistor)("R4", {
    resistance: "2k"
  });
  const R9 = (0, _core.useResistor)("R9", {
    resistance: "10k"
  });
  const R10 = (0, _core.useResistor)("R10", {
    resistance: "1k"
  });
  return /*#__PURE__*/React.createElement("group", {
    subcircuit: true,
    routingDisabled: true
  }, /*#__PURE__*/React.createElement(ESP32, null), /*#__PURE__*/React.createElement(C1, {
    pos: ".U1 .XIN",
    neg: "net.GND",
    schX: 0.5,
    schY: 9,
    schRotation: "270deg"
  }), /*#__PURE__*/React.createElement(C2, {
    neg: "net.GND",
    pos: ESP32.XTAL_N,
    schX: 4.5,
    schY: 9,
    schRotation: "270deg"
  }), /*#__PURE__*/React.createElement(C3, {
    neg: "net.GND",
    pos: ".C20 .pos",
    schX: -10,
    schY: 9.1,
    schRotation: "90deg"
  }), /*#__PURE__*/React.createElement(C4, {
    neg: "net.GND",
    pos: ESP32.VDD3P3_CPU,
    schX: 4.8,
    schY: 3,
    schRotation: "270deg"
  }), /*#__PURE__*/React.createElement(C5, {
    neg: "net.GND",
    pos: ".C6 .pos",
    schX: -4,
    schY: 5.7,
    schRotation: "270deg"
  }), /*#__PURE__*/React.createElement(C6, {
    neg: ESP32.CAP1,
    pos: ESP32.CAP2,
    schX: -1.5,
    schY: 5
  }), /*#__PURE__*/React.createElement(C9, {
    neg: "net.GND",
    pos: ESP32.VDDA,
    schX: -7.8,
    schY: 5.5,
    schRotation: "90deg"
  }), /*#__PURE__*/React.createElement(C10, {
    neg: "net.GND",
    pos: ".L4 .pin1",
    schX: -10,
    schY: 3,
    schRotation: "90deg"
  }), /*#__PURE__*/React.createElement(C11, {
    neg: "net.GND",
    pos: ".C10 .pos",
    schX: -12,
    schY: 3,
    schRotation: "90deg"
  }), /*#__PURE__*/React.createElement(C13, {
    neg: "net.GND",
    pos: ".C11 .pos",
    schX: -14,
    schY: 3,
    schRotation: "90deg"
  }), /*#__PURE__*/React.createElement(C14, {
    neg: "net.GND",
    pos: ESP32.pin2,
    schX: -8,
    schY: 1.1,
    schRotation: "90deg"
  }), /*#__PURE__*/React.createElement(C15, {
    neg: "net.GND",
    pos: ".L5 .pin1",
    schX: -10,
    schY: 1.1,
    schRotation: "90deg"
  }), /*#__PURE__*/React.createElement(C19, {
    neg: "net.GND",
    pos: ESP32.VDD3P3_RTC,
    schX: 5,
    schY: -6,
    schRotation: "90deg"
  }), /*#__PURE__*/React.createElement(C20, {
    neg: "net.GND",
    pos: ESP32.pin46,
    schX: -8,
    schY: 9.5,
    schRotation: "90deg"
  }), /*#__PURE__*/React.createElement(C21, {
    neg: "net.GND",
    schX: -8,
    schY: 3,
    schRotation: "90deg"
  }), /*#__PURE__*/React.createElement(C24, {
    neg: "net.GND",
    pos: ".R4 .pin2",
    schX: 7,
    schY: -3,
    schRotation: "90deg"
  }), /*#__PURE__*/React.createElement(R1, {
    pin1: ".C6 .pos",
    pin2: ".C6 .neg",
    schX: -1.3,
    schY: 6
  }), /*#__PURE__*/React.createElement(R2, {
    pin1: ESP32.XTAL_P,
    pin2: ".C1 .pos",
    schX: 0.5,
    schY: 5,
    schRotation: "90deg"
  }), /*#__PURE__*/React.createElement(R3, {
    pin1: ESP32.U0TXD,
    pin2: "net.U0TXD",
    schX: 4,
    schY: 6
  }), /*#__PURE__*/React.createElement(R4, {
    pin1: "net.GND",
    pin2: ESP32.VDD_SDIO,
    schX: 5,
    schY: -3,
    schRotation: "90deg"
  }), /*#__PURE__*/React.createElement(R9, {
    pin1: "net.VDD33",
    pin2: ESP32.MTDI,
    schX: -3,
    schY: -5.58
  }), /*#__PURE__*/React.createElement(R10, {
    pin1: ".U4 .pin1",
    pin2: "net.VDD_SDIO",
    schX: 10.5,
    schY: -1.2,
    schRotation: "90deg"
  }), /*#__PURE__*/React.createElement("inductor", {
    name: "L4",
    inductance: "2.0nH",
    schX: -9,
    schY: 3.5
  }), /*#__PURE__*/React.createElement("inductor", {
    name: "L5",
    inductance: "TBD",
    schX: -9,
    schY: 1.58
  }), /*#__PURE__*/React.createElement("chip", {
    name: "ANT1",
    manufacturerPartNumber: "ANT-2.4-CW-RCL",
    schPortArrangement: {
      rightSide: {
        pins: ["pin2", "pin1"],
        direction: "top-to-bottom"
      }
    },
    schX: -14,
    schY: 1.1
  }), /*#__PURE__*/React.createElement("chip", {
    name: "U1",
    manufacturerPartNumber: "ATS400B",
    schPortArrangement: {
      topSide: {
        pins: ["pin1", "pin2"],
        direction: "top-to-bottom"
      },
      bottomSide: {
        pins: ["pin3", "pin4"],
        direction: "top-to-bottom"
      }
    },
    pinLabels: {
      pin1: "XIN",
      pin2: "GND",
      pin3: "XOUT",
      pin4: "GND"
    },
    schPinSpacing: 0.35,
    schHeight: 1,
    schWidth: 1,
    schX: 2.2,
    schY: 9
  }), /*#__PURE__*/React.createElement("chip", {
    name: "U3",
    manufacturerPartNumber: "W25Q32JVSSIQ",
    schPortArrangement: {
      leftSide: {
        pins: ["pin1", "pin6", "pin7"],
        direction: "top-to-bottom"
      },
      bottomSide: {
        pins: ["pin4"],
        direction: "top-to-bottom"
      },
      rightSide: {
        pins: ["pin5", "pin2", "pin3"],
        direction: "top-to-bottom"
      },
      topSide: {
        pins: ["pin8"],
        direction: "top-to-bottom"
      }
    },
    pinLabels: {
      pin1: "/CS",
      pin2: "DO",
      pin3: "/WP",
      pin4: "GND",
      pin5: "DI",
      pin6: "CLK",
      pin7: "/HOLD",
      pin8: "VDD_SDIO"
    },
    schPinSpacing: 0.35,
    schHeight: 1.5,
    schWidth: 1,
    schX: 12,
    schY: 2
  }), /*#__PURE__*/React.createElement("chip", {
    name: "U4",
    manufacturerPartNumber: "LY68L6400SLIT",
    schPortArrangement: {
      leftSide: {
        pins: ["pin1", "pin6", "pin7"],
        direction: "top-to-bottom"
      },
      bottomSide: {
        pins: ["pin4"],
        direction: "top-to-bottom"
      },
      rightSide: {
        pins: ["pin5", "pin2", "pin3"],
        direction: "top-to-bottom"
      },
      topSide: {
        pins: ["pin8"],
        direction: "top-to-bottom"
      }
    },
    pinLabels: {
      pin1: "CS",
      pin2: "SO/SIO1",
      pin3: "SIO2",
      pin4: "VSS",
      pin5: "SI/SIOO",
      pin6: "SCLK",
      pin7: "SIO3",
      pin8: "VDD_SDIO"
    },
    schPinSpacing: 0.35,
    schHeight: 1.5,
    schWidth: 1,
    schX: 12,
    schY: -3
  }), /*#__PURE__*/React.createElement("trace", {
    from: ".C21 .pos",
    to: ".L4 .pin2"
  }), /*#__PURE__*/React.createElement("trace", {
    from: ".C14 .pos",
    to: ".L5 .pin2"
  }), /*#__PURE__*/React.createElement("trace", {
    from: ".C3 .pos",
    to: "net.VDD33"
  }), /*#__PURE__*/React.createElement("trace", {
    from: ".C13 .pos",
    to: "net.VDD33"
  }), /*#__PURE__*/React.createElement("trace", {
    from: ".C9 .pos",
    to: "net.VDD33"
  }), /*#__PURE__*/React.createElement("trace", {
    from: ".C19 .pos",
    to: "net.VDD33"
  }), /*#__PURE__*/React.createElement("trace", {
    from: ".C4 .pos",
    to: "net.VDD33"
  }), /*#__PURE__*/React.createElement("trace", {
    from: ".C24 .pos",
    to: "net.VDD_SDIO"
  }), /*#__PURE__*/React.createElement("trace", {
    from: ESP32.pin3,
    to: ESP32.pin4
  }), /*#__PURE__*/React.createElement("trace", {
    from: ESP32.pin3,
    to: ".C21 .pos"
  }), /*#__PURE__*/React.createElement("trace", {
    from: ESP32.SENSOR_VP,
    to: "net.SENSOR_VP"
  }), /*#__PURE__*/React.createElement("trace", {
    from: ESP32.SENSOR_CAPP,
    to: "net.SENSOR_CAPP"
  }), /*#__PURE__*/React.createElement("trace", {
    from: ESP32.SENSOR_CAPN,
    to: "net.SENSOR_CAPN"
  }), /*#__PURE__*/React.createElement("trace", {
    from: ESP32.SENSOR_CAPN,
    to: "net.SENSOR_CAPN"
  }), /*#__PURE__*/React.createElement("trace", {
    from: ESP32.SENSOR_VN,
    to: "net.SENSOR_VN"
  }), /*#__PURE__*/React.createElement("trace", {
    from: ESP32.CHIP_PU,
    to: "net.EN"
  }), /*#__PURE__*/React.createElement("trace", {
    from: ESP32.VDET_1,
    to: "net.GPIO34"
  }), /*#__PURE__*/React.createElement("trace", {
    from: ESP32.VDET_2,
    to: "net.GPIO35"
  }), /*#__PURE__*/React.createElement("trace", {
    from: ESP32.pin12,
    to: "net.GPIO32"
  }), /*#__PURE__*/React.createElement("trace", {
    from: ESP32.pin13,
    to: "net.GPIO33"
  }), /*#__PURE__*/React.createElement("trace", {
    from: ESP32.GPIO25,
    to: "net.GPIO25"
  }), /*#__PURE__*/React.createElement("trace", {
    from: ESP32.GPIO26,
    to: "net.GPIO26"
  }), /*#__PURE__*/React.createElement("trace", {
    from: ESP32.GPIO27,
    to: "net.GPIO27"
  }), /*#__PURE__*/React.createElement("trace", {
    from: ESP32.MTMS,
    to: "net.GPIO14"
  }), /*#__PURE__*/React.createElement("trace", {
    from: ESP32.MTDI,
    to: "net.GPIO12"
  }), /*#__PURE__*/React.createElement("trace", {
    from: ESP32.MTCK,
    to: "net.GPIO13"
  }), /*#__PURE__*/React.createElement("trace", {
    from: ESP32.MTDO,
    to: "net.GPIO15"
  }), /*#__PURE__*/React.createElement("trace", {
    from: ESP32.GPIO2,
    to: "net.GPIO2"
  }), /*#__PURE__*/React.createElement("trace", {
    from: ESP32.GPIO0,
    to: "net.GPIO0"
  }), /*#__PURE__*/React.createElement("trace", {
    from: ESP32.GPIO4,
    to: "net.GPIO4"
  }), /*#__PURE__*/React.createElement("trace", {
    from: ESP32.GPIO16,
    to: "net.GPIO16"
  }), /*#__PURE__*/React.createElement("trace", {
    from: ESP32.GPIO17,
    to: "net.GPIO17"
  }), /*#__PURE__*/React.createElement("trace", {
    from: ESP32.SD_DATA_2,
    to: "net.SHD/SD2"
  }), /*#__PURE__*/React.createElement("trace", {
    from: ESP32.SD_DATA_3,
    to: "net.SWP/SD3"
  }), /*#__PURE__*/React.createElement("trace", {
    from: ESP32.SD_CMD,
    to: "net.SCS/SMD"
  }), /*#__PURE__*/React.createElement("trace", {
    from: ESP32.SD_CLK,
    to: "net.SCK/CLK"
  }), /*#__PURE__*/React.createElement("trace", {
    from: ESP32.SD_DATA_0,
    to: "net.SDO/SD0"
  }), /*#__PURE__*/React.createElement("trace", {
    from: ESP32.SD_DATA_1,
    to: "net.SDI/SD1"
  }), /*#__PURE__*/React.createElement("trace", {
    from: ESP32.GPIO5,
    to: "net.GPIO51"
  }), /*#__PURE__*/React.createElement("trace", {
    from: ESP32.GPIO18,
    to: "net.GPIO18"
  }), /*#__PURE__*/React.createElement("trace", {
    from: ESP32.GPIO23,
    to: "net.GPIO23"
  }), /*#__PURE__*/React.createElement("trace", {
    from: ESP32.GPIO19,
    to: "net.GPIO19"
  }), /*#__PURE__*/React.createElement("trace", {
    from: ESP32.GPIO19,
    to: ESP32.VDD3P3_CPU
  }), /*#__PURE__*/React.createElement("trace", {
    from: ESP32.GPIO22,
    to: "net.GPIO22"
  }), /*#__PURE__*/React.createElement("trace", {
    from: ESP32.U0RXD,
    to: "net.U0RXD"
  }), /*#__PURE__*/React.createElement("trace", {
    from: ESP32.GPIO21,
    to: "net.GPIO21"
  }), /*#__PURE__*/React.createElement("trace", {
    from: ESP32.pin43,
    to: ESP32.pin46
  }), /*#__PURE__*/React.createElement("trace", {
    from: ESP32.GND,
    to: "net.GND"
  }), /*#__PURE__*/React.createElement("trace", {
    from: ".ANT1 .pin1",
    to: ".C15 .pos"
  }), /*#__PURE__*/React.createElement("trace", {
    from: ".ANT1 .pin2",
    to: "net.GND"
  }), /*#__PURE__*/React.createElement("trace", {
    from: ".U1 .pin3",
    to: ".C2 .pos"
  }), /*#__PURE__*/React.createElement("trace", {
    from: ".U1 .pin2",
    to: "net.GND"
  }), /*#__PURE__*/React.createElement("trace", {
    from: ".U1 .pin4",
    to: "net.GND"
  }), /*#__PURE__*/React.createElement("trace", {
    from: ".U3 .pin1",
    to: "net.SCS/CMD"
  }), /*#__PURE__*/React.createElement("trace", {
    from: ".U3 .pin2",
    to: "net.SDO/SDO"
  }), /*#__PURE__*/React.createElement("trace", {
    from: ".U3 .pin3",
    to: "net.SWP/SD3"
  }), /*#__PURE__*/React.createElement("trace", {
    from: ".U3 .pin4",
    to: "net.GND"
  }), /*#__PURE__*/React.createElement("trace", {
    from: ".U3 .pin5",
    to: "net.SDI/SD1"
  }), /*#__PURE__*/React.createElement("trace", {
    from: ".U3 .pin6",
    to: "net.SCK/CLK"
  }), /*#__PURE__*/React.createElement("trace", {
    from: ".U3 .pin7",
    to: "net.SHD/SD2"
  }), /*#__PURE__*/React.createElement("trace", {
    from: ".U3 .pin8",
    to: "net.VDD_SDIO"
  }), /*#__PURE__*/React.createElement("trace", {
    from: ".U4 .pin1",
    to: "net.GPIO16"
  }), /*#__PURE__*/React.createElement("trace", {
    from: ".U4 .pin2",
    to: "net.SDO/SDO"
  }), /*#__PURE__*/React.createElement("trace", {
    from: ".U4 .pin3",
    to: "net.SWP/SD3"
  }), /*#__PURE__*/React.createElement("trace", {
    from: ".U4 .pin4",
    to: "net.GND"
  }), /*#__PURE__*/React.createElement("trace", {
    from: ".U4 .pin5",
    to: "net.SDI/SD1"
  }), /*#__PURE__*/React.createElement("trace", {
    from: ".U4 .pin6",
    to: "net.PSRAM_CLK"
  }), /*#__PURE__*/React.createElement("trace", {
    from: ".U4 .pin7",
    to: "net.SHD/SD2"
  }), /*#__PURE__*/React.createElement("trace", {
    from: ".U4 .pin8",
    to: "net.VDD_SDIO"
  }));
};
exports.ESP32Module = ESP32Module;