Course Content
IoT Engineering Course using ESP32 Wifi Robots

📘 ESP32 Deep Technical Explanation


🎯 Lesson Objective

By the end of this lesson, students will:

  • Understand what ESP32 actually is

  • Learn its internal architecture

  • Understand CPU, memory, WiFi, Bluetooth

  • Learn about GPIO, ADC, PWM

  • Understand why ESP32 is powerful for IoT

  • Learn safe usage guidelines


1️⃣ What is ESP32?

ESP32 is a low-cost, high-performance microcontroller with built-in:

  • WiFi

  • Bluetooth

  • Multiple GPIO pins

  • ADC & DAC

  • PWM channels

  • Communication protocols

It is developed by Espressif Systems.

It is widely used for:

  • IoT systems

  • Smart home devices

  • Wearables

  • Industrial automation


2️⃣ Microcontroller vs Microprocessor

Before understanding ESP32, we must understand this difference:

Microcontroller Microprocessor
Has CPU + RAM + I/O in one chip Only CPU
Used in embedded systems Used in computers
Low power High power
Real-time control Complex OS systems

ESP32 is a microcontroller.

That means it is designed for real-time hardware control.


3️⃣ ESP32 Internal Architecture

ESP32 contains:

🧠 Dual-Core Processor

  • Xtensa LX6

  • Up to 240 MHz

  • Two cores (Core 0 & Core 1)

This allows multitasking.

Example:

  • Core 0 → WiFi handling

  • Core 1 → Sensor processing


🧮 RAM

  • ~520 KB SRAM (internal)

  • External flash memory (usually 4MB on dev board)

RAM stores:

  • Variables

  • Running code

  • Temporary data


📶 Built-in WiFi

  • 802.11 b/g/n

  • 2.4 GHz

No external WiFi module needed.

This is why ESP32 is perfect for IoT.


🔵 Built-in Bluetooth

  • Classic Bluetooth

  • BLE (Bluetooth Low Energy)

Used for:

  • Mobile communication

  • Device pairing

  • Short-range communication


4️⃣ ESP32 Development Board Layout

Typical ESP32 Dev Board includes:

  • USB port

  • 5V input

  • 3.3V output

  • EN (Reset)

  • Boot button

  • 30–38 GPIO pins

The development board includes:

  • Voltage regulator

  • USB to serial converter

This makes it easy to program.


5️⃣ GPIO (General Purpose Input Output)

GPIO pins allow ESP32 to connect with external components.

They can be configured as:

  • Digital Input

  • Digital Output

  • PWM Output

  • Analog Input


📌 Important GPIO Facts

  • ESP32 works at 3.3V logic

  • Some pins are input-only

  • Some pins are used during boot

  • Not all pins are safe for output


🔹 Safe GPIO Examples

Common safe pins:

  • GPIO 4

  • GPIO 5

  • GPIO 18

  • GPIO 19

  • GPIO 21

  • GPIO 22

  • GPIO 23

  • GPIO 25

  • GPIO 26

  • GPIO 27

Avoid using:

  • GPIO 0

  • GPIO 2

  • GPIO 15 (boot pins)


6️⃣ Digital Input & Output

Digital Input

Reads HIGH or LOW.

Used for:

  • PIR sensor

  • Button input

Digital Output

Sends HIGH or LOW.

Used for:

  • LED

  • Relay

  • Buzzer

Example:

 
pinMode(26, OUTPUT);
digitalWrite(26, HIGH);
 

7️⃣ ADC (Analog to Digital Converter)

ESP32 can read analog values.

ADC resolution:

  • 12-bit

  • Range: 0 to 4095

Used for:

  • Gas sensors

  • LDR

  • Potentiometer

Example:

 
int value = analogRead(34);
 

8️⃣ PWM (Pulse Width Modulation)

PWM is used to control:

  • Servo motor

  • LED brightness

  • Motor speed

ESP32 has multiple PWM channels.

Example:

 
ledcAttachPin(13, 0);
ledcWrite(0, 128);
 

PWM gives variable output, not just ON/OFF.


9️⃣ Communication Protocols Supported

ESP32 supports:

  • UART (Serial)

  • I2C

  • SPI

  • WiFi

  • Bluetooth

  • CAN (in some versions)

This makes it extremely flexible.


🔟 Power Specifications

ESP32 works at:

  • 3.3V internally

  • 5V via USB input

Important:

Never apply 5V directly to GPIO pins.

That can permanently damage the chip.


1️⃣1️⃣ Deep Sleep & Power Modes

ESP32 supports:

  • Light sleep

  • Deep sleep

Used for:

  • Battery-powered IoT devices

  • Low-power systems

This is important for real-world IoT products.


1️⃣2️⃣ Why ESP32 is Better Than Arduino UNO

Arduino UNO ESP32
No WiFi Built-in WiFi
No Bluetooth Built-in Bluetooth
16 MHz 240 MHz
2 KB RAM 520 KB RAM
Limited features Advanced features

ESP32 is more powerful and future-ready.


1️⃣3️⃣ How ESP32 Fits in IoT Architecture

Recall IoT Architecture:

Perception Layer → ESP32
Network Layer → WiFi
Processing → Cloud
Application → Dashboard

ESP32 handles both:

  • Device Layer

  • Network Layer

That makes it very powerful.


1️⃣4️⃣ Common Beginner Mistakes

  • Supplying 5V to GPIO

  • Forgetting common ground

  • Using boot pins incorrectly

  • Powering servo from 3.3V

  • Not checking pin compatibility

Understanding ESP32 prevents hardware damage.


📌 Lesson Summary

In this lesson, we learned:

  • What ESP32 is

  • Its internal architecture

  • Dual-core processor

  • Built-in WiFi & Bluetooth

  • GPIO functions

  • ADC & PWM

  • Communication protocols

  • Power safety rules

  • Why ESP32 is ideal for IoT

You now understand the brain of this entire course.

Scroll to Top