Free Shipping over ₹1199

ESP32-S3 DevKit Pinout reference

Introduction

The ESP32-S3 DevKit is one of the most widely used development boards based on the ESP32-S3 chip. Unlike boards that use the ESP-WROOM-32 module, this chip offers 45 pins and comes with a different pinout configuration. In this guide, we’ll explore the ESP32-S3 DevKit pinout and break down the key functions of its GPIO pins.

ESP32-S3 Peripherals and I/O

The ESP32-S3 comes with a rich set of peripherals, including:

  • 20 Analog-to-Digital Converter (ADC) channels
  • 4 SPI interfaces
  • 3 UART interfaces
  • 2 I2C interfaces
  • 8 PWM output channels
  • 2 I2S interfaces
  • 14 Capacitive sensing GPIOs

Thanks to the ESP32’s GPIO multiplexing capability, you can map almost any function to the GPIO pins of your choice. However, some pins come with default functions pre-assigned. In this pinout, we’ll explore both the default mappings and the flexibility you have when configuring them.

ESP32-S3 Pinout

The image below illustrates the pinout of the ESP32-S3 DevKit board, one of the most widely used development boards based on the ESP32-S3 chip. Keep in mind that there are multiple versions of this board, and their pinouts may vary slightly. Always verify the pin locations and GPIO labels before connecting any peripherals to ensure proper functionality.

SPI Flash and PSRAM

  • GPIOs 26 to 32 are internally connected to the integrated SPI flash and PSRAM.
  • These pins are not recommended for general use.
  • On the ESP32-S3 DevKit, they are usually not exposed, but if available on other boards, avoid using them:
GPIOFunction
26Flash/PSRAM SPICS1
27Flash/PSRAM SPIHD
28Flash/PSRAM SPIWP
29Flash/PSRAM SPICS0
30Flash/PSRAM SPICLK
31Flash/PSRAM SPIQ
32Flash/PSRAM SPID

Capacitive Touch GPIOs

  • The ESP32-S3 has 14 internal capacitive touch pins.
  • They can sense changes in electrical charge (like when touched by a finger).
  • Useful for creating touch buttons or as a wake-up source from deep sleep.
Touch PinGPIO
T11
T22
T33
T44
T55
T66
T77
T88
T99
T1010
T1111
T1212
T1313
T1414

Analog-to-Digital Converter (ADC)

  • 20 channels with 12-bit resolution (0–4095 values).
  • 0 = 0V, 4095 = 3.3V.
  • Can configure resolution and range in code.

ADC1 Channels: GPIO 1–10
ADC2 Channels: GPIO 11–20

RTC GPIOs

  • These pins can be used in deep sleep mode with the RTC (Real-Time Clock) subsystem.
  • Can wake the ESP32-S3 when the ULP coprocessor is active.

RTC GPIOs: 0–21

PWM (LED Control)

  • ESP32-S3 has an 8-channel PWM controller.
  • Any output-capable GPIO can generate PWM signals.
  • Parameters: frequency, duty cycle, channel, and pin.

I2C

  • Default pins in Arduino IDE:
    • GPIO 8 = SDA
    • GPIO 9 = SCL
  • Can be reassigned to other pins if needed.

SPI

  • ESP32-S3 has 4 SPI buses: SPI0, SPI1 (internal), HSPI (SPI2), VSPI (SPI3).
  • Only HSPI and VSPI should be used by users.
BusMOSIMISOCLKCS
HSPI11131210
VSPI35373639

UART (Serial)

  • Supports up to 3 UART interfaces.
  • Default mapping:
UARTTXRXNotes
0GPIO 43GPIO 44Fixed, for programming & debugging
1GPIO 17GPIO 18Can be reassigned
2AnyAnyFully customizable

Strapping Pins

  • Used for bootloader/flash mode. Avoid using them in projects.
  • GPIO 0, 3, 45, 46

Enable (EN/RST)

  • Connected to the 3.3V regulator enable pin.
  • Pulling low resets the chip.
  • Can be connected to a push button for manual reset.

Wrapping Up

We hope this ESP32-S3 GPIO reference guide has been helpful. If you have additional tips, tricks, or best practices for using ESP32-S3 GPIOs, feel free to share them in the comments below — your insights might help other makers and developers!

    Leave a Reply

    Your email address will not be published. Required fields are marked *


    Need Help?