ESP32 vs ESP32-S3 vs ESP32-C3: which Espressif chip?
The classic ESP32, the ESP32-S3 and the ESP32-C3 all run ESP-IDF and the Arduino core, and all carry 2.4 GHz Wi-Fi. They differ in cores, memory, USB and Bluetooth generation — and in how little current they draw asleep. The figures below come from the three official datasheets.
Specifications
| Specification | ESP32 | ESP32-S3 | ESP32-C3 |
|---|---|---|---|
| MCU | Xtensa LX6, 32-bit | Xtensa LX7, 32-bit | RISC-V, 32-bit |
| Cores / clock | Dual-core, up to 240 MHz | Dual-core, up to 240 MHz | Single-core, up to 160 MHz |
| RAM / flash | 520 KB SRAM, 448 KB ROM; external flash, up to 16 MB mapped | 512 KB SRAM, 384 KB ROM, 16 KB RTC SRAM; flash and PSRAM options in the package | 400 KB SRAM (16 KB used as cache), 384 KB ROM, 8 KB RTC SRAM; up to 8 MB flash in the package |
| Radios | Wi-Fi 802.11 b/g/n; Bluetooth 4.2 BR/EDR and LE | Wi-Fi 802.11 b/g/n; Bluetooth 5 LE and Mesh | Wi-Fi 802.11 b/g/n; Bluetooth 5 LE and Mesh |
| Voltage | 2.3–3.6 V operating | 3.0–3.6 V, 3.3 V typical | 3.0–3.6 V, 3.3 V typical |
| Typical power | Deep-sleep 10 µA; light-sleep 0.8 mA | Deep-sleep 7 µA; light-sleep 240 µA; Wi-Fi TX peaks near 340 mA | Deep-sleep 5 µA; light-sleep 130 µA; Wi-Fi TX peaks near 335 mA |
| Price class | Budget. Prices vary by vendor | Budget. Prices vary by vendor | Budget. Prices vary by vendor |
Figures are typical values from the linked sources, not guarantees. Prices are the manufacturers’ published prices where they publish one; resellers vary.
How to choose
Choose the classic ESP32 when…
- The project talks Bluetooth Classic — hands-free audio, A2DP or SPP serial — which only the classic ESP32 offers (BR/EDR).
- It uses the classic’s extras: two DAC outputs or the Ethernet MAC.
- An existing ESP32 module, board or codebase is already proven and re-laying out for a newer chip buys little.
Choose the ESP32-S3 when…
- It drives a camera or display: the S3 has an 8/16-bit DVP camera interface and an LCD interface.
- It wants native full-speed USB OTG, or the SIMD instructions and FPU for light DSP work.
- The design needs in-package PSRAM, or simply more RAM: 512 KB on-chip.
Choose the ESP32-C3 when…
- Sleep current is the headline: 5 µA deep-sleep is the lowest Espressif publishes for the three.
- One core at up to 160 MHz is enough — for a sensor node it usually is.
- You want USB Serial/JTAG on the chip for programming and debugging without extra hardware.
Where to go next
A 3D-Printed Planter That Monitors Indoor CO₂
Behind its geometric planter shell, murCO uses an ESP32-based controller and SCD40 sensor to send local CO₂, temperature, and humidity readings to Home Assistant. LEDs, optional speech, and Bluetooth proxy features make ventilation information useful without depending on a dashboard. The open-source repository and project documentation provide implementation details.
Read the build on openelab.io: A 3D-Printed Planter That Monitors Indoor CO₂Build an ESP32 Sparkle Motion Light
Tiny points of colored light can feel surprisingly alive when they move, fade, and sparkle independently. This project pairs an ESP32-based Adafruit board with addressable LEDs and CircuitPython, giving makers a hands-on way to build an animated display, then adjust its colors, timing, brightness, and physical form.
Read the build on cdn-learn.adafruit.com: Build an ESP32 Sparkle Motion LightReliable ESP-NOW RC Car With ESP32 and ESP8266
At 2.02 volts, a battery pack exposed the gap between firmware’s “protected” message and real electrical safety. This ESP-NOW RC car pairs an ESP32 controller with an ESP8266 vehicle board, then adds packet checks, acknowledgements, failsafes, pairing, and hard-won debugging lessons from actual hardware faults.
Read the build on learniot.in: Reliable ESP-NOW RC Car With ESP32 and ESP8266Build an ESP32 MAX30102 Vital Signs Sensor
Three useful readings come from one fingertip module: heart rate, SpO2, and temperature. This ESP32 project covers the wiring, Arduino sketches, and optical sensing behind each value. It is a practical introduction to I2C and physiological data, but the results are experimental and not suitable for medical diagnosis.
Read the build on randomnerdtutorials.com: Build an ESP32 MAX30102 Vital Signs SensorBuild an ESP32 Cooker Whistle Counter
Pressure-cooker whistles are easy to miss when the kitchen gets busy. This ESP32 project uses a MAX4466 microphone to count sound events, then sends a WhatsApp message through CircuitDigest Cloud when the selected count is reached. It needs careful calibration, reliable Wi-Fi, and continued supervision around the cooker.
Read the build on circuitdigest.com: Build an ESP32 Cooker Whistle CounterESP32 Touchscreen Sonos Wall Panel
On a desk or wall, SonosESP turns a 4-inch or 7-inch touchscreen and ESP32-P4 into a dedicated music remote. It browses libraries, controls speakers across rooms, shows album art and lyrics, displays weather and clocks, and receives firmware updates without being removed from its mounting.
Read the build on github.com: ESP32 Touchscreen Sonos Wall Panel