ESP8266 Referência Pinout: Que pinos GPIO você deve usar?

Este artigo é um guia para o ESP8266 GPIOs: diagramas de pinout, suas funções e como usá-los.

O chip ESP8266 12-E vem com 17 pinos GPIO. Nem todos os GPIOs são expostos em todas as placas de desenvolvimento do ESP8266, alguns GPIOs não são recomendados e outros têm funções muito específicas.

Com este guia, você aprenderá como usar corretamente o ESP8266 GPIOs e evitar horas de frustração usando os pinos mais adequados para seus projetos.

Temos também um guia para o ESP32 GPIOs: ESP32 Pinout Reference: Quais pinos GPIO você deve usar?

ESP8266 12-E Chip Pinout

A figura seguinte ilustra o ESP8266 12-E pinout de chip. Use este diagrama se você estiver usando um chip ESP8266 nu em seus projetos.

Nota: nem todos os GPIOs são acessíveis em todas as placas de desenvolvimento, mas cada GPIO específico funciona da mesma forma, independentemente da placa de desenvolvimento que você está usando. Se você está apenas começando com o ESP8266, nós recomendamos a leitura do nosso guia: Começando com o ESP8266.

De momento, existe uma grande variedade de placas de desenvolvimento com o chip ESP8266 que diferem no número de GPIOs acessíveis, tamanho, formato, etc…

As placas ESP8266 mais utilizadas são o ESP-01, ESP8266-12E NodeMCU Kit, e o Wemos D1 Mini. Para uma comparação destas placas, você pode ler este guia: ESP8266 Comparação de placas de desenvolvimento Wi-Fi.

ESP8266-01 Pinout

Se estiver a usar uma placa ESP8266-01, pode usar o seguinte diagrama GPIO como referência.

ESP8266 12-E NodeMCU Kit

O diagrama pinout do kit ESP8266 12-E NodeMCU é mostrado abaixo.

Demos D1 Mini Pinout

A figura seguinte mostra o Pinout do kit WeMos D1 Mini.

Download PDF com os Diagramas Pinout ESP8266

Conjuntamos um prático PDF que você pode baixar e imprimir, assim você sempre tem os diagramas ESP8266 ao seu lado:

Download PDF Diagramas Pinout ”

ESP8266 Periféricos

Os periféricos ESP8266 incluem:

  • 17 GPIOs
  • SPI
  • I2C (implementado em software)
  • Interfaces I2S com DMA
  • UART
  • 10-bit ADC

Best Pins to Use – ESP8266

Uma coisa importante a notar sobre o ESP8266 é que o número GPIO não corresponde à etiqueta na serigrafia da placa. Por exemplo, D0 corresponde a GPIO16 e D1 corresponde a GPIO5.

A tabela seguinte mostra a correspondência entre as etiquetas na serigrafia e o número GPIO, assim como quais os pinos que são melhores para usar nos seus projectos, e quais os que precisa de ter cuidado.

Os pinos destacados a verde estão OK para usar. Os destacados em amarelo estão OK para usar, mas você precisa prestar atenção porque eles podem ter comportamento inesperado principalmente na inicialização. Os pinos destacados em vermelho não são recomendados para serem usados como entradas ou saídas.

Label GPIO Input Output Notes
D0 GPIO16 sem interrupção sem suporte PWM ou I2C ALTO na inicialização
usado para acordar de um sono profundo
D1 GPIO5 OK OK Aften usado como SCL (I2C)
D2 GPIO4 OK OK OK aften usado como SDA (I2C)
D3 GPIO0 pull up OK ligado ao botão FLASH, boot falha se puxado LOW
D4 GPIO2 pull up OK HIGH at boot
conectado ao LED de bordo, boot falha se puxado LOW
D5 GPIO14 OK OK OK SPI (SCLK)
D6 GPIO12 OK OK SPI (MISO)
D7 GPIO13 OK OK SPI (MOSI)
D8 GPIO15 pullled to GND OK SPI (CS)
Boot fails if pulled HIGH
RX GPIO3 OK RX pin HighH at boot
TX GPIO1 TX pin OK HighH at boot
debug output at boot, boot falha se puxado LOW
A0 ADC0 Entrada Analógica X

Continuar a leitura para uma análise mais detalhada e profunda do ESP8266 GPIOs e suas funções.

GPIOs ligados ao Flash Chip

GPIO6 ao GPIO11 são normalmente ligados ao Flash Chip nas placas ESP8266. Portanto, estes pinos não são recomendados para uso.

Pinos usados durante o Boot

