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

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

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

Introduction

The ESP32S NodeMCU, manufactured by AZ-Delivery, is a versatile microcontroller board designed for Internet of Things (IoT) applications and rapid prototyping. It features built-in Wi-Fi and Bluetooth capabilities, making it an excellent choice for wireless communication projects. With its powerful dual-core processor, ample GPIO pins, and support for various communication protocols, the ESP32S NodeMCU is suitable for a wide range of applications, including home automation, sensor networks, and wearable devices.

Explore Projects Built with ESP32S 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 OLED Display: Wi-Fi Enabled Hello World Project
Image of oled: A project utilizing ESP32S NodeMCU in a practical application
This circuit features an ESP8266 NodeMCU microcontroller connected to a 1.3-inch OLED display via I2C communication. The microcontroller initializes the display and renders basic graphics and text, demonstrating a simple interface for visual output.
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 ESP32S 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
ESP8266 NodeMCU-Based Environmental Monitoring and Proximity Detection System
Image of mgr: A project utilizing ESP32S NodeMCU in a practical application
This circuit features an ESP8266 NodeMCU microcontroller interfaced with a BME/BMP280 sensor for environmental data, an HC-SR04 ultrasonic sensor for distance measurement, and an OLED display for output. Two LEDs (red and green) are included, each with a current-limiting resistor, likely for status indication. The ESP8266 facilitates communication with the sensors and display via I2C (SCL and SDA lines) and controls the LEDs and reads from the ultrasonic sensor using its GPIO pins.
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 ESP32S 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 ESP32S 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 oled: A project utilizing ESP32S NodeMCU in a practical application
ESP8266 NodeMCU OLED Display: Wi-Fi Enabled Hello World Project
This circuit features an ESP8266 NodeMCU microcontroller connected to a 1.3-inch OLED display via I2C communication. The microcontroller initializes the display and renders basic graphics and text, demonstrating a simple interface for visual output.
Cirkit Designer LogoOpen Project in Cirkit Designer
Image of soil moisture: A project utilizing ESP32S 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 mgr: A project utilizing ESP32S NodeMCU in a practical application
ESP8266 NodeMCU-Based Environmental Monitoring and Proximity Detection System
This circuit features an ESP8266 NodeMCU microcontroller interfaced with a BME/BMP280 sensor for environmental data, an HC-SR04 ultrasonic sensor for distance measurement, and an OLED display for output. Two LEDs (red and green) are included, each with a current-limiting resistor, likely for status indication. The ESP8266 facilitates communication with the sensors and display via I2C (SCL and SDA lines) and controls the LEDs and reads from the ultrasonic sensor using its GPIO pins.
Cirkit Designer LogoOpen Project in Cirkit Designer
Image of IoT: A project utilizing ESP32S 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

Common Applications

  • IoT devices and smart home systems
  • Wireless sensor networks
  • Wearable technology
  • Robotics and automation
  • Data logging and remote monitoring
  • Prototyping and educational projects

Technical Specifications

The ESP32S NodeMCU is based on the ESP32 microcontroller and includes the following key specifications:

Specification Details
Microcontroller ESP32 (dual-core Xtensa LX6 processor)
Clock Speed Up to 240 MHz
Flash Memory 4 MB
SRAM 520 KB
Wi-Fi 802.11 b/g/n (2.4 GHz)
Bluetooth Bluetooth 4.2 (Classic and BLE)
Operating Voltage 3.3V
Input Voltage (VIN) 5V (via USB or VIN pin)
GPIO Pins 30 (including ADC, DAC, PWM, I2C, SPI, UART)
ADC Channels 18 (12-bit resolution)
DAC Channels 2
Communication Protocols UART, SPI, I2C, I2S, CAN, PWM
USB Interface Micro-USB
Dimensions 58 mm x 25.5 mm

Pin Configuration

The ESP32S NodeMCU has a total of 30 GPIO pins, each with multiple functions. Below is a summary of the pin configuration:

