

The ESP32 is a low-cost, low-power system on a chip (SoC) developed by Espressif Systems. It features integrated Wi-Fi and Bluetooth capabilities, making it an ideal choice for Internet of Things (IoT) applications, smart devices, and embedded systems. The ESP32 is highly versatile, offering dual-core processing, a wide range of GPIO pins, and support for various communication protocols.








The ESP32 is available in various module configurations, but the following specifications are common across most variants:
The ESP32 has a flexible pinout, but the following table describes the most commonly used pins:
| Pin Name | Function | Description |
|---|---|---|
| GPIO0 | Input/Output, Boot Mode Select | Used for boot mode selection during startup. Can also be used as a GPIO pin. |
| GPIO2 | Input/Output, ADC, PWM | General-purpose pin with ADC and PWM capabilities. |
| GPIO12 | Input/Output, ADC, Touch Sensor | Can function as an ADC input or capacitive touch sensor. |
| GPIO13 | Input/Output, ADC, Touch Sensor | Similar to GPIO12, supports ADC and touch sensing. |
| GPIO15 | Input/Output, ADC, PWM | General-purpose pin with ADC and PWM capabilities. |
| GPIO16 | Input/Output | General-purpose pin. |
| GPIO17 | Input/Output | General-purpose pin. |
| EN | Enable | Active-high pin to enable or reset the chip. |
| 3V3 | Power Supply | Provides 3.3V power to the ESP32. |
| GND | Ground | Ground connection. |
Note: The exact pinout may vary depending on the ESP32 module (e.g., ESP32-WROOM-32, ESP32-WROVER).
The following example demonstrates how to blink an LED connected to GPIO2:
// Define the GPIO pin for the LED
#define LED_PIN 2
void setup() {
// Set the LED pin as an output
pinMode(LED_PIN, OUTPUT);
}
void loop() {
// Turn the LED on
digitalWrite(LED_PIN, HIGH);
delay(1000); // Wait for 1 second
// Turn the LED off
digitalWrite(LED_PIN, LOW);
delay(1000); // Wait for 1 second
}
ESP32 Not Detected by the Computer:
Upload Fails with "Failed to Connect" Error:
Random Resets or Instability:
Wi-Fi Connection Issues:
Q: Can the ESP32 operate on 5V?
Q: How many devices can connect to the ESP32 via Bluetooth?
Q: Can the ESP32 be used without Wi-Fi or Bluetooth?
Q: What is the maximum range of the ESP32's Wi-Fi?
By following this documentation, users can effectively integrate the ESP32 into their projects and troubleshoot common issues.