

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.








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 |
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.
Powering the Module:
Programming the Module:
Connecting Peripherals:
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
}
The module is not detected by the computer.
Upload fails with a timeout error.
Wi-Fi connection fails.
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.