

The ESP32-DevKitM-1 is a compact development board based on the ESP32-MINI-1 module, which integrates the powerful ESP32 chip. This board is equipped with dual-mode Wi-Fi and Bluetooth capabilities, making it an excellent choice for Internet of Things (IoT) applications. Its small form factor and versatile GPIO pins allow developers to interface with a wide range of sensors, actuators, and other peripherals.








The ESP32-DevKitM-1 is designed to provide robust performance in a compact package. Below are its key technical details:
The ESP32-DevKitM-1 features a 16-pin layout. Below is the pinout and description:
| Pin | Name | Function |
|---|---|---|
| 1 | GND | Ground pin |
| 2 | 3V3 | 3.3V power output |
| 3 | EN | Enable pin (active high, used to reset the chip) |
| 4 | IO0 | GPIO0 (can also be used for boot mode selection) |
| 5 | IO1 | GPIO1 (UART TX by default) |
| 6 | IO3 | GPIO3 (UART RX by default) |
| 7 | IO4 | GPIO4 (configurable digital I/O) |
| 8 | IO5 | GPIO5 (configurable digital I/O) |
| 9 | IO12 | GPIO12 (configurable digital I/O, ADC, or touch input) |
| 10 | IO13 | GPIO13 (configurable digital I/O, ADC, or touch input) |
| 11 | IO14 | GPIO14 (configurable digital I/O, ADC, or touch input) |
| 12 | IO15 | GPIO15 (configurable digital I/O, ADC, or touch input) |
| 13 | IO16 | GPIO16 (configurable digital I/O) |
| 14 | IO17 | GPIO17 (configurable digital I/O) |
| 15 | GND | Ground pin |
| 16 | 5V | 5V power input (via USB or external power supply) |
The ESP32-DevKitM-1 is versatile and easy to use in a variety of projects. Below are the steps and best practices for using this development board.
Powering the Board:
Programming the Board:
Connecting Peripherals:
Uploading Code:
Below is an example of how to use the ESP32-DevKitM-1 to read data from a DHT11 temperature and humidity sensor and send it to a serial monitor:
#include <WiFi.h>
#include <DHT.h>
// Define the DHT sensor type and pin
#define DHTPIN 4 // GPIO4 is connected to the DHT sensor
#define DHTTYPE DHT11 // DHT11 sensor type
DHT dht(DHTPIN, DHTTYPE);
void setup() {
Serial.begin(115200); // Initialize serial communication
dht.begin(); // Initialize the DHT sensor
Serial.println("ESP32 DHT11 Example");
}
void loop() {
delay(2000); // Wait 2 seconds between readings
// Read temperature and humidity values
float humidity = dht.readHumidity();
float temperature = dht.readTemperature();
// Check if the readings are valid
if (isnan(humidity) || isnan(temperature)) {
Serial.println("Failed to read from DHT sensor!");
return;
}
// Print the readings to the serial monitor
Serial.print("Humidity: ");
Serial.print(humidity);
Serial.print("% Temperature: ");
Serial.print(temperature);
Serial.println("°C");
}
Board Not Detected by Computer:
Code Upload Fails:
Wi-Fi Connection Issues:
Unstable Operation:
By following this documentation, you can effectively use the ESP32-DevKitM-1 in your IoT and embedded systems projects.