NodeMCU-32S image

NodeMCU-32S

Development Board

Code name: NodeMCU_32S

NodeMCU-32S is a development board based on the ESP32 microcontroller using XTENSA architecture.

This board features a maximum CPU frequency of 240 MHz and 4MB flash memory.

About NodeMCU-32S



The NodeMCU-32S is a feature-rich development board based on the Espressif ESP32-WROOM-32 module. With integrated Wi-Fi 802.11 b/g/n and Bluetooth 4.2 (BR/EDR + BLE), it’s ready for IoT projects that demand robust wireless connectivity. πŸ“‘

Its breadboard-friendly form factor pairs with an on-board CP2102 USB-to-UART converter, so you can plug in, program, and prototype in seconds-no extra hardware required. πŸ”Œ

For convenient development, the board comes with an EN (reset) button πŸ” and a BOOT (IO0) button, making flashing firmware and entering download mode a breeze. πŸš€

A built-in PCB antenna delivers stable RF performance without the need for external antennas, keeping your setup compact. πŸ“Ά

Exposing 30+ versatile GPIOs that support ADC, DAC, PWM, IΒ²C, SPI, UART, capacitive touch, and more, the NodeMCU-32S empowers you to interface with a wide range of sensors, displays, and actuators. βš™οΈ

Where to Buy NodeMCU-32S

Prices are subject to change. We earn from qualifying purchases as an Amazon Associate.

Technical Specifications

Complete technical specification details for NodeMCU-32S

Connectivity

WiFi 802.11 b/g/n (2.4 GHz)
Bluetooth 4.2
BLE 4.2

Microcontroller

Model esp32
Clock Speed 240 MHz
Flash Size 4MB
Architecture xtensa

✨ Features & Pins

Digital IO 40
Analog Input 16
PWM 19
Interrupts 16

Quick Setup

Copy-paste configs for NodeMCU-32S - auto‑generated from this board's exact hardware specs.

ESP32 240 MHz 4MB DIO Xtensa

In Arduino IDE 2 select Nodemcu 32s from the esp32 by Espressif package. In PlatformIO use board = esp32dev. ESP32 · 240 MHz · 4MB · DIO.

Tools menu settings
Board (select in Arduino IDE) Nodemcu 32s
CPU Frequency 240 MHz
Flash Size 4MB
Flash Mode DIO
Upload Speed 921600
Architecture Xtensa

In Arduino IDE 2, open Boards Manager, search "esp32" by Espressif and install it. Then go to Tools β†’ Board and select "Nodemcu 32s" for the NodeMCU-32S.

NodeMCU-32S Board Dimensions

Physical measurements for NodeMCU-32S

NodeMCU-32S dimensions - height, width
Width 22.86mm
Length 48.26mm
Pin Gap 2.54mm

NodeMCU-32S Pinout Diagram

Complete pin reference for NodeMCU-32S

NodeMCU-32S pinout diagram

The NodeMCU-32S pinout gives you nearly every feature of the ESP32-WROOM-32 module in a breadboard-friendly format. Key power rails-VIN (5 V), 3V3, and multiple GND pins-let you power the board itself or feed external sensors and actuators with ease.

For serial communication the board breaks out RX0 and TX0 (UART0, connected to the on-board CP2102 for USB programming) plus an extra pair, RX2 (GPIO16) and TX2 (GPIO17), for a second hardware UART. Default IΒ²C lines are SDA (GPIO21) and SCL (GPIO22), while the default VSPI port maps to MOSI (GPIO23), MISO (GPIO19), SCK (GPIO18), and CS (GPIO5). An alternate HSPI bus (GPIO12-15) is available when you need multiple SPI devices.

On the analog side, GPIO32 – GPIO39 expose ADC1 channels, and several ADC2 channels appear on GPIO0, GPIO2, GPIO4, GPIO12-15, and GPIO25-27 (ADC2 is not usable while Wi-Fi is running). Two 8-bit DAC outputs live on GPIO25 and GPIO26, perfect for audio or reference-voltage generation. Many of these pads double as capacitive-touch inputs for sleek, button-free interfaces.

Every GPIO supports PWM for LED dimming or motor control, and special-function pins such as EN (reset) and BOOT (IO0) make flashing easy. Take note of bootstrapping pins GPIO0, GPIO2, and GPIO15; keep them in the proper state (usually pulled HIGH) during reset to ensure normal startup.

With plentiful digital I/O, rich analog capabilities, and multiple high-speed buses, the NodeMCU-32S pinout delivers the versatility needed for everything from simple sensor nodes to complex connected gadgets-all while staying compact enough for quick prototyping.

Safe Pins to Use

These pins are safe for general GPIO usage without boot or system conflicts

LED_BUILTIN
IO21
IO22
IO23
IO19
IO18
IO32
IO33
IO25
IO26
IO27

Why Are These Pins Safe?

