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)
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.
|PIN||Code||Arduino Alias||PIN||Code||Arduino Alias|
|DO||GPIO 16||16||D7||GPIO 13||13|
|D1||GPIO 15||5||D8||GPIO 15||15|
|D2||GPIO 4||4||SD2||GPIO 9||9|
|D3||GPIO 0||0||SD3||GPIO 10||10|
|D4||GPIO 2||2||RX||GPIO 3||3|
|D5||GPIO 14||14||TX||GPIO 1||1|
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.
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.