- All products
- Development Boards
- ESP32
- ESP32 DEVKIT V1 Type-C Ch340 (30-Pin Version)
- ESP32
Features:
- Dual-Core Processor: Xtensa® 32-bit LX6 dual-core processor running up to 240MHz.
- Built-in Wi-Fi: IEEE 802.11 b/g/n wireless networking support.
- Bluetooth Connectivity: Supports Bluetooth Classic and Bluetooth Low Energy (BLE).
- Type-C USB Interface: Convenient programming and power through USB-C.
- CH340 USB-to-Serial Converter: Reliable communication with computers.
- 30 GPIO Pins: Multiple digital and analog I/O options.
- Multiple Communication Protocols: SPI, I2C, UART, CAN, PWM, I2S, SDIO, and Ethernet support.
- Touch Sensor Inputs: Built-in capacitive touch sensing functionality.
- Deep Sleep Support: Ultra-low power operation for battery-powered projects.
- Arduino IDE Compatible: Fully compatible with Arduino IDE, ESP-IDF, PlatformIO, and MicroPython.
Principle of Work:
The ESP32 integrates a powerful microcontroller and wireless communication hardware into a single chip.
- Program Execution: The dual-core processor executes firmware stored in flash memory.
- Input Acquisition: GPIO pins read data from sensors, switches, and external devices.
- Data Processing: The processor analyzes and processes incoming information.
- Wireless Communication: Wi-Fi and Bluetooth modules transmit and receive data.
- Output Control: GPIOs, PWM outputs, DACs, and communication peripherals control external devices.
- Power Management: Sleep modes reduce power consumption for battery-operated applications.
Interaction with MCU and Peripherals:
- Sensor Interface: Read analog and digital sensors using GPIO and ADC inputs.
- Communication: Connect displays, modules, and peripherals through I2C, SPI, UART, or CAN.
- Wireless Networking: Connect to Wi-Fi networks or Bluetooth devices.
- Cloud Connectivity: Send and receive data from IoT platforms and servers.
- Actuator Control: Drive relays, motors, LEDs, displays, and automation systems.
Pinout (30-Pin Version):

