Tags: ,

The NodeMCU ESP8266 is a microcontroller with an integrated Wifi module. Very easy to use, it’s lightweight and has a memory and calculation capacity superior to that of the Arduino. Ideal for your connected projects.

Microcontroller features

The NodeMCU ESP8266 microcontroller uses the Tensilica 32-bit RISC CPU Xtensa LX106 microprocessor. This processor operates at a clock frequency of 80 MHz. It has 64 kB RAM, NC kB EEPROM and 4000 kB Flash memory (for programming and data logging).

  • CPU Tensilica 32-bit RISC CPU Xtensa LX106
  • Voltage : 3.3V
  • Flash : 4000 kB
  • RAM : 64 kB
  • EEPROM : NC kB
  • Clock speed : 80MHz
  • WiFi : Yes
  • Bluetooth : No
  • SD : No

The microcontroller has a Wifi chip that enables it to connect to the local network, create a server or set up its own network so that other devices can connect to it.

Power supply

The NodeMCU ESP8266 microcontroller operates over a voltage range of 7-12V, thanks to its on-board voltage regulator, while the microprocessor operates with a voltage of 3.3V. In normal operation, the microcontroller consumes up to 45mA (if no power is supplied) and can accept a maximum current of 40mA on each of its IO pins.


  • Analog I/O : 1 (A0)
  • Digital I/O : 5 (D0, D1, D3, D4, D7)
  • PWM pins: 4 (D2, D5, D6, D8)
  • Communication Serial: 10 (D0, D1, D2, D3, D4, D5, D12, D13, D14, D15)
  • I2C communication : 1 ((‘D1’, ‘D2’))
  • SPI communication: 1 ((‘D8’, ‘D5’, ‘D6’, ‘D7’))
  • I2S communication: 1 ((‘D15’, ‘D2’, ‘D3’))
  • Interrupt: 6 (D1, D2, D5, D6, D7, D8)

Basic code and pin identification

const int analogPin = A0;
const int digitalInPin = D1; // broches D1, D2, D5, D6,D7
const int digitalOutPin = D2; // D1 à D7
const int pwmPin = D4; // broches D1 à D8

int analogVal = 0;
int digitalState = LOW;
int pwmVal = 250;

void setup() {

  pinMode(analogPin, INPUT); // Argument OUTPUT, INPUT
  pinMode(digitalInPin, INPUT);
  pinMode(digitalOutPin, OUTPUT);

void loop() {
  analogVal = analogRead(analogPin); //  return int
  digitalState = digitalRead(digitalInPin); //  return boolean
  digitalWrite(digitalOutPin, HIGH); // valeur LOW(0) ou HIGH(1)
  analogWrite(pwmPin, pwmVal);// valeur 0-1023

For more information on pinout usage, please visit the ESP8266 Pinout Reference page.

Summary of features

Nom: ESP8266
Marque: Espressif
CPU: Tensilica 32-bit RISC CPU Xtensa LX106
Tension d’alimentation : 7-12V
Tension logic: 3.3V
E/S digitales: 16
Entrées analogiques: 1
Flash: 4000kB
SRAM: 64kB
Fréquence d’horloge: 80 MHz
Wifi: Yes
Bluetooth: No
SD card: No
Touch: Yes
UART/SPI/I2C/I2S: Yes/Yes/Yes/Yes

How to get started

How useful was this post?

Click on a star to rate it!

Average rating 0 / 5. Vote count: 0

No votes so far! Be the first to rate this post.

As you found this post useful...

Follow us on social media!

We are sorry that this post was not useful for you!

Let us improve this post!

Tell us how we can improve this post?