In short

The ESP32-S3 keeps two cores at up to 240 MHz but moves to Xtensa LX7 with vector instructions, adds native USB OTG, 45 GPIO, up to 20 ADC channels, 14 touch pins and optional PSRAM, and drops Bluetooth Classic and the DAC (ESP32-S3 datasheet v2.2, pp. 3 to 5). The original ESP32 on the DevKit V1 has Bluetooth v4.2 Classic and LE, two 8-bit DACs and 520 KB of SRAM (ESP32 datasheet v5.3, pp. 3, 4). Pick the S3 for new projects, USB devices, cameras and displays; keep the ESP32 for BluetoothSerial, A2DP audio or existing ESP32 code.

Side by side

ESP32ESP32-S3
CPUESP32-WROOM-32 datasheet v3.8, pp. 2, 3; Espressif ESP32-S3 datasheet v2.2, p. 3Dual-core Xtensa LX6, up to 240 MHzDual-core Xtensa LX7, up to 240 MHz, vector instructions
SRAMEspressif ESP32 datasheet v5.3, p. 4; ESP32-S3 datasheet v2.2, p. 4; DevKitC-1 v1.1 user guide520 KB512 KB; PSRAM 2, 8 or 16 MB on R2, R8 and R16 versions
Flash on the boardESP32-WROOM-32 datasheet v3.8, p. 2; ESP32-S3-DevKitC-1 v1.1 user guide4 MB8 MB (N8 versions) or 32 MB (N32R16V)
BluetoothESP32 datasheet v5.3, p. 3; ESP32-S3 datasheet v2.2, pp. 1, 3Bluetooth v4.2 BR/EDR (Classic) and LEBluetooth 5 (LE) only, no Classic
USBESP32 DevKit V1 board design; ESP32-S3-DevKitC-1 v1.1 user guideMicro-USB through a USB-to-UART bridgeTwo micro-USB ports: USB-to-UART bridge and the chip's own USB OTG
GPIOESP32 DevKit V1 pinout; ESP32-S3 datasheet v2.2, p. 4; DevKitC-1 v1.1 user guide25 on the 30-pin header45 programmable on the chip; two 22-pin headers
ADCESP32 DevKit V1 pinout; ESP32-S3 datasheet v2.2, pp. 5, 5915 pins on the header (6 on ADC1)Two 12-bit SAR ADCs, up to 20 channels (ADC1 on GPIO1 to GPIO10)
DACESP32 datasheet v5.3, p. 4; ESP32-S3 datasheet v2.2Two 8-bit channels on GPIO25 and GPIO26None
On-board LEDESP32 DevKit V1 board design; ESP32-S3-DevKitC-1 v1.1 user guidePlain LED on GPIO2 on most boardsAddressable RGB LED on GPIO38 (v1.1) or GPIO48 (v1.0)

Which one to pick

Pick the ESP32 when
  • Bluetooth Classic: BluetoothSerial links and A2DP audio need the original ESP32's BR/EDR radio (ESP32 datasheet v5.3, p. 3).
  • True analog output from the two 8-bit DAC channels on GPIO25 and GPIO26 (p. 4).
  • Existing ESP32 projects, shields and tutorials built around the DevKit V1's 30-pin layout.
Pick the ESP32-S3 when
  • USB devices: the S3's own USB OTG port can act as a keyboard, mouse or USB serial device and supports JTAG debugging (DevKitC-1 v1.1 user guide).
  • Cameras, large displays and machine learning, using up to 16 MB of PSRAM and the LX7's vector instructions (ESP32-S3 datasheet v2.2, p. 3; user guide).
  • Projects that need more pins, touch inputs or analog channels: 45 GPIO, 14 touch pins and up to 20 ADC channels (datasheet, pp. 4, 5).

Swapping one for the other

What changes in the wiring and the code.

  • Both are 3.3 V and not 5 V tolerant (ESP32-WROOM-32 datasheet v3.8, p. 26; ESP32-S3 datasheet v2.2, pp. 64, 65), and both use the arduino-esp32 core, so Wi-Fi code carries over. Select ESP32S3 Dev Module and set its flash and PSRAM options to your board's version.
  • Pin numbers differ: the S3 has no GPIO22 to GPIO25, so remap every pin. arduino-esp32's default I2C pins are GPIO8 (SDA) and GPIO9 (SCL) on the S3, against GPIO21 and GPIO22 on the DevKit V1.
  • The LED changes kind: GPIO2 is a plain LED on the DevKit V1, while the S3's LED is addressable; drive it with rgbLedWrite() (neopixelWrite() on 2.x cores) on GPIO38 (v1.1) or GPIO48 (v1.0).
  • Remove dacWrite() and Bluetooth Classic code (BluetoothSerial, A2DP) when moving to the S3; use PWM or an I2S DAC, and BLE.
  • On N8R8 and N32R16V boards, GPIO35 to GPIO37 belong to the octal PSRAM and must stay free (DevKitC-1 v1.1 user guide). Use the USB-to-UART port for Serial and flashing.

ESP32 or ESP32-S3: questions

Is the ESP32-S3 better than the ESP32?

For most new projects, yes: LX7 cores with vector instructions, native USB OTG, 45 GPIO, 14 touch pins and PSRAM options (ESP32-S3 datasheet v2.2, pp. 3 to 5). The original ESP32 still wins on Bluetooth Classic and its two DAC channels (ESP32 datasheet v5.3, pp. 3, 4).

Does the ESP32-S3 support Bluetooth Classic?

No. The ESP32-S3 has Bluetooth 5 (LE) only (ESP32-S3 datasheet v2.2, p. 3), so BluetoothSerial and A2DP audio do not work. The original ESP32 has Bluetooth v4.2 BR/EDR and LE (ESP32 datasheet v5.3, p. 3).

Will my ESP32 sketch run on the ESP32-S3?

Wi-Fi, web server and most sensor code compiles once you select an S3 board. Change the pin numbers, since the S3 has no GPIO22 to GPIO25, and replace dacWrite() and any Bluetooth Classic code.

Why does the ESP32-S3-DevKitC-1 have two USB ports?

One goes through a USB-to-UART bridge for flashing and the Serial console; the other is the ESP32-S3's own full-speed USB OTG port, which can act as a keyboard, mouse or USB serial device and supports JTAG debugging (DevKitC-1 v1.1 user guide). The DevKit V1 has only the bridge.

Which board has more memory?

The ESP32 has 520 KB of SRAM and the S3 512 KB (ESP32 datasheet v5.3, p. 4; ESP32-S3 datasheet v2.2, p. 4), but S3 boards come with 8 MB of flash or more and up to 16 MB of PSRAM (DevKitC-1 v1.1 user guide), against 4 MB of flash and no PSRAM on the DevKit V1's WROOM-32.

The two references

Checked on 2026-10-29 against 4 sources, the makers’ datasheets first.

For AI assistants

This comparison as plain Markdown. /compare/esp32-devkit-v1-vs-esp32-s3-devkitc-1.md

What will you build with it?