| Pin | Function |
|---|---|
| VIN | 5V Input Power |
| 3V3 | 3.3V Output |
| GND | Ground |
| EN | Reset / Enable |
| VP (GPIO36) | ADC Input Only |
| VN (GPIO39) | ADC Input Only |
| GPIO34 | ADC Input Only |
| GPIO35 | ADC Input Only |
| GPIO32 | ADC / Touch |
| GPIO33 | ADC / Touch |
| GPIO25 | ADC / DAC |
| GPIO26 | ADC / DAC |
| GPIO27 | ADC / Touch |
| GPIO14 | SPI / PWM / Touch |
| GPIO12 | SPI / PWM / Touch |
| GPIO13 | SPI / PWM / Touch |
| GPIO23 | SPI MOSI |
| GPIO22 | I2C SCL |
| GPIO21 | I2C SDA |
| GPIO19 | SPI MISO |
| GPIO18 | SPI CLK |
| GPIO5 | SPI CS |
| GPIO17 | UART2 TX |
| GPIO16 | UART2 RX |
| GPIO4 | Touch / GPIO |
| GPIO2 | GPIO / Boot Function |
| GPIO15 | Touch / GPIO |
| GPIO1 | UART TX0 |
| GPIO3 | UART RX0 |
Applications:
- Internet of Things (IoT) Devices
- Smart Home Automation
- Wireless Sensor Networks
- Industrial Monitoring Systems
- Data Logging Projects
- Robotics and Automation
- Bluetooth Control Systems
- Remote Monitoring Solutions
- Weather Stations
- Smart Agriculture Systems
- Home Security Systems
- Wireless Display Controllers
Circuit Example (Blink LED):
| ESP32 Pin | Component |
|---|---|
| GPIO2 | LED Positive Through 220Ω Resistor |
| GND | LED Negative |
ESP32 GPIO2 ---- 220Ω ---- LED ---- GND
Library:
No external library is required for basic GPIO functionality. For Wi-Fi and Bluetooth applications, the built-in ESP32 Arduino libraries are included automatically when the ESP32 board package is installed.
Code:
#define LED_PIN 2
void setup() {
pinMode(LED_PIN, OUTPUT);
}
void loop() {
digitalWrite(LED_PIN, HIGH);
delay(1000);
digitalWrite(LED_PIN, LOW);
delay(1000);
}
Code Explanation:
- Pin Definition: GPIO2 is assigned to control the LED.
- Initialization: GPIO2 is configured as an output.
- LED ON: Sets GPIO2 HIGH to illuminate the LED.
- LED OFF: Sets GPIO2 LOW to turn the LED off.
- Continuous Loop: Repeats every second.
Technical Specifications:
- Microcontroller: ESP32-WROOM-32
- CPU: Dual-Core Xtensa LX6
- Clock Frequency: Up to 240MHz
- Wireless Connectivity: Wi-Fi 802.11 b/g/n + Bluetooth 4.2 BLE
- USB Interface: USB Type-C
- USB-UART Chip: CH340
- Operating Voltage: 3.3V
- Input Voltage (VIN): 5V
- Flash Memory: Typically 4MB
- SRAM: 520KB
- GPIO Pins: 30-Pin Development Board Layout
- ADC Channels: Up to 18
- DAC Channels: 2
- PWM Channels: 16
- Touch Sensors: 10 Capacitive Touch Inputs
- Operating Temperature: -40°C to +85°C
- Dimensions: Approximately 52mm × 28mm
Resources:
Comparison:
Compared to the ESP8266, the ESP32 offers significantly higher processing power, dual-core architecture, Bluetooth support, more GPIO pins, additional ADC channels, DAC outputs, touch sensing capabilities, hardware encryption, and lower power consumption modes. These improvements make the ESP32 DEVKIT V1 one of the most versatile and widely used development platforms for modern IoT and embedded applications.
Features:
- Dual-Core Processor: Xtensa® 32-bit LX6 dual-core processor running up to 240MHz.
- Built-in Wi-Fi: IEEE 802.11 b/g/n wireless networking support.
- Bluetooth Connectivity: Supports Bluetooth Classic and Bluetooth Low Energy (BLE).
- Type-C USB Interface: Convenient programming and power through USB-C.
- CH340 USB-to-Serial Converter: Reliable communication with computers.
- 30 GPIO Pins: Multiple digital and analog I/O options.
- Multiple Communication Protocols: SPI, I2C, UART, CAN, PWM, I2S, SDIO, and Ethernet support.
- Touch Sensor Inputs: Built-in capacitive touch sensing functionality.
- Deep Sleep Support: Ultra-low power operation for battery-powered projects.
- Arduino IDE Compatible: Fully compatible with Arduino IDE, ESP-IDF, PlatformIO, and MicroPython.
Principle of Work:
The ESP32 integrates a powerful microcontroller and wireless communication hardware into a single chip.
- Program Execution: The dual-core processor executes firmware stored in flash memory.
- Input Acquisition: GPIO pins read data from sensors, switches, and external devices.
- Data Processing: The processor analyzes and processes incoming information.
- Wireless Communication: Wi-Fi and Bluetooth modules transmit and receive data.
- Output Control: GPIOs, PWM outputs, DACs, and communication peripherals control external devices.
- Power Management: Sleep modes reduce power consumption for battery-operated applications.
Interaction with MCU and Peripherals:
- Sensor Interface: Read analog and digital sensors using GPIO and ADC inputs.
- Communication: Connect displays, modules, and peripherals through I2C, SPI, UART, or CAN.
- Wireless Networking: Connect to Wi-Fi networks or Bluetooth devices.
- Cloud Connectivity: Send and receive data from IoT platforms and servers.
- Actuator Control: Drive relays, motors, LEDs, displays, and automation systems.
Pinout (30-Pin Version):

