Skip to main content
Tutorials

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

Schematic Circuit Preview

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.

Schematic Circuit Preview

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.

Schematic Circuit Preview

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.

Schematic Circuit Preview

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.

Schematic Circuit Preview

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 pinESP32 signalTypical use
GPIO23MOSISPI data out
GPIO22SCLI2C clock
GPIO21SDAI2C data
GPIO19MISOSPI data in
GPIO18SCKSPI clock
GPIO17TX2Secondary UART
GPIO16RX2Secondary UART
GPIO5CSSPI 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.