Embedded Systems with ESP32
Wi-Fi, sensors, motors and IoT projects on a $5 microcontroller.
Taught by Bikash Pandey · Embedded Systems Engineer
What you'll learn
- Set up the Arduino IDE with the ESP32 board package and flash a first sketch, or run MicroPython instead
- Read digital inputs, analogue voltages and I2C sensors such as the BME280 with correct wiring
- Generate PWM with the LEDC peripheral to dim LEDs, position servos and set DC motor speed
- Connect to Wi-Fi and serve a web page that reads sensors and switches outputs
- Publish and subscribe to MQTT topics and display live data on a dashboard
- Add over-the-air updates and deep sleep so a device can run for months on a battery
About this course
The ESP32 is the microcontroller behind a huge share of maker and IoT projects because it pairs Wi-Fi and Bluetooth with plenty of pins for a few dollars. This beginner embedded systems course takes you from unboxing a development board to a battery-powered, over-the-air-updatable IoT device. You will set up the Arduino IDE with the ESP32 core and see the MicroPython alternative, read buttons, analogue sensors and I2C modules such as the BME280, drive LEDs, servos and DC motors with PWM, host a web page that controls hardware over Wi-Fi, publish sensor data to an MQTT broker and dashboard, then add OTA firmware updates and deep sleep for months of battery life. It is written for hobbyists, students and developers who know basic programming but are new to microcontrollers, with complete, runnable sketches in every lesson and no prior electronics knowledge assumed beyond using a breadboard.
Course content
6 lessons- 1Meet the ESP32 and Set Up Your ToolchainChoose an ESP32 variant, install the Arduino IDE board package, flash a blink sketch and try MicroPython.Preview
- 2Digital and Analogue Inputs: Buttons and SensorsRead buttons with pull-ups and debouncing, measure analogue voltages with the ADC, and talk to I2C sensors.
- 3PWM, Servos and DC MotorsUse the LEDC peripheral for PWM, position hobby servos, and drive a DC motor through an H-bridge.
- 4Wi-Fi and a Web-Controlled DeviceJoin a Wi-Fi network, serve a web page from the ESP32, and read sensors and switch outputs from a browser.
- 5MQTT and IoT DashboardsPublish sensor readings to an MQTT broker, subscribe to commands, and show live data on a dashboard.
- 6OTA Updates and Low-Power Battery OperationUpdate firmware over Wi-Fi with ArduinoOTA and use deep sleep to run a sensor node for months on a battery.