que-pines-puedo-usar-esp32

Qué pines puedo usar en un ESP32

  • 4 min

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.

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.

[ { “gpio”: 0, “name”: “IO0”, “funcs”: [“GPIO0”, “ADC2_CH1”, “TOUCH_CH1”, “PWM”], “tags”: [“Boot”, “PullUp”], “note”: “⚠️ HIGH al arranque. LOW para flasheo.”, “status”: “warn” }, { “gpio”: 1, “name”: “TX”, “funcs”: [“GPIO1”, “U0TXD”], “tags”: [“Debug”], “note”: ”❌ Pin TX. Salida debug al arranque.”, “status”: “danger” }, { “gpio”: 2, “name”: “IO2”, “funcs”: [“GPIO2”, “ADC2_CH2”, “TOUCH_CH2”], “tags”: [“LED”, “Boot”], “note”: “⚠️ Flotante/LOW para flasheo. Conectado a LED.”, “status”: “warn” }, { “gpio”: 3, “name”: “RX”, “funcs”: [“GPIO3”, “U0RXD”], “tags”: [“Debug”], “note”: ”❌ Pin RX. HIGH al arranque.”, “status”: “danger” }, { “gpio”: 4, “name”: “IO4”, “funcs”: [“GPIO4”, “ADC2_CH0”, “TOUCH_CH0”], “tags”: [], “note”: “✔️ Seguro para uso general.”, “status”: “safe” }, { “gpio”: 5, “name”: “IO5”, “funcs”: [“GPIO5”, “PWM”], “tags”: [“Boot”], “note”: “⚠️ Debe ser HIGH al arranque.”, “status”: “warn” }, { “gpio”: 6, “name”: “CLK”, “funcs”: [“GPIO6”, “SPI_CLK”], “tags”: [“Flash”], “note”: ”❌ Reservado Flash SPI.”, “status”: “danger” }, { “gpio”: 7, “name”: “D0”, “funcs”: [“GPIO7”, “SPI_Q”], “tags”: [“Flash”], “note”: ”❌ Reservado Flash SPI.”, “status”: “danger” }, { “gpio”: 8, “name”: “D1”, “funcs”: [“GPIO8”, “SPI_D”], “tags”: [“Flash”], “note”: ”❌ Reservado Flash SPI.”, “status”: “danger” }, { “gpio”: 9, “name”: “D2”, “funcs”: [“GPIO9”, “SPI_HD”], “tags”: [“Flash”], “note”: ”❌ Reservado Flash SPI.”, “status”: “danger” }, { “gpio”: 10, “name”: “D3”, “funcs”: [“GPIO10”, “SPI_WP”], “tags”: [“Flash”], “note”: ”❌ Reservado Flash SPI.”, “status”: “danger” }, { “gpio”: 11, “name”: “CMD”, “funcs”: [“GPIO11”, “SPI_CS0”], “tags”: [“Flash”], “note”: ”❌ Reservado Flash SPI.”, “status”: “danger” }, { “gpio”: 12, “name”: “IO12”, “funcs”: [“GPIO12”, “ADC2_CH5”, “TOUCH_CH5”, “MTDI”], “tags”: [“Boot”, “JTAG”], “note”: “⚠️ Debe ser LOW al arranque (LDO voltage).”, “status”: “warn” }, { “gpio”: 13, “name”: “IO13”, “funcs”: [“GPIO13”, “ADC2_CH4”, “TOUCH_CH4”, “MTCK”], “tags”: [“JTAG”], “note”: “✔️ Debug JTAG.”, “status”: “safe” }, { “gpio”: 14, “name”: “IO14”, “funcs”: [“GPIO14”, “ADC2_CH6”, “TOUCH_CH6”, “MTMS”, “PWM”], “tags”: [“JTAG”], “note”: “⚠️ PWM al arranque.”, “status”: “warn” }, { “gpio”: 15, “name”: “IO15”, “funcs”: [“GPIO15”, “ADC2_CH3”, “TOUCH_CH3”, “MTDO”], “tags”: [“Boot”, “JTAG”], “note”: “⚠️ Debe ser HIGH al arranque.”, “status”: “warn” }, { “gpio”: 16, “name”: “IO16”, “funcs”: [“GPIO16”], “tags”: [], “note”: “✔️ Seguro para uso general.”, “status”: “safe” }, { “gpio”: 17, “name”: “IO17”, “funcs”: [“GPIO17”], “tags”: [], “note”: “✔️ Seguro para uso general.”, “status”: “safe” }, { “gpio”: 18, “name”: “IO18”, “funcs”: [“GPIO18”], “tags”: [], “note”: “✔️ Seguro para uso general.”, “status”: “safe” }, { “gpio”: 19, “name”: “IO19”, “funcs”: [“GPIO19”], “tags”: [], “note”: “✔️ Seguro para uso general.”, “status”: “safe” }, { “gpio”: 21, “name”: “IO21”, “funcs”: [“GPIO21”, “I2C_SDA”], “tags”: [“I2C”], “note”: “✔️ Standard I2C SDA.”, “status”: “safe” }, { “gpio”: 22, “name”: “IO22”, “funcs”: [“GPIO22”, “I2C_SCL”], “tags”: [“I2C”], “note”: “✔️ Standard I2C SCL.”, “status”: “safe” }, { “gpio”: 23, “name”: “IO23”, “funcs”: [“GPIO23”], “tags”: [], “note”: “✔️ Seguro para uso general.”, “status”: “safe” }, { “gpio”: 25, “name”: “IO25”, “funcs”: [“GPIO25”, “ADC1_CH8”, “DAC_1”], “tags”: [“DAC”], “note”: “✔️ Seguro. Salida DAC.”, “status”: “safe” }, { “gpio”: 26, “name”: “IO26”, “funcs”: [“GPIO26”, “ADC2_CH9”, “DAC_2”], “tags”: [“DAC”], “note”: “✔️ Seguro. Salida DAC.”, “status”: “safe” }, { “gpio”: 27, “name”: “IO27”, “funcs”: [“GPIO27”, “ADC2_CH7”, “TOUCH_CH7”], “tags”: [], “note”: “✔️ Seguro para uso general.”, “status”: “safe” }, { “gpio”: 32, “name”: “IO32”, “funcs”: [“GPIO32”, “ADC1_CH4”, “TOUCH_CH9”], “tags”: [], “note”: “✔️ Seguro para uso general.”, “status”: “safe” }, { “gpio”: 33, “name”: “IO33”, “funcs”: [“GPIO33”, “ADC1_CH5”, “TOUCH_CH8”], “tags”: [], “note”: “✔️ Seguro para uso general.”, “status”: “safe” }, { “gpio”: 34, “name”: “IO34”, “funcs”: [“GPIO34”, “ADC1_CH6”], “tags”: [“InputOnly”], “note”: “⚠️ Solo Entrada (Input Only).”, “status”: “warn” }, { “gpio”: 35, “name”: “IO35”, “funcs”: [“GPIO35”, “ADC1_CH7”], “tags”: [“InputOnly”], “note”: “⚠️ Solo Entrada (Input Only).”, “status”: “warn” }, { “gpio”: 36, “name”: “VP”, “funcs”: [“GPIO36”, “ADC1_CH0”], “tags”: [“InputOnly”], “note”: “⚠️ Solo Entrada (Input Only).”, “status”: “warn” }, { “gpio”: 39, “name”: “VN”, “funcs”: [“GPIO39”, “ADC1_CH3”], “tags”: [“InputOnly”], “note”: “⚠️ Solo Entrada (Input Only).”, “status”: “warn” } ]