Hi Guys! Hope you’re well today. Today, I am going to share the 2nd chapter of the ESP32 Programming Course. In this post today, I’ll walk you through the detailed Introduction to ESP32 Module. We will discuss in detail ESP32 Pinout, Datasheet, Features & Applications.
ESP32 is an embedded module that supports both WiFi and BT(dual-mode) connectivity and is thus used in cloud-based IoT projects. ESP32 is the upgraded model of the ESP8266 module and is designed by Espressif Systems in China.
The following table shows the main features and technical specifications of the ESP32 module.
ESP32 Module Features and Technical Specs
No.
Parameter Name
Parameter Value
1
Maximum Operating Frequency
240MHz
2
Microprocessor
Tensilica Xtensa LX6
3
Operating Voltage
3.3V
4
DAC Pins
8-bit, 2 Channel
5
Analog Input Pins
12-bit, 18-channel
6
DC Current on I/O Pins
40 mA
7
Digital I/O Pins
39 (34 are normal GPIO pins)
8
DC Current on 3.3V Pin
50 mA
9
Communication
SPI(4), I2C(2), I2S(2), CAN, UART(3)
10
SRAM
520 KB
11
Bluetooth
V4.2 – Supports BLE and Classic Bluetooth
12
Wi-Fi
802.11 b/g/n
So, let's get started with the Introduction to ESP32:
Introduction to ESP32 Module
ESP32(designed by Espressif Systems, a Shanghai-based Chinese Company) is a 48 Pinmicroprocessor-based embedded IC(available in QFN package), supports both WiFi & BT(dual-mode) connectivity and is used majorly in wearable devices, mobile & cloud-based IoT applications.
The microprocessor used in the ESP32 chip is the Tensilica Xtensa LX6 microprocessor(single-core and dual-core).
A few LX6 based ESP32 ICs are:
ESP32-D0WDQ6 (and ESP32-D0WD)
ESP32-D2WD
ESP32-S0WD
ESP32-PICO-D4
ESP32-WROOM-32 Module
ESP32-WROOM-32 is a 38-pin breakout board of ESP32, which is most commonly used in third-party ESP32 modules.
As ESP32 IC is available in the QFN(Quad Flat No Leads) package, so it's quite difficult to solder the IC in embedded projects.
So, to ease the process of using ESP32 IC, Espressif Systems designed numerous small modules(using ESP32 chip) which have a built-in antenna and easily usable pinout.
Other ESP32 modules are ESP32-SOLO and ESP32-WROVER.
One of the most commonly used breakout boards of ESP32 is ESP32-WROOM-32, shown in the below figure:
Third-Party ESP32 Development Modules
Many embedded companies have used ESP32-WROOM-32 boards and designed different ESP32 development boards, which are plug & play modules and are thus normally used for learning and prototyping purposes.
One of the most commonly used ESP32 development boards is called ESP32-DevkitC.
ESP32-DevKitC is a 30-Pin ESP32-based development board, designed by Espressif Systems and is used in embedded and IoT projects.
All you need to do is plug this device using a USB cable and play with it on the fly.
Boot-mode and Reset buttons are incorporated on the board.
USB micro connector and USB-UART Bridge, and LDO regulator are also included in the device.
Types of ESP32 Development Boards
The following are the five different versions of ESP32-DevKitC.
ESP32-DevKitC-32E
ESP32-DevKitC-32UE
ESP32-DevKitCVE
ESP32-DevKitCVIE
ESP32-DevKitCS1
So, that was the evolution of ESP32 from a simple IC to plug & play board. you should download its datasheet to have an in-depth study:
ESP32 Datasheet
Before you incorporate this device into your electrical project, it’s wise to go through the datasheet of the component that features the main characteristics of the device. You can click the link given below to download the ESP32 datasheet.
ESP32 has built-in integration of both WiFi and Bluetooth dual-mode.
ESP32 has 34 programmable GPIOs present on the chip.
ADC is of 12-bit SAR and can support up to 18 channels.
DAC is 8-bit and it has 2 DAC channels.
ESP32 also has 10 touch sensors embedded in it.
ESP32 also has a Hall sensor in it.
It supports 4 SPI channels.
It also has 2 I²S channels.
ESP32 has 2 I²C ports in it.
It supports 3 UART channels.
It also has 1 host(SD/MMC/SDIO) and 1 slave(SDIO/SPI).
ESP32 also supports the Ethernet MAC interface with dedicated DMA and IEEE 1588 support.
It supports Two-Wire Automotive Interface (TWAI®, compatible with ISO11898-1)
IR (TX/RX)
Motor PWM
LED PWM up to 16 channels
A few of ESP32's key features are discussed below in detail:
ESP32 WiFi Key Features
Wireless Networking Standard: 802.11 b/g/n
Wireless Standard: 802.11 n (2.4 GHz), up to 150 Mbps
WiFi Multimedia(WMM)
WiFi Aggregation: TX/RX A-MPDU, RX A-MSDU
Immediate Block ACK: suitable for high bandwidth & low latency traffic.
Automatic Beacon monitoring (hardware TSF)
Simultaneous support for SoftAP, Infrastructure Station and Promiscuous modes.
Diverse Antenna
Defragmentationto smoothen the data.
Supports 4 virtual WiFi Interfaces.
ESP32 Bluetooth Key Features
Compliant with Bluetooth v4.2 BR/EDR
Class-1, Class-2 and Class-3 transmitters without external power amplifier
Increased Power Control
Transmission Power: +12 dBm
BLE sensitivity: –94 dBm (NZIF receiver)
Adaptive Frequency Hopping (AFH)
Standard HCI supports SDIO/SPI/UART
High-speed UART HCI, up to 4 Mbps
Bluetooth 4.2 BR/EDR BLE dual-mode controller
CVSD and SBC for audio codec
Classic BT and BLEsupport Multiple connections.
It can advertise and scan simultaneously.
Bluetooth Piconet and Scatternet
ESP32 Microcontroller Key Features
ESP32 uses an Xtensa®single-/dual-core 32-bit LX6 microprocessor(s).
It supports data rates up to 600 MIPS (200 MIPS for ESP32-S0WD/ESP32-U4WDH)
It has a Flash Memory of 448 KB.
It has an SRAM memory of 520 KB.
16 KB SRAM in RTC
QSPI supports multiple flash/SRAM chips
ESP32 Clocks & Timers Key Features
ESP32 has a calibrated 8MHz crystal oscillator(internal)
Calibrated RC oscillator(internal)
External 2 MHz~60 MHz crystal oscillator (40 MHz only for Wi-Fi/BT functionality)
External 32 kHz crystal oscillator for RTC with calibration
Two timer groups, including 2 × 64-bit timers and 1 × main watchdog in each group
ESP32 also has one RTC timer.
RTC watchdog is also present in ESP32.
Now let's have a look at the Pinout of the ESP32 microcontroller and modules:
ESP32 Pinout
We have seen above that ESP32 has evolved first into ESP32-WROOM-32 and then its further upgraded into ESP32-DevKitC. So, let's have a look at the pinout of all these boards, one by one:
Pinout of ESP32 IC
ESP32 IC in its pure form consists of 48 pins in total.
The following figure shows the labeled ESP32 Pinout diagram:
Pinout of ESP32-WROOM-32
ESP32-WROOM-32 is a breakout board of ESP32 and consists of 38 pins in total.
Here's the pinout of ESP-WROOM-32 board:
Pinout of ESP32-DevkitC
ESP32-DevKitC is a development board based on the ESP32 microcontroller and it has 36 pins in total.
Here's the pinout diagram of ESP32 DevKitC:
ESP32 module Pin Description
Power: Power is applied through Micro-USB, 3.3V pin, 5V pin, and GND. Regulated 5V is supplied to this pin which is further regulated to 3.3V to power up the board. And 3.3V pin directly supplies the 3.3V regulated to the board. And the ground is connected to GND.
Enable: The enable pin is represented by ‘En’ on the board and is used to reset the microcontroller.
Analog Pins: Analog pins are represented as ADC1_0 to ADC1_5 and ADC2_0 to ADC2_9 on board. These pins are used to measure the analog voltage in the range from 0-3.3V which is a 12-bit 18-channel ADC.
DAC pins: Two pins DAC1 and DAC2 are used for digital-to-analog conversion.
I/O Pins: I/O pins are represented as GPIO0 to GPIO39 on board which projects there are a total of 39 I/O pins on board. All of them can be used as an input or output but pins from 34 to 39 are used for input only.
Capacitive Touch Pins: These pins are represented as T0 to T9 on board. These are a total of 10 pins which are touch pins that are normally used for capacitive pads.
RTC GPIO pins: These pins are represented as RTCIO0 to RTCIO17 on board which is a total of 18 pins. These pins are employed to wake up the ESP32 from deep sleep mode.
Serial: Two serial pins are represented on boards as Tx and Rx. The Tx is used to transmit serial data while Rx is used to receive serial data.
External Interrupts: All GPIO pins can be used as external interrupts.
PWM: Any GPIO pin can be used as a PWM pin. These GPIO pins are activated through software.
VSPI: These pins are represented as GPIO23 (MOSI), GPIO19 (MISO), GPIO18 (CLK) and GPIO5 (CS) which are used for SPI-1 communication.
HSPI: These pins are represented as GPIO13 (MOSI), GPIO12 (MISO), GPIO14 (CLK) and GPIO15 (CS) which are used for SPI-2 communication.
IIC: These pins are marked as GPIO21 (SDA) and GPIO22 (SCL) which are used for I2C communication.
AREF: It is marked as AREF which is used to provide a reference voltage for input voltage.
ESP32 Projects & Applications
ESP32 modules have brought a revolution in embedded and especially IoT projects. As these boards are small-sized, low-powered and support both WiFi & BT, thus are gaining popularity in IoT-based handheld devices. A few applications of the ESP32 module are as follows:
Used in Network projects.
Employed for beginner-level DIY projects.
Employed in the prototyping of IoT devices.
Used in cloud-based smart security projects.
Used in low-power battery-operated applications.
That was all about the Introduction to ESP32 module. If you have any questions, you can approach me in the comment section below. I’ll help you according to the best of my expertise. You’re most welcome to share your valuable feedback and suggestions around the content we share so we keep coming up with quality content customized to your exact needs and requirements. Thank you for reading the article.
syedzainnasir
I am Syed Zain Nasir, the founder of The Engineering Projects (TEP). I am a
programmer since 2009 before that I just search things, make small projects and now I am sharing my
knowledge through this platform. I also work as a freelancer and did many projects related to
programming and electrical circuitry. My Google Profile+Follow
Get Connected
Comments on ‘’ ESP32 Pinout, Datasheet, Features & Applications ‘’ ( 3 )
0
Says:
hi iwant example esp32
Reply
100
1
olivia
Says:
My rather long internet look up has at the end of the day been compensated with pleasant insight to talk about with my
family and friends.
Reply
100
2
danieleakin
Says:
hello james
Thank you so much for this breakdown :) its saved my butt a few times - and i have your diagram printed and my bread board glued to it :P
there's some labeling on it that i don't understand yet though, perhaps you can help me?
CHIP PU, SENS VP, SENS VN, VDET1, VDET2 for instance.
and there's the pins labeled 39 and 42 - i am currently using those for my OLED display actually - in purple they're GPIO22 and 21 respectively, but in gold they're 23 and VSPI HD. Could you help clear that up for me?
Reply