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

How to Use NODEMCU-32S : Examples, Pinouts, and Specs

Image of NODEMCU-32S
Cirkit Designer LogoDesign with NODEMCU-32S in Cirkit Designer

Introduction

The NODEMCU-32S is a low-cost, open-source IoT platform based on the powerful ESP32 chip. It features integrated Wi-Fi and Bluetooth capabilities, making it an ideal choice for a wide range of applications, including home automation, sensor networks, and IoT prototyping. With its compact design and robust performance, the NODEMCU-32S is widely used by hobbyists, students, and professionals for developing connected devices.

Explore Projects Built with NODEMCU-32S

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 and SIM800L Based GPS Tracker with I2C LCD Display and Battery Power
Image of Little Innovator Competition: A project utilizing NODEMCU-32S  in a practical application
This circuit integrates an ESP8266 NodeMCU microcontroller with a SIM800L GSM module, a GPS NEO 6M module, and a 16x2 I2C LCD display for communication and location tracking. It also includes a pushbutton for user input, a piezo buzzer for audio alerts, and is powered by a 2x 18650 battery pack through an LM2596 step-down module.
Cirkit Designer LogoOpen Project in Cirkit Designer
ESP8266 NodeMCU RFID Access Control System with Feedback Indicators
Image of emos project: A project utilizing NODEMCU-32S  in a practical application
This circuit features an ESP8266 NodeMCU microcontroller as the central processing unit, interfaced with a variety of peripherals. It includes an RFID-RC522 module for RFID communication, a buzzer and LED for audio-visual feedback, a 16x2 LCD screen with I2C for display purposes, and a Servomotor SG90 for actuation. The NodeMCU controls these components, likely for an access control system where the RFID reader validates credentials, the LCD provides user feedback, and the servo acts as a lock mechanism.
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 NODEMCU-32S  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
NodeMCU ESP8266 Based Smart Relay with LCD Interface and RTC Support
Image of IoT based bell system: A project utilizing NODEMCU-32S  in a practical application
This circuit features a NodeMCU V3 ESP8266 microcontroller connected to a KY-019 Relay module for controlling power to a device, a DS3231 Real Time Clock (RTC) for timekeeping, and an LCM1602 IIC module interfaced with an LCD Display for user interface. The circuit is powered by a Mini AC-DC converter module that steps down AC mains to 5V, and the NodeMCU facilitates communication between the RTC, the relay, and the display, likely for scheduling and displaying the status of the connected device.
Cirkit Designer LogoOpen Project in Cirkit Designer

Explore Projects Built with NODEMCU-32S

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 Little Innovator Competition: A project utilizing NODEMCU-32S  in a practical application
ESP8266 and SIM800L Based GPS Tracker with I2C LCD Display and Battery Power
This circuit integrates an ESP8266 NodeMCU microcontroller with a SIM800L GSM module, a GPS NEO 6M module, and a 16x2 I2C LCD display for communication and location tracking. It also includes a pushbutton for user input, a piezo buzzer for audio alerts, and is powered by a 2x 18650 battery pack through an LM2596 step-down module.
Cirkit Designer LogoOpen Project in Cirkit Designer
Image of emos project: A project utilizing NODEMCU-32S  in a practical application
ESP8266 NodeMCU RFID Access Control System with Feedback Indicators
This circuit features an ESP8266 NodeMCU microcontroller as the central processing unit, interfaced with a variety of peripherals. It includes an RFID-RC522 module for RFID communication, a buzzer and LED for audio-visual feedback, a 16x2 LCD screen with I2C for display purposes, and a Servomotor SG90 for actuation. The NodeMCU controls these components, likely for an access control system where the RFID reader validates credentials, the LCD provides user feedback, and the servo acts as a lock mechanism.
Cirkit Designer LogoOpen Project in Cirkit Designer
Image of soil moisture: A project utilizing NODEMCU-32S  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 IoT based bell system: A project utilizing NODEMCU-32S  in a practical application
NodeMCU ESP8266 Based Smart Relay with LCD Interface and RTC Support
This circuit features a NodeMCU V3 ESP8266 microcontroller connected to a KY-019 Relay module for controlling power to a device, a DS3231 Real Time Clock (RTC) for timekeeping, and an LCM1602 IIC module interfaced with an LCD Display for user interface. The circuit is powered by a Mini AC-DC converter module that steps down AC mains to 5V, and the NodeMCU facilitates communication between the RTC, the relay, and the display, likely for scheduling and displaying the status of the connected device.
Cirkit Designer LogoOpen Project in Cirkit Designer

Common Applications and Use Cases

  • Home automation systems (e.g., smart lighting, thermostats)
  • Wireless sensor networks
  • IoT prototyping and development
  • Remote monitoring and control
  • Wearable devices
  • Industrial IoT applications

Technical Specifications

The NODEMCU-32S is built around the ESP32 chip, which provides high performance and versatility. Below are the key technical 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 and BLE (Bluetooth Low Energy)
Operating Voltage 3.3V
Input Voltage (VIN) 5V (via micro-USB or VIN pin)
GPIO Pins 30 (including ADC, DAC, PWM, I2C, SPI, UART)
ADC Channels 18 (12-bit resolution)
DAC Channels 2
Power Consumption Ultra-low power consumption in deep sleep mode (as low as 10 µA)
Dimensions 58 mm x 31 mm

Pin Configuration and Descriptions

