The ESP32-S3 is the modern successor to the ESP32S.
Compared to the original ESP32, the S3 removes some rarely used features (like the Hall Sensor and DAC) to provide more GPIO pins, a dedicated camera interface, and BLE 5.0 support as well as AI acceleration, more ADC channels, more touch inputs, and USB OTG.
Some resources like SRAM and ROM are slightly reduced, but overall, the S3 is a more capable and versatile chip designed for advanced applications.
Overview
The ESP family of microcontrollers has grown quite large and has become somewhat confusing. Here is a quick overview:
For general tasks, the ESP32-S3 speed is similar to ESP32S. The ESP32-S3 excels though with computation-heavy tasks due to its better math coprocessor.
ESP32-S3 vs ESP32S
To help decide whether the classic ESP32S or the newer ESP32-S3 is right for you, here is a table with the key differences:
You need… | ESP32S | ESP32-S3 |
---|---|---|
more GPIOs | ✅ (from 34 to 45 with 2 additional analog inputs, actually usable GPIOs depends on development board design) | |
more speed | ✅ (when computational demanding) | |
camera support | ✅ | |
lower energy | ✅ (slight advantage) | |
support for Bluetooth Classic | ✅ | |
support for BLE 5.0 | ✅ | |
built-in DAC | ✅ | |
support for USB devices | ✅ | |
compatibility to older projects/example code | ✅ |
Neither one comes with modern Thread wireless radio (802.15.4). Currently the only ESP microcontroller that natively supports 802.15.4 (required for Thread and Zigbee) is the ESP32-H2.
Keep some ESP8266 and ESP32S to stay compatible with the older projects and sample codes that were developed for these two MCUs, but
Limitations
Some useful features found in ESP32S have been removed in ESP32-S3:
Feature | Removal |
---|---|
Size | 7x7 instead of 5x5 |
SRAM | reduced from 520 to 512 |
ROM | reduced from 448 to 384 |
Bluetooth | no longer supports Bluetooth Classic, just BLE |
LED PWM | reduced from 16 to 8 |
DAC | ❌ |
SD Slave | ❌ |
Hall Sensor | ❌ |
Ethernet | ❌ |
New Features
ESP32-S3 introduces these key improvements (compared to ESP32S):
Feature | Addition |
---|---|
Bluetooth | BLE 5.0 instead of BLE 4.2 (but no support for Bluetooth Classic anymore) |
ADC | 18 instead of 20 |
Digital Video Port | ✅ |
Touch | 14 instead of 10 |
Temperature Sensor | ✅ (but just for the MCU temperature, not environmental) |
GPIO | 45 instead of 34 |
SD Host | 2 instead of 1 (no SD Slave support anymore) |
USB OTG | ✅ |
Math Coprocessor | significantly extended |
Camera Support
Traditionally, ESP32S has often been used with camera modules, implementing surveillance systems and face recognition.
The ESP32-S3—while running at comparable clock rates—improves these use cases significantly. Its AI Acceleration Support improves a wide range of computational tasks, allowing for more efficient image manipulation, edge detections, face recognition, and related AI-based tasks.
In addition, the ESP32-S3 features dedicated hardware support for parallel camera interfaces, specifically the DVP (Digital Video Port) interface. This allows the S3 to connect directly to camera modules (like the OV2640 or OV7670) using an 8-bit parallel data bus, along with dedicated pins for pixel clock (PCLK), horizontal sync (HREF), and vertical sync (VSYNC).
The ESP32S can connect to cameras using its I2S peripheral in parallel mode, but this is a workaround and not a dedicated camera interface. It is less efficient, can be more complex to implement, and is limited by the number of available GPIOs and the lack of hardware acceleration for camera data. As a result, the ESP32S typically supports lower frame rates and resolutions for camera applications, and the CPU is more heavily loaded during image capture.
Math Coprocessor
Both have a dedicated math coprocessor and built-in math acceleration, however the capabilities of ESP32-S3 are much extended. This can lead to significant improvements for computational intense applications (speed, higher resolutions, better frame rates), i.e. AI or cameras/image processing:
Feature | ESP32S (Xtensa LX6) | ESP32-S3 (Xtensa LX7) | |
---|---|---|---|
Math Coprocessor (FPU) | ✅ (single-precision floating point) | ✅ (single-precision floating point) | |
Vector Instructions | ❌ | ✅ (for AI acceleration and SIMD math) | |
AI Acceleration | ❌ | ✅ (dedicated vector extensions) | |
Integer Performance | ++ | ++++ (architectural enhancements) | |
Floating Point Performance | ++ | +++ | |
Use Cases | General math, DSP | General math, DSP, AI, Image Processing |
Detailed Comparison
Feature | ESP32S | ESP32-S3 |
---|---|---|
CPU | Dual-core Xtensa LX6 @ 240 MHz | Dual-core Xtensa LX7 @ 240 MHz |
SRAM | 520 KB | 512 KB |
ROM | 448 KB | 384 KB |
Power Consumption | ~20 µA (deep sleep), ~80-260 mA (active Wi-Fi) | ~20 µA (deep sleep), ~80-240 mA (active Wi-Fi, more efficient sleep modes) |
Wi-Fi | 802.11 b/g/n | 802.11 b/g/n |
Bluetooth | v4.2 (Classic + BLE) | v5.0 (BLE only, no Classic) |
GPIO | 34 | 45 |
ADC Channels | 18 | 20 |
Digital Video Port | ❌ | ✅ |
Touch Inputs | 10 | 14 |
AI Acceleration | ❌ | ✅ (vector instructions) |
USB OTG | ❌ | ✅ |
Temperature Sensor | ❌ | ✅ |
DAC | ✅ (2 channels) | ❌ |
Hall Sensor | ✅ | ❌ |
Recommendation
-
ESP32-S3: more GPIO, improved BLE (v5.0), camera support, image processing, USB OTG, slightly lower power consumption, and better AI/vector processing.
-
ESP32S: Bluetooth Classic, built-in DAC, Hall sensor. Maximum compatibility with older projects and libraries. Still a solid choice for many existing designs.
Slow Website?
This website is very fast, and pages should appear instantly. If this site is slow for you, then your routing may be messed up, and this issue does not only affect done.land, but potentially a few other websites and downloads as well. Here are simple steps to speed up your Internet experience and fix issues with slow websites and downloads..
Comments
Please do leave comments below. I am using utteran.ce, an open-source and ad-free light-weight commenting system.
Here is how your comments are stored
Whenever you leave a comment, a new github issue is created on your behalf.
-
All comments become trackable issues in the Github Issues section, and I (and you) can follow up on them.
-
There is no third-party provider, no disrupting ads, and everything remains transparent inside github.
Github Users Yes, Spammers No
To keep spammers out and comments attributable, all you do is log in using your (free) github account and grant utteranc.es the permission to submit issues on your behalf.
If you don’t have a github account yet, go get yourself one - it’s free and simple.
If for any reason you do not feel comfortable with letting the commenting system submit issues for you, then visit Github Issues directly, i.e. by clicking the red button Submit Issue at the bottom of each page, and submit your issue manually. You control everything.
Discussions
For chit-chat and quick questions, feel free to visit and participate in Discussions. They work much like classic forums or bulletin boards. Just keep in mind: your valued input isn’t equally well trackable there.
(content created Mar 23, 2024 - last updated Aug 02, 2025)