| Pin | Function |
|---|---|
| VIN | 5V Input Power |
| 3V3 | 3.3V Output |
| GND | Ground |
| EN | Reset / Enable |
| VP (GPIO36) | ADC Input Only |
| VN (GPIO39) | ADC Input Only |
| GPIO34 | ADC Input Only |
| GPIO35 | ADC Input Only |
| GPIO32 | ADC / Touch |
| GPIO33 | ADC / Touch |
| GPIO25 | ADC / DAC |
| GPIO26 | ADC / DAC |
| GPIO27 | ADC / Touch |
| GPIO14 | SPI / PWM / Touch |
| GPIO12 | SPI / PWM / Touch |
| GPIO13 | SPI / PWM / Touch |
| GPIO23 | SPI MOSI |
| GPIO22 | I2C SCL |
| GPIO21 | I2C SDA |
| GPIO19 | SPI MISO |
| GPIO18 | SPI CLK |
| GPIO5 | SPI CS |
| GPIO17 | UART2 TX |
| GPIO16 | UART2 RX |
| GPIO4 | Touch / GPIO |
| GPIO2 | GPIO / Boot Function |
| GPIO15 | Touch / GPIO |
| GPIO1 | UART TX0 |
| GPIO3 | UART RX0 |
Applications:
- Internet of Things (IoT) Devices
- Smart Home Automation
- Wireless Sensor Networks
- Industrial Monitoring Systems
- Data Logging Projects
- Robotics and Automation
- Bluetooth Control Systems
- Remote Monitoring Solutions
- Weather Stations
- Smart Agriculture Systems
- Home Security Systems
- Wireless Display Controllers
Circuit Example (Blink LED):
| ESP32 Pin | Component |
|---|---|
| GPIO2 | LED Positive Through 220Ω Resistor |
| GND | LED Negative |
ESP32 GPIO2 ---- 220Ω ---- LED ---- GND
Library:
No external library is required for basic GPIO functionality. For Wi-Fi and Bluetooth applications, the built-in ESP32 Arduino libraries are included automatically when the ESP32 board package is installed.
Code:
#define LED_PIN 2
void setup() {
pinMode(LED_PIN, OUTPUT);
}
void loop() {
digitalWrite(LED_PIN, HIGH);
delay(1000);
digitalWrite(LED_PIN, LOW);
delay(1000);
}
Code Explanation:
- Pin Definition: GPIO2 is assigned to control the LED.
- Initialization: GPIO2 is configured as an output.
- LED ON: Sets GPIO2 HIGH to illuminate the LED.
- LED OFF: Sets GPIO2 LOW to turn the LED off.
- Continuous Loop: Repeats every second.
Technical Specifications:
- Microcontroller: ESP32-WROOM-32
- CPU: Dual-Core Xtensa LX6
- Clock Frequency: Up to 240MHz
- Wireless Connectivity: Wi-Fi 802.11 b/g/n + Bluetooth 4.2 BLE
- USB Interface: USB Type-C
- USB-UART Chip: CH340
- Operating Voltage: 3.3V
- Input Voltage (VIN): 5V
- Flash Memory: Typically 4MB
- SRAM: 520KB
- GPIO Pins: 30-Pin Development Board Layout
- ADC Channels: Up to 18
- DAC Channels: 2
- PWM Channels: 16
- Touch Sensors: 10 Capacitive Touch Inputs
- Operating Temperature: -40°C to +85°C
- Dimensions: Approximately 52mm × 28mm
Resources:
Comparison:
Compared to the ESP8266, the ESP32 offers significantly higher processing power, dual-core architecture, Bluetooth support, more GPIO pins, additional ADC channels, DAC outputs, touch sensing capabilities, hardware encryption, and lower power consumption modes. These improvements make the ESP32 DEVKIT V1 one of the most versatile and widely used development platforms for modern IoT and embedded applications.