ESP32 is a powerful SoC with dual-core Microcontroller, Wi-Fi and Bluetooth Connectivity and a load of on-chip peripherals (ADC, DAC, I2C SPI, PWM, Ethernet, etc.). If you are starting to work with ESP32 and looking for some reference / how-to guide, then you have come to the right place. Here is a list of ESP32 Projects aimed at both beginners as well as advanced users.
As we make progress with exploring ESP32 and implement more ESP32 Projects, I will update the list with new and interesting projects.
- Getting Started with ESP32 | An Introduction to ESP32
- How to Program ESP32 with Arduino IDE?
- ESP32 Pinout | ESP-WROOM-32 Pinout
- ESP32 OLED Display Tutorial
- A Tutorial on Interfacing PCF8574 I2C LCD Display with ESP32
- ESP32 Nokia 5110 LCD Display Tutorial
- In-depth ESP32 PWM Tutorial
- How to use ADC in ESP32?
- ESP32 Web Server Tutorial
- ESP32 Servo Control Project
Getting Started with ESP32 | An Introduction to ESP32
Description: This is the complete beginner’s guide to Getting Started with ESP32. If you are new to the World of ESP32 and are looking for an introduction to ESP32 Development Board, then this tutorial is just for you. You will learn about the ESP32 SoC, its specifications, the ESP32 DevKit Development Board and also its pinout.
How to Program ESP32 with Arduino IDE?
Description: After reading the Getting Starting with ESP32 guide, you will be pumped to write your first program and upload it to ESP32. In this tutorial, you will learn how to program ESP32 using Arduino IDE. I will explain all the necessary steps for programming ESP32 like installing additional boards for Arduino IDE, selecting the right ESP32 board, writing your first program and uploading it.
ESP32 Pinout | ESP-WROOM-32 Pinout
Description: The pinout information of any new hardware is very important to learn as you will understand the functions each pin is capable of. In this tutorial, you will learn the ESP32 Pinout, the pinout of ESP-WROOM-32, which is the baseboard on ESP32 Development Board and also some important peripherals of ESP32. Additionally, you will also learn what pins are safe to use and what pins shouldn’t be used in your projects.
ESP32 OLED Display Tutorial
Description: An OLED display is a versatile display module which can be integrated in your DIY projects based on ESP32. It can display text, different fonts and sizes of text, graphics, animations, custom symbols etc. Use this tutorial to understand how to interface an SPI type OLED display to ESP32 Board.
A Tutorial on Interfacing PCF8574 I2C LCD Display with ESP32
Description: A regular 16×2 LCD Display is a simple yet very useful display device which you can use in your ESP32 projects to display simple alpha-numeric information. But instead of using a 8-bit or 4-bit parallel connection, this tutorial will show you how to interface a PCF8574 I2C LCD Module display with ESP32.
ESP32 Nokia 5110 LCD Display Tutorial
Description: Another very simple display modules available today is the Nokia 5110 LCD. With small form factor and decent resolution of 84×48 pixels, you can use the Nokia 5110 LCD with ESP32 in your Wi-Fi related DIY projects for displaying vital information. This tutorial has the complete information on how to interface Nokia 5110 LCD Display with ESP32.
In-depth ESP32 PWM Tutorial
Description: PWM is a great technique for several projects like RGB LED Control, Motor Speed Control, adjust Servo position etc. Like all modern Microcontrollers, the ESP32 SoC also has a PWM Block, with 16 independent channels. The PWM Controller is further divided into two blocks: LEDC PWM (ideal for RBG LEDs) and MCPWM (for Motor Control). Learn everything about PWM in ESP32, how to configure the LEDC PWM Controller (like frequency, resolution, channels etc.) in this ESP32 PWM Tutorial.
How to use ADC in ESP32?
Description: Analog to Digital Converters or simply ADCs are always a special peripheral in a Microcontroller and ESP32 is no exception. ADC is used to read external analog voltages (either from sensors or devices like potentiometers) and convert it to digital values to be interpret by the processor. ESP32 has a 12-bit SAR type ADC with 18-channels. In this tutorial, learn how to use the ADC in ESP32 by measuring analog voltage (applied with the help of a Potentiometer).
ESP32 Web Server Tutorial
Description: One of the main selling points of ESP32 is its ability to connect to WiFi. Exploring this feature, you can create a Web Server and host web pages in ESP32, to be accessed by web clients (usually, web browsers in mobile phones or laptops). In this tutorial, learn everything about how to setup a Web Server using ESP32. In the process, learn how to create a simple web page to be hosted by ESP32 to control two LEDs.
ESP32 Servo Control Project
Description: If you ever worked on a Robotic project, chances are you have worked with a Servo Motor. Even if you haven’t worked with a Servo Motor before but want to interface one with ESP32 Board, then this tutorial is just for you. In this in-depth ESP32 Servo Control tutorial, learn everything about configuring the PWM Channels for Servo Motors, measuring the limits of duty cycle, control the Servo using a Potentiometer and finally create a Web Controlled Application for adjusting the position of the servo from a web page.