Pin Function Description
VIN Power Input Connect to 5V power source (e.g., USB or external power supply).
GND Ground Common ground for the circuit.
3V3 3.3V Output Provides 3.3V output for external components.
EN Enable Enables or disables the chip (active high).
GPIO0 GPIO, Boot Mode General-purpose I/O, also used for boot mode selection.
GPIO2 GPIO, ADC, PWM General-purpose I/O, analog input, or PWM output.
GPIO4 GPIO, ADC, PWM General-purpose I/O, analog input, or PWM output.
GPIO5 GPIO, ADC, PWM General-purpose I/O, analog input, or PWM output.
GPIO12 GPIO, ADC, PWM, Touch Sensor General-purpose I/O, analog input, PWM output, or touch sensor input.
GPIO13 GPIO, ADC, PWM, Touch Sensor General-purpose I/O, analog input, PWM output, or touch sensor input.
GPIO14 GPIO, ADC, PWM, Touch Sensor General-purpose I/O, analog input, PWM output, or touch sensor input.
GPIO15 GPIO, ADC, PWM, Touch Sensor General-purpose I/O, analog input, PWM output, or touch sensor input.
GPIO16 GPIO General-purpose I/O.
GPIO17 GPIO General-purpose I/O.
TXD0 UART TX UART transmit pin (default serial communication).
RXD0 UART RX UART receive pin (default serial communication).

For a complete pinout diagram, refer to the official AZ-Delivery documentation.

Usage Instructions

How to Use the ESP32S NodeMCU in a Circuit

  1. Powering the Board:

    • Connect the ESP32S NodeMCU to your computer via a micro-USB cable for programming and power.
    • Alternatively, supply 5V to the VIN pin and connect GND to the ground of your power source.
  2. Programming the Board:

    • Install the Arduino IDE and add the ESP32 board support package.
    • Select "ESP32 Dev Module" from the Tools > Board menu.
    • Connect the board to your computer and select the appropriate COM port.
    • Write your code and upload it to the board.
  3. Connecting Peripherals:

    • Use the GPIO pins to connect sensors, actuators, or other peripherals.
    • Ensure that the voltage levels of connected devices are compatible with the 3.3V logic of the ESP32.
  4. Wi-Fi and Bluetooth Setup:

    • Use the built-in Wi-Fi and Bluetooth libraries to configure wireless communication.
    • For Wi-Fi, include the WiFi.h library in your code.
    • For Bluetooth, include the BluetoothSerial.h library.

Example Code: Wi-Fi Connection

The following example demonstrates how to connect the ESP32S NodeMCU to a Wi-Fi network:

#include <WiFi.h> // Include the Wi-Fi library

const char* ssid = "Your_SSID";       // Replace with your Wi-Fi network name
const char* password = "Your_Password"; // Replace with your Wi-Fi password

void setup() {
  Serial.begin(115200); // Initialize serial communication at 115200 baud
  WiFi.begin(ssid, password); // Start Wi-Fi connection

  Serial.print("Connecting to Wi-Fi");
  while (WiFi.status() != WL_CONNECTED) {
    delay(500); // Wait for connection
    Serial.print(".");
  }
  Serial.println("\nConnected to Wi-Fi!");
  Serial.print("IP Address: ");
  Serial.println(WiFi.localIP()); // Print the assigned IP address
}

void loop() {
  // Add your main code here
}

Important Considerations

  • Voltage Levels: The ESP32 operates at 3.3V logic. Avoid connecting 5V signals directly to GPIO pins. Use a level shifter if necessary.
  • Power Supply: Ensure a stable power supply, especially when using Wi-Fi or Bluetooth, as these features can draw significant current.
  • Boot Mode: GPIO0 must be pulled low during boot to enter programming mode.

Troubleshooting and FAQs

Common Issues

  1. Board Not Detected in Arduino IDE:

    • Ensure the correct USB driver is installed for the ESP32.
    • Check that the correct COM port is selected in the Arduino IDE.
  2. Wi-Fi Connection Fails:

    • Verify the SSID and password in your code.
    • Ensure the Wi-Fi network is within range and operational.
  3. Program Upload Fails:

    • Press and hold the "BOOT" button on the ESP32 while uploading the code.
    • Check the USB cable and port for proper connection.
  4. Random Resets or Instability:

    • Use a stable power source with sufficient current capacity (at least 500 mA).
    • Avoid using long or thin USB cables that may cause voltage drops.

FAQs

Q: Can I use the ESP32S NodeMCU with 5V sensors?
A: Yes, but you will need a level shifter to convert the 5V signals to 3.3V.

Q: How do I reset the ESP32?
A: Press the "EN" button on the board to reset the microcontroller.

Q: Can I use the ESP32S NodeMCU for battery-powered projects?
A: Yes, the board can be powered using a LiPo battery connected to the VIN pin, but ensure proper voltage regulation.

Q: How do I enable Bluetooth on the ESP32?
A: Include the BluetoothSerial.h library in your code and initialize the Bluetooth module using BluetoothSerial.begin().

By following this documentation, you can effectively utilize the ESP32S NodeMCU for your IoT and prototyping projects.