Aziz Bench

ESP32-S3-DevKitC-1 pinout

The DevKitC-1 brings out 36 GPIOs of the ESP32-S3. Tap a pin to see its functions, or list the pins of your project: the planner flags strapping pins, the pins taken by octal PSRAM and ADC2 with Wi-Fi.

ESP32-S3-DevKitC-1 · 44 pins
  • Free to use
  • Use with care
  • Power and control
Project

Readings on ADC2 pins can fail while Wi-Fi is on.

On these modules GPIO 35, 36 and 37 are wired to the memory.

On these modules GPIO47 and GPIO48 run at 1.8 V, and GPIO 35 to 37 are taken by the memory.

Add pin

My pin plan

    No pins yet. Pick a pin on the map, or add one with the form.

    Ready to paste at the top of a sketch or in an issue.

    Pins to watch on the ESP32-S3

    GPIO 0, 3, 45 and 46: strapping pins

    GPIO0 has a pull-up and goes to the BOOT button: LOW at reset starts download mode. GPIO46 must be LOW or floating for download mode, and GPIO45 selects the flash voltage, so neither may be pulled HIGH at power-up. GPIO3 matters only if an eFuse selects the JTAG source; on standard boards it is a free pin with ADC and touch.

    GPIODefault at resetWhat it selectsIn practice
    0Weak pull-up (HIGH)Boot mode: HIGH runs the program, LOW enters download modeBOOT button; nothing else may hold it LOW
    3FloatingJTAG source, only if an eFuse enables itA normal pin on standard chips
    45Weak pull-down (LOW)Flash voltage: LOW 3.3 V, HIGH 1.8 VNever pull it HIGH at reset
    46Weak pull-down (LOW)Must be LOW for download mode; also the ROM boot messagesNever pull it HIGH at reset

    GPIO 35, 36 and 37: octal PSRAM

    On the popular N8R8, N16R8V and N32R8V versions the module uses octal PSRAM or flash, and these three pins are wired to it. Only the N8 and N8R2 boards leave them free, so check the ordering code of your board before using them. On the two V versions, N16R8V and N32R8V, the ESP32-S3-WROOM-2 module has 1.8 V memory, and GPIO47 and GPIO48 run at 1.8 V too.

    GPIO 19 and 20: native USB

    They carry the USB D− and D+ lines of the port marked USB. Using them as GPIOs turns off uploads, serial and debugging over that port; the UART port, on GPIO 43 and 44, keeps working.

    ADC, touch and Wi-Fi

    ADC1 is on GPIO 1 to 10 and ADC2 on GPIO 11 to 20. The Wi-Fi driver uses ADC2, so readings on those pins can fail while Wi-Fi is on: in a connected project use GPIO 1 to 10. Touch works on GPIO 1 to 14, and GPIO 0 to 21 are RTC pins that can wake the chip from deep sleep.

    Power and the RGB LED

    Power the board from one source at a time: a USB port, the 5V pin or the 3V3 pin, as Espressif’s user guide says. The addressable RGB LED is on GPIO38 on v1.1 boards and on GPIO48 on the first version; it needs an RGB LED library or driver, not a plain digitalWrite().

    Full ESP32-S3-DevKitC-1 pin table

    PinGPIOStatusAnalogFunctionsNotes
    J3-14GPIO0Use with careNoRTC_GPIO0, PWM (LEDC)strapping, BOOT button
    J3-4GPIO1Free to useADC1_CH0TOUCH1, RTC_GPIO1, PWM (LEDC)No restrictions
    J3-5GPIO2Free to useADC1_CH1TOUCH2, RTC_GPIO2, PWM (LEDC)No restrictions
    J1-13GPIO3Free to useADC1_CH2TOUCH3, RTC_GPIO3, PWM (LEDC)strapping (JTAG source)
    J1-4GPIO4Free to useADC1_CH3TOUCH4, RTC_GPIO4, PWM (LEDC)No restrictions
    J1-5GPIO5Free to useADC1_CH4TOUCH5, RTC_GPIO5, PWM (LEDC)No restrictions
    J1-6GPIO6Free to useADC1_CH5TOUCH6, RTC_GPIO6, PWM (LEDC)No restrictions
    J1-7GPIO7Free to useADC1_CH6TOUCH7, RTC_GPIO7, PWM (LEDC)No restrictions
    J1-12GPIO8Free to useADC1_CH7TOUCH8, RTC_GPIO8, PWM (LEDC)I²C SDA
    J1-15GPIO9Free to useADC1_CH8TOUCH9, RTC_GPIO9, PWM (LEDC)I²C SCL
    J1-16GPIO10Free to useADC1_CH9TOUCH10, RTC_GPIO10, PWM (LEDC)SPI CS
    J1-17GPIO11Free to useADC2_CH0TOUCH11, RTC_GPIO11, PWM (LEDC)ADC2: not with Wi-Fi, SPI MOSI (TX)
    J1-18GPIO12Free to useADC2_CH1TOUCH12, RTC_GPIO12, PWM (LEDC)ADC2: not with Wi-Fi, SPI SCK
    J1-19GPIO13Free to useADC2_CH2TOUCH13, RTC_GPIO13, PWM (LEDC)ADC2: not with Wi-Fi, SPI MISO (RX)
    J1-20GPIO14Free to useADC2_CH3TOUCH14, RTC_GPIO14, PWM (LEDC)ADC2: not with Wi-Fi
    J1-8GPIO15Free to useADC2_CH4RTC_GPIO15, PWM (LEDC), XTAL_32K_P32 kHz crystal, ADC2: not with Wi-Fi
    J1-9GPIO16Free to useADC2_CH5RTC_GPIO16, PWM (LEDC), XTAL_32K_N32 kHz crystal, ADC2: not with Wi-Fi
    J1-10GPIO17Free to useADC2_CH6RTC_GPIO17, PWM (LEDC)ADC2: not with Wi-Fi
    J1-11GPIO18Free to useADC2_CH7RTC_GPIO18, PWM (LEDC)ADC2: not with Wi-Fi
    J3-20GPIO19Use with careADC2_CH8RTC_GPIO19, PWM (LEDC), USB D−native USB, ADC2: not with Wi-Fi
    J3-19GPIO20Use with careADC2_CH9RTC_GPIO20, PWM (LEDC), USB D+native USB, ADC2: not with Wi-Fi
    J3-18GPIO21Free to useNoRTC_GPIO21, PWM (LEDC)No restrictions
    J3-13GPIO35Use with careNoPWM (LEDC)octal PSRAM or flash
    J3-12GPIO36Use with careNoPWM (LEDC)octal PSRAM or flash
    J3-11GPIO37Use with careNoPWM (LEDC)octal PSRAM or flash
    J3-10GPIO38Free to useNoPWM (LEDC)RGB LED (v1.1)
    J3-9GPIO39Free to useNoPWM (LEDC), MTCK (JTAG)JTAG
    J3-8GPIO40Free to useNoPWM (LEDC), MTDO (JTAG)JTAG
    J3-7GPIO41Free to useNoPWM (LEDC), MTDI (JTAG)JTAG
    J3-6GPIO42Free to useNoPWM (LEDC), MTMS (JTAG)JTAG
    J3-2GPIO43Use with careNoPWM (LEDC), U0TXDUART0, UART TX
    J3-3GPIO44Use with careNoPWM (LEDC), U0RXDUART0, UART RX
    J3-15GPIO45Use with careNoPWM (LEDC)strapping
    J1-14GPIO46Use with careNoPWM (LEDC)strapping
    J3-17GPIO47Free to useNoPWM (LEDC)1.8 V on V modules
    J3-16GPIO48Free to useNoPWM (LEDC)1.8 V on V modules, RGB LED (v1.0)

    Arduino-ESP32 defaults for the ESP32-S3: I²C on 8 (SDA) and 9 (SCL), SPI on 12 (SCK), 13 (MISO), 11 (MOSI) and 10 (SS), UART0 on 43 (TX) and 44 (RX). Through the GPIO matrix any free pin can carry them.

    Frequently asked questions

    Which ESP32-S3 pins are safe to use?

    On a DevKitC-1 the pins without restrictions are GPIO 1, 2, 4 to 18, 21, 38 to 42, 47 and 48 (except on the 1.8 V N16R8V and N32R8V boards); GPIO 38 or 48 also drives the RGB LED, depending on the board version. GPIO3 is free too unless an eFuse uses it for JTAG, and on N8 and N8R2 boards so are 35 to 37. Be careful with 0, 45 and 46 (strapping), 19 and 20 (USB) and 43 and 44 (UART0).

    Why can’t I use GPIO 35, 36 and 37?

    On boards with octal PSRAM or flash (N8R8, N16R8V, N32R8V) these pins are wired to the memory inside the module, and driving them crashes the program. They are free only on the N8 and N8R2 versions.

    Can I use ADC2 with Wi-Fi on the ESP32-S3?

    Not reliably: the Wi-Fi driver uses ADC2, so readings on GPIO 11 to 20 can fail while Wi-Fi is on. Put analog inputs on GPIO 1 to 10 (ADC1).

    Which USB port of the DevKitC-1 should I use?

    Both work for uploads. The UART port goes through a USB-to-UART bridge to GPIO 43 and 44; the USB port connects to the chip’s own USB on GPIO 19 and 20, and also offers JTAG debugging and USB device functions such as a keyboard.

    Are ESP32-S3 pins 5 V tolerant?

    No. The GPIOs work at 3.3 V and are not rated for 5 V. Use a level shifter or a resistor divider for 5 V signals.