ESP32 Unleashed

Take the ESP32 Devkit, add powerful development tools, Cloud services and a bit of creativity, and make an amazing Internet of Things gadget.

ESP32 Unleashed

In this course you will learn:

  • What is the ESP32.
  • What are the various modules with that name, and how these modules are available to us in the form of development kits.
  • What are the differences and similarities between the ESP32 and the Arduino.
  • How can we use what we know from the Arduino to make things based on the ESP32.
  • How can we use the ESP32 GPIOs to work with simple components like LEDs and buttons, but also to drive peripherals like displays, sensors (including the integrated ones) and motors.
  • How to generate external and time interrupts.
  • How can we set up the familiar Arduino IDE so that we can write programs for the ESP32.
  • How to store data in non-volatile memory.
  • How to communicate with near field devices and the Internet.

US $50.00


Share on facebook
Share on google
Share on twitter
Share on email


The ESP32 is a powerful, low-cost microcontroller. It has features that make it an ideal choice for Internet of Things applications.

It comes as a development kit, which makes it easy to connect it to a computer for programming, it provides powering options, and exposes its GPIOs so that we can connect peripherals.

Working with the ESP32 development kit is a real pleasure for makers.

In my course, ESP32 For Busy People, you learned how to use the ESP32 development kit with a variety of peripherals.

You learned how to program it using the familiar Arduino IDE.

You also learned how to use its unique features in several small projects.

However, to learn a new technology well, you need a comprehensive, real-world project.

A project that combines as many as possible…

  • features,
  • technical capabilities,
  • techniques,
  • tools,
  • and higher level design considerations

…to deliver a real, useful, working gadget.

A project like this can stretch your hungry mind and fill it with new delicious knowledge.

Moreover, when you complete it, you’ll be proud of what you’ve made.

In this course, you will learn how to make an IoT gadget.

You’ll use the knowledge you acquired in ESP32 For Busy People.

You’ll learn new knowledge so that you can integrate new components and tools.

This course is action-packed, but here are two highlights:

1. You’ll use PlatformIO, a fully-featured, modern development environment, running inside Microsoft Visual Studio Code, an excellent graphical programming editor, in the place of the Arduino IDE. Both PlatformIO and MS Code are free applications, and with them, you’ll be able to create applications that can take advantage of the capabilities of the ESP32.
2. The gadget that you’ll create in this course will make use of three Cloud-based platforms: AdafruitIO, If This Then That, and Google Assistant, to implement modern IoT capabilities.

You can find the details about the objectives and the curriculum of this course in the free lectures in the first section.

As always, the course follows the familiar Tech Explorations format, which includes all schematic wiring diagrams and demo sketches, a logical course structure, high-quality video and audio, and thoughtful and calm delivery. In this course, you can also download the complete PlatformIO project file, which also includes every single Git commit I have made during the recording of the lectures.

For the list of required hardware, please go to the hardware page (the page will open in a new tab).

Sample videos from the course

Video 1: What is this course about?

Video 2: Software you will need

Video 3: Hardware you will need

Video 4: Why use PlatformIO?

Video 5: A demo of the gadget


01 – Introduction
01.10 What is this course about?
01.20 Software you will need
01.30 Hardware you will need
01.40 How to get the most out of this course
01.50 Why use PlatformIO?

02 – Walkthrough the project
02.05 Assembly
02.07 The ESP32 board breakout
02.10 A demo of the gadget
02.20 Walkthrough the multi-file Arduino project
02.30 Challenges
02.40 The conversion plan

04 – Setup PlatformIO and MS Code
04.10 Install MS Code (Mac OS)
04.12 Install MS Code (Windows 10)
04.60 MS Code essentials

05 – A C++ primer for Arduino makers who want to use Platform IO
05.10 What is this section about
05.20 Pointers, an introduction
05.22 Pointers, demonstration
05.40 Splitting a program into small files, an introduction
05.42 Splitting a program into small files using the Arduino framework
05.44 Splitting a program into small files using normal C++
05.50 Namespaces, an introduction
05.52 Namespaces, demonstration

06 – Prototype 1: Getting started with the project
06.10 Objective: how to setup a new project
06.20 Setup project
06.30 Test

07 – Prototype 2: Switch to multiple files, add version control
07.10 Objective: why multiple files and Git
07.20 Create the Git repository
07.30 Split main.cpp into multiple files
07.40 Test
07.50 How to use Git version control

