When it comes to IoT, the ESP32 is a chip that packs a powerful punch. The ESP32 is a follow-up to the ESP8266. This low-cost, low-power system on a chip (SoC) series was created by Espressif Systems.

Based on its value for money, small size and relatively low power consumption, it is well suited to a number of different IoT applications.

In this article, we’re going to break down the ESP32’s technical specifications and how it could be used for your IoT project.

What is ESP32?

ESP32 is the name of the chip that was developed by Espressif Systems. This provides Wi-Fi (and in some models) dual-mode Bluetooth connectivity to embedded devices. While ESP32 is technically just the chip, modules and development boards that contain this chip are often also referred to as “ESP32” by the manufacturer. The differences between these are explained further on in the article.

The ESP32 chip has a Tensilica Xtensa LX6 microprocessor in both dual-core and single-core variations, with a clock rate of over 240 MHz. There are now several different chip models available, including:

  • ESP32-D0WDQ6 (and ESP32D0WD)
  • ESP32-D2WD
  • ESP32-S0WD
  • And the system in package (SiP) – ESP32-PICO-D4

Models are available with combined Wi-Fi and Bluetooth connectivity, or just Wi-Fi connectivity.

The ESP32 is most commonly engineered for mobile devices, wearable tech, and IoT applications – such as Nabto. Moreover, with Mongoose OS introducing an ESP32 IoT Starter Kit, the ESP32 has gained a reputation as the ultimate chip or module for hobbyists and IoT developers.

While this reputation is not unmerited, the low-cost device can also be used in a number of different production systems, and its capabilities and resources have grown impressively over the past four years.

ESP32 Features and Specifications

Here’s a high-level summary of the features and specifications of the ESP32:

And here’s a more detailed summary:

  • Processors – As previously mentioned, the ESP32 uses a Tensilica Xtensa 32-bit LX6 microprocessor. This uses 1 or 2 cores (*all chips in the series are dual-core, except the ESP32-S0WD). The clock frequency reaches up to 240MHz and it performs up to 600 DMIPS (Dhrystone Million Instructions Per Second). Moreover, its low power consumption allows for ADC conversions, computation, and level thresholds, all while in deep sleep mode.
  • Wireless connectivity – The ESP32 enables connectivity to integrated Wi-Fi through the 802.11 b/g/n/e/i/. Moreover, dual-mode Bluetooth is made possible with the v4.2 BR/EDR and features Bluetooth Low Energy (BLE).
  • Memory – Internal memory for the ESP32 is as follows – ROM: 448 KiB (for booting/core functions), SRAM: 520 KiB (for data/instructions), RTC fast SRAM: 8 KiB (for data storage/main CPU during boot from sleep mode), RTC slow SRAM: 8 KiB (for co-processor access during sleep mode), and eFuse: 1 KiBit (256 bits used for the system (MAC address and chip configuration) and 768 bits reserved for customer applications). Moreover, two of the ESP32 chips – ESP32-D2WD and ESP32-PICO-D4 – have internally connected flash. The others are as follows: 0 MiB (ESP32-D0WDQ6, ESP32-D0WD, and ESP32-S0WD chips), 2 MiB (ESP32-D2WD chip), and 4 MiB (ESP32-PICO-D4 SiP module).
  • External Flash and SRAM – ESP32 supports up to four 16 MiB external QSPI flashes and SRAMs with hardware encryption based on AES to protect developers’ programs and data. It accesses the external QSPI flash and SRAM through high-speed caches.
  • Security – IEEE 802.11 standard security features are all supported, including WFA, WPA/WPA2 and WAPI. Moreover, ESP32 has a secure boot and flash encryption.

ESP32 Functions

ESP32 has many applications when it comes to the Internet of Things (IoT). Here are just some of the IoT functions the chip is used for:

  • Networking: The module’s Wi-Fi Antenna and dual-core enables embedded devices to connect to routers and transmit data.
  • Data Processing: Includes processing basic inputs from analog and digital sensors to far more complex calculations with an RTOS or Non-OS SDK.
  • P2P Connectivity: Creates direct communication between different ESPs and other devices using IoT P2P connectivity.
  • Web Server: Access pages written in HTML or development languages.

ESP32 Applications

The ESP32 modules are commonly found in the following IoT devices:

Chip versus Modules versus Development Boards

