

The ESP32 DevKit V1, manufactured by Espressif, is a versatile development board built around the ESP32 chip. It features integrated Wi-Fi and Bluetooth capabilities, making it an excellent choice for Internet of Things (IoT) applications, smart devices, and rapid prototyping. The board is compact, powerful, and supports a wide range of peripherals, making it suitable for both beginners and experienced developers.








The ESP32 DevKit V1 is based on the ESP32-WROOM-32 module and offers the following key specifications:
| Specification | Details |
|---|---|
| Microcontroller | ESP32 dual-core Xtensa LX6 processor |
| Clock Speed | Up to 240 MHz |
| Flash Memory | 4 MB (varies by model) |
| SRAM | 520 KB |
| Wireless Connectivity | Wi-Fi 802.11 b/g/n, Bluetooth v4.2 + BLE |
| Operating Voltage | 3.3V |
| Input Voltage (VIN) | 5V (via USB or external power supply) |
| GPIO Pins | 30 to 38 (varies by board version) |
| ADC Channels | 18 (12-bit resolution) |
| DAC Channels | 2 |
| Communication Interfaces | UART, SPI, I2C, I2S, CAN, PWM |
| Power Consumption | Ultra-low power consumption with multiple power modes |
| Dimensions | Approx. 54 mm x 27 mm |
The ESP32 DevKit V1 has a total of 30 pins. Below is the pinout description:
| Pin | Name | Description |
|---|---|---|
| 1 | EN | Reset pin. Active HIGH. |
| 2 | IO0 | GPIO0. Used for boot mode selection during programming. |
| 3 | IO1 (TX0) | GPIO1. UART0 TX pin. |
| 4 | IO3 (RX0) | GPIO3. UART0 RX pin. |
| 5 | IO4 | GPIO4. General-purpose I/O pin. |
| 6 | IO5 | GPIO5. General-purpose I/O pin. |
| 7 | IO12 | GPIO12. Can be used as an ADC or touch sensor input. |
| 8 | IO13 | GPIO13. Can be used as an ADC, PWM, or touch sensor input. |
| 9 | IO14 | GPIO14. Can be used as an ADC, PWM, or touch sensor input. |
| 10 | IO15 | GPIO15. Can be used as an ADC, PWM, or touch sensor input. |
| 11 | IO16 | GPIO16. General-purpose I/O pin. |
| 12 | IO17 | GPIO17. General-purpose I/O pin. |
| 13 | IO18 | GPIO18. SPI clock pin (SCK). |
| 14 | IO19 | GPIO19. SPI MISO pin. |
| 15 | IO21 | GPIO21. I2C SDA pin. |
| 16 | IO22 | GPIO22. I2C SCL pin. |
| 17 | IO23 | GPIO23. SPI MOSI pin. |
| 18 | GND | Ground pin. |
| 19 | 3V3 | 3.3V power output. |
| 20 | VIN | Input voltage (5V). |
Note: Some GPIO pins have specific functions during boot and should be used with caution. Refer to the ESP32 datasheet for detailed information.
Powering the Board:
Programming the Board:
ESP32 Dev Module) and port in the Arduino IDE.Connecting Peripherals:
Wi-Fi and Bluetooth Setup:
WiFi.h and BluetoothSerial.h) to enable wireless communication.Here is an example of how to blink an LED connected to GPIO2:
// Define the GPIO pin where the LED is connected
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
}
This example demonstrates how to connect the ESP32 to a Wi-Fi network:
#include <WiFi.h>
// Replace with your network credentials
const char* ssid = "Your_SSID";
const char* password = "Your_PASSWORD";
void setup() {
Serial.begin(115200); // Start the serial communication
WiFi.begin(ssid, password); // Connect to Wi-Fi
// Wait for the connection to establish
while (WiFi.status() != WL_CONNECTED) {
delay(1000);
Serial.println("Connecting to Wi-Fi...");
}
Serial.println("Connected to Wi-Fi!");
Serial.print("IP Address: ");
Serial.println(WiFi.localIP());
}
void loop() {
// Add your main code here
}
ESP32 Not Detected by Computer:
Upload Fails with "Failed to Connect" Error:
BOOT button while uploading the code.Wi-Fi Connection Issues:
Random Resets or Instability:
Q: Can I use the ESP32 DevKit V1 with 5V sensors?
A: The ESP32 operates at 3.3V logic. Use a level shifter to interface with 5V sensors.
Q: How do I reset the ESP32?
A: Press the EN button on the board to reset the ESP32.
Q: Can I use the ESP32 for battery-powered projects?
A: Yes, the ESP32 supports low-power modes, making it suitable for battery-powered applications.
Q: What is the maximum range of the ESP32's Wi-Fi?
A: The range depends on environmental factors but typically extends up to 100 meters in open spaces.
This concludes the documentation for the ESP32 DevKit V1. For more details, refer to the official Espressif documentation.