El pinado del ESP32 es una de sus mayores fortalezas y una de las fuentes más comunes de confusión. Con una multiplexación intensa, dependencias estrictas del modo arranque y un comportamiento analógico sensible, la selección correcta de pines es importante para un funcionamiento estable. Este artículo organiza claramente todos los principales grupos de pines para que puedas evitar conflictos, evitar fallos de arranque y diseñar hardware fiable basado en ESP32.

Comprensión del pinout ESP32
El ESP32 es un microcontrolador potente y flexible ampliamente utilizado en IoT, automatización y dispositivos inteligentes. Sus capacidades avanzadas provienen de un sistema de pinout altamente multiplexado en el que muchas funciones comparten los mismos pines físicos. Estos incluyen E/S digital, canales ADC, sensores táctiles capacitivos, buses de comunicación, pines de dominio RTC y conexiones internas para la configuración flash y arranque SPI. Como muchas funciones comparten pines, un cableado incorrecto puede causar arranques fallidos, lecturas ruidosas del ADC o desactivar periféricos.
Diseño de pines de ESP32 DevKit

Las placas de desarrollo ESP32 suelen venir en versiones de 30 y 38 pines, ambas exponiendo las mismas funciones principales, pero con pequeñas diferencias en las GPIO disponibles.
Grupos de pines en placas de desarrollo ESP32
| Grupo | Descripción |
|---|---|
| Pasadores de Potencia | VIN (5 V), salida de 3,3 V, GND |
| Pines de control | EN (reinicio), IO0 (modo de arranque) |
| Pines GPIO | E/S digital con multiplexación |
| Pines analógicos | Canales ADC1 y ADC2 |
| Pines de Comunicación | SPI, I2C, UART, I2S |
| Pines solo de entrada | GPIO34–GPIO39 |
| Pines reservados en flash | GPIO6–GPIO11 |
Disposición común de cabeceras
Remate izquierdo
• EN, GPIO36–39, GPIO34–35
• GPIO32–33, 25–27
• VIN, GND, 3,3V
Cabezazo derecho
• GPIO0–23
• Clavos de bota (0, 2, 5, 12, 15)
Entender la distribución física facilita evitar errores y planificar el cableado de forma eficiente.
Visión general de ESP32 GPIO

Los GPIO ESP32 son flexibles gracias a la matriz interna de E/S, que permite mapear periféricos como UART, SPI, I2C y PWM casi en cualquier lugar. Las GPIO soportan entrada/salida digital con resistencias incorporadas de pull-up/down, interrupciones activadas por borde y conmutación fiable a altas velocidades. La corriente típica de accionamiento continuo es de 12–16 mA (picos de hasta ~20–40 mA), por lo que se requieren transductores externos para motores o relés.
Pines solo de entrada
Estos pines no pueden alimentar la salida y son ideales para sensores y entradas analógicas:
| Pin | Tipo | Uso recomendado |
|---|---|---|
| GPIO34 | Solo entrada | ADC1 / sensores |
| GPIO35 | Solo entrada | ADC1 |
| GPIO36 (VP) | Solo entrada | ADC1 / Sensor Hall |
| GPIO39 (VN) | Solo entrada | ADC1 |
Pines ESP32 seguros para usar y pines para evitar

No todos los pines ESP32 se comportan igual. Algunos son seguros, mientras que otros influyen en el modo de arranque o están vinculados a la memoria flash interna.
Pines seguros (recomendados para todos los usuarios)
| GPIOs | Notas |
|---|---|
| 4, 13–19, 21–27, 32, 33 | Sin impacto en el arranque, ideal para la mayoría de los periféricos |
Pines de precaución (Afectar al modo de arranque)
| GPIO | Función de arranque | Evitar durante el arranque |
|---|---|---|
| GPIO0 | Modo flash/arranque | Mantén ALTA (entrada) durante el arranque normal |
| GPIO2 | Voltaje de arranque | Debe de estar ALTO |
| GPIO5 | Modo de arranque opcional | Evita tirar bajo |
| GPIO12 | Modo de voltaje flash | Debe mantenerse BAJO |
| GPIO15 | Modo SPI | Debe mantenerse BAJO |
Estos pines son seguros para su uso normal, pero los componentes externos no deben atraerlos a niveles lógicos inválidos durante el reinicio. Sus funciones detalladas de expulsión se explican en la Sección 9.
Pines restringidos (No usar)
| GPIO | Razón |
|---|---|
| GPIO6–11 | Conectado a memoria flash SPI |
Usar estos puede congelar o bloquear el ESP32.
Pines ADC ESP32

