ESP32-S3 Complete Guide: Features, Pinout and Projects
The ESP32-S3 is Espressif’s most powerful single-chip IoT solution — a significant leap forward from the original ESP32 that has dominated the maker and professional IoT space for nearly a decade. With a faster dual-core Xtensa LX7 processor, on-chip AI/ML vector instructions, USB OTG, expanded GPIO, and support for larger PSRAM and flash, the ESP32-S3 opens up entirely new categories of projects that were impossible on the original chip. This guide covers everything you need to know about the ESP32-S3 — from its hardware architecture and complete pinout to practical project ideas that are especially relevant for Indian makers, students, and startups.
ESP32-S3 Key Features and Improvements
Released in 2021, the ESP32-S3 was designed specifically for AIoT (Artificial Intelligence of Things) applications. Let us walk through what makes it special:
Dual-Core Xtensa LX7 at up to 240 MHz
The original ESP32 uses Xtensa LX6 cores. The LX7 architecture brings roughly 40% better performance per MHz for typical workloads. At the same 240 MHz clock, the ESP32-S3 completes tasks significantly faster, which translates directly into shorter active windows and better battery life for IoT applications.
Vector Instructions for Neural Network Inference
The ESP32-S3 includes Espressif’s custom vector/SIMD instructions specifically optimised for machine learning inference. These instructions accelerate operations like convolutions, matrix multiplications, and activation functions — the core computations in neural networks. In practical terms, an ESP32-S3 running ESP-NN (Espressif’s neural network library) can perform image classification at 5-10 frames per second using lightweight MobileNet or FOMO models. The original ESP32 struggles to achieve 2-3 FPS.
USB OTG (On-The-Go)
The ESP32-S3 has native USB 1.1 OTG in hardware. This enables:
- USB CDC: Use the ESP32-S3 as a USB serial device without a CP2102/CH340 bridge chip
- USB HID: Create wireless keyboards, mice, or game controllers
- USB MSC: Appear as a USB flash drive — useful for firmware updates via a file manager
- USB Host: Connect USB peripherals like keyboards, barcode scanners, or USB cameras to the ESP32-S3
Expanded Flash and PSRAM Support
The ESP32-S3 supports up to 16 MB of embedded flash and up to 8 MB of on-chip PSRAM (in the ESP32-S3R8 variant). This makes it feasible to run complex applications like full LVGL GUI frameworks, JPEG decoders, and TensorFlow Lite models entirely in memory without constant flash reads.
Enhanced Wireless
WiFi 802.11b/g/n (2.4 GHz) with improved throughput and Bluetooth 5.0 with BLE Mesh support — same as the original ESP32 but with better coexistence handling and reduced interference between WiFi and BLE.
Waveshare ESP32-S3 1.43inch AMOLED Display Development Board, 466×466
A stunning ESP32-S3 board with an integrated round AMOLED display — perfect for smartwatch-style UIs, dashboards, and compact IoT control panels.
ESP32 vs ESP32-S3: Detailed Comparison
| Feature | ESP32 | ESP32-S3 |
|---|---|---|
| CPU | Xtensa LX6 dual-core | Xtensa LX7 dual-core |
| Max clock speed | 240 MHz | 240 MHz |
| Performance vs ESP32 | Baseline | ~40% faster (LX7) |
| SRAM | 520 KB | 512 KB + 8 MB PSRAM (S3R8) |
| Max flash | 16 MB (external) | 16 MB (embedded) |
| GPIO count | 34 | 45 |
| USB OTG | No | Yes (USB 1.1) |
| AI/ML vector extensions | No | Yes |
| Bluetooth | BT 4.2 + BLE | BT 5.0 + BLE Mesh |
| Touch GPIOs | 10 | 14 |
| LCD interface | SPI only | SPI + 8/16-bit parallel + RGB |
| Camera interface | DVP (via I2S) | DVP parallel (dedicated) |
ESP32-S3 Pinout and GPIO Guide
The ESP32-S3 chip has 45 programmable GPIOs (GPIO0 to GPIO48, with some gaps). However, the actual number of usable GPIOs on a module or development board depends on the package and the module design. The popular ESP32-S3-WROOM-1 module (38-pin) exposes 36 GPIOs after accounting for the internal flash/PSRAM connections.
Key GPIO assignments and restrictions:
- GPIO0: Boot mode selection (pull down = download mode). Use with caution.
- GPIO26-GPIO32: Connected to internal PSRAM/flash — do NOT use as general GPIOs on modules with PSRAM.
- GPIO33-GPIO37: Connected to internal flash on WROOM-1 module — reserved.
- GPIO38-GPIO48: Available as general-purpose I/O with no special restrictions.
- GPIO19, GPIO20: USB D- and D+ lines for USB OTG. If you use USB OTG, these are occupied.
- ADC: ADC1 on GPIO1-GPIO10; ADC2 (GPIO11-GPIO20) CANNOT be used when WiFi is active.
- Touch inputs: GPIO1-GPIO14 (14 capacitive touch channels).
- JTAG: GPIO39-GPIO42 are the JTAG debug pins (can be repurposed if JTAG not used).
Serial interface assignments (default, can be remapped via GPIO matrix):
- UART0 TX: GPIO43 | RX: GPIO44
- UART1 TX: GPIO17 | RX: GPIO18 (default)
- SPI2 (HSPI): CLK GPIO12, MOSI GPIO11, MISO GPIO13, CS GPIO10
- I2C: GPIO8 (SDA), GPIO9 (SCL) — default, fully remappable
- I2S: GPIO4 (MCLK), GPIO5 (BCLK), GPIO6 (WS), GPIO7 (DOUT)
Waveshare ESP32-S3 1.46inch Round Display Board with Accelerometer, Speaker & Microphone
A feature-packed ESP32-S3 development board with round display, IMU sensor, speaker, and microphone — ideal for voice-controlled smart home devices and wearables.
AI and Machine Learning Capabilities
The ESP32-S3’s vector instructions enable real on-device ML inference without sending data to the cloud. This is revolutionary for Indian applications where cloud latency, data privacy, and internet reliability are concerns. Here are the AI use cases the ESP32-S3 enables:
1. Wake Word Detection
The ESP32-S3 can run Espressif’s WakeNet model to detect custom wake words (“Hey Zbotic”, “OK ESP”) from a microphone stream. This powers voice-activated switches, appliances, and security systems without any cloud dependency. Latency is under 100 ms.
2. Face Detection (Not Recognition)
Paired with a camera module (OV2640 or the ESP32-CAM), the ESP32-S3 can run FOMO (Faster Objects, More Objects) or MTMN face detection models at 5-10 FPS. This enables attendance systems, door access triggers, and people counters — popular in Indian schools, offices, and retail stores.
3. Gesture Recognition
Using the camera or an accelerometer/gyroscope, the ESP32-S3 can classify hand gestures or motion patterns using a small CNN (Convolutional Neural Network) trained with Edge Impulse or TensorFlow Lite. Control home appliances with hand gestures — no touchscreen required.
4. Anomaly Detection for Predictive Maintenance
In industrial settings, vibration data from an accelerometer can be fed into a lightweight anomaly detection model (like an autoencoder) running on the ESP32-S3 to detect early signs of motor bearing failure — a common and costly problem in Indian manufacturing.
Tools for training and deploying models on ESP32-S3:
- ESP-IDF + ESP-NN: Espressif’s framework with optimised neural network kernels
- TensorFlow Lite for Microcontrollers: Works with ESP32-S3 via Arduino or ESP-IDF
- Edge Impulse: Cloud-based training platform with direct ESP32-S3 deployment support
- Arduino IDE + EloquentESP32: Simplified ML on Arduino for beginners
Display Projects with ESP32-S3
The ESP32-S3’s parallel LCD interface (up to 16-bit) enables much higher display refresh rates than SPI, making it ideal for LVGL-based touch UIs and video playback. Here are popular display-based project ideas:
Smart Home Control Panel
Build a wall-mounted touch display with LVGL running on an ESP32-S3 with a 480×320 or larger TFT display. Control lights, fans, AC, and security cameras from a single panel. The ESP32-S3’s faster CPU ensures smooth 30 FPS animations in the LVGL UI.
Digital Gauge Cluster
Using the round AMOLED displays available for the ESP32-S3, create a digital instrument cluster for a vehicle, machine, or industrial process. Display RPM, speed, temperature, and pressure with smooth animated needle graphics.
Waveshare ESP32-S3 1.47inch 172×320 LCD Display Development Board
A compact ESP32-S3 board with a vivid 262K colour LCD — great for portable IoT dashboards, environmental monitors, and wearable data displays.
Getting Started: Arduino IDE and ESP-IDF Setup
Arduino IDE Setup
- Open Arduino IDE → File → Preferences
- Add to Additional Boards Manager URLs:
https://raw.githubusercontent.com/espressif/arduino-esp32/gh-pages/package_esp32_index.json - Tools → Board → Boards Manager → search “esp32” → install “esp32 by Espressif Systems” version 2.x or 3.x
- Select board: Tools → Board → ESP32 Arduino → ESP32S3 Dev Module
- Configure:
- USB Mode: Hardware CDC and JTAG (for native USB) or UART0 (for USB-to-UART dev boards)
- PSRAM: OPI PSRAM (for S3R8 variants with 8 MB PSRAM)
- Flash Size: 8MB or 16MB (match your module)
- Partition Scheme: Huge APP (for large sketches with ML models)
Your First ESP32-S3 Sketch
#include <Arduino.h>
void setup() {
// Use native USB serial (USB CDC) — no USB bridge needed on S3
Serial.begin(115200);
delay(1000);
Serial.printf("ESP32-S3 running at %d MHzn", getCpuFrequencyMhz());
Serial.printf("Free heap: %d bytesn", ESP.getFreeHeap());
Serial.printf("PSRAM size: %d bytesn", ESP.getPsramSize());
Serial.printf("Free PSRAM: %d bytesn", ESP.getFreePsram());
Serial.printf("Chip model: %sn", ESP.getChipModel());
Serial.printf("Chip revision: %dn", ESP.getChipRevision());
Serial.printf("Number of cores: %dn", ESP.getChipCores());
}
void loop() {
delay(1000);
}
Ai Thinker ESP32 CAM Development Board WiFi+Bluetooth with Camera Module
Pair this ESP32-CAM with an ESP32-S3 gateway for AI-powered camera projects — face detection, motion alerts, and video streaming for Indian smart home security.
Frequently Asked Questions
Q: Is ESP32-S3 backward compatible with ESP32 code?
A: Mostly yes for Arduino code, but with some caveats. The ESP32-S3 uses the same Arduino ESP32 core (version 2.x+), so most libraries compile and run without modification. However, peripherals that use fixed pins (DAC, Hall sensor, touch pins) have different GPIO assignments, and the Bluetooth Classic audio stack (A2DP/AVRCP/HFP) is NOT available on ESP32-S3 — BLE only. If your project relies on Bluetooth Classic audio, stay with the original ESP32.
Q: Can the ESP32-S3 replace the ESP32 in existing projects?
A: For most WiFi/BLE IoT projects: yes. The ESP32-S3 is pin-compatible at the module level with ESP32-WROOM-32 in many designs (same footprint, different pinout assignment — verify your schematic). For drop-in replacements, test carefully especially if using peripherals like I2S, camera, or capacitive touch. For new projects, the ESP32-S3 is recommended over the original ESP32.
Q: What is the difference between ESP32-S3, ESP32-S3R8, and ESP32-S3R2?
A: The suffix denotes the PSRAM configuration. ESP32-S3 (no suffix): no embedded PSRAM (external can be added via SPI). ESP32-S3R2: 2 MB PSRAM. ESP32-S3R8: 8 MB PSRAM using OPI interface (faster than SPI). For AI/ML and display-heavy projects, always choose the R8 variant — more RAM means larger models and bigger image buffers.
Q: Does the ESP32-S3 support Arduino libraries like WiFiManager, PubSubClient, LVGL?
A: Yes. WiFiManager, PubSubClient (MQTT), LVGL, TFT_eSPI, ArduinoJson, ESPAsyncWebServer, and most popular Arduino ESP32 libraries are fully compatible with ESP32-S3. Libraries that are NOT compatible include those using Bluetooth Classic audio (ESP32-A2DP, BluetoothSerial is limited) and any library that directly accesses ESP32-specific hardware registers not present on S3.
Q: Where can I buy the ESP32-S3 in India?
A: Zbotic.in stocks several ESP32-S3 development boards including Waveshare’s display-integrated boards with AMOLED and LCD screens. These boards combine the ESP32-S3 with ready-to-use displays, making them ideal for dashboard and UI projects without additional display wiring.
Get Your ESP32-S3 from Zbotic
Zbotic.in offers a growing range of ESP32-S3 boards including Waveshare’s beautiful display-integrated models. Whether you are building AI-powered cameras, smart displays, or industrial gateways, find the right ESP32-S3 module with fast delivery across India.
Add comment