Turbo-charge your projects with the esp32
What can you create with a dual-core microcontroller, that has integrated Bluetooth and Wifi, lots of pins, storage and communications, using your familiar Arduino tools?
With the ESP32, you can prototype your ideas quickly.
Course last updated in July 2022
We updated this course so that all experiments work with the ESP32 Dev Kit v4 (based on the ESP32-WROOM-32E) and the ESP32 Arduino Core library 2.0.3. All sketches and schematics have been tested and updated, links for external resources checked for validity, and several lecture videos were updated to reflect these development.
The updated course is tested to work with the ESP32 development kit version 4, ESP32 Arduino Core version 2.0.3, and the Arduino IDE 1.8.19.
You can use the familiar Arduino tools, programming language, and libraries.
The ESP integrates WiFi and Bluetooth, many GPIOs, analog input and output capabilities, many device interconnection protocols, a fast dual-core processor. And it has lots of storage and RAM, so your sketches can grow as your projects grow.
If you are already using the Arduino, then the ESP32 is an excellent choice. You can replace the Arduino Uno or other Atmega based boards with an ESP32 dev kit, and add new capabilities to your projects.
The ESP32 is a powerful, low-cost microcontroller that fits well in the Arduino ecosystem.
If you are already using the Arduino in your projects, then you'll love what the ESP32 can do.
The ESP32 packs a lot of power: lots of processing power, GPIO's communications options, including a full array of wireless capabilities, and integrated sensor.
This course will help you get up and running with the ESP32 quickly.
With the ESP32, you can get a lot more capacity to build more interesting projects, almost for free.
The ESP32 is not a plug-in replacement for the Arduino. While it shares much of the Arduino’s programming and GPIO interface, you still need to learn the basics before you can deploy it.
This is the purpose of this course: to provide with you a learning resource that can help you become productive with the ESP32 quickly.
In this course, I have included numerous mini-projects to demonstrate how to use capabilities such as GPIO read and write, classic Bluetooth, Bluetooth Low Energy, WiFi, digital to analog conversion, touch sensors, and more.
Larger projects will also show you how to create simple Internet of Things and Bluetooth applications, to name a few.
What is this course about and what to expect?
Sample lecture: Required Software
Sample lecture: Required Hardware
Sample lecture: The ESP32 module
Here's what you're getting:
Which option is best for you?
Once-off payment, best for self-sufficient learners on a budget.
Best for the social learner: be a member of the course community.
Get one-on-one live meetings with a mentor, learn to master.
This button will take you to Stripe, our payments processor.
What's in this course?
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
Know your ESP32
02.10 The ESP32 module
02.20 The ESP32 Dev Kit
02.30 ESP32 vs Arduino
03.10 Setting up ESP32 in the Arduino IDE on Mac OS (to use in this course)
03.20 Setting up ESP32 in the Arduino IDE on Windows 10 (to use in this course)
03.30 Install the drivers CP21012 USB chip
04.10 Digital output LED
04.20 PWM and LED
04.30 RGB LED with PWM
04.40 Digital input with Button
04.50 Analog input with a potentiometer
04.52 Analog input with potentiometer and PWM output
04.60 Sigma-Delta modulated analog output with potentiometer and LED
04.62a An overview of Digital to Analog Conversion in the ESP32
04.62b DAC demo sketch
04.62c DAC analog waveform demo
04.62d Making noise with the DAC
04.70a GPIO interrupts introduction and readings
04.70b GPIO interrupts sketch and demo
05.10 Integrated Hall effect (use a magnet)
05.20 Touch (capacitive) sensor with LED
05.30 Touch (capacitive) sensor with interrupts and LED
05.50 BME280 environment sensor using I2C
05.52a Sensor reading with timer interrupts overview
05.52b Timer interrupt sensor reading sketch walkthrough
05.52c Timer interrupts further readings
05.70 ADXL335 Accelerometer
06.10 LCD I2C screen
06.20 Seven segment display
06.22 Seven segment display with library
06.30 Seven segment clock display with I2C
06.40 8×8 LED matrix display (single)
06.42 8×8 LED matrix display (multiple)
07.10 DC motors with the DRV8871 motor controller
07.20 Servo motor (single)
08.40 How to erase the flash
Time and date
09.10 Time and date with the DS3231
09.20 A clock with an LCD and the DS3231
09.30 How to produce a square wave at 1Hz, 1KHz, 4KHz, 8KHz
09.40 Update LCD time and date with external interrupt and the DS3231
10.10 Wifi connection
10.20 Wifi HTTP client
10.30 Wifi HTTPS client
10.40 Wifi HTTPS client LED control
10.50 Wifi HTTPS dweet.io client
10.60 Wifi web server to control an LED
11.10 Intro to Classic Bluetooth
11.12a Bluetooth Classic project demonstration
11.12b Bluetooth Classic project, display management
11.12c Bluetooth Classic project, sensor updates
11.20a BLE server (part 1)
11.20b BLE server (part 2)
11.30 BLE server with LCD
11.40a BLE heart rate project demonstration and simulation
11.40b BLE heart rate project sketch walkthrough
11.42 BLE heart rate monitor client with LCD
The course instructor
The course instructor is Peter Dalmaris, PhD.
Peter has created over 20 other courses on technology education.
He is the author of Maker Education Revolution, a book on how making is changing the way we learn and teach.
He is also the host of Stemiverse, a podcast in which he discusses education and STEM with the shakers and movers of technology and science education from around the world.
Copyright 2022, Tech Explorations - Privacy