El ESP32 integra dos unidades SAR ADC con diferentes comportamientos operativos:
• ADC1 — Siempre disponible y recomendado para todas las entradas de sensores
• ADC2 — Compartido con el subsistema Wi-Fi y deja de estar disponible siempre que el Wi-Fi está activo
Esta es una de las principales limitaciones del ESP32, haciendo del ADC1 la opción fiable para mediciones en aplicaciones inalámbricas.
| Unidad ADC | Canales | GPIOs | Notas |
|---|---|---|---|
| ADC1 | CH0–CH7 | GPIO32–39 | Mejor opción para sensores |
| ADC2 | CAPÍTOL 0–CAPÍL 9 | 0, 2, 4, 12–15, 25–27 | Inutilizable durante Wi-Fi |
Rango de voltaje y precisión
Los ADC soportan un rango de entrada por defecto de 0–1,1 V, extendible hasta aproximadamente 3,3 V con atenuación. Ambas unidades ADC son no lineales y se benefician de la calibración. El rendimiento analógico puede verse afectado por la actividad interna de RF, por lo que desviar las líneas de los sensores lejos de la antena y añadir filtros RC simples puede mejorar considerablemente la estabilidad. Para proyectos con Wi-Fi, coloque siempre sensores analógicos en ADC1 para asegurar un funcionamiento continuo y sin ruido.
DAC, PWM y pines táctiles ESP32
El ESP32 incluye salidas analógicas integradas y sensores táctiles que simplifican la generación de formas de onda, el atenuado, el control de motores y las interfaces de usuario.
Resumen del DAC

Dos canales DAC de 8 bits emiten voltajes analógicos reales:
| DAC | GPIO |
|---|---|
| DAC1 | GPIO25 |
| DAC2 | GPIO26 |
Los usos comunes incluyen audio simple, formas de onda analógicas, desvanecimiento de LEDs y voltajes de polarización. El rango de salida suele ser de 0 a 3,3 V.
PWM (LEDC)

El módulo LEDC proporciona PWM flexible y de alta resolución:
• 16 canales
• Base temporizadora de hasta 40 MHz
• Resolución de hasta 20 bits
• GPIO totalmente remapeables
Se utiliza para atenuación LED, control de motores, señales servo, tonos de audio y modulación general. Cualquier GPIO puede alojar una salida PWM a través de la matriz GPIO.
Pines del sensor táctil

Los 10 touchpads capacitivos del ESP32 detectan la proximidad de los dedos y son útiles para botones táctiles, deslizadores y gatillos de despertar.
| Touchpad | GPIO |
|---|---|
| T0–T9 | GPIO4, 0, 2, 15, 13, 12, 14, 27, 33, 32 |
Estos sensores incluyen filtrado de ruido y funcionan bien para eventos de estela de baja potencia.
Pines de comunicación ESP32
El ESP32 incluye un conjunto completo de periféricos de comunicación, cada uno capaz de ser enrutado a múltiples pines a través de la flexible matriz GPIO. Esto permite asignar interfaces como I2C, SPI y UART prácticamente en cualquier lugar, facilitando disposiciones de placa altamente personalizables y combinaciones de periféricos.
I2C (Pines predeterminados y personalizados)

El ESP32 incluye dos controladores I2C, con total flexibilidad sobre la selección de pines. Aunque la mayoría de las placas de desarrollo utilizan los pines por defecto, tanto SDA como SCL pueden reasignarse a casi cualquier GPIO.
| Señal | GPIO por defecto | Notas |
|---|---|---|
| SDA | GPIO21 | Totalmente remapeable |
| SCL | GPIO22 | Totalmente remapeable |
Cualquier par de GPIO digitales pueden actuar como SDA y SCL. Soporta tanto el modo estándar (100 kHz), el modo rápido (400 kHz) como el modo rápido plus (1 MHz según la placa). Soporta pull-ups internos en algunas placas, pero se recomiendan resistencias externas de 4,7 kΩ para una comunicación estable. Esta flexibilidad hace que el ESP32 sea ideal para sistemas que requieren múltiples sensores o un enrutamiento de pines poco convencional.
El ESP32 incluye múltiples buses SPI, con HSPI y VSPI disponibles para dispositivos de usuario. Ambos soportan reasignación a través de la matriz GPIO, pero la mayoría de placas y librerías utilizan la siguiente configuración VSPI predeterminada, que evita conflictos con conexiones flash internas:
Mapeo VSPI por defecto
• SCK → GPIO18
• MISO → GPIO19
• MOSI → GPIO23
• CS → GPIO5
El VSPI suele ser preferido para pantallas, tarjetas SD y periféricos de alta velocidad. Aunque los pines son reasignables, usar los valores predeterminados garantiza la máxima compatibilidad y reduce los problemas de temporización sin repetir restricciones ya cubiertas en secciones anteriores.
UART (Serial)

