|
| NodeMCU ESP32 DevKitC: Pinout - Features! |
What is the ESP32-DevKitC and why is it so popular?
The ESP32-DevKitC is a compact and powerful development board that has been winning over the maker community and IoT professionals. As part of the ESP32 series, this board integrates complete Wi-Fi and Bluetooth functionalities, making it an ideal choice for projects that require wireless connectivity.
Imagine having a "brain" for your electronic projects that not only processes information but also connects to the internet and other wireless devices. That's exactly what the ESP32-DevKitC offers! Its rich variety of peripherals and I/O pins strategically distributed on both sides of the board facilitate connection with sensors, actuators, and other components, whether through jumper cables or direct mounting on a breadboard.
💡 Expert Tip:
The ESP32-DevKitC is especially popular among IoT developers due to its low power consumption, dual-core processing, and excellent documentation from Espressif.
Essential Technical Features of the ESP32-DevKitC
Before diving into the detailed pinout, let's understand the features that make the ESP32-DevKitC such a versatile board:
Processing
- Dual-core Tensilica LX6 processor
- Speed up to 240 MHz
- 520 KB of SRAM
Connectivity
- Wi-Fi 802.11 b/g/n
- Bluetooth v4.2 BR/EDR and BLE
- Low power consumption mode
Peripherals
- 34 programmable GPIOs
- 12-bit ADC and DAC
- Interfaces: SPI, I2C, UART, I2S
Detailed Pinout of the ESP32-DevKitC V4
The correct pinout is fundamental to take full advantage of your ESP32-DevKitC. In Tables 1 and 2 below, we present the complete pinout of the ESP32-DevKitC V4 module, which comes with the ESP32-WROOM-32 module soldered. The first table represents the pins on the left side, while the second shows the pins on the right side.
📖 How to interpret the tables:
Each pin can have multiple functions. For example, pin IO36 can be used as GPIO36 (digital input/output), ADC1_CH0 (analog-to-digital converter, channel 0) or S_VP (sensor input). The choice of function depends on the needs of your project.
Left Side of Module Pins
| Pin No. | Name | Type | Function |
|---|---|---|---|
| 1 | 3V3 | P | 3.3 V power supply |
| 2 | PT | I | CHIP_PU, Reset |
| 3 | IO36 | I | GPIO36, ADC1_CH0, S_VP |
| 4 | IO39 | I | GPIO39, ADC1_CH3, S_VN |
| 5 | IO34 | I | GPIO34, ADC1_CH6, VDET_1 |
| 6 | IO35 | I | GPIO35, ADC1_CH7, VDET_2 |
| 7 | IO32 | I/O | GPIO32, ADC1_CH4, TOUCH_CH9, XTAL_32K_P |
| 8 | IO33 | I/O | GPIO33, ADC1_CH5, TOUCH_CH8, XTAL_32K_N |
| 9 | IO25 | I/O | GPIO25, ADC1_CH8, DAC_1 |
| 10 | IO26 | I/O | GPIO26, ADC2_CH9, DAC_2 |
| 11 | IO27 | I/O | GPIO27, ADC2_CH7, TOUCH_CH7 |
| 12 | IO14 | I/O | GPIO14, ADC2_CH6, TOUCH_CH6, MTMS |
| 13 | IO12 | I/O | GPIO12, ADC2_CH5, TOUCH_CH5, MTDI |
| 14 | GND | G | Ground |
| 15 | IO13 | I/O | GPIO13, ADC2_CH4, TOUCH_CH4, MTCK |
| 16 | IO9 | I/O | GPIO9, D2 |
| 17 | IO10 | I/O | GPIO10, D3 |
| 18 | IO11 | I/O | GPIO11, CMD |
| 19 | 5V0 | P | 5 V power supply |
Right Side of Module Pins
| Pin No. | Name | Type | Function |
|---|---|---|---|
| 1 | GND | G | Ground |
| 2 | IO23 | I/O | GPIO23 |
| 3 | IO22 | I/O | GPIO22 |
| 4 | IO1 | I/O | GPIO1, U0TXD |
| 5 | IO3 | I/O | GPIO3, U0RXD |
| 6 | IO21 | I/O | GPIO21 |
| 7 | GND | G | Ground |
| 8 | IO19 | I/O | GPIO19 |
| 9 | IO18 | I/O | GPIO18 |
| 10 | IO5 | I/O | GPIO5 |
| 11 | IO17 | I/O | GPIO17 |
| 12 | IO16 | I/O | GPIO16 |
| 13 | IO4 | I/O | GPIO4, ADC2_CH0, TOUCH_CH0 |
| 14 | IO0 | I/O | GPIO0, ADC2_CH1, TOUCH_CH1, Boot |
| 15 | IO2 | I/O | GPIO2, ADC2_CH2, TOUCH_CH2 |
| 16 | IO15 | I/O | GPIO15, ADC2_CH3, TOUCH_CH3, MTDO |
| 17 | IO8 | I/O | GPIO8, D1 |
| 18 | IO7 | I/O | GPIO7, D0 |
| 19 | IO6 | I/O | GPIO6, SCK |
Legend: P: Power supply; I: Input; O: Output; G: Ground.
Special Pins and Their Applications
Some pins of the ESP32-DevKitC deserve special attention due to their specific functions or limitations. Let's explore the most important ones:
Power Pins
- 3V3: 3.3V output (max 250mA)
- 5V0: 5V input for power supply
- GND: Ground pins (multiple)
Communication Pins
- IO1 (TXD0): UART transmission
- IO3 (RXD0): UART reception
- IO21/IO22: I2C standard
- IO18/IO19: SPI standard
Special Pins
- IO0: Boot mode selection
- IO2: Onboard LED (active low)
- IO34/35: Input only
- PT: Reset (CHIP_PU)
Power Supply Options
The ESP32-DevKitC offers flexibility in power supply, allowing you to choose the most suitable option for your project. There are three mutually exclusive ways to power the board:
Option 1: micro-USB Port
This is the most common way to power the ESP32-DevKitC, especially during development. Simply connect a USB cable to a 5V source, such as a computer port or a cell phone charger. This option also allows you to program and debug the device simultaneously.
Option 2: 5V/GND Header Pins
For final applications or when the USB port is not available, you can power directly through the 5V and GND pins. Make sure the source provides a stable 5V voltage and can supply enough current for your project.
Option 3: 3V3/GND Header Pins
This option is useful when you already have a regulated 3.3V source in your project. By powering directly through the 3V3 pin, you bypass the board's voltage regulator, which can be useful in low-power applications.
⚠️ Attention: Flash Memory Pins
The D0, D1, D2, D3, CMD, and CLK pins are used internally for communication between the ESP32 and the SPI flash memory. They are grouped on both sides near the USB connector. Avoid using these pins as they may interfere with access to the SPI flash/SPI RAM memory, causing device malfunctions.
⚠️ Attention: GPIO16 and GPIO17 Pins
The GPIO16 and GPIO17 pins are available for use only on boards with the ESP32-WROOM and ESP32-SOLO-1 modules. Boards with ESP32-WROVER modules have these pins reserved for internal use. Check which module your board has before using these pins in your project.
Practical Tips for Using Your ESP32-DevKitC
Now that you know the pinout and power options, here are some practical tips to make the most of your ESP32-DevKitC:
Programming Mode
To enter programming (flash) mode, keep the IO0 pin at low level (GND) while resetting the board. This is useful when you need to load a new firmware.
Power Management
The ESP32 offers several power-saving modes. For battery-powered projects, explore the Deep Sleep and Hibernation modes to maximize battery life.
Sensitive Pins
The IO34, IO35, IO36, and IO39 pins are input-only and do not have internal pull-up/pull-down resistors. Remember this when connecting buttons or sensors to these pins.
ADC and DAC
The ESP32 has two ADCs (ADC1 and ADC2) and two DACs (on pins IO25 and IO26). Remember that ADC2 shares resources with Wi-Fi, so it may be affected during transmissions.
Inspiring Projects with ESP32-DevKitC
The ESP32-DevKitC is incredibly versatile and can be used in a wide variety of projects. Here are some ideas to inspire your next creation:
🌡️ Weather Station
- Use the ADC pins to connect temperature, humidity, and pressure sensors, and send the data to the cloud via Wi-Fi.
🏠 Home Automation
- Control lights, fans, and other appliances using relays connected to the GPIO pins, with control via a mobile app.
🎵 Bluetooth Audio Stream
- Create your own audio system using the ESP32's Bluetooth capabilities for music streaming.
📷 Surveillance Camera
- Connect a camera module to the ESP32 and create a surveillance system with motion detection and notifications.
📚 Proyectos Relacionados que Pueden Gustarte
Frequently Asked Questions (FAQ)
❓ What is the difference between ESP32-DevKitC and other ESP32 boards?
The ESP32-DevKitC is a basic development board that offers all ESP32 pins accessible through headers. It is more compact than some other variants, but maintains all the functionality of the ESP32 chip. The main difference lies in the physical layout and additional components that each manufacturer includes.
❓ Can I use all GPIO pins simultaneously?
No. Some pins have specific functions or limitations. For example, pins IO6 to IO11 are used for communication with the flash memory, and pins IO34 and IO35 are input-only. Additionally, some peripherals (like I2C, SPI, etc.) use specific pins, which will not be available for other functions when these peripherals are in use.
❓ How do I program the ESP32-DevKitC?
You can program the ESP32-DevKitC using the Arduino IDE (with ESP32 board support installed), PlatformIO, ESP-IDF (Espressif's official framework), or MicroPython. Programming is done through the micro-USB port, which also provides power to the board.
❓ Is the ESP32-DevKitC suitable for beginners?
Yes! Although the ESP32 is more complex than an Arduino UNO, it is quite accessible for beginners, especially if you already have experience with Arduino. The abundance of tutorials, examples, and a large online community make learning easier. We recommend starting with simple projects, like lighting an LED or reading a sensor, before moving on to more complex projects.
🎉 Did you like this guide? Do you have any questions or suggestions?
Leave your comment below! We'd love to hear your opinion and help with your projects.
Source: Espressif
👋 ¡Espero que lo hayas disfrutado!
Si tienes alguna pregunta, sugerencia o corrección, déjala en los
comentarios y te responderemos lo antes posible.
🙏 ¡Suscríbete a nuestro blog! Haz clic aquí: es.elcircuits.com
¡Un saludo!
Si tienes alguna pregunta, sugerencia o corrección, déjala en los comentarios y te responderemos lo antes posible.
🙏 ¡Suscríbete a nuestro blog! Haz clic aquí: es.elcircuits.com
¡Un saludo!

No comments:
Post a Comment