The ESP32-DevKitM-1, manufactured by Espressif, is a compact and versatile development board built around the ESP32-MINI-1 module. 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 designed to provide a balance of performance, power efficiency, and ease of use, catering to both beginners and experienced developers.
The ESP32-DevKitM-1 is equipped with the ESP32-MINI-1 module, which is based on the ESP32 chip. Below are the key technical details:
The ESP32-DevKitM-1 features a 20-pin layout. Below is the pin configuration:
Pin Name | Type | Description |
---|---|---|
GND | Power | Ground connection |
3V3 | Power | 3.3V power output |
EN | Input | Enable pin (active high) |
IO0 | GPIO/Boot Mode | GPIO0, also used to enter bootloader mode |
IO1 | GPIO/UART TX | GPIO1, UART TX for serial communication |
IO3 | GPIO/UART RX | GPIO3, UART RX for serial communication |
IO4 | GPIO | General-purpose input/output pin |
IO5 | GPIO | General-purpose input/output pin |
IO12 | GPIO/ADC | GPIO12, can also function as an ADC input |
IO13 | GPIO/ADC | GPIO13, can also function as an ADC input |
IO14 | GPIO/PWM | GPIO14, supports PWM output |
IO15 | GPIO/PWM | GPIO15, supports PWM output |
IO16 | GPIO | General-purpose input/output pin |
IO17 | GPIO | General-purpose input/output pin |
IO18 | GPIO/SPI CLK | GPIO18, SPI clock line |
IO19 | GPIO/SPI MISO | GPIO19, SPI MISO line |
IO21 | GPIO/I2C SDA | GPIO21, I2C data line |
IO22 | GPIO/I2C SCL | GPIO22, I2C clock line |
IO23 | GPIO/SPI MOSI | GPIO23, SPI MOSI line |
VIN | Power | Input voltage (5V) for powering the board |
Powering the Board:
Programming the Board:
Connecting Peripherals:
Uploading Code:
Below is an example of using the ESP32-DevKitM-1 to control an LED via Wi-Fi:
#include <WiFi.h>
// Replace with your network credentials
const char* ssid = "Your_SSID";
const char* password = "Your_PASSWORD";
void setup() {
Serial.begin(115200); // Initialize serial communication
pinMode(2, OUTPUT); // Set GPIO2 as an output pin (connected to an LED)
// Connect to Wi-Fi
Serial.print("Connecting to Wi-Fi");
WiFi.begin(ssid, password);
while (WiFi.status() != WL_CONNECTED) {
delay(500);
Serial.print(".");
}
Serial.println("\nWi-Fi connected!");
}
void loop() {
digitalWrite(2, HIGH); // Turn the LED on
delay(1000); // Wait for 1 second
digitalWrite(2, LOW); // Turn the LED off
delay(1000); // Wait for 1 second
}
The board is not detected by the computer:
Code upload fails:
Wi-Fi connection issues:
GPIO pin not working as expected:
Can the ESP32-DevKitM-1 operate on battery power? Yes, you can power the board using a 3.7V LiPo battery connected to the 3V3 pin, but ensure proper regulation.
What is the maximum current output of the GPIO pins? Each GPIO pin can source or sink up to 12 mA safely.
Is the ESP32-DevKitM-1 compatible with Arduino libraries? Yes, most Arduino libraries are compatible with the ESP32, but some may require modifications.
This concludes the documentation for the ESP32-DevKitM-1. For further details, refer to the official Espressif documentation.