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

How to Use NodeMCU-32S ESP32 DEVKIT WROOM: Examples, Pinouts, and Specs

Image of NodeMCU-32S ESP32 DEVKIT WROOM
Cirkit Designer LogoDesign with NodeMCU-32S ESP32 DEVKIT WROOM in Cirkit Designer

Introduction

The NodeMCU-32S ESP32 DEVKIT WROOM, manufactured by Wishiot (Part ID: CP2102), is a low-cost, open-source IoT development platform based on the powerful ESP32 chip. It features integrated Wi-Fi and Bluetooth capabilities, making it ideal for a wide range of applications, including home automation, sensor networks, and IoT prototyping. Its compact design and rich feature set make it a popular choice among developers and hobbyists.

Explore Projects Built with NodeMCU-32S ESP32 DEVKIT WROOM

Use Cirkit Designer to design, explore, and prototype these projects online. Some projects support real-time simulation. Click "Open Project" to start designing instantly!
ESP32-Based GPS Tracker with SD Card Logging and Barometric Sensor
Image of gps projekt circuit: A project utilizing NodeMCU-32S ESP32 DEVKIT WROOM in a practical application
This circuit features an ESP32 Wroom Dev Kit as the main microcontroller, interfaced with an MPL3115A2 sensor for pressure and temperature readings, and a Neo 6M GPS module for location tracking. The ESP32 is also connected to an SD card reader for data logging purposes. A voltage regulator is used to step down the USB power supply to 3.3V, which powers the ESP32, the sensor, and the SD card reader.
Cirkit Designer LogoOpen Project in Cirkit Designer
ESP32 and Arduino UNO Serial Communication Interface
Image of ESP32 Arduino COM SErial: A project utilizing NodeMCU-32S ESP32 DEVKIT WROOM in a practical application
This circuit integrates an ESP32 Wroom Dev Kit and an Arduino UNO, connected via their TXD/RXD pins for serial communication and sharing a common ground. Both microcontrollers are programmed with basic setup and loop functions, indicating a potential for further development of communication or control tasks.
Cirkit Designer LogoOpen Project in Cirkit Designer
ESP32-Based Multi-Sensor Health Monitoring System with Bluetooth Connectivity
Image of circuit diagram: A project utilizing NodeMCU-32S ESP32 DEVKIT WROOM in a practical application
This circuit features an ESP32-WROOM-32UE microcontroller as the central processing unit, interfacing with a variety of sensors and modules. It includes a MAX30100 pulse oximeter and heart-rate sensor, an MLX90614 infrared thermometer, an HC-05 Bluetooth module for wireless communication, and a Neo 6M GPS module for location tracking. All components are powered by a common voltage supply and are connected to specific GPIO pins on the ESP32 for data exchange, with the sensors using I2C communication and the modules using UART.
Cirkit Designer LogoOpen Project in Cirkit Designer
ESP32 and Arduino UNO Serial Communication Interface
Image of anomaly-detection-schema: A project utilizing NodeMCU-32S ESP32 DEVKIT WROOM in a practical application
This circuit connects an ESP32 Wroom Dev Kit to an Arduino UNO, enabling serial communication between the two microcontrollers. The TXD pin of the ESP32 is connected to the D0 pin of the Arduino, and the RXD pin of the ESP32 is connected to the D1 pin of the Arduino, with a common ground connection.
Cirkit Designer LogoOpen Project in Cirkit Designer

Explore Projects Built with NodeMCU-32S ESP32 DEVKIT WROOM

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 gps projekt circuit: A project utilizing NodeMCU-32S ESP32 DEVKIT WROOM in a practical application
ESP32-Based GPS Tracker with SD Card Logging and Barometric Sensor
This circuit features an ESP32 Wroom Dev Kit as the main microcontroller, interfaced with an MPL3115A2 sensor for pressure and temperature readings, and a Neo 6M GPS module for location tracking. The ESP32 is also connected to an SD card reader for data logging purposes. A voltage regulator is used to step down the USB power supply to 3.3V, which powers the ESP32, the sensor, and the SD card reader.
Cirkit Designer LogoOpen Project in Cirkit Designer
Image of ESP32 Arduino COM SErial: A project utilizing NodeMCU-32S ESP32 DEVKIT WROOM in a practical application
ESP32 and Arduino UNO Serial Communication Interface
This circuit integrates an ESP32 Wroom Dev Kit and an Arduino UNO, connected via their TXD/RXD pins for serial communication and sharing a common ground. Both microcontrollers are programmed with basic setup and loop functions, indicating a potential for further development of communication or control tasks.
Cirkit Designer LogoOpen Project in Cirkit Designer
Image of circuit diagram: A project utilizing NodeMCU-32S ESP32 DEVKIT WROOM in a practical application
ESP32-Based Multi-Sensor Health Monitoring System with Bluetooth Connectivity
This circuit features an ESP32-WROOM-32UE microcontroller as the central processing unit, interfacing with a variety of sensors and modules. It includes a MAX30100 pulse oximeter and heart-rate sensor, an MLX90614 infrared thermometer, an HC-05 Bluetooth module for wireless communication, and a Neo 6M GPS module for location tracking. All components are powered by a common voltage supply and are connected to specific GPIO pins on the ESP32 for data exchange, with the sensors using I2C communication and the modules using UART.
Cirkit Designer LogoOpen Project in Cirkit Designer
Image of anomaly-detection-schema: A project utilizing NodeMCU-32S ESP32 DEVKIT WROOM in a practical application
ESP32 and Arduino UNO Serial Communication Interface
This circuit connects an ESP32 Wroom Dev Kit to an Arduino UNO, enabling serial communication between the two microcontrollers. The TXD pin of the ESP32 is connected to the D0 pin of the Arduino, and the RXD pin of the ESP32 is connected to the D1 pin of the Arduino, with a common ground connection.
Cirkit Designer LogoOpen Project in Cirkit Designer

