Helpful? spread the word!

Javier Bonilla
Latest posts by Javier Bonilla (see all)

This short post is a cheat sheet than you can use to check the ESP8266 NodeMCU pinout (V2 and V3 ESP8266 NodeMCU boards) for your Arduino IDE programs.

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

ESP8266 pinout, nodumcu pinout, node mcu pinout
NodeMCU ESP8266 pinout

These are affiliate links. This means if you click on the links and purchase the promoted item, we will receive a small affiliate commission at no extra cost to you, the price of the product is the same. We would really appreciate your support to our work and website if this is fine for you.

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
D0GPIO 1616D7GPIO 1313
D1GPIO 55D8GPIO 1515

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.

Further Reading

Read the following interesting articles to keep learning about programming ESP8266 NodeMCU boards and Arduino IDE.

Let us know your opinion about this short post with the starts you can find below, this gives us feedback about how we are doing. Also, share this article if you think it can help others, thanks :-).

4 1 vote
Article Rating
Notify of
newest most voted
Inline Feedbacks
View all comments
2 months ago

Once we give low input to pin 16 of NodeMCU ESP8266, it remains low, see my code below which is not able to switch off led because of this issue, can’t we use pin 16 as general purpose input?
See my complete code