The ESP32, manufactured by THINGS KIT MINI with the part ID NODEMCU, is a low-cost, low-power system on a chip (SoC) designed for IoT applications. It integrates Wi-Fi and Bluetooth capabilities, making it a versatile and powerful solution for a wide range of projects. The ESP32 is widely used in smart home devices, wearable electronics, industrial automation, and other applications requiring wireless connectivity and efficient processing.
The ESP32 is a feature-rich SoC with the following key specifications:
The ESP32 NODEMCU board has a standard pinout. Below is a table of the most commonly used pins:
Pin Name | Function | Description |
---|---|---|
VIN | Power Input | Input voltage (5V) for powering the board. |
3V3 | Power Output | Regulated 3.3V output for external components. |
GND | Ground | Ground connection. |
EN | Enable | Enables or disables the chip. Active high. |
GPIO0 | General Purpose I/O | Can be used for input, output, or boot mode selection. |
GPIO2 | General Purpose I/O | Default boot mode pin. |
GPIO12-19 | General Purpose I/O | Configurable for digital I/O, ADC, or other functions. |
TXD0, RXD0 | UART Communication | Default UART pins for serial communication. |
ADC1_CH0-7 | Analog Input | 12-bit ADC channels for analog-to-digital conversion. |
DAC1, DAC2 | Digital-to-Analog Converter | 8-bit DAC channels for analog output. |
SCL, SDA | I2C Communication | Clock and data lines for I2C communication. |
SPI Pins | SPI Communication | Includes MOSI, MISO, SCK, and CS for SPI communication. |
BOOT | Boot Mode Selection | Used to enter bootloader mode for flashing firmware. |
Below is an example of how to use the ESP32 with the Arduino IDE to connect to a Wi-Fi network:
#include <WiFi.h> // Include the Wi-Fi library for ESP32
const char* ssid = "Your_SSID"; // Replace with your Wi-Fi network name
const char* password = "Your_Password"; // Replace with your Wi-Fi password
void setup() {
Serial.begin(115200); // Initialize serial communication at 115200 baud
delay(1000); // Wait for a second to stabilize the serial monitor
Serial.println("Connecting to Wi-Fi...");
WiFi.begin(ssid, password); // Start connecting to the Wi-Fi network
while (WiFi.status() != WL_CONNECTED) {
delay(500); // Wait for connection
Serial.print(".");
}
Serial.println("\nWi-Fi connected!");
Serial.print("IP Address: ");
Serial.println(WiFi.localIP()); // Print the assigned IP address
}
void loop() {
// Add your main code here
}
This documentation provides a comprehensive guide to using the ESP32 NODEMCU board effectively in your projects.