Curriculum
Course: ESP32 IoT Starter Course
Login
Text lesson

Introduction to the ESP32

INTRODUCTION TO THE ESP32

Everything you built on an Arduino Uno lived on one desk. It could sense and act, but it could not tell anyone. The ESP32 changes that: it has WiFi and Bluetooth built into the chip, so a sensor reading can become a web page, a phone notification, or a row in a database somewhere else in the world.

It is also considerably more powerful than an Uno — and it has one difference that will destroy your components if you skip past it. That difference is in this chapter, and it is the most important thing on this page.

What You’ll Learn in This Chapter

  • What the ESP32 is and how it compares to the Arduino Uno
  • Why 3.3V logic matters more than any other difference
  • What IoT actually means in practice
  • How to identify your specific board

Components Used

Microcontroller

ESP32 development board — WiFi and Bluetooth on a breadboard-friendly module

Miscellaneous Components

A USB data cable (micro-USB or USB-C, depending on your board)

Core Concept Explanation

The ESP32 is a microcontroller made by Espressif. Like the ATmega328P on the Uno, it runs one program forever. Unlike it, the ESP32 has a radio — and a great deal more of everything else.

[IMAGE NEEDED — IMG-E32-01 · ESP32 dev board photographed top-down with the antenna, USB port and boot buttons visible]

ESP32 versus Arduino Uno

  Arduino Uno ESP32
Processor speed 16 MHz 240 MHz, dual core
RAM 2 KB 520 KB
Program storage 32 KB 4 MB typical
Logic voltage 5V 3.3V
Analog inputs 6, 10-bit (0–1023) ~15, 12-bit (0–4095)
WiFi None Built in
Bluetooth None Built in

The ESP32 has roughly 250 times the memory and 15 times the speed — which is what allows it to run a network stack and a web server while still reading your sensors.

⚠️ The 3.3V Rule

This is the one thing to take away from this chapter.

The ESP32 runs at 3.3V. Its pins are not 5V tolerant.

On an Uno, HIGH means 5V. On an ESP32, HIGH means 3.3V. Connect a 5V signal to an ESP32 input pin and you are pushing a voltage into it that it is not built to survive. It may work for a while. It may fail immediately. Either way the pin, or the whole board, can be damaged permanently — and this is the single most common way beginners kill an ESP32.

What this means in practice:

  • Sensor modules: check whether they output 5V. Many do. An HC-SR04 ultrasonic sensor’s Echo pin puts out 5V and needs a voltage divider or level shifter before it touches an ESP32
  • Powering modules: many 5V modules run fine from 3.3V, some do not. Check before assuming
  • Outputs: a 3.3V HIGH is enough for most things expecting 5V logic, but not all
  • The VIN pin: supplies roughly 5V from USB. It is for powering modules, never for feeding a signal into a GPIO

Get into the habit now: before wiring any component to an ESP32, ask what voltage its output produces.

What IoT Actually Means

“Internet of Things” sounds grand. In practice it means a device that does three things:

  1. Senses something — temperature, motion, a door opening
  2. Decides something — is this worth reporting? should something switch on?
  3. Communicates — sends the reading somewhere, or accepts an instruction from elsewhere

You can already do the first two. This course is about the third — and about what becomes possible once a project is no longer confined to the desk it sits on.

Key Terms & Definitions

Term Simple Meaning
ESP32 A microcontroller with WiFi and Bluetooth built in
GPIO General Purpose Input/Output — what ESP32 pins are called
3.3V logic HIGH is 3.3V, and pins cannot tolerate 5V
Level shifter A part that safely converts 5V signals to 3.3V
IoT A device that senses, decides and communicates
Dev board The chip plus USB, power regulation and pin headers

Identifying Your Board

“ESP32” describes a family, not one product, and boards differ in ways that matter when you start wiring.

Look at the silk-screen printing on the module and the board:

  • ESP32-WROOM-32 on the metal can is the most common module, and what this course assumes
  • 30 or 38 pins — count them. The pinout diagrams differ, and using the wrong one is a frequent source of confusion
  • DEVKIT V1 / NodeMCU-32S / DOIT are common board names
  • Two small buttons marked EN (reset) and BOOT

Find a pinout diagram matching your exact board and keep it beside you. Unlike the Uno, where pin 9 is pin 9 on every board ever made, ESP32 boards vary.

[IMAGE NEEDED — IMG-E32-02 · ESP32 DEVKIT V1 pinout diagram with GPIO numbers labelled]

⚠️ Common Mistakes

  • Treating it as a faster Uno and wiring 5V sensors straight to it. This is how ESP32s die.
  • Using a charge-only USB cable. The board powers up and never appears as a port.
  • Reading a pinout for a different ESP32 board. GPIO numbers are not interchangeable.
  • Assuming every labelled pin is usable. Several are reserved — the next chapters cover which.

Real-World Application Question

Before you wire anything:
Look back at the components you used in the Arduino course — the LED, the push button, the LDR, the HC-SR04 ultrasonic sensor, the servo, the 16×2 LCD.

For each one, answer: does it output a signal to the microcontroller, and if so, at what voltage? Which of them could you connect straight to an ESP32, and which would need a level shifter or a voltage divider first?

Post your list on the forum, with your reasoning for the ultrasonic sensor in particular.