ESP32 Development Board : PinOut, Specifications, Interfacing & Its Applications

ESP32-xx family development boards have several variants that have different CPUs & Wi-Fi-capable but all share a similar SDK & code-compatible. These devices mainly depend on silicon from fabless silicon vendors like Espressif in China founded in 2008. In 2013, the first product a 2.4-GHz Wi-Fi SoC was brought into the market namely ESP8089. This product was used in set-top box & tablet applications. In 2014, the ESP8266 device was released which brought this family of products to the attention of the maker community. The famous ESP8266 SoC developers invented the ESP32 low-cost SoC Microcontroller from Espressif Systems/ This ESP32 microcontroller was the successor to the ESP8266 SoC, This article discusses an overview of the ESP32 Development Board.


What is An ESP32 Microcontroller?

The ESP32 is a very versatile, low-cost, robust, and low-power-based System On a Chip general-purpose microcontroller with a dual-core processor, set of peripherals, large memory capacity, and integrated Wi-Fi & Bluetooth connectivity capabilities. This device provides a wide range of features like; a large memory capacity, a dual-core processor & a rich set of peripherals. As compared to other types of microcontrollers, these devices offer different features, a superior power balance, and flexibility.

ESP32 microcontroller is more user-friendly. It can be programmed in different ways because it supports various programming environments like Arduino IDE, LUA, MicroPython, JavaScript, Espressif IDF, and PlatformIO IDE.

ESP32 Pin Configuration:

The pin configuration of ESP32 DevKitC is shown below.

ESP32 Development Board Pin Configuration
ESP32 Development Board Pin Configuration

Power Pins (Micro-USB, 5V, 3.3V & GND):

  • Micro-USB is used to provide power throughout the USB port.
  • Regulated 5Volts is provided to this pin and again it is regulated to 3.3V through on board regulator mainly to provide power to the board.
  • Regulated 3.3Volts is provided to this pin to power the development board.
  • GND is a Ground pin.

Enable (En): This enable pin is used to reset the microcontroller.

Analog Pins (ADC1_0 to ADC1_5 & ADC2_0 to ADC2_9): These pins help in measuring analog voltage within the range from 0 to 3.3V.

DAC pins (DAC1 & DAC2): These pins are used to convert the data from digital to analog.

Input/Output Pins (GPIO0 to GPIO39): It comprises 39 GPIO pins total these pins are used as input/output pins but from pins 34-39 can be utilized as only input.

Capacitive Touch Pins (T0 to T9): These pins are used as touch pins usually utilized for capacitive pads.

RTC GPIO pins (RTCIO0 to RTCIO17): These pins are used mainly to wake up the development board from deep sleep mode.

Serial (Tx, Rx): These pins are used for transmitting and receiving serial data.

External Interrupts (All GPIO): Any GPIO pin can be used for triggering an interrupt.

PWM (All GPIO): For PWM, 16 independent channels are available, so any GPIO pin can be made to function as PWM throughout the software

VSPI (GPIO23 (MOSI), GPIO18(CLK), GPIO5 (CS) & GPIO19(MISO)): These pins are used for mainly SPI-1 communication.

HSPI (GPIO13 (MOSI), GPIO14(CLK), GPIO15 (CS) & GPIO12(MISO)): These pins are used for mainly SPI-2 communication.

IIC or I2C (GPIO21(SDA), GPIO22(SCL)): These pins are used mainly for I2C communication.
AREF: These pins are used to supply a reference voltage mainly for input voltage.

Specifications of ESP32 Development Board

The specifications of ESP32 include the following.

  • It has a 32-bit Single-core or Dual-Core LX6 Microprocessor with up to 240 MHz clock frequency.
  • Its SRAM is 520 KB, ROM is 448 KB & RTC SRAM is 16 KB.
  • It supports 802.11 Wi-Fi connectivity with up to 150 Mbps speed.
  • It Supports both Classic Bluetooth v4.2 & BLE specifications.
  • It includes 34-Programmable GPIOs.
  • It has up to 18 channels of 12-bit SAR ADC, 2 channels of 8-bit DAC, and 16 channels of LED PWM.
  • Its Serial Connectivity comprises 2 x I2C, 4 x SPI, 3 x UART & 2 x I2S.
  • It has Ethernet MAC mainly for physical LAN Communication.
  • It has one Host controller for SD/MMC/SDIO & one Slave controller for SPI/SDIO
  • It has a Secure Boot and Flash Encryption.
  • This microcontroller has cryptographic hardware acceleration mainly for AES, Hash, RSA, RNG & ECC.

How Does ESP32 Work?

ESP32 development board performs as an absolute standalone system otherwise as a slave device for a host MCU to reduce communication stack on the main application processor. This board can interface easily with other systems for providing the functionality of Wi-Fi & Bluetooth through its interfaces like; SPI/SDIO (or) I2C/UART.

ESP32 development board is far superior as compared to Arduino UNO & an ESP8266. This board can communicate through the external world with two major approaches; wired & wireless communication. Wireless communication can be accomplished depending on two principles; Wi-Fi & Bluetooth. This ESP32 board has complete 802.11 b/g/n/e/i WLAN MAC.

