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 built around the powerful ESP32 microcontroller. It is designed for wireless applications, featuring integrated Wi-Fi and Bluetooth capabilities. This board is ideal for developing connected projects, offering a versatile set of GPIO pins for interfacing with sensors, actuators, and other peripherals. Additionally, the NODEMCU-32S supports programming in the Arduino IDE, making it accessible to both beginners and experienced developers.

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
  • IoT devices and prototypes
  • Wireless sensor networks
  • Smart appliances
  • Remote monitoring and control systems
  • Wearable devices

Technical Specifications

The NODEMCU-32S is equipped with robust hardware features that make it suitable for a wide range of applications. Below are its 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
Bluetooth Bluetooth 4.2 (Classic and BLE)
Operating Voltage 3.3V
Input Voltage (VIN) 5V (via USB or external power supply)
GPIO Pins 30 (including ADC, DAC, PWM, I2C, SPI, UART)
ADC Resolution 12-bit
DAC Resolution 8-bit
USB Interface Micro-USB
Dimensions 58 mm x 31 mm

Pin Configuration and Descriptions

The NODEMCU-32S has a total of 30 GPIO pins, each with specific functions. Below is a summary of the pin configuration:

Pin Function Description
VIN Power Input Accepts 5V input for powering the board.
GND Ground Common ground for the circuit.
3V3 Power Output Provides 3.3V output for external components.
GPIO0 General Purpose I/O, Boot Mode Used for boot mode selection during programming.
GPIO1 UART TX Transmit pin for UART communication.
GPIO3 UART RX Receive pin for UART communication.
GPIO12 ADC, PWM, GPIO Analog input, PWM output, or general-purpose I/O.
GPIO13 ADC, PWM, GPIO Analog input, PWM output, or general-purpose I/O.
GPIO14 ADC, PWM, GPIO Analog input, PWM output, or general-purpose I/O.
GPIO15 ADC, PWM, GPIO Analog input, PWM output, or general-purpose I/O.
GPIO16 GPIO General-purpose I/O.
GPIO17 GPIO General-purpose I/O.
EN Enable Enables or disables the board.
RST Reset Resets the microcontroller.

Usage Instructions

How to Use the NODEMCU-32S in a Circuit

  1. Powering the Board:

    • Connect the NODEMCU-32S to your computer via a Micro-USB cable for power and programming.
    • 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 "NodeMCU-32S" as the board in the Arduino IDE.
    • Write your code and upload it to the board using the Micro-USB connection.
  3. Connecting Peripherals:

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

    • Leverage the built-in Wi-Fi and Bluetooth capabilities for wireless communication.
    • Use libraries like WiFi.h or BluetoothSerial.h in the Arduino IDE to simplify development.

Important Considerations and Best Practices

  • Voltage Levels: The GPIO pins operate at 3.3V. Avoid connecting 5V devices directly to the pins without a level shifter.
  • Power Supply: Ensure a stable power supply to avoid unexpected resets or malfunctions.
  • Boot Mode: To enter bootloader mode for programming, hold down the "BOOT" button while pressing the "EN" (reset) button.
  • Heat Management: The ESP32 can get warm during operation. Ensure proper ventilation if used in enclosed spaces.

Example Code for Arduino IDE

Below is an example of how to connect the NODEMCU-32S to a Wi-Fi network and blink an LED:

#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
const int ledPin = 2;                 // GPIO2 is typically connected to the onboard LED

void setup() {
  pinMode(ledPin, OUTPUT);            // Set the LED pin as an output
  Serial.begin(115200);               // Start the serial communication
  Serial.println("Connecting to Wi-Fi...");

  WiFi.begin(ssid, password);         // Connect to the Wi-Fi network
  while (WiFi.status() != WL_CONNECTED) {
    delay(1000);                      // Wait for the connection to establish
    Serial.println("Connecting...");
  }

  Serial.println("Connected to Wi-Fi!");
  Serial.print("IP Address: ");
  Serial.println(WiFi.localIP());     // Print the device's IP address
}

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

Troubleshooting and FAQs

Common Issues and Solutions

  1. The board is not detected by the Arduino IDE:

    • Ensure the correct USB driver is installed for the NODEMCU-32S.
    • Check that the correct COM port is selected in the Arduino IDE.
  2. Wi-Fi connection fails:

    • Double-check the SSID and password in your code.
    • Ensure the Wi-Fi network is within range and operational.
  3. GPIO pins not working as expected:

    • Verify that the pins are not being used for other functions (e.g., boot mode).
    • Check for proper connections and ensure the voltage levels are correct.
  4. Frequent resets or instability:

    • Use a stable power supply with sufficient current (at least 500mA).
    • Avoid excessive power draw from the GPIO pins.

FAQs

Q: Can I use the NODEMCU-32S with 5V sensors?
A: The GPIO pins operate at 3.3V. Use a level shifter to safely interface with 5V sensors.

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

Q: Can I use the NODEMCU-32S for battery-powered projects?
A: Yes, you can power the board using a 3.7V LiPo battery with a suitable voltage regulator.

Q: Is the NODEMCU-32S compatible with ESP-IDF?
A: Yes, the NODEMCU-32S can be programmed using the ESP-IDF framework for advanced development.