Dos nomes D para os números GPIO
D0 é o GPIO16, D1 o GPIO5, D2 o GPIO4, D3 o GPIO0, D4 o GPIO2, D5 o GPIO14, D6 o GPIO12, D7 o GPIO13 e D8 o GPIO15. No core Arduino para ESP8266, você pode escrever D5 ou 14: com a placa D1 mini selecionada, as constantes D apontam para o GPIO certo.
D3, D4 e D8: pinos de boot
O ESP8266 lê três pinos no reset: para rodar o seu sketch, o GPIO0 (D3) e o GPIO2 (D4) precisam estar em ALTO e o GPIO15 (D8) em BAIXO. A placa já define esses níveis com resistores, então esses pinos servem como saídas e para botões, desde que nada force o nível errado ao ligar a placa. O D4 também aciona o LED azul do módulo, aceso quando o pino está em BAIXO.
| Pino | Na D1 mini | Nível no reset | Na prática |
|---|---|---|---|
| D3 · GPIO0 | Puxado para ALTO | ALTO roda o sketch, BAIXO entra no modo de gravação | Um botão para o GND não tem problema |
| D4 · GPIO2 | Puxado para ALTO, LED | ALTO | Não o puxe para BAIXO ao ligar a placa |
| D8 · GPIO15 | Puxado para BAIXO | BAIXO | Sem pull-up nem módulos que o puxem para ALTO |
D0, o pino especial
O GPIO16 (D0) não consegue gerar interrupções e não tem pull-up interno, só um pull-down. A função principal dele é despertar a placa do deep sleep: ligue o D0 ao RST e o ESP.deepSleep() desperta a placa com o timer dela. A WEMOS o indica como o único pino sem interrupções, PWM, I²C ou 1-Wire.
Entrada analógica e barramentos
O A0 é a única entrada analógica. O ESP8266 sozinho só aceita de 0 a 1,0 V, e a D1 mini tem um divisor que amplia a faixa até cerca de 3,2 V. O I²C funciona por software em quase qualquer pino, por padrão D2 (SDA) e D1 (SCL). O SPI usa os pinos de hardware fixos D5 (SCK), D6 (MISO) e D7 (MOSI), com o CS no D8 por padrão. TX e RX vão até o conversor USB-serial.
Tabela completa de pinos da D1 mini
| Pino | GPIO | Status | Analógico | Funções | Notas |
|---|---|---|---|---|---|
| D3 | GPIO0 | Com cuidado | Não | PWM (analogWrite) | boot: ALTO |
| TX | GPIO1 | Com cuidado | Não | PWM (analogWrite), U0TXD | TX serial, UART TX |
| D4 | GPIO2 | Com cuidado | Não | PWM (analogWrite), U1TXD (Serial1) | boot: ALTO, LED |
| RX | GPIO3 | Com cuidado | Não | PWM (analogWrite), U0RXD | RX serial, UART RX |
| D2 | GPIO4 | Livre | Não | PWM (analogWrite) | I²C SDA |
| D1 | GPIO5 | Livre | Não | PWM (analogWrite) | I²C SCL |
| D6 | GPIO12 | Livre | Não | PWM (analogWrite), HSPI MISO | SPI MISO (RX) |
| D7 | GPIO13 | Livre | Não | PWM (analogWrite), HSPI MOSI, RXD2 (Serial.swap) | SPI MOSI (TX) |
| D5 | GPIO14 | Livre | Não | PWM (analogWrite), HSPI SCK | SPI SCK |
| D8 | GPIO15 | Com cuidado | Não | PWM (analogWrite), HSPI CS, TXD2 (Serial.swap) | boot: BAIXO, SPI CS |
| D0 | GPIO16 | Com cuidado | Não | PWM (analogWrite) | sem interrupções, despertar do deep sleep |
| A0 | Não | Só entrada | ADC (TOUT) | Não | só analógico, 0 a 3,2 V |
Os GPIOs 6 a 11 estão ligados à flash do módulo e não estão no conector. Os pinos trabalham com 3,3 V e não são garantidos para 5 V, então use um conversor de nível lógico para sinais de 5 V.
Perguntas frequentes
Quais pinos da D1 mini são seguros para usar?
D1, D2, D5, D6 e D7 (GPIOs 5, 4, 14, 12 e 13) não têm função no boot e suportam interrupções e PWM. D3, D4 e D8 são pinos de boot, o D0 tem limites, e TX e RX pertencem à porta serial.
Qual é a tensão máxima no A0 da D1 mini?
Cerca de 3,2 V, graças ao divisor da placa. O ESP8266 sozinho só aceita de 0 a 1,0 V no ADC, então os módulos avulsos precisam de um divisor próprio.
Como desperto a D1 mini do deep sleep?
Ligue o D0 (GPIO16) ao RST e chame ESP.deepSleep() com o tempo de sono em microssegundos. Quando o tempo acaba, o GPIO16 coloca o RST em BAIXO e a placa reinicia.
Por que minha D1 mini não inicializa com algo ligado no D8?
O D8 é o GPIO15, que precisa estar em BAIXO no reset. Um módulo ou um pull-up externo que o mantenha em ALTO faz o ESP8266 escolher outro modo de boot. Passe essa ligação para D1, D2 ou D5 a D7.
Quais são os pinos I2C e SPI da D1 mini?
O I²C usa por padrão D2 (SDA) e D1 (SCL), e Wire.begin(SDA, SCL) o leva para quase qualquer outro pino. O SPI usa D5 (SCK), D6 (MISO) e D7 (MOSI), com o CS normalmente no D8.