

The ESP32 (30 pin) is a powerful microcontroller designed for IoT (Internet of Things) applications and embedded systems. It features built-in Wi-Fi and Bluetooth capabilities, making it an excellent choice for wireless communication projects. With its 30 GPIO pins, the ESP32 offers a wide range of input/output functions, including ADC, DAC, PWM, I2C, SPI, UART, and more. Its versatility and high performance make it a popular choice among hobbyists and professionals alike.








The ESP32 (30 pin) microcontroller is packed with features that make it suitable for a variety of applications. Below are its key technical details:
The ESP32 (30 pin) has a total of 30 pins, each with specific functions. Below is a table summarizing the pin configuration:
| Pin Name | Function | Description |
|---|---|---|
| VIN | Power Input | Input voltage (7-12V) for powering the ESP32. |
| GND | Ground | Ground connection. |
| 3V3 | Power Output | Provides 3.3V output for external components. |
| EN | Enable | Enables or disables the chip. Active high. |
| IO0 | GPIO0 / Boot Mode | General-purpose I/O pin. Used for boot mode selection during programming. |
| IO2 | GPIO2 | General-purpose I/O pin. |
| IO4 | GPIO4 | General-purpose I/O pin. |
| IO5 | GPIO5 | General-purpose I/O pin. |
| IO12 | GPIO12 / ADC / Touch | General-purpose I/O pin with ADC and touch capabilities. |
| IO13 | GPIO13 / ADC / Touch | General-purpose I/O pin with ADC and touch capabilities. |
| IO14 | GPIO14 / ADC / Touch | General-purpose I/O pin with ADC and touch capabilities. |
| IO15 | GPIO15 / ADC / Touch | General-purpose I/O pin with ADC and touch capabilities. |
| IO16 | GPIO16 | General-purpose I/O pin. |
| IO17 | GPIO17 | General-purpose I/O pin. |
| IO18 | GPIO18 / SPI_CLK | General-purpose I/O pin or SPI clock pin. |
| IO19 | GPIO19 / SPI_MISO | General-purpose I/O pin or SPI MISO pin. |
| IO21 | GPIO21 / I2C_SDA | General-purpose I/O pin or I2C data pin. |
| IO22 | GPIO22 / I2C_SCL | General-purpose I/O pin or I2C clock pin. |
| IO23 | GPIO23 / SPI_MOSI | General-purpose I/O pin or SPI MOSI pin. |
| IO25 | GPIO25 / DAC1 | General-purpose I/O pin or DAC output. |
| IO26 | GPIO26 / DAC2 | General-purpose I/O pin or DAC output. |
| IO27 | GPIO27 | General-purpose I/O pin. |
| IO32 | GPIO32 / ADC / Touch | General-purpose I/O pin with ADC and touch capabilities. |
| IO33 | GPIO33 / ADC / Touch | General-purpose I/O pin with ADC and touch capabilities. |
| IO34 | GPIO34 / ADC | Input-only pin with ADC capabilities. |
| IO35 | GPIO35 / ADC | Input-only pin with ADC capabilities. |
| RX0 | UART0_RX | UART0 receive pin. |
| TX0 | UART0_TX | UART0 transmit pin. |
| RST | Reset | Resets the microcontroller. |
Powering the ESP32:
Programming the ESP32:
Connecting Peripherals:
The following example demonstrates how to blink an LED connected to GPIO2:
// Define the LED pin
const int ledPin = 2;
void setup() {
// Set the LED pin as an output
pinMode(ledPin, OUTPUT);
}
void loop() {
// Turn the LED on
digitalWrite(ledPin, HIGH);
delay(1000); // Wait for 1 second
// Turn the LED off
digitalWrite(ledPin, LOW);
delay(1000); // Wait for 1 second
}
ESP32 Not Detected by Computer:
Upload Fails with "Timed Out" Error:
Wi-Fi Connection Issues:
Random Resets or Instability:
Q: Can I power the ESP32 with a 5V power bank?
A: Yes, you can power the ESP32 via the USB port using a 5V power bank.
Q: How many devices can the ESP32 connect to via Bluetooth?
A: The ESP32 supports up to 7 simultaneous Bluetooth connections in BLE mode.
Q: Can I use the ESP32 with a 5V sensor?
A: Yes, but you need a level shifter to convert the 5V signal to 3.3V.
Q: What is the maximum range of the ESP32's Wi-Fi?
A: The range depends on the environment but typically extends up to 100 meters in open space.