Learn ESP32 with Arduino IDE (eBook)

(3rd Edition)

This is a practical eBook where you’ll learn how to take the most out of the ESP32 using the Arduino IDE. This is our complete guide to program the ESP32 with Arduino IDE, including projects, tips, and tricks!

Learn ESP32 with Arduino IDE eBook 3rd edition cover image

GET THE EBOOK »

What’s inside the eBook?

The eBook contains 10 Modules to take the most out of the ESP32. We’ll start by introducing the ESP32 main features and explore its GPIOs. We’ll also cover a variety of subjects related to IoT like Web Servers, Bluetooth Low Energy (BLE), MQTT, LoRa, and ESP-NOW. Each subject contains practical examples with schematics and code.

Here’s what you’ll have access:

  • All 10 Modules (downloadable eBook in PDF format with 810 pages)
  • Includes 4 advanced ESP32 Projects
  • Source Code + Full Schematics
  • Unlimited Updates
  • Exclusive access to a private Forum to ask questions
  • Exclusive access to our Facebook group community

Table of Contents

The first 10 Modules cover the main ESP32 concepts like analog inputs, PWM, digital outputs, timers, touch pins, interrupts, and much more; You’ll also learn about deep sleep, building web servers (with Wi-Fi), experiment with Bluetooth Low Energy (BLE), MQTT, use LoRa technology and ESP-NOW.

Module #1: Getting Started with ESP32

Learn ESP32 with Arduino IDE eBook Module 1 ESP32 Getting Started

This first Module is an introduction to the ESP32 board. We’ll explore its features and show you how to use your board with this course. You’ll also prepare your Arduino IDE to upload code to the ESP32. You must follow this Module first before proceeding to any other project/example in the eBook.

  • Unit 1: Introducing ESP32
  • Unit 2: Installing ESP32 in Arduino IDE
  • Unit 3: How To Use Your ESP32 Board with this eBook

Module #2: Exploring the ESP32 GPIO Pins

Learn ESP32 with Arduino IDE eBook Module 2 GPIOs

In this second Module, we’ll explore the ESP32 GPIO functions. We’ll show you how to control digital outputs, output PWM signals, and read digital and analog inputs. We’ll also take a look at the ESP32 touch-capacitive pins and the ESP32 dual-core feature.

  • Unit 1: Pinout Reference: ESP32 GPIOs Explained
  • Unit 2: ESP32-S3 Pinout
  • Unit 3: ESP32 Digital Inputs and Outputs
  • Unit 4: Capacitive Touch Pins
  • Unit 5: ESP32 Pulse-Width Modulation (PWM)
  • Unit 6: Reading Analog Inputs
  • Unit 7: ESP32 with PIR Motion Sensor: Interrupts and Timers
  • Unit 8: ESP32 Dual Core: Create Tasks

Module# 3: Saving Data and Handling Files

Learn ESP32 with Arduino IDE eBook Module 3 Handling Files

Learn how to handle files on the ESP32 and how to save data permanently. We’ll cover saving data on Preferences (NVS memory), on the ESP32 filesystem (LittleFS), and on a microSD card.

  • Unit 1: Save Data Permanently using the Preferences Library
  • Unit 2: ESP32 LittleFS Filesystem
  • Unit 3: LittleFS: Save Variables Values in a File
  • Unit 4: Saving Data to a microSD Card

Module #4: ESP32 Deep Sleep Mode

Learn ESP32 with Arduino IDE eBook Module 4 Deep Sleep

Using deep sleep with your ESP32 is a great way to save power in battery-powered applications. This module will show you how to put your ESP32 into deep sleep mode and the different ways to wake it up.

  • Unit 1: ESP32 Deep Sleep Mode
  • Unit 2: Deep Sleep – Timer Wake Up
  • Unit 3: Deep Sleep with Touch Wake Up
  • Unit 4: Deep Sleep External Wake Up

Module #5: Introducing Wi-Fi

Learn ESP32 with Arduino IDE eBook Module 5 Wi-Fi

Get started with Wi-Fi on the ESP32. We’ll cover basic concepts about Wi-Fi networks, you’ll learn how to set the ESP32 as an access point and as a wi-fi station and how to make HTTP requests. We’ll also cover how to set an ESP32 board as a Wi-Fi client and another one as a Wi-Fi server to exchange data between them.

  • Unit 1: Introducing Wi-Fi
  • Unit 2: Getting Started with HTTP Requests
  • Unit 3: Making HTTP Requests (WorldTime API and ThingSpeak)
  • Unit 4: ESP32 Client-Server Wi-Fi Communication Between Two Boards

Module #6: ESP32 Web Servers

Learn ESP32 with Arduino IDE eBook Module 6 Web Servers

