ESP32 GPIO Interrupts using ESP-IDF

In this ESP-IDF tutorial, we will learn to use ESP32 GPIO Interrupts using ESP-IDF. We will demonstrate GPIO Interrupts through an example that uses a push button and an LED. The external interrupt ISR routine will provide a signal to FreeRTOS task functions to control the onboard LED. One of the GPIO pin will be … Read more

ESP32 Timer Interrupt using ESP-IDF

In this tutorial, we will learn how to configure and generate timer interrupts of ESP32 using ESP-IDF. ESP32 have two 64-bit general purpose timer groups and each have 16-bit pre-scalers and 64-bit up/down counters. We will see how to trigger a specific ISR routine based on timer interrupt. The timer interrupts will be configured in … Read more

ESP32 Wi-Fi Scan with ESP-IDF

In this tutorial, we will see how scan all nearby Access Points using ESP32 and ESP-IDF. We will display scanned APs RSSI values, Authentication type and channel. ESP-IDF provides an esp_wifi.h library that we use to perform scanning, connecting with access points and monitor ESP32 Wi-Fi state using different events. This API includes configuration of … Read more

ESP32 SPIFFS using ESP-IDF – Read, Create and Write to Files

In this ESP32 tutorial, we will learn to use ESP32 SPIFFS (SPI flash file system) and how to create, write and read files. Furthermore, we will also see how to upload files to SPIFFS such as text, HTML, CSS and JavaScript files. etc. Additionally, we will see how to create SPIFFS partition in flash of … Read more

ESP32 Touch Sensor using ESP-IDF

In this tutorial, we will discuss how to use ESP32 touch sensor pins using the touch pad driver library provided in ESP-IDF. Before we move ahead, make sure you have the latest version of VS Code installed on your system with the ESP-IDF extension configured. Install ESP32 ESP-IDF on Windows Install ESP32 ESP-IDF on Linux … Read more

ESP32 I2C Communication Tutorial with ESP-IDF

In this tutorial, we will learn about ESP32 I2C communication buses and how to perform master slave communication between two ESP32 development boards using ESP-IDF. We will use I2C driver to demonstrate I2C master (Host) and I2C slave (Device) communication between each other, whereby the master will send a message to the slave to toggle … Read more

ESP-IDF ESP32 Deep Sleep Modes and Wake up Sources

In this tutorial, we will learn about ESP32 deep sleep modes and wake up sources using ESP-IDF. We will show you how to put the ESP32 development board into deep sleep mode. Furthermore, we will also discuss different wake up sources through which ESP32 can go from sleep to normal execution mode such as timer, … Read more

High Resolution Timer (ESP Timer) with ESP-IDF

In this ESP-IDF series of tutorials, we will introduce you to ESP timer API by going through an example (system/esp_timer) provided by ESP-IDF. This high resolution timer APIs feature the creation of multiple timers though a a single hardware timer. Several timers can easily be managed through callback functions thus offering a lesser number of … Read more

ESP32 SPI Master Slave Communication with ESP-IDF

In this tutorial, we will learn about SPI communication and how to perform master slave communication between two ESP32 development boards using ESP-IDF. We will use SPI Slave and SPI Master drivers to demonstrate SPI master (Host) and SPI slave (Device) communication between each other. Before we move ahead, make sure you have the latest … Read more

ESP32 Web Server with ESP-IDF

ESP32 ESP IDF Web server control LED

In this tutorial, we will build an ESP32 web server using ESP-IDF. The web server will be able to control the onboard LED of ESP32 connected with GPIO2. ESP board will host the HTML and CSS file in the form of strings and responds to a web client request with these HTML and CSS. Similarly, … Read more