Skip to content

ESP32 WiFi Configuration Tutorial


The ESP32 is a powerful microcontroller that comes with built-in WiFi capabilities. With this feature, it is possible to connect the ESP32 to the internet and even use it to create a WiFi hotspot. In this tutorial, we will guide you through the process of configuring the WiFi module of the ESP32.

WiFi Configuration Steps

  1. Include the WiFi library: To use the WiFi module, we need to include the WiFi library at the beginning of our code. This is done by adding the following line of code:
#include <WiFi.h>
  1. Set up the WiFi connection: Next, we need to set up the WiFi connection. This is done by creating a new instance of the WiFi class and using it to connect to the WiFi network. Here is an example of how to do this:
const char* ssid = "your_SSID";
const char* password = "your_PASSWORD";

WiFi.begin(ssid, password);
  1. Wait for WiFi connection: After starting the WiFi connection, we need to wait for the ESP32 to connect to the WiFi network. This is done by using the WiFi.status() function to check the status of the WiFi connection. Here is an example of how to do this:
<sider-code-explain id="sider-code-explain" data-gpts-theme="light"></sider-code-explain><code>while (WiFi.status() != WL_CONNECTED) {
  Serial.println("Connecting to WiFi...");
  1. Print the IP address: Once the ESP32 is connected to the WiFi network, we can print the IP address of the ESP32 to the Serial Monitor. This is done by using the WiFi.localIP() function. Here is an example of how to do this:

Security Considerations

When configuring the WiFi module of the ESP32, it is important to consider security. Here are some best practices to keep in mind:

Use a Strong Password

Always use a strong password for your WiFi network. A weak password can be easily cracked by hackers, leaving your ESP32 and other devices on your network vulnerable to attack.

Do Not Hardcode Your WiFi Credentials

Never hardcode your WiFi credentials in your code. Hardcoding makes it easy for attackers to gain access to your network, as your credentials will be openly available in the code. Instead, consider using a separate configuration file or inputting them through the Serial Monitor.


When making web requests with the ESP32, consider using HTTPS instead of HTTP. HTTPS encrypts the data transmitted between the ESP32 and the server, making it more difficult for attackers to intercept and read.

Disable the WiFi Hotspot Feature

If you are not using the hotspot feature, it is best to disable it. The hotspot feature can be a security risk if not configured properly, as it can allow unauthorized access to your network.


Configuring the WiFi module of the ESP32 is a straightforward process that can enable powerful internet-connected projects. By following the steps in this tutorial and keeping security considerations in mind, you can create robust and secure ESP32 projects with WiFi capabilities. Be sure to use a strong password, avoid hardcoding credentials, use HTTPS, and disable the hotspot feature when not in use. With these precautions in place, you can take full advantage of the ESP32's WiFi capabilities and build amazing projects that are both functional and secure.

Power Consumption Considerations

When designing a project with the ESP32 and WiFi capabilities, it is important to consider power consumption. WiFi connectivity can be a significant drain on the ESP32's battery, so it is important to optimize your code and configuration to minimize power consumption.

One way to reduce power consumption is to use the WiFi.disconnect() function when the ESP32 is not actively using the WiFi network. This function will disconnect the ESP32 from the network, saving power. You can also use the WiFi.mode(WIFI_OFF) function to turn off the WiFi module entirely when it is not needed.

Another way to reduce power consumption is to increase the sleep time of the ESP32. The ESP32 can be put into deep sleep mode, which uses very little power. When the ESP32 is in deep sleep mode, it can still be woken up by an interrupt or timer, allowing it to perform its intended function.

Troubleshooting WiFi Connectivity Issues

If you are having trouble connecting the ESP32 to your WiFi network, there are several steps you can take to troubleshoot the issue. Here are a few things to try:

Double-check Your Credentials

Make sure that the SSID and password you are using to connect to your WiFi network are correct. A simple typo or mistake can prevent the ESP32 from connecting.

Check Your WiFi Signal Strength

If the WiFi signal strength is weak, the ESP32 may have trouble connecting to the network. Try moving the ESP32 closer to the router or using a WiFi signal booster to improve the signal strength.

Check Your Router Configuration

Make sure that your router is configured to allow the ESP32 to connect to the network. Some routers may have security settings or other configurations that prevent new devices from joining the network.

Increase the Connection Timeout

If the ESP32 is having trouble connecting to the network, you can increase the connection timeout using the WiFi.begin(ssid, password, timeout) function. This will give the ESP32 more time to connect to the network before timing out.


Configuring the WiFi module of the ESP32 is a powerful tool that enables many new possibilities for your projects. By following the steps in this tutorial, you can easily set up the WiFi connection of your ESP32 and take full advantage of its capabilities. Remember to keep security and power consumption considerations in mind, and troubleshoot any connectivity issues that arise. With these tips, you will be well on your way to building amazing projects with the ESP32's WiFi capabilities.