ESP32

ESP32 Overview

The ESP32 is a powerful microcontroller widely used in Internet of Things (IoT) projects due to its versatility and rich feature set. It is developed by Espressif Systems and offers an array of capabilities that make it an ideal choice for a wide range of applications.

Key Features and Capabilities:

In this documentation, you will learn how to work with the ESP32, optimize its performance, and make your projects more efficient. You will also explore topics such as GPIO configuration, using the ESP32 with FreeRTOS, controlling servo motors, and more.

ESP32 GPIO Configuration

In this section, we will delve into the GPIO functionality of the ESP32, covering digital input/output, interrupt handling, and GPIO pin configuration.

this image is taken from Random Nerd Tutorials

Comparison between ESP32 and Arduino

Features ESP32 Arduino Uno
Microcontroller ESP32 ATmega328P
Operating Voltage 3.3V 5V
Processor Speed Up to 240 MHz 16 MHz
Flash Memory Up to 4MB 32KB
RAM Up to 520KB 2KB
Digital I/O Pins Up to 36 14
PWM Output Channels Up to 16 6
ADC Channels Up to 18 6
DAC Channels Up to 2 0
Deep Sleep Present Absent
Bluetooth Present Absent
Wi-Fi Present Absent
Hall Sensor Present Absent
Temp sensor Present Absent
Touch Sensor Present Absent

There are also 10 capacitive touch sensors,4 SPI bus channels, 2 I2C bus connections, 2 I2S connections and 3 UARTs for serial communication