Cirkit Designer Logo
Cirkit Designer
Your all-in-one circuit design IDE
Home / 
Component Documentation

How to Use Breadboard NodeMCU: Examples, Pinouts, and Specs

Image of Breadboard NodeMCU
Cirkit Designer LogoDesign with Breadboard NodeMCU in Cirkit Designer

Introduction

The NodeMCU is an open-source firmware and development kit that helps you to prototype your IoT (Internet of Things) projects with few Lua script lines, or through the Arduino IDE. It includes firmware that runs on the ESP8266 Wi-Fi SoC from Espressif Systems, and hardware which is based on the ESP-12 module. The term "NodeMCU" by default refers to the firmware rather than the development kits. The firmware uses the Lua scripting language.

Common applications of the NodeMCU include smart home devices, IoT sensors, wireless control systems, and various other applications that require communication over Wi-Fi.

Explore Projects Built with Breadboard NodeMCU

Use Cirkit Designer to design, explore, and prototype these projects online. Some projects support real-time simulation. Click "Open Project" to start designing instantly!
ESP8266 NodeMCU Based Health Monitoring System
Image of heart rate: A project utilizing Breadboard NodeMCU in a practical application
This circuit features an ESP8266 NodeMCU microcontroller connected to a heart pulse sensor and a temperature sensor (LM35). The heart pulse sensor's signal output is connected to the D0 pin of the NodeMCU, while the temperature sensor's voltage output is connected to the A0 pin. Both sensors are powered by the NodeMCU, with the pulse sensor's VCC connected to VIN and the temperature sensor's +Vs connected to 3V3; both sensors share a common ground with the microcontroller.
Cirkit Designer LogoOpen Project in Cirkit Designer
ESP8266 NodeMCU Controlled Environmental Monitoring System with OLED Display and Relay Switching
Image of soil moisture: A project utilizing Breadboard NodeMCU in a practical application
This circuit features an ESP8266 NodeMCU microcontroller connected to various peripherals. It includes a DHT11 sensor for temperature and humidity readings, a YL-83 module with YL-69 probe for soil moisture detection, a 0.96" OLED display for data output, a common cathode RGB LED for status indication, a piezo speaker for audio alerts, and a KY-019 relay module for controlling external loads. The NodeMCU facilitates data acquisition from sensors, drives the display and LED, and can trigger the relay and speaker based on sensor inputs or programmed conditions.
Cirkit Designer LogoOpen Project in Cirkit Designer
Wi-Fi Enabled Environmental Monitoring System with NodeMCU, DHT11, MQ-2, and LCD Display
Image of FYP Project: A project utilizing Breadboard NodeMCU in a practical application
This circuit uses a NodeMCU V3 ESP8266 microcontroller to read data from an MQ-2 gas sensor and a DHT11 temperature and humidity sensor, and then displays the sensor readings on a 16x2 I2C LCD screen. The NodeMCU provides power and handles communication with the sensors and the display.
Cirkit Designer LogoOpen Project in Cirkit Designer
NodeMCU ESP8266 Water Flow Monitoring System with OLED Display and Alert Indicators
Image of IoT: A project utilizing Breadboard NodeMCU in a practical application
This circuit features a NodeMCU V3 ESP8266 microcontroller connected to a water flow sensor, an OLED display, a buzzer, and two LEDs (red and green). The water flow sensor's signal output is connected to a digital pin on the NodeMCU for flow measurement. The OLED display is interfaced via I2C with the NodeMCU, the buzzer is controlled by another digital pin for audio feedback, and the LEDs are used as status indicators, all powered by the NodeMCU's 3.3V supply.
Cirkit Designer LogoOpen Project in Cirkit Designer

Explore Projects Built with Breadboard NodeMCU

Use Cirkit Designer to design, explore, and prototype these projects online. Some projects support real-time simulation. Click "Open Project" to start designing instantly!
Image of heart rate: A project utilizing Breadboard NodeMCU in a practical application
ESP8266 NodeMCU Based Health Monitoring System
This circuit features an ESP8266 NodeMCU microcontroller connected to a heart pulse sensor and a temperature sensor (LM35). The heart pulse sensor's signal output is connected to the D0 pin of the NodeMCU, while the temperature sensor's voltage output is connected to the A0 pin. Both sensors are powered by the NodeMCU, with the pulse sensor's VCC connected to VIN and the temperature sensor's +Vs connected to 3V3; both sensors share a common ground with the microcontroller.
Cirkit Designer LogoOpen Project in Cirkit Designer
Image of soil moisture: A project utilizing Breadboard NodeMCU in a practical application
ESP8266 NodeMCU Controlled Environmental Monitoring System with OLED Display and Relay Switching
This circuit features an ESP8266 NodeMCU microcontroller connected to various peripherals. It includes a DHT11 sensor for temperature and humidity readings, a YL-83 module with YL-69 probe for soil moisture detection, a 0.96" OLED display for data output, a common cathode RGB LED for status indication, a piezo speaker for audio alerts, and a KY-019 relay module for controlling external loads. The NodeMCU facilitates data acquisition from sensors, drives the display and LED, and can trigger the relay and speaker based on sensor inputs or programmed conditions.
Cirkit Designer LogoOpen Project in Cirkit Designer
Image of FYP Project: A project utilizing Breadboard NodeMCU in a practical application
Wi-Fi Enabled Environmental Monitoring System with NodeMCU, DHT11, MQ-2, and LCD Display
This circuit uses a NodeMCU V3 ESP8266 microcontroller to read data from an MQ-2 gas sensor and a DHT11 temperature and humidity sensor, and then displays the sensor readings on a 16x2 I2C LCD screen. The NodeMCU provides power and handles communication with the sensors and the display.
Cirkit Designer LogoOpen Project in Cirkit Designer
Image of IoT: A project utilizing Breadboard NodeMCU in a practical application
NodeMCU ESP8266 Water Flow Monitoring System with OLED Display and Alert Indicators
This circuit features a NodeMCU V3 ESP8266 microcontroller connected to a water flow sensor, an OLED display, a buzzer, and two LEDs (red and green). The water flow sensor's signal output is connected to a digital pin on the NodeMCU for flow measurement. The OLED display is interfaced via I2C with the NodeMCU, the buzzer is controlled by another digital pin for audio feedback, and the LEDs are used as status indicators, all powered by the NodeMCU's 3.3V supply.
Cirkit Designer LogoOpen Project in Cirkit Designer

