0% found this document useful (0 votes)
9 views

Introduction to ESP32

Uploaded by

23h51a6733
Copyright
© © All Rights Reserved
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
9 views

Introduction to ESP32

Uploaded by

23h51a6733
Copyright
© © All Rights Reserved
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
You are on page 1/ 8

Introduction to ESP32

ESP32 comes with an on-chip 32-bit microcontroller with


integrated Wi-Fi + Bluetooth + BLE features that targets a wide
range of applications. It is a series of low-power and low-cost
developed by Espressif Systems.

ESP32 Wroom Development Board


Features of ESP-Wroom-32
 ESP-Wroom-32 contains a low-power Tensilica Xtensa®
Dual-Core 32-bit LX6 microprocessor at 240 MHz:
994.26 CoreMark; 4.14 CoreMark/MHz
 448 KB of ROM for booting and core functions.
 520 KB of on-chip SRAM for data and instructions.
 4MB of Flash Memory
 16 KB SRAM in RTC
 Wi-Fi 802.11b/g/n
 Bluetooth v4.2 BR/EDR and Bluetooth LE specifications

ESP32 Board Highlights


ESP-WROOM-32

 ESP-WROOM-32 development board containing Tensilica


Xtensa® Dual-Core 32-bit LX6 microprocessor operates at
80 to 240 MHz adjustable clock frequency.
 It comes with 448 KB of ROM, 520 KB of on-chip SRAM, and
4MB of Flash Memory.

Wireless Connectivity

 On-chip Wi-Fi supports 802.11b/g/n standard


 Operates at 2.4 GHz band, up to 150 Mbps
 It also supports Bluetooth v4.2 BR/EDR and Bluetooth LE
specifications this dual mode of Bluetooth makes it even
more versatile

Reset/Boot buttons
 In ESP32 board comes with two main push buttons one is the
Reset (RST/EN) button another is the BOOT button.
 The reset button is used to reset the ESP32 Chip.
 The use of the boot button is to enter in boot mode to upload
the new sketch or program

Power

 ESP32 development board power up from two sources one is


from an external 5 Volt source and another from the USB
power source.
 The ESP32 Board operates at a 2.3 Volt to 3.6 Volt voltage
source and its recommended output current is 600 mA or
more.
 Most of the ESP32 development board has an inbuilt 1117
voltage regulator which converts the 5-volt input to 3.3 volts
at the output.

Status Indicator

 In ESP32 development board has one red led status


indicator, which shows status while program uploading and
serial communication.
ESP32 Development Board Pinout
The ESP32 development board has a total of 38 pinouts, the pin
mapping that are as follows

ESP32 Pinout Diagram


Advanced Peripheral Interfaces
GPIO: Total 32 Multifunctional GPIOs are available on the ESP-
Wroom-32 development board which can be used for input/output
devices. Every GPIO pin can be configured as an internal pull-up,
pull-down, or set to high impedance. The input can also be set to
edge-trigger or level-trigger to generate CPU interrupts.

Note: GPIO34, GPIO35, GPIO36, and GPIO39 are the only input
pins
ADC: On-chip 12-bit SAR (Successive Approximation Registers)
ADCs (Analog to Digital Converter) which supports measurements
on 16 channels of ESP32.

DAC: On-chip two 8-bit DAC (Digital to Analog) channels to


produce digital signals into analog voltage signal outputs.
Both DAC channels can also support independent conversions.

PWM: ESP32 development board has support 8-bit 32 channels


PWM. The pins with the symbol ‘~’ represent that it has PWM
support. It can be used for dimming LEDs or controlling motors
etc.

TOUCH Pad: ESP32 has 10 capacitive sensing GPIOs, that detect


physical touch by the human body. This technique can replace
mechanical buttons and switches to eliminate mechanical wear
and tear.

I2C: The ESP32 development board has only one I2C bus
interface (Supported in Arduino IDE). which can serve as an I2C
master or slave, depending on the user’s configuration.

The I2C interfaces support:

 Standard mode Support (100 Kbit/s)


 Fast mode Support (400 Kbit/s)
 Support both 7-bit and 10-bit addressing modes
 Dual addressing mode

SPI: ESP32 has three SPIs which are SPI, HSPI, and VSPI. These
SPIs also support the following general-purpose SPI features:

 Four modes of SPI transfer format (depend on the polarity


and the phase of the SPI clock)
 Speed Up to 80 MHz
 up to 64-byte FIFO
UART: ESP32 development board has two UART interfaces UART0
and UART1. Both provide asynchronous communication and
support to RS232, RS485, and IrDA too.

Way of Programming for ESP32


The ESP32 supports both C/C++ and MicroPython programming
languages that you can use to program your ESP32. Now, let’s
check the supported ide for both types of languages.

Here’s a list of IDEs that supports to program the ESP32 series


boards with C/C++.

 ESP-IDF
 Arduino IDE
 VS Code

Here’s a list of IDEs that supports to program the ESP32 series


boards with MicroPython.

 Thonny IDE
 PyCharm
 Mu Editor
 uPyCraft IDE
 VS Code + Pymakr extension
The ESP32 is a
chip that provides Wi-Fi and Bluetooth connectivity for embedded devices. It has many features,
including:

ADC pins

The ESP32 has 18 analog to digital converter (ADC) channels that can read analog signals from sensors.
Some ADC pins include GPIO 36, GPIO 37, GPIO 38, GPIO 39, GPIO 32, GPIO 33, GPIO 34, GPIO 35, GPIO
4, GPIO 0, GPIO 2, GPIO 15, GPIO 13, GPIO 12, GPIO 14, GPIO 27, GPIO 25, and GPIO 26.

Touch sensor pins

These pins can detect capacitance changes, allowing for touch-sensitive interfaces and waking up the
ESP32 from deep sleep.

PWM pins

These pins generate analog-like signals from digital outputs, which can be used for motor control and
LED dimming.

Hall effect sensors

These built-in sensors detect magnetic fields, which can be useful for proximity sensing.

GPIO pins

The ESP32 has 34 GPIO pins that can be used as general-purpose I/O or connected to internal peripheral
signals.
Bootstrapping pins

These pins are used for bootstrapping during the boot process. They include GPIO0, GPIO2, GPIO5,
GPIO12, and GPIO15.

JTAG pins

These pins can be used for debugging purposes. They include GPIO12, GPIO13, GPIO14, and GPIO15.

When designing a project with an ESP32, it's important to plan pin usage carefully to avoid conflicts and
ensure proper functioning.

You might also like