ESP32 Development Board Types

There are different types of ESP32 development boards which are discussed below.

ESP32-DevKitC

ESP32-DevKitC is an ESP32 series entry-level development board that includes a rich peripheral set. This board includes Wi-Fi & Bluetooth functionalities although lacks a camera interface & an audio codec. This development board features the ESP32-WROOM-32 module. This board is set with 4 MB – flash memory, 240 MHz – dual-core processor & RAM – 520 KB.

ESP32-DevKitC
ESP32-DevKitC

ESP32-WROOM-32

This development board is a powerful and the most commonly used ESP32-type microcontroller. This board includes flash memory 4 MB, RAM-520 KB & dual-core processor -240 MHz. This board has an in-built- Wi-Fi & Bluetooth which makes it a great choice to use in a wide range of applications ranging from low-power-based sensor networks to very demanding tasks like; music streaming, MP3 decoding & voice encoding.

ESP32 WROOM-32
ESP32 WROOM-32

ESP32-WROVER

The ESP32-WROVER development board is the same as the ESP32-WROOM-32 except for the addition of an additional 4 MB – PSRAM. So this extra memory simply allows for complex projects that need a higher range of processing memory & power.

WROVER
WROVER

ESP32-SOLO-1

The ESP32-SOLO-1 development board is a single-core ESP32 version including up to 160MHz clock speed. These boards are available with flash memory – 4MB, SRAM – 416KB, and inbuilt Wi-Fi & Bluetooth capabilities. This type of board is perfect to use in projects that need lower power utilization & these are not as complex as compared to those that need a dual-core processor.

ESP32-SOLO-1
ESP32-SOLO-1

The integration of both Wi-Fi & Bluetooth ensures unmatched connectivity within different applications. Wi-Fi allows simple internet connectivity above a large area whereas classic Bluetooth simply allows operators to connect securely ESP32-SOLO-1 to their mobiles for data exchange above short distances with short-wavelength-based UHF radio waves. In addition, this board functions as a beacon and identifier broadcasting through Bluetooth low energy to handy electronic devices in a 50-meter maximum radius.

In the ESP32-SOLO-1 board, the sleep current in the core chip is < 5 μA, so it is suitable for use in wearable electronics & battery-powered applications. This board simply supports the transfer of data at 150 Mbps with 20.5 dBm of output power at the antenna.

ESP32-PICO-KIT

This development board has the ESP32-PICO module and it has a dual-core processor – 240MHz, SRAM – 520 KB & flash memory – 4 MB. This development board is suitable for professionals & also hobbyists who need an easy-to-use and portable microcontroller. This is the smallest development board from Espressif’s because it can fit easily into a small breadboard. This board is completely functional through the minimum no. of discrete components when it has all the exposed ESP32 pins.

ESP32-PICO-KIT
ESP32-PICO-KIT

ESP32-LyraT

This development board is particularly created for use in audio-based applications. This board includes a flash memory – 8MB, dual-core processor & SRAM – 520 kB. This board has an inbuilt microphone & audio codec so it is preferred for music & voice-based projects. This board simply targets the voice & speech recognition market & it includes the ESP32-WROVER-E module. This module is simply incorporated with operating memory – 4.5 MB & a dual-core processor. The unique feature of this board simply allows for the formation of extremely incorporated audio solutions through a minimal requirement for exterior peripheral devices.

LyraT
LyraT

ESP32-CAM

The ESP32-CAM development board is a very tiny camera module. This development board is equipped with an OV2640 camera, an ESP32-CAM-MB micro USB toward serial port adapter, dual-core processor, flash memory – 4 MB & SRAM – 520 KB, so it is designed mainly for camera applications, intelligent IoT applications like Wi-Fi image upload, wireless video monitoring, wireless video monitoring, QR identification, etc.

ESP32-CAM
ESP32-CAM

ESP32-S2

ESP32-S2 is a low-power, highly integrated, and single-core Wi-Fi-based Microcontroller. It is designed to be safe & cost-effective through high performance & a rich set of IO abilities. This is a newer version of the ESP32 board which is designed mainly for low-power IoT-based applications. This development board includes a single-core processor with up to 240MHz clock speed, 2.4 GHz Wi-Fi & in-built safety features.

ESP32-S2
ESP32-S2

ESP32-C6

The ESP32-C6 development board includes a Wi-Fi 6 & Bluetooth 5.2 microcontroller. This microcontroller also includes a dual-core processor through 160MHz up to the clock, flash memory – of 4 MB, and SRAM – of 520 KB. This kind of microcontroller board is perfect for applications that need low power consumption & high-speed wireless communication. This is a general-purpose development board depending on ESP32-C6-WROOM-1. Developers can connect peripherals either with jumper wires otherwise mount ESP32-C6-DevKitC-1 over a breadboard.

ESP32-C6
ESP32-C6

ESP32 Development Board interfacing with HC-05 Bluetooth