O ESP8266 pode ser impedido de arrancar se alguns pinos forem puxados LOW ou HIGH. A lista seguinte mostra o estado dos seguintes pinos na BOOT:

  • GPIO16: pino está alto na BOOT
  • GPIO0: falha na inicialização se puxado BAIXO
  • GPIO2: pino está alto na BOOT, falha na inicialização se puxado BAIXO
  • GPIO15: falha na inicialização se puxado ALTO
  • GPIO3: pino é alto em BOOT
  • GPIO1: pino é alto em BOOT, falha na inicialização se puxado BAIXO
  • GPIO10: pino é alto em BOOT
  • GPIO9: pino é alto em BOOT

Pinos ALTO em BOOT

Existem certos pinos que produzem um 3.sinal de 3V quando o ESP8266 arranca. Isto pode ser problemático se você tiver relés ou outros periféricos conectados a esses GPIOs. Os seguintes GPIOs emitem um sinal ALTO no arranque:

  • GPIO16
  • GPIO3
  • GPIO1
  • GPIO10
  • GPIO9

Adicionalmente, os outros GPIOs, excepto GPIO5 e GPIO4, podem emitir um sinal de baixa voltagem no arranque, o que pode ser problemático se estes estiverem ligados a transístores ou relés. Você pode ler este artigo que investiga o estado e comportamento de cada GPIO na inicialização.

GPIO4 e GPIO5 são os mais seguros para usar GPIOs se você quiser operar relés.

Entrada Analógica

O ESP8266 só suporta leitura analógica em uma GPIO. Esse GPIO é chamado de ADC0 e normalmente é marcado na serigrafia como A0.

A tensão máxima de entrada do pino do ADC0 é de 0 a 1V se você estiver usando o chip nu do ESP8266. Se estiver a usar uma placa de desenvolvimento como o kit ESP8266 12-E NodeMCU, a voltagem de entrada é de 0 a 3,3V porque estas placas contêm um divisor de voltagem interno.

Pode aprender a usar a leitura analógica com o ESP8266 com o seguinte guia:

  • ESP8266 ADC – Leitura de valores analógicos com o IDE Arduino, MicroPython e Lua

LED ON-board

A maioria das placas de desenvolvimento ESP8266 tem um LED incorporado. Este LED é normalmente ligado ao GPIO2.

O LED funciona com lógica invertida. Envie um sinal HIGH para desligá-lo, e um sinal LOW para ligá-lo.

Pino RST

Quando o pino RST é puxado para BAIXO, o ESP8266 é reinicializado. Isto é o mesmo que pressionar o botão RESET a bordo.

GPIO0

Quando o GPIO0 é puxado BAIXO, ele coloca o ESP8266 em modo bootloader. Isto é o mesmo que premir o botão FLASH/BOOT de bordo.

GPIO16

GPIO16 pode ser usado para acordar o ESP8266 do sono profundo. Para acordar o ESP8266 a partir do sono profundo, o GPIO16 deve ser ligado ao pino RST. Aprenda como colocar o ESP8266 no modo de sono profundo:

  • ESP8266 Sono profundo com Arduino IDE
  • ESP8266 Sono profundo com MicroPython

I2C

Os pinos do ESP8266 não têm hardware I2C, mas podem ser implementados em software. Assim você pode usar qualquer GPIOs como I2C. Normalmente, os seguintes GPIOs são usados como pinos I2C:

  • GPIO5: SCL
  • GPIO4: SDA

SPI

Os pinos usados como SPI no ESP8266 são:

  • GPIO12: MISO
  • GPIO13: MOSI
  • GPIO14: SCLK
  • GPIO15: CS

PWM Pins

ESP8266 permite o software PWM em todos os pinos de E/S: GPIO0 a GPIO16. Os sinais PWM no ESP8266 têm resolução de 10 bits. Saiba como usar os pinos PWM do ESP8266:

  • ESP8266 PWM com Arduino IDE
  • ESP8266 PWM com MicroPython

Pinos de Interrupção

O ESP8266 suporta interrupções em qualquer GPIO, excepto GPIO16.

  • ESP8266 Interrupções e Temporizadores com Arduino IDE

Arrasamento

Esperamos que tenha achado útil este guia para o ESP8266 GPIOs. Se você tiver algumas dicas sobre como usar o ESP8266 GPIOs corretamente, você pode escrever um comentário abaixo.

Temos também um guia similar para o ESP32 GPIOs que você pode ler.

Se você está começando a usar o ESP8266, nós temos um ótimo conteúdo que você pode estar interessado:

  • Automação em casa usando o ESP8266 (curso)
  • Começando com o ESP8266
  • 30+ ESP8266 Projectos e Tutoriais
  • ESP8266 Tutorial do Servidor Web
  • ESP32 vs ESP8266 – Prós e Contras

Obrigado pela leitura.

Deixe uma resposta

O seu endereço de email não será publicado.