El ESP32 incluye tres controladores UART, con enrutamiento flexible que permite que cualquier pin UART se mueva a casi cualquier GPIO.
| UART | PIN TX | PIN RX | Propósito principal |
|---|---|---|---|
| UART0 | GPIO1 | GPIO3 | Flasheo, mensajes de arranque, registro serial |
| UART1 | GPIO10 | GPIO9 | Disponible para aplicaciones de usuario |
| UART2 | GPIO17 | GPIO16 | Disponible para aplicaciones de usuario |
Pines ESP32 de Sueño Profundo y RTC
El ESP32 incluye un subsistema de Ultra Bajo Consumo (ULP) y un dominio dedicado de Reloj en Tiempo Real (RTC) que permanecen alimentados incluso cuando la CPU principal y los periféricos están apagados. Esta arquitectura permite un consumo de energía extremadamente bajo, a menudo en el rango de microamperios, lo que hace que el ESP32 sea adecuado para aplicaciones a largo plazo con batería.
El modo de suspensión profunda permite al chip apagar los núcleos principales, la mayoría de los relojes internos y las radios Wi-Fi/Bluetooth, mientras sigue monitorizando los pines y sensores seleccionados a través de los periféricos RTC.

El ESP32 puede despertarse del sueño profundo mediante varios desencadenantes independientes. Cada fuente de estela opera dentro del dominio RTC, que está diseñado para mantenerse activo con un consumo mínimo de energía.
| Tipo de estela | GPIOs / Notas |
|---|---|
| GPIO RTC externo | GPIO32, GPIO33, GPIO25, GPIO26, GPIO27 — soportan activación de bordes o niveles |
| Paneles táctiles capacitivos | T0–T9 — detecta la proximidad o el tacto de los dedos durante el sueño profundo |
| Despertar con temporizador | El temporizador RTC puede despertar el dispositivo tras un intervalo programado |
| Coprocesador ULP | (Opcional) El código personalizado de bajo consumo puede ejecutarse para comprobar los sensores antes de despertar la CPU principal |
Estos pines pertenecen al dominio RTC y permanecen activos incluso cuando la CPU y las GPIO normales están apagadas. Permiten despertar mediante bordes ascendentes/descendentes o simplemente detección de niveles. Comúnmente utilizado para activación en movimiento, interruptores magnéticos y disparadores de baja potencia.
Funciones de arranque, correa y PIN EN de ESP32

El ESP32 utiliza varios pasadores de sujeción que determinan las configuraciones clave del sistema durante el reinicio o el encendido. Estos pines se muestrean solo al arrancar y luego vuelven a la función normal de GPIO. Asegurarse de que no se lleven a niveles inválidos durante el reinicio es útil para un comportamiento de arranque consistente.
Tabla de alfileres para correas
| Pin | Rol de bota | Estado requerido en el botín |
|---|---|---|
| GPIO0 | Selecciona el cargador de arranque / modo flash | LOW = entrar en modo de flash; HIGH = arranque normal |
| GPIO2 | Define nivel de tensión de arranque interno | Debe mantenerse ALTO |
| GPIO5 | Configuración de arranque SPI | Debe mantenerse ALTO |
| GPIO12 | Selecciona voltaje de parpadeo (3,3 V / 1,8 V) | Debe mantenerse BAJO para un flash de 3,3 V |
| GPIO15 | Establece el modo de comunicación SPI durante el arranque | Debe mantenerse BAJO |
Esta sección proporciona la referencia autorizada sobre el comportamiento de los cinturones. Las secciones anteriores resumen solo los efectos prácticos; utiliza esta tabla al asignar pines en PCBs personalizadas o integrar botones y sensores.
PIN EN (Habilitar / Reiniciar)
El pin EN (Enable) actúa como la entrada principal de reinicio para el ESP32.
Comportamiento de PIN EN:
• Al tirar de EN LOW se reinicia el chip inmediatamente.
• Al liberarlo de nuevo en ALTO, enciende los circuitos internos y reinicia la secuencia de arranque.
• En placas de desarrollo (por ejemplo, ESP32-DevKitC, NodeMCU-ESP32), EN está vinculado a la interfaz USB-serie para permitir el reinicio automático durante el flasheo.
Pines de alimentación ESP32