Technical Specifications

Key Technical Details

  • Microcontroller: ESP8266
  • Operating Voltage: 3.3V
  • Input Voltage: 7-12V
  • Digital I/O Pins: 11
  • Analog Input Pins: 1(Max input: 3.3V)
  • Clock Speed: 80MHz/160MHz
  • Flash: 4MB
  • Wi-Fi Protocol: IEEE 802.11 b/g/n
  • Dimensions: 49mm x 24.5mm x 13mm

Pin Configuration and Descriptions

Pin Number Function Description
D0 GPIO16 Digital I/O, PWM, Deep-sleep wake
D1 GPIO5 Digital I/O, PWM, I2C SCL
D2 GPIO4 Digital I/O, PWM, I2C SDA
D3 GPIO0 Digital I/O, PWM, pulled up, boot/flash mode
D4 GPIO2 Digital I/O, PWM, pulled up, TXD1
D5 GPIO14 Digital I/O, PWM, SPI SCK
D6 GPIO12 Digital I/O, PWM, SPI MISO
D7 GPIO13 Digital I/O, PWM, SPI MOSI, RXD2
D8 GPIO15 Digital I/O, PWM, SPI SS, boot from SD card
A0 ADC0 Analog Input
VIN - Input voltage to NodeMCU
GND - Ground
3V3 - 3.3V output
RST - Reset button

Usage Instructions

Connecting NodeMCU to a Breadboard

  1. Insert the NodeMCU into the breadboard, ensuring that the pins are properly seated in the breadboard slots.
  2. Connect the VIN pin to the positive rail of the breadboard and GND to the negative rail for power distribution.
  3. Use jumper wires to connect other components to the NodeMCU pins as per your circuit design.

Programming NodeMCU with Arduino IDE

  1. Install the Arduino IDE from the official Arduino website.
  2. Open the Arduino IDE, go to File > Preferences, and add the following URL to the Additional Boards Manager URLs: http://arduino.esp8266.com/stable/package_esp8266com_index.json.
  3. Go to Tools > Board > Boards Manager, search for ESP8266, and install it.
  4. Select the NodeMCU 1.0 (ESP-12E Module) from Tools > Board menu.
  5. Choose the correct COM port from Tools > Port.
  6. Write your code or load an example sketch from File > Examples.
  7. Click the Upload button to program the NodeMCU.

Example Code

Here is a simple example of blinking an LED connected to the NodeMCU:

// Define the LED pin
const int LED_PIN = D4; // NodeMCU pin where the LED is connected

// the setup function runs once when you press reset or power the board
void setup() {
  // initialize digital pin LED_PIN as an output.
  pinMode(LED_PIN, OUTPUT);
}

// the loop function runs over and over again forever
void loop() {
  digitalWrite(LED_PIN, HIGH);   // turn the LED on (HIGH is the voltage level)
  delay(1000);                   // wait for a second
  digitalWrite(LED_PIN, LOW);    // turn the LED off by making the voltage LOW
  delay(1000);                   // wait for a second
}

Troubleshooting and FAQs

Common Issues

  • NodeMCU not detected by computer: Ensure that the USB cable is properly connected and that the drivers are installed.
  • Failed to connect to ESP8266: Check if the correct COM port is selected and if the board is correctly configured in the Arduino IDE.
  • Sketch upload failure: Verify that the NodeMCU is not in deep-sleep mode and that the correct board settings are used.

Solutions and Tips

  • Always use a stable power supply to prevent unexpected resets.
  • When using the NodeMCU with a breadboard, be mindful of the 3.3V logic level to prevent damage to the board.
  • For deep-sleep functionality, connect GPIO16 (D0) to the RST pin to enable wake-up.

FAQs

Q: Can I use 5V sensors with NodeMCU? A: NodeMCU operates at 3.3V logic levels. For 5V sensors, use a level shifter to prevent damage to the board.

Q: How do I reset the NodeMCU? A: You can reset the NodeMCU by pressing the RST button on the board or by momentarily connecting the RST pin to GND.

Q: How many digital pins can be used for PWM? A: All digital pins on the NodeMCU can be used for PWM except for D0.

Q: What is the maximum current that can be drawn from a single GPIO pin? A: The maximum current from a single GPIO pin should not exceed 12mA.

Q: Can I power NodeMCU using the 3V3 pin? A: Yes, you can power the NodeMCU using the 3V3 pin, but ensure that the power supply is regulated and stable.

For further assistance, consult the NodeMCU community forums or the extensive documentation available online.