The world of Expressif‘s ESP line can be daunting to say the least.
These cheap and capable microcontrollers have really changed the game in IOT devices. They are often equipped with built in Wifi and can even contain Bluetooth. There are a decent amount of GPIOs (general purpose input output) available for your electronics projects. Further, they have a very good documentation and large community around it.
Before we begin we should understand a few differences in the “packages” Expressif supplies these marvelous little powerhouses in.
- SOC (System on a Chip)
- These are the most basic version of an ESP variant. More likely than not you will not be dealing with these fingernail sized QFN packages. These are more suitable for large scale manufacturers who need lower cost and customizability.
- Modules
- Modules are closer to where we are headed. These are still small but include the microprocessor and integrations on a single module. Often they are available with castellated holes on the side of the PCB to allow for easy hand soldering. They can also be available with PCB or externally attached antennas.
- Development Kits
- More likely than not, this is what you are working with. These are complete packages, often including USB port for connection to a PC for programming, onboard buttons and LEDs and voltage regulation to take the 5V of the USB to power the 3.3V ESP SOC. Further, these will include all, or some of the GPIO pins broken out for your use. There are ALOT of variants of development boards available by other vendors. As a single example, the NodeMCU is an open-source implementation of the ESP8266 SOC with breakouts for pins and voltage regulation (among more)…..but there are HUNDREDS of derivative boards that all are based on one of the Expressif SOCs.
- Development boards are available in multiple of sizes from micro to full breakouts. Just keep in mind, the smaller you go, the more GPIO you are likely to lose amongst other board features you may use (ie: on board LEDs or switches).
Common ESP variants
There are a multitude of ESP variants produced. Below I’ll list the most common ones you will come across. Don’t take this as as exhaustive reference. There are many more available but this is focused on the common variants for the home hobbyist and automation makers. If you have a really simple project in mind, say a temperature sensor that updates your MQTT server with reading than really anyone will do so don’t get get caught up in decision paralysis. If you’re following along with a tutorial, the author will probably tell you which you need.
Model | MCU Core | Wi-Fi | Bluetooth | GPIO | Flash / RAM | Extras | Best For |
---|---|---|---|---|---|---|---|
ESP8266 | 1x Tensilica L106 | ✅ | ❌ | ~17 | Up to 16MB / 160KB | Low-cost Wi-Fi projects | Beginners, simple IoT |
ESP32 | 2x Xtensa LX6 | ✅ | ✅ (BT 4.2) | ~34 | Up to 16MB / 520KB | ADCs, DACs, touch sensors, etc. | General-purpose IoT |
ESP32-S2 | 1x Xtensa LX7 | ✅ | ❌ | ~43 | 4MB RAM (external)/320KB | USB OTG, better security | USB devices, improved security |
ESP32-C3 | 1x RISC-V | ✅ | ✅ (BT 5.0) | ~22 | 400KB SRAM / 384KB ROM | BLE Mesh, low-power friendly | Low-power, security-conscious |
ESP32-S3 | 2x Xtensa LX7 | ✅ | ✅ (BT 5.0) | ~44 | 512KB RAM + ext RAM | AI instructions, USB OTG | Vision/AI, speech processing |
ESP32-C6 | 1x RISC-V | ✅ (Wi-Fi 6) | ✅ (BT 5.2) | ~23 | Similar to C3 | First Wi-Fi 6 + BLE 5.2 chip | low-power apps |
Now we can go a bit further down the rabbits hole. Each ESP variant has a family of submodels, and this is where things can get a little confusing if you’re not deep into the weeds. These submodels usually indicate:
- Form factor (module type)
- Flash size
- Antenna type
- Special features (e.g., camera support, more GPIO)
Let’s break down the submodel naming for each major ESP family:
ESP8266 Submodels
Submodel | Notes |
---|---|
ESP-01 | Very small, 2 GPIOs. Great for ultra-simple use. |
ESP-07 / ESP-12 | More GPIOs, PCB or external antenna options. |
ESP-12E/F | Most commonly used in NodeMCU boards. |
ESP-WROOM-02 | Official Espressif module version. |
Typical flash sizes: 512KB – 4MB
ESP32 Submodels
Submodel | Notes |
---|---|
ESP32-WROOM-32 | Most common; general-purpose. |
ESP32-WROVER | Adds external PSRAM (for AI/vision etc.) |
ESP32-PICO | Integrated crystal, flash & passives – super small |
ESP32-CAM | Camera module, includes OV2640 + microSD |
Common flash sizes: 4MB, 8MB, 16MB
PSRAM: Typically 2MB for WROVER models.
ESP32-S2 Submodels
Submodel | Notes |
---|---|
ESP32-S2-WROOM | Standard S2 module |
ESP32-S2-WROVER | Adds PSRAM for larger data buffers |
Use these for USB HID, secure applications, or projects needing OTA.
Submodel | Notes |
---|---|
ESP32-C3-WROOM-02 | Most common module |
ESP32-C3-WROOM-01 | Different antenna/config options available |
C3 modules are more compact, lower power, and good for secure, BLE-heavy apps.
ESP32-S3 Submodels
Submodel | Notes |
---|---|
ESP32-S3-WROOM | Base model |
ESP32-S3-WROVER | With PSRAM – ideal for AI/vision processing |
S3 is geared toward AI workloads and has vector instructions.
ESP32-C6 Submodels (with Wi-Fi 6)
Submodel | Notes |
---|---|
ESP32-C6-WROOM-1 | Main current submodel |
ESP32-C6-WROOM-1U | Uses u.FL connector for external antenna |
Still early in adoption but will grow fast due to Wi-Fi 6 and BLE 5.2.
Some General Variant Notes:
WROOM
= Standard module.WROVER
= Includes PSRAM.PICO
= Compact SoC with integrated components.-xxMB
= Indicates flash size sometimes (e.g.,ESP32-WROOM-32D-4MB
)-U
= External antenna connector (u.FL).
This is meant to simply be a list of the variants and specifications of most of the common ESP variants available today. It is meant to summarize their design limitations and inherent strengths. Stay tuned, we’re gonna make some projects with these little wonders!