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
PCB
Schematic
"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;