08 – Prototype 3: TFT display
08.10 Objective: activate the display
08.20 How to use the TFT display
08.30a Execute part a
08.30b Execute part b
08.40 Test
08.50 Merge tft_setup branch to master

09 – Prototype 4: SPIFFS and fonts
09.10 Objective: How to use various fonts
09.20 How to create a custom font
09.30 Upload the fonts to SPIFFS
09.40 Apply the custom fonts in the app
09.50 Test
09.60 Merge fonts branch to master

10 – Prototype 5: Images
10.10 Objective: displaying graphics in the TFT
10.20 Upload the image file to SPIFFS
10.30 Edit the application code
10.40 Test
10.50 Merge working and master branches

11 – Prototype 6: Task scheduler
11.10 Objective: why use a task scheduler?
11.20 How to use the task scheduler
11.30 Execute
11.40 Test
11.50 Merge working and master branches

12 – Prototype 7: Wifi and Clock
12.10 Objective: showing the time without additional hardware
12.15 Setup Wifi
12.20 The clock library and operation, Internet time
12.30 Wifi and Clock Test
12.40 Merge working and master branches

13 – Prototype 8: AdafruitIO via MQTT
13.10 Objective
13.20 What is MQTT?
13.30 What is AdafruitIO?
13.40 Implement
13.50 AdafruitIO and MQTT Test
13.60 Merge working and master branches

14 – Prototype 9: Wifi status display
14.10 Objective: why show the connection status on the display?
14.20 Execute
14.30 Test
14.40 Merge working and master branches

15 – Prototype 10: EEPROM
15.10 Objective: why use EEPROM?
15.20 EEPROM in the ESP32
15.30 Execute
15.40 Test
15.50 Merge working and master branches

16 – Prototype 11: Watchdog
16.10 Objective: what is a watchdog?
16.20 How to implement a watchdog
16.30 Execute
16.40 Test
16.50 Merge working and master branches

17 – Prototype 12: Touch interface
17.10 Objective: create a hotspot on the display
17.20 The TFT capacitive touch interface
17.30 Execute
17.40 Test
17.50 Merge working and master branches

18 – Prototype 13: MQTT response and Google Assistant
18.10 Objective: control the gadget with voice commands
18.20 Setup IFTTT with Google Assistant and AdafruitIO
18.30 Test IFTTT
18.50 Execute
18.60 Test
18.70 Merge working and master branches

19 – Tidying up
19.10 The final version of this project

31 – Library automatic update
31.10 Automatic update of a library
31.20 Testing

Course Features

  • Downloadable schematic diagram for the board.
  • Downloadable sketches for all demonstrations.
  • Downloadable complete PlatformIO project, with full Git commit history.
  • 90 lectures in 20 sections.
  • This course is perfect for people who have good working knowledge of the ESP32. If you don’t, we recommend starting with ESP32 For Busy People.
  • Full lifetime access.
  • Access to the ESP32 Unleashed discussion forum.

Course Outcomes

  • Learn how to create a device that integrates the ESP32 development kit with several hardware components and Cloud services.
  • Learn how to use PlatformIO and Microsoft Visual Studio Code to create an application for the ESP32.
  • Learn how to set up a PlatformIO project for the ESP32.
  • Understand how to split a C++ program in multiple files.
  • Understand C++ namespaces.
  • Understand C++ pointers.
  • Learn how to use Git source control in MS Code.
  • Learn how to use a 2.8″ TFT touch screen to display data and images and receive user input.
  • Learn how to create custom fonts to use in the TFT display.
  • Learn how to get the time and date from the Internet
  • Learn how to use a task scheduler to make your ESP32 programs more efficient.
  • Learn how to connect to a Wifi network
  • Learn how to use MQTT to send and receive data
  • Learn how to use AdafruitIO to create a dashboard for your data.
  • Learn how to use AdafruitIO, IFTTT and Google Assistant to implement a voice control feature
  • Learn how to use the ESP32 EEPROM to store persistent data for your application
  • Learn how to implement a software watchdog to look over your application’s operation

You may also like…

  • ESP8266: Getting Started

    US $50.00
    Add to cart
  • Arduino Step by Step Getting Started

    US $50.00
    Add to cart