El ESP32 es sensible a la calidad de consumo porque sus radios Wi-Fi y Bluetooth absorben pulsos cortos y de alta amplitud. Una entrega de potencia estable garantiza arranque fiable, reducción de reinicios por cortes de tensión y un rendimiento inalámbrico constante.
Resumen del Power Pin
| Pin | Voltaje | Uso |
|---|---|---|
| VIN | Entrada de 5 V | Alimenta el regulador a bordo (normalmente AMS1117 o ME6211) para generar 3,3 V |
| 3V3 | Salida de 3,3 V | Salida regulada del LDO a bordo; Usado para alimentar la lógica y sensores externos de baja corriente |
| GND | — | Referencia eléctrica y camino de retorno para todos los subsistemas |
Ejemplos recomendados de pines y cableado ESP32
Elegir los pines adecuados en el ESP32 es necesario para un funcionamiento estable, un enrutamiento limpio de señales y evitar conflictos con conexiones de arranque o flash internas. Las siguientes recomendaciones destacan los pines más fiables y libres de conflictos para funciones comunes.
Elecciones de los alfileres
| Función | Mejores pins | Notas |
|---|---|---|
| I2C | 21 (SDA), 22 (SCL) | Par predeterminado probado por hardware; Funciona en la mayoría de los boards. |
| SPI | 18 (SCK), 19 (MISO), 23 (MOSI), 5 (CS) | Estos pines se asignan limpiamente a VSPI y evitan pines conectados por flash. |
| UART | 16 (RX), 17 (TX) | Pines UART2 dedicados, seguros para arranque y depuración. |
| PWM (LEDC) | 4, 16–19, 21–27, 32–33 | Rango de alta flexibilidad; El PWM puede enrutarse a casi cualquier GPIO. |
| ADC | 32–39 (ADC1) | Los canales ADC1 siguen siendo utilizables incluso cuando el Wi-Fi está activo. |
Conclusión
Dominar el pinado del ESP32 elimina las conjeturas y evita muchos de los problemas que aparecen en las versiones reales, desde lecturas ruidosas del ADC hasta bucles de arranque interminables. Al comprender los pines seguros, el comportamiento de los sujetos, la integridad de la energía y el enrutamiento en suspensión profunda, puedes diseñar circuitos que se mantengan estables, predecibles y listos para inalámbricos. Utiliza los mapas de pines y las directrices anteriores como base para proyectos ESP32 sin problemas.
Preguntas frecuentes [FAQ]
¿Cómo configuro PlatformIO para la placa Freenove ESP32-S3 Breakout?
Utiliza la configuración estándar del módulo de desarrollo ESP32-S3. En tu platformio.ini, añade:
[env:esp32s3]
plataforma = espressif32
Tablero = esp32-s3-devkitc-1
Marco = arduino
Esto coincide con el pinout de Freenove, permitiendo compilar y subir normalmente vía USB.
¿Cuántos periféricos puede ejecutar el ESP32 al mismo tiempo?
Gracias a la matriz GPIO, el ESP32 puede ejecutar múltiples funciones I²C, SPI, UART, PWM y ADC simultáneamente, siempre que evites pines restringidos y te mantengas dentro de los límites de CPU y temporización. Los principales cuellos de botella son el ADC2 durante el Wi-Fi y la calidad de la fuente de alimentación, no el número de pines.
¿Por qué se reinicia mi ESP32 al conectar sensores o módulos?
Los reinicios inesperados suelen producirse por caídas de voltaje causadas por ráfagas de Wi-Fi, motores o suministros mal regulados. Utilizar una fuente de 5 V de 1 A o más, añadir condensadores a granel de 10–100 μF y aislar cargas ruidosas previene cortes de tensión.
¿Puedo usar el pin de 3,3 V del ESP32 para alimentar módulos externos?
Sí, pero solo para dispositivos de baja corriente (normalmente por debajo de 300–500 mA, dependiendo del LDO a bordo). Los periféricos de alto consumo como motores, servos y grandes tiras LED deben usar una fuente de alimentación separada para evitar reinicios y sobrecalentamiento.
¿Cómo elijo los mejores pines ESP32 cuando uso varios periféricos?
Prioriza los pines que no se atan, evita GPIO6–11, coloca sensores analógicos en ADC1 y usa pines VSPI/I²C/UART por defecto cuando sea posible. Esto reduce los conflictos y garantiza que todos los periféricos puedan operar juntos sin problemas de reasignación.