Common Applications:

  • Home automation systems
  • Wireless sensor networks
  • IoT device prototyping
  • Smart appliances
  • Wearable devices
  • Industrial IoT solutions

Technical Specifications

The NodeMCU-32S ESP32 DEVKIT WROOM is built around the ESP32-WROOM-32 module, which integrates a dual-core processor, wireless connectivity, and a variety of peripherals.

Key Technical Details:

Parameter Specification
Microcontroller ESP32 (Xtensa® dual-core 32-bit LX6)
Clock Speed Up to 240 MHz
Flash Memory 4 MB (SPI Flash)
SRAM 520 KB
Wi-Fi 802.11 b/g/n (2.4 GHz)
Bluetooth v4.2 BR/EDR and BLE
Operating Voltage 3.3 V
Input Voltage (VIN) 5 V (via USB or external power)
GPIO Pins 30
ADC Channels 18 (12-bit resolution)
DAC Channels 2
Communication Interfaces UART, SPI, I2C, I2S, CAN, PWM
USB-to-Serial Chip CP2102
Dimensions 58 mm x 25.5 mm

Pin Configuration and Descriptions:

The NodeMCU-32S ESP32 DEVKIT WROOM has a total of 38 pins. Below is a summary of the key pins:

Pin Name Pin Number Description
VIN 1 Input voltage (5 V)
GND 2, 38 Ground
3V3 3 3.3 V output
EN 4 Enable pin (active high)
IO0 5 GPIO0, used for boot mode selection
IO2 6 GPIO2, supports PWM, ADC, etc.
IO4 7 GPIO4, supports PWM, ADC, etc.
IO5 8 GPIO5, supports PWM, ADC, etc.
IO12 9 GPIO12, supports PWM, ADC, etc.
IO13 10 GPIO13, supports PWM, ADC, etc.
IO14 11 GPIO14, supports PWM, ADC, etc.
IO15 12 GPIO15, supports PWM, ADC, etc.
IO16 13 GPIO16, supports UART, ADC, etc.
IO17 14 GPIO17, supports UART, ADC, etc.
IO18 15 GPIO18, supports SPI, PWM, etc.
IO19 16 GPIO19, supports SPI, PWM, etc.
IO21 17 GPIO21, supports I2C, PWM, etc.
IO22 18 GPIO22, supports I2C, PWM, etc.
IO23 19 GPIO23, supports SPI, PWM, etc.
IO25 20 GPIO25, supports DAC, ADC, etc.
IO26 21 GPIO26, supports DAC, ADC, etc.
IO27 22 GPIO27, supports ADC, PWM, etc.
IO32 23 GPIO32, supports ADC, PWM, etc.
IO33 24 GPIO33, supports ADC, PWM, etc.
IO34 25 GPIO34, input-only ADC
IO35 26 GPIO35, input-only ADC
IO36 27 GPIO36, input-only ADC
IO39 28 GPIO39, input-only ADC

Usage Instructions

How to Use the NodeMCU-32S ESP32 DEVKIT WROOM in a Circuit:

  1. Powering the Board:

    • Connect the board to a computer or USB power source using a micro-USB cable.
    • Alternatively, supply 5 V to the VIN pin and connect GND to ground.
  2. Programming the Board:

    • Install the CP2102 USB-to-Serial driver (if not already installed).
    • Use the Arduino IDE or ESP-IDF (Espressif IoT Development Framework) to write and upload code.
    • Select the correct board (NodeMCU-32S) and port in the IDE.
  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.3 V logic of the ESP32.
  4. Flashing Code:

    • Hold the BOOT button while pressing the EN button to enter flashing mode.
    • Release the BOOT button and upload the code from the IDE.

Example Code for Arduino IDE:

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

// Define the GPIO pin for the LED
#define LED_PIN 2

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

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

Important Considerations:

  • Voltage Levels: Ensure that all connected peripherals operate at 3.3 V logic levels. Use level shifters if necessary.
  • Power Supply: Avoid powering high-current devices directly from the 3V3 pin. Use an external power source if needed.
  • Boot Mode: GPIO0 must be pulled low during boot to enter flashing mode.

Troubleshooting and FAQs

Common Issues:

  1. Board Not Detected by Computer:

    • Ensure the CP2102 driver is installed correctly.
    • Try a different USB cable or port.
  2. Code Upload Fails:

    • Check that the correct board and port are selected in the IDE.
    • Hold the BOOT button while uploading the code.
  3. Wi-Fi Connection Issues:

    • Verify the SSID and password in your code.
    • Ensure the router operates on the 2.4 GHz band (ESP32 does not support 5 GHz).
  4. GPIO Pin Not Working:

    • Confirm that the pin is not reserved for internal functions (e.g., GPIO0, GPIO2 during boot).
    • Check for wiring or connection issues.

Tips for Troubleshooting:

  • Use the serial monitor to debug and view error messages.
  • Test the board with a simple sketch (e.g., blinking an LED) to verify functionality.
  • Refer to the ESP32 datasheet for detailed information on pin functions and electrical characteristics.