ESP32 for IoT Tutorial

ESP32 for IoT Tutorial

This tutorial, as the title suggests, enables you to get started with ESP32. ESP32 is a System on Chip (SoC) microcontroller that has gained prominence in the Internet of Things (IoT) space. This tutorial gives you a brief overview of IoT, before introducing you to ESP32. We discuss why ESP32 has gained prominence, and why it makes sense to be familiar with ESP32 if you are working in the IoT domain. The chapters specific to ESP32 have been structured such that you get a flavor of all the major areas specific to IoT: sensing data, processing, storing and displaying data, and transmitting data. We also discuss some firmware features that are essential for IoT devices: RTC (Realtime Clock) and OTA (Over The Air) updates. Finally, we discuss the applications of ESP32, focusing specifically on the problem of scale (i.e., how should you decide whether to use ESP32 or not if you are producing thousands or lakhs of devices). In the end, we look at areas not covered in this tutorial, that you can take up for future exploration.

All the non−theory chapters contain a code walkthrough. All the code sketches are uploaded on GitHub and links are provided in the corresponding chapters. This will allow you to download/ clone the sketches on your local machine. Also, code snippets are provided in the chapters to ensure continuity and longevity. You will not have to open multiple tabs just to understand the code.


This tutorial is ideal for students/ professionals of an engineering background who are working in IoT or wish to make inroads in IoT or are enthusiastic about IoT in general. People who are not from an engineering background can also benefit from this tutorial, provided they have programming experience.


It is necessary to have some programming experience (preferably in C/ C++) to fully benefit from this tutorial. Experience of working with a microcontroller, especially using the Arduino IDE, will be beneficial but is not mandatory.