ESP32-S3-DevKitC-1: USB ports, strapping pins, PSRAM pins and ESPHome
The ESP32-S3-DevKitC-1 has two USB ports: one through a USB-to-UART bridge, the default for flashing and the serial monitor, and one wired to the ESP32-S3's native USB on GPIO19 and GPIO20. Avoid the strapping pins GPIO0, 3, 45 and 46, and on variants with octal flash or PSRAM, such as the N16R8, leave GPIO35, 36 and 37 alone. In ESPHome set the real flash size and psram: mode: octal for the 8 MB and 16 MB PSRAM variants.
Variants
From Espressif's v1.1 user guide. N is flash and R is PSRAM in the part number.
| Part number | Module | Flash | PSRAM | Status |
|---|---|---|---|---|
| ESP32-S3-DevKitC-1-N32R16V | ESP32-S3-WROOM-2-N32R16V | 32 MB | 16 MB | Current |
| ESP32-S3-DevKitC-1-N16R8 | ESP32-S3-WROOM-1 | 16 MB | 8 MB | Current |
| ESP32-S3-DevKitC-1U-N16R8 | ESP32-S3-WROOM-1U (external antenna) | 16 MB | 8 MB | Current |
| ESP32-S3-DevKitC-1-N8 | ESP32-S3-WROOM-1-N8 | 8 MB | – | End of life |
| ESP32-S3-DevKitC-1-N8R2 | ESP32-S3-WROOM-1-N8R2 | 8 MB | 2 MB | End of life |
Which USB port
- USB-to-UART port
- Power, flashing and serial through the on-board bridge. Espressif's default for getting started.
- ESP32-S3 USB port
- The chip's own USB on GPIO19 and GPIO20: power, flashing, USB 1.1 communication and JTAG debugging.
To force download mode, hold Boot and press Reset. Some cables only charge and carry no data; if the port does not appear, try another cable.
Pins to keep free
| Pins | Why |
|---|---|
| GPIO0, 3, 45, 46 | Strapping pins: their level at reset sets the boot mode. |
| GPIO35, 36, 37 | Used internally by octal flash or PSRAM on WROOM-1/1U boards with octal memory and on WROOM-2 boards (N16R8, N32R16V). |
| GPIO19, 20 | Native USB port. |
| ADC2 pins | Not usable while Wi-Fi runs; read analog values on ADC1. |
| GPIO38 | RGB LED on v1.1 boards (GPIO48 on the first version). |
Power
Three ways to power the board, and only one at a time: the USB ports (one or both; the recommended default), the 5V and G pins, or the 3V3 and G pins. A 5 V to 3.3 V LDO feeds the module; the guide does not give its current rating. The ESP32-S3 draws up to 340 mA while transmitting, and Espressif asks for a supply of at least 500 mA.
ESPHome config
ESPHome's default board for the ESP32-S3 is esp32-s3-devkitc-1, which assumes 8 MB flash. Set flash_size to the real size; a value larger than the real flash stops the board from booting. PSRAM on the S3 needs its mode set: octal for 8 MB and 16 MB. This file is for the N16R8 and validates with esphome config on ESPHome 2026.10.2:
esphome:
name: s3-devkitc-1
esp32:
board: esp32-s3-devkitc-1
flash_size: 16MB
framework:
type: esp-idf
psram:
mode: octal
speed: 80MHz
logger:
api:
ota:
- platform: esphome
wifi:
ssid: !secret wifi_ssid
password: !secret wifi_password
Let your agent check it
check_project reads your repo or ESPHome file, works out which DevKitC-1 variant it targets and flags pins that fall on strapping, native USB or octal PSRAM pins. Connect the Protoship MCP server once:
claude mcp add --transport http protoship https://mcp.protoship.dev codex mcp add protoship --url https://mcp.protoship.dev
An agent without MCP calls GET https://protoship.dev/api/check?url=… with the link to your repo or config file.
Questions
Which USB port do I use to flash the ESP32-S3-DevKitC-1?
Either works. The USB-to-UART port is Espressif's default for flashing and the serial monitor; the ESP32-S3 USB port uses the chip's native USB on GPIO19 and GPIO20 and also supports JTAG.
Which pins can I not use on the ESP32-S3 N16R8?
GPIO35, 36 and 37 are used by the octal flash and PSRAM. Also avoid the strapping pins GPIO0, 3, 45 and 46 and the native USB pins GPIO19 and 20 if you use that port.
What ESPHome settings does the ESP32-S3 N16R8 need?
board: esp32-s3-devkitc-1, flash_size: 16MB and psram mode: octal. A flash_size larger than the real flash stops the board from booting.
Why does my RGB LED not light on GPIO48?
On v1.1 boards the RGB LED is on GPIO38. GPIO48 was used on the first version.
Finish my build Let your agent check your project
Sources
Read on 4 November 2026.