ESP32-S3-DevKitC-1 is the official Espressif board with the ESP32-S3 chip – two LX7 cores, AI acceleration instructions, native USB and, depending on the version, up to 32 MB flash and 16 MB PSRAM.
The board has two micro USB connectors (clones often have USB-C): one goes through a USB-UART converter, the other connects directly to the chip’s USB.
Specifications
- ESP32-S3: 2× Xtensa LX7 up to 240 MHz, 512 kB SRAM
- 8–32 MB flash and up to 16 MB PSRAM depending on the module (e.g. N8R8, N32R16V)
- Wi-Fi 4 (2.4 GHz) and Bluetooth 5 (LE)
- 44 pins, 20 channels of 12-bit ADC, 14 touch inputs
- USB OTG and USB Serial/JTAG (GPIO19/20), second port via a CP2102N converter
- WS2812 RGB LED on GPIO48 (GPIO38 on revision v1.1)
- BOOT and RST buttons
When choosing a board, check the module marking: N16R8 means 16 MB flash and 8 MB octal PSRAM, N8 has no PSRAM. Octal PSRAM, however, takes up three GPIO.
Pinout and pin table
Hover over a pin in the diagram or a table row; use the filter to highlight a bus. You can download the pinout as PNG or SVG.
| Pin | Name | Direction | UART | I2C | SPI | ADC | Touch | Note |
|---|---|---|---|---|---|---|---|---|
| J3-1 | GND | – | ||||||
| J3-2 | GPIO43 | input/output | TX | UART0 TX – to the USB-UART converter (UART port) | ||||
| J3-3 | GPIO44 | input/output | RX | UART0 RX – to the USB-UART converter (UART port) | ||||
| J3-4 | GPIO1 | input/output | ADC1_CH0 | T1 | ||||
| J3-5 | GPIO2 | input/output | ADC1_CH1 | T2 | ||||
| J3-6 | GPIO42 | input/output | JTAG MTMS | |||||
| J3-7 | GPIO41 | input/output | JTAG MTDI | |||||
| J3-8 | GPIO40 | input/output | JTAG MTDO | |||||
| J3-9 | GPIO39 | input/output | JTAG MTCK | |||||
| J3-10 | GPIO38 | input/output | RGB LED (WS2812) u verze v1.1 | |||||
| J3-11 | GPIO37 | input/output | In use on modules with octal PSRAM (N8R8, N16R8, N32R16V) | |||||
| J3-12 | GPIO36 | input/output | In use on modules with octal PSRAM (N8R8, N16R8, N32R16V) | |||||
| J3-13 | GPIO35 | input/output | In use on modules with octal PSRAM (N8R8, N16R8, N32R16V) | |||||
| J3-14 | GPIO0 | input/output | BOOT button. Strapping pin – logic 0 at boot = download mode | |||||
| J3-15 | GPIO45 | input/output | Strapping pin (VDD_SPI voltage) – logic 0 at boot | |||||
| J3-16 | GPIO48 | input/output | RGB LED (WS2812) u verze v1.0 | |||||
| J3-17 | GPIO47 | input/output | ||||||
| J3-18 | GPIO21 | input/output | ||||||
| J3-19 | GPIO20 | input/output | ADC2_CH9 | USB D+ of the USB port (native USB) – usable as GPIO only without USB | ||||
| J3-20 | GPIO19 | input/output | ADC2_CH8 | USB D− of the USB port (native USB) – usable as GPIO only without USB | ||||
| J3-21 | GND | – | ||||||
| J3-22 | GND | – | ||||||
| J1-1 | 3V3 | output | 3.3 V output from the regulator | |||||
| J1-2 | 3V3 | output | 3.3 V output from the regulator | |||||
| J1-3 | RST | input | Reset (EN) – connecting to GND restarts the chip | |||||
| J1-4 | GPIO4 | input/output | ADC1_CH3 | T4 | ||||
| J1-5 | GPIO5 | input/output | ADC1_CH4 | T5 | ||||
| J1-6 | GPIO6 | input/output | ADC1_CH5 | T6 | ||||
| J1-7 | GPIO7 | input/output | ADC1_CH6 | T7 | ||||
| J1-8 | GPIO15 | input/output | ADC2_CH4 | |||||
| J1-9 | GPIO16 | input/output | ADC2_CH5 | |||||
| J1-10 | GPIO17 | input/output | ADC2_CH6 | |||||
| J1-11 | GPIO18 | input/output | ADC2_CH7 | |||||
| J1-12 | GPIO8 | input/output | SDA | ADC1_CH7 | T8 | |||
| J1-13 | GPIO3 | input/output | ADC1_CH2 | T3 | Strapping pin (JTAG source selection) – has no effect unless set in eFuse | |||
| J1-14 | GPIO46 | input/output | Strapping pin – logic 0 or unconnected at boot for download mode | |||||
| J1-15 | GPIO9 | input/output | SCL | ADC1_CH8 | T9 | |||
| J1-16 | GPIO10 | input/output | SS | ADC1_CH9 | T10 | |||
| J1-17 | GPIO11 | input/output | MOSI | ADC2_CH0 | T11 | |||
| J1-18 | GPIO12 | input/output | SCK | ADC2_CH1 | T12 | |||
| J1-19 | GPIO13 | input/output | MISO | ADC2_CH2 | T13 | |||
| J1-20 | GPIO14 | input/output | ADC2_CH3 | T14 | ||||
| J1-21 | 5V | input/output | 5 V from the USB connectors (through Schottky diodes on the board). It can also power the board – voltage will not flow back into USB. | |||||
| J1-22 | GND | – |
What to watch out for
- The GPIO are not 5V tolerant. Use a level shifter for 5V signals.
- On modules with octal PSRAM (R8, R16V), GPIO35, 36 and 37 are taken.
- GPIO19 and GPIO20 are USB D− and D+ – usable as GPIO only if you don’t use native USB.
- Strapping pins GPIO0, 3, 45 and 46 – GPIO0 selects the download mode, GPIO45 the flash voltage.
- When uploading over native USB, enable USB CDC On Boot in the Arduino IDE, otherwise you won’t see the Serial output.
- ADC2 (GPIO11–20) is limited while Wi-Fi is on – prefer ADC1 (GPIO1–10) for analog.
ESP32-S3 projects on chiptron.eu/
Projects and guides on chiptron.eu/:
- Linux on ESP32-S3 – Linux 6.11 running natively on an ESP32-S3 N16R8 board with a terminal on e-paper
- ESP32 Bit Pirate – Bus Pirate-style hacking tool for ESP32-S3 boards
- MeteoPlaneRadar – aircraft radar and Czech weather radar (ČHMÚ) on a round display with ESP32-S3
- ESP32 chip comparison – which ESP32 to choose based on peripherals and project needs
More pinouts
See all pinouts on the Pinouts page.