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 rapid prototyping and development of IoT applications, offering integrated Wi-Fi and Bluetooth capabilities. The module features multiple GPIO pins for interfacing with sensors, actuators, and other peripherals, as well as a USB interface for programming and power supply. Its compact design and robust functionality make it a popular choice for hobbyists, students, and professionals alike.

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
  • Wireless sensor networks
  • IoT-enabled devices
  • Robotics and automation
  • Wearable technology
  • Data logging and monitoring systems

Technical Specifications

The NODEMCU-32S is based on the ESP32 microcontroller, which provides a rich set of features for IoT applications. Below are the key technical specifications:

Parameter Specification
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
Operating Voltage 3.3V
Input Voltage (USB) 5V
GPIO Pins 30 (multipurpose, including ADC, DAC, PWM, etc.)
ADC Channels 18 (12-bit resolution)
DAC Channels 2 (8-bit resolution)
Communication Interfaces UART, SPI, I2C, I2S, CAN
USB Interface Micro-USB
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 a summary of the pin configuration:

Pin Function Description
VIN Power Input Accepts 5V input from USB or external power source.
GND Ground Common ground for the circuit.
3V3 Power Output Provides 3.3V output for external components.
EN Enable Enables or disables the module.
GPIO0 General Purpose I/O Can be used for digital I/O or special functions.
GPIO1 UART TX Transmit pin for UART communication.
GPIO3 UART RX Receive pin for UART communication.
GPIO36 ADC1 Channel 0 Analog input (12-bit resolution).
GPIO39 ADC1 Channel 3 Analog input (12-bit resolution).
GPIO25 DAC1 Digital-to-Analog Converter output.
GPIO26 DAC2 Digital-to-Analog Converter output.
GPIO12 PWM Output Can be used for PWM signal generation.
GPIO13 PWM Output Can be used for PWM signal generation.

Note: Some GPIO pins have specific restrictions or are used during boot. Refer to the ESP32 datasheet for detailed pin functionality.

Usage Instructions

How to Use the NODEMCU-32S in a Circuit

  1. Powering the Module:

    • 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 Module:

    • 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 module via the USB interface.
  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.

Example: Blinking an LED

Below is an example of how to blink an LED connected to GPIO2 of the NODEMCU-32S:

// Define the GPIO pin where the LED is connected
const int ledPin = 2;

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

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

  // Turn the LED off
  digitalWrite(ledPin, 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 where necessary to stabilize input signals.
  • Be cautious of GPIO pins that are used during boot (e.g., GPIO0, GPIO2, GPIO15) to avoid boot issues.
  • Use a level shifter if interfacing with 5V devices.

Troubleshooting and FAQs

Common Issues

  1. The module 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. Upload fails with a timeout error.

    • Check that the correct COM port is selected in the Arduino IDE.
    • Press and hold the "BOOT" button on the module while uploading the code.
  3. Wi-Fi connection fails.

    • Verify the SSID and password in your code.
    • Ensure the Wi-Fi network is within range and operational.

FAQs

Q: Can I power the NODEMCU-32S with a battery?
A: Yes, you can power the module using a 3.7V LiPo battery connected to the VIN and GND pins. Ensure the battery voltage is regulated to 5V if necessary.

Q: How do I reset the module?
A: Press the "RST" button on the module to perform a hardware reset.

Q: Can I use the NODEMCU-32S with MicroPython?
A: Yes, the NODEMCU-32S supports MicroPython. You can flash the MicroPython firmware to the module and use it for development.

Q: What is the maximum current output of the 3V3 pin?
A: The 3V3 pin can supply up to 500 mA, depending on the power source.

By following this documentation, you can effectively use the NODEMCU-32S for your IoT projects and troubleshoot common issues with ease.