The ESP32-S3 is Espressif's flagship chip, featuring a dual-core Xtensa LX7 processor at 240 MHz, 45 programmable GPIOs, native USB OTG, and a vector extension for AI/ML acceleration.
Key Specs
| Architecture | Xtensa LX7, dual-core |
| GPIO Pins | 45 (GPIO0–21, GPIO26–48) |
| ADC | 20 channels, 12-bit (no ADC2 Wi-Fi conflict) |
| Wi-Fi / BLE | 2.4 GHz Wi-Fi + BLE 5.0 |
| USB | Native USB OTG (CDC, HID, MSC, MIDI) |
| DAC | ❌ Not available on S3 |
| Touch | 14 capacitive touch sensors |
ESP32-S3 Strapping Pins
The ESP32-S3 has 4 strapping pins: GPIO0, GPIO3, GPIO45, GPIO46. These control boot mode and flash voltage.
- GPIO0: Boot mode (LOW = download, HIGH = SPI boot)
- GPIO3: Strapping (LOW = download mode when GPIO0 is LOW)
- GPIO45: Flash voltage (LOW = 3.3V, HIGH = 1.8V)
- GPIO46: Boot output (LOW = download, HIGH = flash boot)
USB Pins (Native USB)
The ESP32-S3 has native USB support on dedicated pins: GPIO19 (USB_D-) and GPIO20 (USB_D+). These can also function as regular GPIOs if USB-JTAG is disabled.
SPI Flash Reserved Pins
GPIO26–GPIO37 are typically reserved for SPI flash and PSRAM. GPIO26–GPIO32 are used for basic flash; GPIO33–GPIO37 are used for Octal flash/PSRAM. Avoid using these in custom designs unless required.