
This Module is an introduction to the course. We basically outline what is required for this course and how this course is planned for the students enrolling in it.
In this Module, we take a look at IoT. We understand what is IoT and how it has affected the lives around us.
We then introduce ESP32 and explain why it is one of the best microcontrollers to use, due to its variety of rich features.
Discover why the ESP32 is a low-cost, low-power microprocessor with integrated Wi‑Fi and Bluetooth, dual cores, and multiple interfaces for mobile, wearable, and IoT applications.
In this Module, we talk about why we've used the Arduino IDE 2.0 for our course.
Then we see how to install the Arduino IDE 2.0 software in various systems (Linux/ Windows/ Mac).
Finally, we have a few videos explaining its features and some of the fundamentals of C/C++ that will help you use the Arduino IDE 2.0 with more ease.
Install Arduino IDE 2.0 on macOS by downloading from the official site and copying the downloaded file to the Applications folder to run it.
Install libraries in Arduino IDE 2.0 using the library manager or the sketch include library. Access the example codes under the example option after installation.
Explore Arduino basics with void setup and void loop, pin mode, and serial communication. Learn digital and analog read/write, delays, and millis timing for debugging with the serial monitor.
In this module, basic electrical concepts like KVL, KCL, Ohm's Law are covered. Also, demonstrations of few features is also included.
Apply Ohm's law to relate voltage, current, and resistance in practical circuits. Know two quantities to derive the third, with examples like 12 V across 300 Ω yielding 0.04 A.
Analyze how resistance adds in series and combines in parallel using the reciprocal sum to find the equivalent resistance in ohms, with an example.
Learn Kirchoff's voltage law and Kirchoff's current law, showing how loop voltages sum to zero and junction currents sum to zero, with a Led and battery example guiding resistor selection.
Explore digital and analog pins on the ESP32, learn how GPIO pins function as input or output at 3.3V logic, and understand ADC1 and ADC2 with 12-bit resolution.
Learn how pull up and pull down resistors prevent floating signals by providing a reference to Vcc or Gnd, ensuring reliable input readings in communication.
Demonstrates testing an ESP32 by uploading a blink sketch in the Arduino IDE, configuring pin mode, using digitalWrite and delay to blink the built-in LED.
Learn how to wire up the circuit to toggle a Led using a push button.
Wire up an LED and a push button on the ESP32, configure pins in setup, and read the button state with digitalRead to drive the LED with digitalWrite.
Learn how to wire up the circuit to connect a potentiometer to the ESP32
Learn how to code in order to read the analog values of the potentiometer.
Demonstrates changing the adc resolution from 9 to 12 bits using analog read, showing outputs from 0 to 2^N-1 on the serial monitor as the knob turns.
Learn how to debounce an ESP32 button input using the Bounce2 library or simple software methods, with a 5 millisecond interval, to toggle an LED; compare hardware RC filter options.
In this module, the concept of Timers, PWM, DAC & Interrupts is covered along with their demonstrations.
Demonstrate pwm-based led brightness control with an Esp32 on a breadboard. Wire a 1.2k resistor and led to pin 33 and ground, then upload the code.
Learn to generate analog output on the ESP32 using PWM with the LEDC library, configuring channel, resolution, and frequency. Observe duty cycle control of LED and LCD brightness.
Explore the ESP32 DAC: two 8-bit channels on GPIO25 and GPIO26 that convert digital signals to analog voltages, 0 to 3.3V, with 256 steps and a common reference.
Explore how interrupts trigger an ISR to pause the main program, including hardware and software interrupts on the ESP32 and IRAM usage, and why ISRs must be small without delays.
Build an ESP32 hardware interrupt circuit on a breadboard with an LED, a switch, and resistors, wiring the LED to pin 33 and the switch to pin 32.
Demonstrates hardware interrupts on the ESP32, showing a push button toggling an LED via an ISR using rising mode and attachInterrupt with digitalPinToInterrupt.
Build a simple breadboard circuit for a software interrupt on the ESP32, using an external LED and the built-in LED, pin 33, plus a resistor to ground, then upload.
In this module, the concepts of wired communication protocols like SPI, I2C & UART are covered along with their demonstrations
Explain synchronous and asynchronous communication, where synchronous uses a common clock and baud rate (examples: SPI, I2C), while asynchronous lacks a shared clock (example: UART) with a predefined data rate.
Explain serial versus parallel communication in electronics, showing how 3.3v esp32 transmits bits (0 and 1) and how parallel sends bits simultaneously while serial sends them one after another.
Explore SPI communication and how a master microcontroller uses four wires—MOSI, MISO, clock, and chip select—to achieve full duplex data transfer with one or more slaves.
Explore UART theory and its two-wire, asynchronous serial transmission between devices. Learn how start, stop, parity bits, and baud rate shape data packets from parallel to serial and back.
Wire ESP32 and Node MCU via UART2, using pins 16 (rx) and 17 (tx), cross TX and RX, share a ground, and leverage 3.3v logic to avoid level shifting.
Upload and run code on the ESP32 and the NodeMCU, establish UART communication, and verify data transfer via serial monitors to show ESP32 sending data to the NodeMCU.
Wire the esp32 to the mpu6050 via i2c using four wires: vcc, ground, sda, and scl, to read basic sensor data on a breadboard.
Learn to implement I2C communication between an ESP32 and the MPU6050 accelerometer-gyroscope, read x, y, z acceleration and rotation, and view temperature data via serial output.
Explore a practical i2c demo linking ESP32 to the MPU6050, using x and y acceleration thresholds, absolute values, and a led indicator to signal stop conditions.
Wire esp32 to ssd1306 oled via spi by connecting vcc, ground, d0, d1, reset, dc, and cs; map esp32 pins 16, 17, 5, 18, and 23, then upload code.
Set up SPI communication between the ESP32 and a 128x64 SSD1306 OLED module to display graphics and text using the Adafruit GFX and SSD1306 libraries.
In this module, we will see how to send data wirelessly via Bluetooth and Wifi through different methods.
Learn how the ESP32's built-in Bluetooth module connects with other devices to exchange data via serial communication, and use the Bluetooth Serial library with begin, available, read, and write.
Learn to light up an LED on an ESP32 via Bluetooth by sending data from your phone, using bytes, and controlling pin 32 with on/off signals.
Upload the ESP32 code by entering your ssid and password and the auth token from email, then control the board via the Blynk app over wifi.
Demonstrates configuring an ESP32 in ap mode, running a web server, and controlling two leds via browser with led1on/led1off and led2on/led2off, showing dynamic html.
In this module, the basics of RTOS is covered along with its demonstration.
Learn how the super loop, the Arduino void loop that runs forever after setup, executes tasks sequentially until the microcontroller is powered off.
Understand that a process is a program in execution that runs sequentially, forming the basis of competition. Write programs in text files and execute them to perform the described tasks.
Explore threads and multithreading to achieve parallelism by dividing a process into multiple threads, illustrated by browser tabs and text formatting tasks.
Discover how real-time operating systems enable parallelism on a single core by rapidly switching between prioritized tasks, with FreeRTOS as a real-time kernel for ESP32 IoT projects.
In this last module, we'll try to implement everything that has been covered in the previous modules in the form of a basic building block of a Home Automation System
Explore how relays enable remote control of high-powered devices using a microcontroller, with normally open and normally closed configurations, and the basics of electromagnetic induction in switching.
Wire a relay module with the ESP32 to control a load, using the common, normally closed, and normally open terminals and the input pins.
Control an electromechanical relay with a P32 development module using a smartphone, Google Home Assistant, or Amazon Alexa by creating a feed, a dashboard, and an on-off toggle.
Explore using IFTTT with Google Home Assistant to control an ESP32 module via applets, feed data, and a dashboard. Set triggers for on and off states.
Work through an ESP32 IoT project that uses a lightweight publish-subscribe protocol to publish and subscribe messages, control a USB device via a dashboard, and manage credentials and feeds.
Explore building a home automation project with the ESP32, wiring a relay, and controlling it via a dashboard and Google Home Assistant, including turning on/off and observing the delay indicator.
Learn and implement programs, a plethora of rich features, and other fundamental concepts to be able to tame this powerful beast - The ESP32 Microcontroller.
Become Proficient at using The ESP32 Microcontroller with this Comprehensive Course
Learn about IoT
Arduino IDE 2.0 Installation
Grasp Basic Electrical Concepts
Get well versed with ESP32 & its specifications
Understand and Implement various features provided by the ESP32
A capstone project which is a basic building block of a Home Automation System
Excel at ESP32 to upskill your knowledge
Learn about the ESP32, a powerful microcontroller, which has so many features like Wifi, Bluetooth, Dual-Core processors and so much more, all packed into one small unit. That too at a very low price.
This course is designed to explore all of these features with a very practical approach. If there is one goal of our course, it's to give you enough knowledge and confidence to go out there and build your own projects, which is the true essence of this course.
Overview of the Course:
This course is suitable for beginners and currently stands with 90+ lectures which last about nearly 7.5 hours. By taking this course, you'll be able to learn everything that one needs to know about ESP32 and hence give you enough confidence to build projects on your own.
We start off with a brief introduction to IoT and then move on to ESP32's hardware specifications and finally, we learn and implement the various rich features it provides us with.
Most of our course is filled with demonstration videos - writing code, wiring up circuits, and getting the desired output. These are accompanied by theoretical videos for a better understanding. But this is not a course wherein we just use slides and explain everything in a monotonous voice.
To keep things interesting, we've included quizzes and coding assignments as well. These are not too difficult that will make you tear your hair out, but just hard enough to pique your interests.
To make it easier for you to keep in track with the course, we have added external resources which include codes & circuits that we've used in the videos as well as proper documentation with all the information that has been covered in the theoretical videos and much more.
Complete with working files and code samples, you’ll be able to work alongside the instructors as you work through each concept, and will receive a verifiable certificate of completion upon finishing the course