This Module explains how to build several web servers with the ESP32. After explaining some theoretical concepts, you’ll learn how to make a web server to display sensor readings, control outputs, and much more. You’ll also learn how you can edit your web server interface using HTML and CSS.

  • Unit 1: Web Server Introduction
  • Unit 2: ESP32 Web Server: Control Outputs
  • Unit 3: ESP32 Web Server: HTML and CSS Basics
  • Unit 4: ESP32 Web Server: Authentication
  • Unit 5: Accessing the ESP32 Web Server from Anywhere
  • Unit 6: ESP32 Web Server – Display Sensor Readings
  • Unit 7: Asynchronous Web Server: Temperature and Humidity Readings
  • Unit 8: Asynchronous Web Server: Control Outputs
  • Unit 9: Build an ESP32 Web Server using Files from Filesystem (LittleFS)

Module #7: ESP32 Bluetooth Low Energy and Bluetooth Classic

Learn ESP32 with Arduino IDE eBook Module 7 Bluetooth

The ESP32 comes not only with Wi-Fi but also Bluetooth and Bluetooth Low Energy built-in. Learn how to use the ESP32 Bluetooth functionalities to scan nearby devices and exchange information (BLE client and server).

  • Unit 1: ESP32 Bluetooth Low Energy (BLE): Introduction
  • Unit 2: Bluetooth Low Energy: BLE Server, Scanner, and Notify
  • Unit 3: ESP32 BLE Server and Client – Part 1/2
  • Unit 4: ESP32 BLE Server and Client – Part 2/2
  • Unit 5: Bluetooth Classic

Module #8: LoRa Technology with ESP32

Learn ESP32 with Arduino IDE eBook Module 8 LoRa

LoRa is a long-range wireless technology. In this Module, you’ll explore LoRa and how you can use it with the ESP32 to extend the communication range between IoT devices.

  • Unit 1: ESP32 with LoRa: Introduction
  • Unit 2: ESP32 LoRa Sender and Receiver
  • Unit 3: Further Reading about LoRa Gateways
  • Unit 4: LoRa: Where to Go Next?

Module #9: ESP32 with MQTT

Learn ESP32 with Arduino IDE eBook Module 9 MQTT

MQTT stands for Message Queuing Telemetry Transport. It is a lightweight publish and subscribe system perfect for Internet of Things applications. In this Module, you’ll learn how to use MQTT to establish a communication between two ESP32 boards and how you can control the ESP32 using Node-RED (an IoT platform).

  • Unit 1: Introducing MQTT
  • Unit 2: Installing Mosquitto MQTT Broker on a Raspberry Pi
  • Unit 3: MQTT Project: MQTT Client ESP32 #1
  • Unit 4: MQTT Project : MQTT Client ESP32 #2
  • Unit 5: Installing Node-RED and Node-RED Dashboard on a RPi
  • Unit 6: Connect the ESP32 to Node-RED using MQTT

Module #10: ESP-NOW Communication Protocol

Learn ESP32 with Arduino IDE eBook Module 10 ESP-NOW

ESP-NOW is a connectionless communication protocol developed by Espressif that features short packet transmission. This protocol enables multiple devices to talk to each other easily.

  • Unit 1: ESP-NOW: Getting Started
  • Unit 2: ESP-NOW Two-Way Communication Between ESP32
  • Unit 3: ESP-NOW Send Data to Multiple Boards (one-to-many)
  • Unit 4: ESP-NOW Receive Data from Multiple Boards (many-to-one)
  • Unit 5: ESP-NOW Web Server Sensor Dashboard (ESP-NOW + Wi-Fi)

ESP32 Projects

The eBook also includes 4 extra advanced projects with the ESP32 applying the concepts learned throughout the course.

Project #1: ESP32 Wi-Fi Multisensor – Temperature, Humidity, Motion, Luminosity, and Relay

Learn ESP32 with Arduino IDE eBook Project 1 ESP32 Multisensor

In this project you’ll build an ESP32 Wi-Fi Multisensor. This device consists of a PIR motion sensor, a light dependent resistor (LDR), a DHT22 temperature and humidity sensor, a relay, and a status RGB LED. You’ll also build a web server that allows you to control the ESP32 multisensor using different modes.

  • Unit 1: ESP32 Wi-Fi Multisensor – Temperature, Humidity, Motion, Luminosity, and Relay Control
  • Unit 2: ESP32 Wi-Fi Multisensor – How the Code Works?

Project #2: Remote Controlled Wi-Fi Car Robot

Learn ESP32 with Arduino IDE eBook Project 2 Car Robot

In this project we’ll show you step by step how to create an ESP32 Wi-Fi remote controlled car robot.

  • Unit 1: Remote Controlled Wi-Fi Car Robot – Part 1/2
  • Unit 2: Remote Controlled Wi-Fi Car Robot – Part 2/2
  • Unit 3: Assembling the Smart Robot Car Chassis Kit
  • Unit 4: Extra – Access Point (AP) For Wi-Fi Car Robot