The NODEMCU-32S has a total of 30 GPIO pins, which can be configured for various functions. Below is the pinout description:

Pin Function Description
VIN Power Input Accepts 5V input to power the board.
3V3 Power Output Provides 3.3V output for external components.
GND Ground Common ground for the circuit.
EN Enable Enables or disables the chip (active high).
GPIO0 Boot Mode / GPIO Used for boot mode selection or general-purpose I/O.
GPIO2 GPIO / ADC / Touch General-purpose I/O, ADC input, or capacitive touch input.
GPIO4 GPIO / ADC / Touch General-purpose I/O, ADC input, or capacitive touch input.
GPIO12 GPIO / ADC / Touch / HSPI General-purpose I/O, ADC input, touch input, or HSPI.
GPIO13 GPIO / ADC / Touch / HSPI General-purpose I/O, ADC input, touch input, or HSPI.
GPIO14 GPIO / ADC / Touch / HSPI General-purpose I/O, ADC input, touch input, or HSPI.
GPIO15 GPIO / ADC / Touch / HSPI General-purpose I/O, ADC input, touch input, or HSPI.
GPIO16 GPIO / UART General-purpose I/O or UART communication.
GPIO17 GPIO / UART General-purpose I/O or UART communication.
GPIO18 GPIO / SPI General-purpose I/O or SPI communication.
GPIO19 GPIO / SPI General-purpose I/O or SPI communication.
GPIO21 GPIO / I2C General-purpose I/O or I2C communication.
GPIO22 GPIO / I2C General-purpose I/O or I2C communication.
GPIO23 GPIO / SPI General-purpose I/O or SPI communication.
GPIO25 GPIO / DAC General-purpose I/O or DAC output.
GPIO26 GPIO / DAC General-purpose I/O or DAC output.
GPIO27 GPIO / ADC / Touch General-purpose I/O, ADC input, or capacitive touch input.
GPIO32 GPIO / ADC / Touch General-purpose I/O, ADC input, or capacitive touch input.
GPIO33 GPIO / ADC / Touch General-purpose I/O, ADC input, or capacitive touch input.
GPIO34 GPIO / ADC General-purpose I/O or ADC input (input-only pin).
GPIO35 GPIO / ADC General-purpose I/O or ADC input (input-only pin).
GPIO36 GPIO / ADC General-purpose I/O or ADC input (input-only pin).
GPIO39 GPIO / ADC General-purpose I/O or ADC input (input-only pin).

Usage Instructions

How to Use the NODEMCU-32S in a Circuit

  1. Powering the Board:

    • Use a micro-USB cable to supply 5V to the board. Alternatively, connect a 5V source to the VIN pin.
    • Ensure the power source can provide sufficient current (at least 500 mA).
  2. Programming the Board:

    • Install the Arduino IDE and add the ESP32 board support package.
    • Connect the NODEMCU-32S to your computer via USB.
    • Select the correct board (NodeMCU-32S) and COM port in the Arduino IDE.
  3. Connecting Peripherals:

    • Use the GPIO pins to connect sensors, actuators, or other peripherals.
    • Ensure the voltage levels of connected devices are compatible with the 3.3V logic of the NODEMCU-32S.
  4. Uploading Code:

    • Write your code in the Arduino IDE or use example sketches.
    • Click the upload button to flash the code to the board.

Example Code: Blinking an LED

The following example demonstrates how to blink an LED connected to GPIO2:

// Define the GPIO pin where the LED is connected
#define LED_PIN 2

void setup() {
  // Set the LED pin as an output
  pinMode(LED_PIN, OUTPUT);
}

void loop() {
  // Turn the LED on
  digitalWrite(LED_PIN, HIGH);
  delay(1000); // Wait for 1 second

  // Turn the LED off
  digitalWrite(LED_PIN, LOW);
  delay(1000); // Wait for 1 second
}

Important Considerations and Best Practices

  • Avoid connecting 5V logic devices directly to the GPIO pins, as they operate at 3.3V.
  • Use pull-up or pull-down resistors for input pins to ensure stable readings.
  • When using Wi-Fi or Bluetooth, ensure the power supply is stable to avoid resets.
  • Use deep sleep mode to conserve power in battery-operated applications.

Troubleshooting and FAQs

Common Issues and Solutions

  1. The board is not detected by the computer:

    • Ensure the USB cable is functional and supports data transfer.
    • Install the correct USB-to-serial driver for the NODEMCU-32S.
  2. Code upload fails:

    • Check that the correct board and COM port are selected in the Arduino IDE.
    • Press and hold the BOOT button while uploading the code.
  3. Wi-Fi connection issues:

    • Verify the SSID and password in your code.
    • Ensure the Wi-Fi network operates on the 2.4 GHz band (not 5 GHz).
  4. Random resets or instability:

    • Use a stable power supply with sufficient current.
    • Add capacitors to the power lines to filter noise.

FAQs

  • Can I use the NODEMCU-32S with 5V sensors?
    Yes, but you will need a level shifter to convert the 5V signals to 3.3V.

  • What is the maximum current the GPIO pins can source/sink?
    Each GPIO pin can source/sink up to 12 mA safely.

  • How do I reset the board?
    Press the EN button to reset the board.

  • Can I use the NODEMCU-32S for battery-powered applications?
    Yes, the board supports ultra-low power modes, making it suitable for battery-powered projects.