Preview build — page text is a draft awaiting human review. Code badges come from real compiles. The flasher is real but not yet hardware-tested; the Playground is still a preview.

ESP32-S3-DevKitC-1

Interactive ESP32-S3-DevKitC-1 pinout with strapping, PSRAM and USB pins marked, Arduino IDE, PlatformIO and MicroPython setup, and a compile-checked RGB blink.

3.3 V logic

Community draft — report a mistake

CPU2 × Xtensa LX7, up to 240 MHz, vector instructions for AI/DSP
Flash / PSRAMDepends on module: N8 (8 MB, no PSRAM) up to N16R8 (16 MB + 8 MB octal PSRAM)
WirelessWi-Fi 802.11 b/g/n (2.4 GHz) + Bluetooth 5 LE
USBNative USB (OTG / USB-Serial-JTAG) + a USB-UART bridge port
Logic level3.3 V — not 5 V tolerant
Typical price₹700–1,200 (indicative)

The ESP32-S3-DevKitC-1 is Espressif’s own board for the ESP32-S3: two faster LX7 cores with vector instructions (handy for keyword spotting and small camera models), Bluetooth 5 LE instead of classic Bluetooth, and native USB that can act as a keyboard, a serial port or a debugger.

The same board is sold with very different modules. Read the module label before choosing pins — an N16R8 board has 16 MB flash and 8 MB octal PSRAM, which takes GPIO 35–37 away from you. An N8 board keeps them.

Power it from either USB-C port, or 5 V on the 5V pin. All GPIOs are 3.3 V. The ADC1 pins (GPIO 1–10) keep working with Wi-Fi on; ADC2 pins do not.

Interactive pinout

Hover or tap a pin for its functions and traps. Filter to light up every I2C, ADC or boot pin.

  • Safe for most uses
  • Works, with a caveat
  • Avoid unless you know why
  • Power / control

Strapping pins: GPIO 0, 3, 45, 46. Their level at reset decides how the chip boots. GPIO45 pulled high can select 1.8 V flash and stop the board booting; GPIO0 is the BOOT button.

Octal-PSRAM boards lose GPIO 35, 36 and 37. On N8R8/N16R8 modules those pins belong to the PSRAM — wiring a sensor there crashes the board. GPIO 26–32 (flash) are not on the headers at all.

Two USB ports, two jobs. The "UART" port talks to GPIO43/44 through a bridge chip; the "USB" port is the chip's own USB on GPIO19/20. Keep GPIO19/20 free if you use that port.

Set up your computer

  1. Install Arduino IDE 2.x from arduino.cc.
  2. File → Preferences → Additional boards manager URLs: https://espressif.github.io/arduino-esp32/package_esp32_index.json
  3. Boards Manager → install esp32 by Espressif Systems (we compile against esp32 3.3.12).
  4. Tools → Board → ESP32S3 Dev Module, then pick the port that appears when you plug the board in.

First program

Verified — core esp32 3.3.12, 3 Nov 2026Compile-only
blink-esp32-s3.inoArduino C++Open in PlaygroundOpen in PlaygroundFlash
// First program for the ESP32-S3-DevKitC-1: cycle the on-board RGB LED.
// The RGB LED is a single addressable (WS2812-type) pixel:
//   GPIO48 on DevKitC-1 v1.0 boards, GPIO38 on v1.1 boards — check the label near the LED.
// Serial goes to the "UART" USB-C port at 115200 baud.
constexpr uint8_t RGB_PIN = 48;  // change to 38 for a v1.1 board

void setup() {
  Serial.begin(115200);
  Serial.println("FlashReady: ESP32-S3 RGB blink");
}

void loop() {
  rgbLedWrite(RGB_PIN, 40, 0, 0);   // red (kept dim: these LEDs are bright)
  delay(400);
  rgbLedWrite(RGB_PIN, 0, 40, 0);   // green
  delay(400);
  rgbLedWrite(RGB_PIN, 0, 0, 40);   // blue
  delay(400);
  rgbLedWrite(RGB_PIN, 0, 0, 0);    // off
  delay(400);
}

Components with ESP32-S3-DevKitC-1

Common errors

Nothing on the Serial Monitor after upload

You are watching the other USB port. With the default settings Serial goes to the "UART" port; to use the native "USB" port set Tools → USB CDC On Boot → Enabled.

Board keeps resetting with a PSRAM error

Tools → PSRAM must match your module: "OPI PSRAM" for N8R8/N16R8, "Disabled" for N8. A mismatch boot-loops the board.

Timed out waiting for packet header

Hold BOOT, tap RESET, release BOOT, then upload. Full fix guide.

The RGB LED stays dark

v1.0 boards wire it to GPIO48, v1.1 boards to GPIO38. Change RGB_PIN in the blink sketch to match the label near the LED.

Projects for ESP32-S3-DevKitC-1

↑↓ to move · Enter to open