🌐 Idioma / Language: English English Português Português Español Español

Tuesday, October 28, 2025

NodeMCU ESP32 DevKitC: Pinout - Features!

NodeMCU ESP32 DevKitC: Pinout - Features! - elcircuits.com
NodeMCU ESP32 DevKitC: Pinout - Features!

🌐 You can read this article in: Português | Español

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:

1

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.

2

Power Management

The ESP32 offers several power-saving modes. For battery-powered projects, explore the Deep Sleep and Hibernation modes to maximize battery life.

3

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.

4

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.

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!

No comments:

Post a Comment