The ESP32 is just the name of the chip. Device manufacturers and developers have three different choices in terms of which format they buy this in, and the decision of which one to go with will depend on their individual circumstances:

  • ESP32 Chip: This is the bare-bones chip that is manufactured by Espressif. It comes unshielded and can’t be attached to a module or board without soldering. Therefore, most device manufacturers do not purchase just the chip, as this will add an additional layer of complexity to the production process.
  • ESP32 Modules: These are surface mountable modules that contain the chip. The benefit of purchasing a module is that these can be easily mounted onto an MCU in the production process. The chip is also usually shielded and pre-approved by the FCC, which means device manufacturers do not need to worry about adding additional steps to the production process to achieve FCC compliance with regard to Wi-Fi shielding.
  • ESP32 Development Boards: These are IoT MCU development boards that have the modules containing the ESP32 chip preinstalled. They are used by hobbyists, device manufacturers and developers to test and prototype IoT devices before entering mass production. There is a wide variety of makes and models of ESP32 development boards, produced by different manufacturers. Here are some important specs to consider when choosing a suitable IoT ESP32 development board:
    • GPIO pins
    • ADC pins
    • WiFi antennas
    • LEDs
    • Shielding*
    • Flash Memory

*Many international markets require shielded Wi-Fi devices, as Wi-Fi produces a lot of Radio Frequency Interference (RFI), and shielding minimizes this interference. This should, therefore, be a key consideration for all developers and embedded device manufacturers.

Manufacturers of ESP32 Modules and Boards

ESP32 Chips

Espressif Systems are the manufacturer of the ESP32 chip. It is available in both 6 mm x 6 mm and 5 mm x 5 mm QFN packages. Here are the current models available:

Model

Package size

Embedded flash memory

Processor cores

ESP32-D0WDQ6

6 mm x 6 mm

0

2

ESP32-D0WD

5 mm x 5 mm

0

2

ESP32-D2WD

5 mm x 5 mm

2

2

ESP32-U4WDH

5 mm x 5 mm

4

1

ESP32-S0WD

5 mm x 5 mm

0

1

ESP32 Modules

●      Espressif

The Espressif Systems esp32 is available in the following modules:

Model

Dimensions

PINS

Antennae

Flash

ESP-WROOM-32

18 x 25.5 x 2.8

38

PCB trace

4 MB

ESP-WROOM-32D

18 x 25.5 x 3.1

38

PCB trace

4 MB

ESP-WROOM-32U

18 x 19.2 x 3.2

38

U.FL Socket

4 MB

ESP-WROVER

18 x 31.4 x 3.3

38

PCB trace

4 MB

ESP-WROVER-I

18 x 31.4 x 3.3

38

U.FL Socket, PCB

4 MB

ESP-WROVER-B

18 x 31.4 x 3.3

38

PCB trace

4 MB

ESP-WROVER-IB

18 x 31.4 x 3.3

38

U.FL Socket, PCB

4 MB

●      Ai-Thinker

Current Ai-Thinker esp32 modules are the following:

Model

Dimensions

PINS

Antennae

Flash

ESP32-S

18 x 25.5 x 2

38

PCB trace

4 MB

ESP32-A1S

18 x 25.5 x 2

38

U.FL Socket, PCB trace

4 MB

Other manufacturers of ESP32 modules include:

ESP32 Development Boards/Dev kits

●      Espressif

The current Espressif ESP32 development boards include:

Model

Onboard module

Firmware

USB

Flash

ESP32-DevKitC

ESP-WROOM-03

Espressif Non-OS SDK, using Lua scripting language

USB to serial interface

4 MB flash

ESP-WROVER-KIT

ESP-WROOM-32 or ESP32-WROVER

Espressif Non-OS SDK, using Lua scripting language

USB to serial interface

4 MB flash + 8 MB PSRAM

ESP32-PICO-KIT

ESP32-PICO-D4

Espressif Non-OS SDK, using Lua scripting language

USB to serial interface

4 MB flash

●      Ai-Thinker

The AI-Thinker development boards include:

Model

Onboard module

Firmware

GPIO & ADC Pins

USB

Flash

NodeMCU-32S

ESP-WROOM-32

Lua, AT commands, MicroPython, Arduino

38

USB port for power input

32 MB

ESP32-CAM

ESP32-CAM

Embedded Lwip and FreeRTOS

9

USB port for power input

32 MB

●      Adafruit

The Adafruit ESP32 development boards include:

Model

Onboard module

Firmware

GPIO & ADC Pins

USB

Flash

HUZZAH32

ESP-WROOM-32

ESP-IDF and Arduino IDE software

24

USB to serial interface

4 MB

