ESP32 Module Circuit Example
Overview
This tutorial walks through a schematic-only ESP32 module circuit similar to what you would see in a hardware academy reference design. The goal is not a finished PCB layout. The goal is a readable schematic that shows the supporting parts an ESP32-WROOM style module needs before you start routing:
- 3.3 V power input and local decoupling
- EN reset pull-up and reset button
- BOOT strap button on GPIO0
- USB-UART TX/RX wiring
- 40 MHz crystal load capacitors for bare-module variants
- GPIO expansion header labels for the signals you will use later
The examples use only built-in tscircuit primitives so you can paste each block into a new project without installing a package.
Final schematic
Step 1: Represent the ESP32 module
Start with the module symbol. The pin labels matter more than the placeholder footprint for this schematic-only exercise because the labels become stable selectors for traces and documentation.
Step 2: Add power and decoupling
ESP32 modules draw short Wi-Fi current bursts, so place bulk and high-frequency decoupling on the 3.3 V rail. In a real layout, these capacitors should be close to the module power pins and should return to the same ground reference.
Step 3: Add reset and boot strapping
The EN pin needs a pull-up and a reset button to ground. GPIO0 needs a pull-up and a BOOT button to ground so you can enter the serial bootloader while flashing firmware.
Step 4: Wire USB-UART programming
Cross the UART bridge signals: bridge TXD goes to ESP32 RXD0, and bridge RXD goes to ESP32 TXD0. The optional DTR and RTS outputs can be added later for auto-reset, but a manual EN and BOOT pair is enough for a clear first schematic.
Step 5: Add expansion headers
Break out the signals you actually plan to use. The header below keeps the common SPI-capable pins together, then leaves the UART and reset pins on the programming header.
| Header pin | ESP32 signal | Typical use |
|---|---|---|
| GPIO23 | MOSI | SPI data out |
| GPIO22 | SCL | I2C clock |
| GPIO21 | SDA | I2C data |
| GPIO19 | MISO | SPI data in |
| GPIO18 | SCK | SPI clock |
| GPIO17 | TX2 | Secondary UART |
| GPIO16 | RX2 | Secondary UART |
| GPIO5 | CS | SPI chip select |
Schematic review checklist
Before turning this into a PCB, check the schematic against this list:
- Every 3.3 V pin has a nearby 100 nF decoupling capacitor.
- EN is pulled up and can be pulled low by the reset button.
- GPIO0 is pulled up and can be pulled low by the BOOT button.
- USB-UART TXD/RXD are crossed into ESP32 RXD0/TXD0.
- GPIO12, GPIO0, GPIO2, GPIO15, and EN are not accidentally forced into a bad boot strap state by external circuitry.
- The antenna side of the module is kept free of copper and tall components when you move from schematic to PCB.