que-pines-puedo-usar-esp8266

Que pines puedo usar en un ESP8266

En la entrada anterior vimos los distintos pines del ESP8266 y sus funcionalidades. Pero ya comentamos, que no todos los pines son seguros de usar en nuestros proyectos.

Esto es debido a que algunos pines tienen funciones específicas o desempeñan un papel crucial en el proceso de arranque del dispositivo. Si no se utilizan correctamente, esto podemos generar un conflicto y conseguir que nuestro proyecto no arranque, o incluso romper algo.

De los 17 GPIO (0 a 16):

  • 6 GPIO (GPIO6 a GPIO11) son usados para conectar por SPI con la memoria flash, por lo que no podemos usarlos.
  • Los GPIO0, GPIO2 y GIPO15 intervienen en el arranque, con las consideraciones que hemos visto en el apartado anterior.
  • Los GPIO1 y GPIO3 son usados para comunicación Serial (UART)

Resumen de los pines

Para evitar contratiempos y asegurarnos de utilizar los pines de manera adecuada, tenemos la siguiente tabla de referencia. Nos permite verificar de un vistazo qué pines son seguros para su uso y cuáles tienen funciones específicas que debemos tener en cuenta.

Antes de iniciar cualquier proyecto con el ESP8266, es altamente recomendable consultar esta tabla de referencia y familiarizarse con las características de cada pin. Esto nos permitirá tomar decisiones informadas y evitar posibles inconvenientes en el desarrollo de nuestros proyectos.

GPIOPinInputOutputComentarios
GPIO0D3⚠️Pulled Up✔️Boot falla si pulled LOW
Conectado a botón FLASH
GPIO1TX⚠️TX✔️HIGH durante
Boot falla si pulled LOW
Debug output en boot
No usable si se usa UART
GPIO2D4⚠️Pulled Up✔️HIGH durante boot
Boot falla si pulled LOW
Built-in LED
TX1
GPIO3RX✔️⚠️RXHIGH durante boot
No usable si se usa UART
GPIO4D2✔️✔️SDA (I2c)
(frecuentemente)
GPIO5D1✔️✔️SCL (I2C)
(frecuentemente)
GPIO6-11-Usados por la memoria FLASH
GPIO12D6✔️✔️MISO (SPI)
GPIO13D7✔️✔️MOSI (SPI)
GPIO14D5✔️✔️SLCK (SPI)
GPIO15D8⚠️Pulled to GND✔️CS (SPI)
LOW durante boot
Boot falla si pulled HIGH
No tiene Pull-Up
GPIO16D0⚠️No interrupciones⚠️No PWM
⚠️No I2C
HIGH durante boot
Resistencia Pull-Down
Conectar a RST para Wake-Up
ADC0A0⚠️Analog Input

En las próximas entradas iremos viendo distintas placas de placas de desarrollo como la NodeMCU que integran el ESP8266 y empezaremos su programación.