Project #3: Bluetooth Low Energy (BLE) Android Application with MIT App Inventor – Control Outputs and Display Sensor Readings

Learn ESP32 with Arduino IDE eBook Project 3 BLE App ESP32

In this project you’re going to create an Android application to interact with the ESP32 using BLE.

  • Unit 1: ESP32 BLE Android Application – Control Outputs and Display Sensor Readings
  • Unit 2: Bluetooth Low Energy (BLE) Android Application with MIT App Inventor 2

Project #4: LoRa Long Range Sensor Monitoring – Reporting Sensor Readings from Outside: Soil Moisture and Temperature

Learn ESP32 with Arduino IDE eBook Project 4 LoRa Sensor Monitoring

In this project you’re going to build an off-the-grid monitoring system that sends soil moisture and temperature readings to and indoor receiver. To establish a communication between the sender and the receiver we’ll be using LoRa communication protocol.

  • Unit 1: LoRa Long Range Sensor Monitoring and Data Logging
  • Unit 2: ESP32 LoRa Sender
  • Unit 3: ESP32 LoRa Receiver
  • Unit 4: ESP32 LoRa Sender Solar Powered
  • Unit 5: Final Tests, Demonstration, and Data Analysis

Recommended ESP32 Board

For this eBook, we’ll be using the ESP32 DEVKIT V1 DOIT board. However, any other ESP32 with the ESP-WROOM-32 chip should work just fine.

Here’s just a few examples of boards that are compatible:

Invitation to Join our Private Forum!

This eBook comes with an opportunity to join our private Forum of like-minded people where you can ask questions about the eBook or other related subject. You’ll get direct help from Rui and Sara or from other active members of the community.

Download the eBook

Learn ESP32 with Arduino IDE eBook 3rd edition cover image
  • 3rd Edition – Released September 9, 2024
  • All 10 Modules
  • Downloadable PDF eBook with 810 pages
  • 4 Advanced ESP32 Projects
  • Code tested with ESP32 Arduino Core version 3.X
  • Source Code + Full Schematics
  • Unlimited Updates
  • Exclusive access to a Private Forum

GET THE EBOOK | $37 $29 USD

Click here to get the eBook | $37 $29 USD

Note: after your purchase, you receive an email with a username and password that you use to access the members’ area and download the PDF eBook.

Have questions? Email me at https://randomnerdtutorials.com/support anytime for any reason.

You won’t regret it. My 60 day money back guarantee backs up every word in this message. Proceed with confidence. See you inside,

– Rui Santos and Sara Santos

Backed by a 60 day 100% money-back guarantee

If you don’t like the course, I don’t want your money. Seriously, that’s why I offer a 60 days money back guarantee. Email me here and I will promptly refund all your money. No questions, no hassles – it’s that simple.

Frequently Asked Questions

Yes, I often update all my courses, so everyone who purchases gets free lifetime updates. You’ll also have access to future content that we’ll be adding to the course.

Well, if you don’t like it, I don’t want your money. Seriously, that’s why I offer a 60 days money back guarantee. Email me here and I will promptly refund all your money. No questions, no hassles – it’s that simple!

If you still have questions after reading this page please email me here. I’ll do my best to answer your questions.

This course is perfect if for:

  • Beginners – If you’re just starting using this board, this course is perfect for you, because I’ll start from the very beginning and you’ll learn everything you need to know
  • Makers/DIYers – If you love making things, this course is perfect for you. You’ll design several circuits and projects
  • Hobbyists – If this is your hobby and you like to make projects in the weekends or late at night, this course is perfect for you. It has everything you need to know, so you don’t spend a ton of time looking for the right information in the wrong places

See what others are saying

This is one of the best sites on the net, period. I recently purchased your course (Learn ESP32 with Arduino IDE) and I can’t say enough about it. It simply let me bypass hours of aggravation. Clear instruction and great example code. Thanks again.

Jay W.

Hi Rui, purchased your ebook (Learn ESP32 with Arduino IDE) this weekend and it is helping me, big time. I have been struggling with many ‘easy’ wifi methods. Your walk through are understandable and simple to follow. I put together the DHT22 web server and it’s working well. I am now adding a voltage monitor.

Thanks again

Doug Little

Hey Rui,

Wanted to say that this course (Learn ESP32 with Arduino IDE) is one of the best purchases I made. Really happy with the content and structure of the material, so thank you.

Thanks again!

Regan The Blob

Your course on the ESP32, especially the LoRa sections are beautifully done!

Excellent tutorials and sample code.

Thanks so much. All the best to you.

Stewart Lindenberger

Get the Learn ESP32 with Arduino IDE eBook

(3rd Edition)

Learn ESP32 with Arduino IDE eBook 3rd edition cover image

GET THE EBOOK | $37 $29 USD

AS SEEN ON…

FEATURED LOGOS