The ESP32 development board interfacing with HC-05 Bluetooth is shown below. This interfacing is used to read the HC-05 Bluetooth text & print it on the serial monitor with ESP32. Here, the data is transmitted from the Smartphone through Bluetooth to the ESP32 board & displayed above the Serial Monitor. So, the Bluetooth terminal application needs to be downloaded and installed on your smartphone & used to connect to the Bluetooth module. Data is transmitted from the Smartphone with the Bluetooth application.

The required components to make this interfacing mainly include; the HC-05 Bluetooth Module and ESP32 WROOM. In this interfacing, HC-05 Bluetooth plays a key role because it is used mainly for wireless communication with smartphones. The default Bluetooth module settings can be modified with certain AT commands. As the Bluetooth module works with 3.6 to 6 V & its logic levels will be 3.3 V for TX/RX. ESP32 development board can detect a 3.3V level, thus, there is no requirement to shift the TX/RX voltage level for the HC-05.

The connections of this interfacing follow as;

ESP32 Board Interfacing with HC-05
 ESP32 Board Interfacing with HC-05

The VS pin of the ESP32 Development Board is connected to the VCC pin of the Bluetooth module.
The Tx and Rx pins of the ESP32 Development Board are connected to the Tx and Rx pins of the Bluetooth module.
The GND pin of the ESP32 is connected to the GND pin of HC-05 Bluetooth.

Code

The required code for HC-05 Bluetooth with ESP32 is shown below.

void setup() {
Serial.begin(9600); /* Define baud rate for serial communication */
}

void loop() {
if (Serial.available()) /* If data is available on serial port */
{
Serial.write(Serial.read()); /* Print character received on to the serial monitor */
}
}

In the setup function of the above code, the serial communication is initiated with a 9600 Baud rate. In the loop function, the available data is checked on the serial port. So if the data is available, it will be printed on the serial monitor. Now upload the code and once the code is uploaded open the serial monitor & set the baud rate to observe the output.

ESP32 Development Board Advantages and Disadvantages

The ESP32 advantages include the following.

  • ESP32 board performs as a separate system otherwise as a slave device to a host microcontroller unit by decreasing communication stack overhead above the major application processor.
  • This board can interface easily with other systems for providing Bluetooth & Wi-Fi functionality through its SDIO/SPI (or) UART/ I2C interfaces.
  • This board is very powerful as compared to the ESP8266 which includes more GPIOs with various functions, supports Bluetooth & faster Wi-Fi.
  • The ESP32 board decreases the hardware cost.
  • ESP32 chip supports many platforms with different SDKs & also programming languages.
  • These development boards simply support various wireless protocols & ecosystems like; Bluetooth Classic, Wifi, Thread, Bluetooth BLE, Zigbee, EspNow, Matter, USB OTG, etc.
  • These are very convenient whenever working on a prototype;
  • These are low-cost and designed to save energy.
  • The ESP32 board is an upgraded version of ESP8266.
  • This board includes 34 GPIO pins by a 160MHZ Xtensa dual-core processor.
  • The ESP32 board has a 32-bit processor through a very low-power co-processor & various I/O connectors with DACs.
  • The ESP32 board has a safe platform mainly for the IoT.
  • This board provides you with consistent & hi-tech security.
  • ESP32 boards have more GPIO to work with more complicated & useable projects.

The ESP32 disadvantages include the following.

  • ESP32 board is very expensive compared to the ESP8266 board.
  • This board has limited SRAM – 512 KB, so that may be inadequate for some applications that need more memory.
  • This board supports only 2.4 GHz WI-Fi which may not be appropriate for some applications that need faster & more constant connections.
  • The ADC resolution of this board is restricted to 12 bits, so that may not be enough for some applications that need higher accuracy.

ESP32 Applications

The applications of the ESP32 development board include the following.

  • ESP32 development board is used for different applications like home automation, Generic Low-power IoT sensor hubs, industrial automation, health care, low-power IoT-based data loggers, smart agriculture, etc.
  • This board is used in different domains for a wide range of applications like IoT, home automation, wearables, robotics, environmental monitoring, audio & music applications, industrial monitoring and control, environmental monitoring, etc.
  • ESP32 board is used to monitor and collect data from different environmental sensors like humidity, temperature, air quality, pollution & barometric pressure sensors for different application fields like; smart cities, environmental monitoring systems & smart agriculture.
  • ESP32 board is used for creating smart lighting systems like; RGB LED controllers, lighting automation systems & smart bulbs.
  • These boards are used in security systems like alarm systems, surveillance cameras, and access control systems for providing simple wireless connectivity & control.
  • ESP32 development board is very popular among students, makers, and hobbyists to create a wide range of DIY projects like; drones, remote-controlled cars, home automation systems & weather stations.

Thus, this is an overview of the ESP32 development board which is very famous for its versatility & robustness and serves as the core processing unit mainly for the PLC. This board offers a solid foundation mainly for industrial automation applications because of its capabilities like; low power consumption, in-built Wi-Fi, dual-core architecture, etc. Here is a question for you, what is ESP8266?