The ESP-32 DEVKIT-V1 with Expansion Board, manufactured by Espressif, is a versatile development board designed for IoT and embedded applications. It features the powerful ESP32 chip, which integrates Wi-Fi and Bluetooth capabilities, making it ideal for wireless communication projects. The included expansion board provides additional GPIO pins, sensor interfaces, and prototyping options, making it a comprehensive solution for developers.
Parameter | Specification |
---|---|
Microcontroller | ESP32 (dual-core Xtensa LX6 processor) |
Clock Speed | Up to 240 MHz |
Flash Memory | 4 MB (varies by model) |
SRAM | 520 KB |
Wi-Fi | 802.11 b/g/n |
Bluetooth | Bluetooth 4.2 and BLE |
Operating Voltage | 3.3V |
Input Voltage (VIN) | 5V (via USB or external power supply) |
GPIO Pins | 30+ (varies with expansion board configuration) |
ADC Channels | 18 (12-bit resolution) |
DAC Channels | 2 (8-bit resolution) |
Communication Interfaces | UART, SPI, I2C, I2S, CAN, PWM |
Power Consumption | Ultra-low power modes available |
Pin Name | Description |
---|---|
VIN | Input power supply (5V) |
GND | Ground |
3V3 | 3.3V output |
EN | Enable pin (active high) |
IO0 | GPIO0, used for boot mode selection |
IO2 | GPIO2, general-purpose I/O |
IO4 | GPIO4, general-purpose I/O |
IO5 | GPIO5, general-purpose I/O |
IO12 | GPIO12, general-purpose I/O |
IO13 | GPIO13, general-purpose I/O |
IO14 | GPIO14, general-purpose I/O |
IO15 | GPIO15, general-purpose I/O |
IO16 | GPIO16, general-purpose I/O |
IO17 | GPIO17, general-purpose I/O |
IO18 | GPIO18, general-purpose I/O |
IO19 | GPIO19, general-purpose I/O |
IO21 | GPIO21, general-purpose I/O |
IO22 | GPIO22, general-purpose I/O |
IO23 | GPIO23, general-purpose I/O |
IO25 | GPIO25, general-purpose I/O |
IO26 | GPIO26, general-purpose I/O |
IO27 | GPIO27, general-purpose I/O |
IO32 | GPIO32, general-purpose I/O |
IO33 | GPIO33, general-purpose I/O |
IO34 | GPIO34, input-only GPIO |
IO35 | GPIO35, input-only GPIO |
Pin Name | Description |
---|---|
SDA | I2C Data Line |
SCL | I2C Clock Line |
RX | UART Receive |
TX | UART Transmit |
A0-A5 | Analog input pins (connected to ADC channels) |
PWM | Pulse Width Modulation output |
SPI | SPI interface pins (MOSI, MISO, SCK, CS) |
Powering the Board:
Programming the ESP32:
Connecting Peripherals:
Uploading Code:
// Example: Blink an LED connected to GPIO2 on the ESP32
// Ensure the LED is connected with a current-limiting resistor.
#define LED_PIN 2 // GPIO2 is used for the LED
void setup() {
pinMode(LED_PIN, OUTPUT); // Set GPIO2 as an output pin
}
void loop() {
digitalWrite(LED_PIN, HIGH); // Turn the LED on
delay(1000); // Wait for 1 second
digitalWrite(LED_PIN, LOW); // Turn the LED off
delay(1000); // Wait for 1 second
}
Board Not Detected by Computer:
Code Upload Fails:
Wi-Fi Connection Issues:
Random Resets or Instability:
Q: Can I use 5V sensors with the ESP32?
A: Yes, but you must use a level shifter to step down the voltage to 3.3V.
Q: How do I reset the board?
A: Press the "EN" button on the board to reset it.
Q: Can I use the ESP32 with MicroPython?
A: Yes, the ESP32 supports MicroPython. Flash the MicroPython firmware to the board to get started.