que-pines-puedo-usar-esp32

Qué pines puedo usar en un ESP32

En la entrada anterior, vimos en detalle los distintos pines del ESP32, así como sus funciones y utilidades específicas.

Sin embargo, al igual que pasaba con el ESP8266, no todos los pines del ESP32 son igualmente seguros para usar en nuestros proyectos.

Esto es debido debe a que algunos pines desempeñan roles específicos o participan en el proceso de arranque del dispositivo. Utilizar incorrectamente estos pines puede ocasionar conflictos que hagan que no funcione tu proyecto, o incluso que rompas algo.

Si estáis usando un ESP32-S3, tenéis un resumen similar en esta entrada Qué pines puedo usar en un ESP32-S3

Resumen de los pines

Por lo tanto, es muy útil tener una tabla de referencia que nos proporcione información clara y precisa sobre qué pines son seguros para su utilización y cuáles tienen funciones específicas.

Os aconsejo tener esta tabla a mano y consultarla antes de empezar un proyecto con un ESP32, para evitarnos sustos por haber empleado un pin que no deberíamos usar.

GPIONAMEFUNCIONESPUEDES USARLO
0IO0GPIO0, ADC2_CH1, TOUCH_CH1, Boot⚠️Pulled-UP. Debe ser HIGH al arranque.
Debe ser LOW para flasheo.
Genera PWM al arrancar
1TXGPIO1, U0TXD❌Pin TX. Salida de depuración al arrancar
2IO2GPIO2, ADC2_CH2, TOUCH_CH2⚠️Debe ser flotante o LOW para flasheo.
Conectado al LED
3RXGPIO3, U0RXD❌Pin RX. En HIGH al arrancar
4IO4GPIO4, ADC2_CH0, TOUCH_CH0✔️
5IO5GPIO5⚠️Debe ser HIGH al arrancar.
Genera señal PWM al arrancar
6CLKGPIO6❌FLASH SPI
7D0GPIO7❌FLASH SPI
8D1GPIO8❌FLASH SPI
9D2GPIO9❌FLASH SPI
10D3GPIO10❌FLASH SPI
11CMDGPIO11❌FLASH SPI
12IO12GPIO12, ADC2_CH5, TOUCH_CH5, MTDI⚠️Debe ser LOW al arrancar
Debug JTAG
13IO13GPIO13, ADC2_CH4, TOUCH_CH4, MTCK🟢Debug JTAG
14IO14GPIO14, ADC2_CH6, TOUCH_CH6, MTMS⚠️Genera señal PWM al arrancar
Debug JTAG
15IO15GPIO15, ADC2_CH3, TOUCH_CH3, MTDO⚠️Debe ser HIGH al arrancar
Debug JTAG
16IO16GPIO16✔️
17IO17GPIO17✔️
18IO18GPIO18✔️
19IO19GPIO19✔️
21IO21GPIO21✔️
22IO22GPIO22✔️
23IO23GPIO23✔️
25IO25GPIO25, ADC1_CH8, DAC_1✔️
26IO26GPIO26, ADC2_CH9, DAC_2✔️
27IO27GPIO27, ADC2_CH7, TOUCH_CH7✔️
32IO32GPIO32, ADC1_CH4, TOUCH_CH9, XTAL_32K_P✔️
33IO33GPIO33, ADC1_CH5, TOUCH_CH8, XTAL_32K_N✔️
34IO34GPIO34, ADC1_CH6, VDET_1⚠️Solo entrada
35IO35GPIO35, ADC1_CH7, VDET_2⚠️Solo entrada
36VPGPIO36, ADC1_CH0, S_VP⚠️Solo entrada
37VPGPIO37⚠️Solo entrada
38VPGPIO38⚠️Solo entrada
39VNGPIO39, ADC1_CH3, S_VN⚠️Solo entrada
ENENCHIP_PU, Reset