

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.








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 |
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). |
Powering the Board:
Programming the Board:
NodeMCU-32S) and COM port in the Arduino IDE.Connecting Peripherals:
Uploading Code:
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
}
The board is not detected by the computer:
Code upload fails:
BOOT button while uploading the code.Wi-Fi connection issues:
Random resets or instability:
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.