●      Wemos

The Wemos ESP32 development boards include:

Model

Onboard module

Firmware

GPIO & ADC Pins

USB

Flash

LOLIN D32

ESP-WROOM-32

Compatible with Arduino, MicroPython

19

USB to serial interface

4 MB

LOLIN D32 PRO

ESP-WROOM-32

Compatible with Arduino, MicroPython

19

USB to serial interface

16 MB/4 MB Flash 4 MB PSRAM

●      Arducam

The current Arducam ESP32 development board is:

Model

Onboard module

Firmware

GPIO & ADC Pins

USB

Flash

ESP32 UNO

ESP-32S

Compatible with Arduino IDE

23

Built in micro USB

32Mbit Flash, 8MByte PSRAM

What SDKs are Used for ESP32s?

There is now a wide range of software development kits (SDKs) available. These allow developers to program the chip directly without the use of a separate MCU.

Espressif provides one official SDK for use with either the ESP32, ESP32-2, or the ESP8266. This is the FreeRTOS-based SDK.

Aside from the Espressif options, there are plenty of commercial and open-source SDKs on the market, including:

Which is the best ESP32 Module or Development Board for IoT?

As the above comparisons show, there are a lot of options available with ESP32 IoT boards and modules. To help you with your decision making, we’ve summarized some of the most popular below.

Popular ESP32 Modules

ESP32-WROOM-32D

This extremely popular ESP32 module integrates with the ESP32-D0WD.

The main reason that the ESP32-WROOM-32D is such a popular module is its adaptability. It can target a variety of applications, including lower-powered sensor networks to voice encoding and music streaming.

The ESP32-WROOM-32D is often confused with the ESP32-WROOM 32U. Albeit very similar modules, ESP32-WROOM-32U is different from ESP32-WROOM-32D in that the ESP32-WROOM-32U integrates a U.FL connector.

ESP32-WROOM-32

The ESP32-WROOM-32 is the original ESP32 module brought out by Espressif.

ESP32-WROOM-32 is a powerful, generic Wi-Fi+BT+BLE MCU module. At the core of this module is the ESP32-D0WDQ6 chip. The embedded chip is designed to be scalable and adaptive.

While there’s no denying the ESP32-WROOM-32 is a great module, it is not recommended for new designs.

ESP32-WROOVER

The ESP32-WROOVER module is provided in two versions: one with a PCB antenna, the other with an IPEX antenna. You can find the ordering information for both versions here.

Like the ESPWROOM32, the chip at the core of this module in the ESP32-D0WDQ6 chip.

This ESP32 module features two CPU cores that can be individually controlled. Moreover, the CPU clock frequency is adjustable from 80 MHz to 240 MHz. The user may also power off the CPU and use the low-power co-processor to continuously monitor for changes or crossing thresholds.

Popular ESP32 Development Boards

ESP32 CAM

The ESP32 CAM is a little different from the other development boards on this list. This fully-developed microcontroller also has an integrated camera and micro SD card socket.

The ESP32-CAM is based upon the ESP32-S module, so it shares the same specifications. This includes UART, SPI, I2C and PWM interfaces, Wi-Fi image upload, clock speeds of up to 160 MHz, and 9 GPIO ports.

It includes an OV2640 module – which has a 2 Megapixel sensor – and also supports OV7670 cameras, too.

As there are many components on the bottom, it may be easier to avoid a solderless breadboard when experimenting with the ESP32-CAM. Furthermore, the use of jumpers with female Dupont connectors is recommended.

ESP32-DevKitC

The ESP-DevKitC is a relatively small development board from Espressif. The I/O pins are broken out to the pin headers on both sides for easy interfacing.

Developers can connect peripherals with jumper wires or mount the ESP32-DevKitC V4 on a breadboard.

A key advantage of this development board is not just its small size, but also its low power usage.

HUZZAH32

The HUZZAH32 is sometimes referred to by Adafruit as the ‘feather board.’

This development board is favored by beginners in IoT. It integrates the ESP32 with additional hardware, which makes it easier to program and use in projects.

Node-MCU-32S

TheNodeMCU development board features Wi-Fi+Bluetooth connectivity, onboard CP2102 and keys.

A key feature of this AI Thinker development board is that the I/O pins of the ESP-WROOM-32 module are accessible via the extension headers. Moreover, it is open-source and supports several different source codes.

Read Our Other Resources

We’ve published a range of other IoT resources for our community, including:

Leave a Reply

Your email address will not be published. Required fields are marked *