βœ“ No boot sequence involvement
βœ“ No flash/PSRAM connections
βœ“ No USB or JTAG conflicts
βœ“ Freely assignable without issues

Pins to Avoid or Use with Caution

Reserved for critical functions. Misuse may cause boot failures, programming issues, or system conflicts.

Strapping Pins

Boot behavior & flash voltage

JTAG Debugging

Low-level debugging interface

USB Pins

USB Serial/JTAG communication

Flash/SPI Pins

Memory & PSRAM connections

UART Serial

Debugging & firmware uploads

PINLabelWhy AvoidType
IO3U0RXD (GPIO3)Used for receiving data from USB-UART (programming); also pulled HIGH at boot for console communication, so using as GPIO can disrupt uploads.πŸ”Œ USB
IO1U0TXD (GPIO1)Connected to on-board USB-UART for uploading and logs; drives serial output at boot, so using as GPIO can disrupt programming or console.πŸ”Œ USB
IO5GPIO5Must be HIGH during boot; if pulled LOW at reset, alters SDIO slave timing and may prevent normal boot.πŸ› οΈ Strapping
IO36GPIO36 (SENSOR_VP)Cannot be used as output; only suitable for input (e.g., analog read).πŸͺ› Other
IO39GPIO39 (SENSOR_VN)Cannot be used as output; only suitable for input.πŸͺ› Other

NodeMCU-32S Custom Pin Mapping

Pin configuration and GPIO mapping for NodeMCU-32S

40
Digital I/O Pins
16
Interrupt Pins
16
Analog Inputs
19
PWM Pins
PinFunctionESP PinI/O TypeDescription
1LED_BUILTINGPIO2outputOn-board user LED (active-LOW)
2IO3GPIO3inputUART0 RX (USB serial)
3IO1GPIO1outputUART0 TX (USB serial)
4IO21GPIO21bidirectionalIΒ²C SDA
5IO22GPIO22bidirectionalIΒ²C SCL
6IO5GPIO5bidirectionalVSPI CS / SS
7IO23GPIO23bidirectionalVSPI MOSI
8IO19GPIO19bidirectionalVSPI MISO
9IO18GPIO18bidirectionalVSPI SCK
10IO36GPIO36inputADC1 Channel 0 (SVP)
11IO39GPIO39inputADC1 Channel 3 (SVN)
12IO32GPIO32inputADC1 Channel 4 / Touch 9
13IO33GPIO33inputADC1 Channel 5 / Touch 8
14IO25GPIO25outputDAC1
15IO26GPIO26outputDAC2
16IO27GPIO27bidirectionalADC2 Channel 7 / Touch 7
17IO14GPIO14bidirectionalHSPI SCK / Touch 6
18IO12GPIO12bidirectionalHSPI MISO / Touch 5
19IO13GPIO13bidirectionalHSPI MOSI / Touch 4
20IO15GPIO15bidirectionalMTDO / ADC2 Channel 3
21IO4GPIO4bidirectionalTouch 0 / ADC2 Channel 0
22IO16GPIO16bidirectionalUART2 RX / CLK_OUT
23IO17GPIO17bidirectionalUART2 TX
24IO0GPIO0bidirectionalBOOT-strap / Touch 1 (keep HIGH at reset)
25IO34GPIO34inputADC1 Channel 6
26IO35GPIO35inputADC1 Channel 7
Legend
Function Pin role
GPIO ESP32 pin
I/O Direction
# Pin number

Pin Mappings

Complete pinout and GPIO mapping for NodeMCU-32S

40
Digital I/O Pins
16
Interrupt Pins
16
Analog Inputs
19
PWM Pins
PinAnalogTouchPWMOther
0A11T1KEY_BUILTIN
1PWMTX
2A12T2PWMLED_BUILTIN
3PWMRX
4A10T0PWM
5PWMSS
12A15T5PWM
13A14T4PWM
14A16T6PWM
15A13T3PWM
18PWMSCK
19PWMMISO
21PWMSDA
22PWMSCL
23PWMMOSI
25A18PWMDAC1
26A19PWMDAC2
27A17T7PWM
32A4T9PWM
33A5T8PWM
34A6
35A7
36A0
39A3
Legend
A0 Analog input
T0 Touch sensor
PWM PWM capable
RX/TX Serial pins
LED Built-in LED
# Pin number

Default Tools & Configuration

Build and upload settings for NodeMCU-32S

SettingValue
Bootloader toolesptool_py
Uploader toolesptool_py
Network uploader toolesp_ota
Bootloader address0x1000
Flash modedio
Boot modedio
Maximum upload size
1280 KB (1310720 bytes)
Maximum data size
320 KB (327680 bytes)
Configuration Summary

The NodeMCU-32S uses esptool_py for uploads , esp_ota for OTA updates, and esptool_py bootloader at 0x1000.

Flash mode: dio | Boot mode: dio

Max sketch size: 1280 KB | Max data size: 320 KB