14 octobre 2020

ESP8266 PIN OUT

NodeMCU pinout

For practical purposes ESP8266 NodeMCU V2 and V3 boards present identical pinouts. For our mechatronics projects we are mainly interested in the following pins:

Power pins (3.3 V).
Ground pins (GND).
Analog pins (A0).
Digital pins (D0 – D8, SD2, SD3, RX and TX – GPIO XX)

Most ESP8266 NodeMCU boards have one input voltage pin (Vin), three power pins (3.3v), four ground pins (GND), one analog pin (A0) and several digital pins (GPIO XX).
ESP8266 NodeMCU schematic

If we want to interact with a digital pin in Arduino IDE we have to remember the GPIO number (0..16), whereas for the analog pin the alias is used (A0). Digital pins can be used as inputs or outputs, however the analog pin can only be used as an input.

PINCodeArduino AliasPINCodeArduino Alias
A0A0A0D6GPIO 1212
DOGPIO 1616D7GPIO 1313
D1GPIO 155D8GPIO 1515
D2GPIO 44SD2GPIO 99
D3GPIO 00SD3GPIO 1010
D4GPIO 22RXGPIO 33
D5GPIO 1414TXGPIO 11

For example, the following code initializes the GPIO 4 and 5 digital pins as input and output, respectively and the analog pin (A0) as input.
pinMode(4,INPUT)
pinMode(5,OUTPUT)
pinMode(A0,INPUT)

Read Breadboard, Pinout and Dimmable LED with Pulse-Width Modulation (PWM), to know more about how to interact with pins in Arduino IDE, particularly the ESP8266 NodeMCU pinout section.