

The NMCU-ESP32, manufactured by na ich, is a versatile microcontroller unit (MCU) based on the ESP32 chip. It is equipped with built-in Wi-Fi and Bluetooth capabilities, making it an ideal choice for Internet of Things (IoT) applications. The NMCU-ESP32 offers robust processing power, multiple GPIO pins, analog-to-digital converters (ADCs), and support for various communication protocols, enabling seamless integration into a wide range of projects.








The NMCU-ESP32 is packed with features that make it a powerful and flexible component for embedded systems. Below are its key technical specifications:
| Parameter | Value |
|---|---|
| Microcontroller | ESP32 Dual-Core Processor |
| Clock Speed | Up to 240 MHz |
| Flash Memory | 4 MB (varies by model) |
| SRAM | 520 KB |
| Connectivity | Wi-Fi 802.11 b/g/n, Bluetooth 4.2 |
| Operating Voltage | 3.3V |
| Input Voltage Range | 5V (via USB) or 3.3V (via pins) |
| GPIO Pins | 30+ (varies by board design) |
| ADC Channels | Up to 18 |
| Communication Protocols | UART, SPI, I2C, I2S, CAN, PWM |
The NMCU-ESP32 typically features a 38-pin layout. Below is a table of the most commonly used pins and their functions:
| Pin Number | Pin Name | Description |
|---|---|---|
| 1 | EN | Enable pin (active high) |
| 2 | IO0 | GPIO0, used for boot mode selection |
| 3 | IO1 (TX0) | GPIO1, UART0 TX (serial communication) |
| 4 | IO3 (RX0) | GPIO3, UART0 RX (serial communication) |
| 5 | IO4 | GPIO4, general-purpose I/O |
| 6 | IO5 | GPIO5, general-purpose I/O |
| 7 | IO12 | GPIO12, ADC2 channel 5 |
| 8 | IO13 | GPIO13, ADC2 channel 4 |
| 9 | IO14 | GPIO14, ADC2 channel 6 |
| 10 | IO15 | GPIO15, ADC2 channel 3 |
| 11 | IO16 | GPIO16, general-purpose I/O |
| 12 | IO17 | GPIO17, general-purpose I/O |
| 13 | GND | Ground |
| 14 | 3V3 | 3.3V power output |
| 15 | VIN | Input voltage (5V via USB or external source) |
Note: The exact pinout may vary depending on the specific NMCU-ESP32 board model. Always refer to the datasheet or schematic for your board.
Below is an example of how to use the NMCU-ESP32 to blink an LED connected to GPIO2:
// Example: Blink an LED on GPIO2 of the NMCU-ESP32
// Define the GPIO pin for the LED
#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
}
Tip: Ensure that the LED is connected to GPIO2 with a current-limiting resistor (e.g., 220 ohms) to prevent damage.
The board is not detected by the computer:
Wi-Fi connection fails:
The board does not power on:
Code upload fails:
Q: Can the NMCU-ESP32 operate on battery power?
A: Yes, the board can be powered by a LiPo battery or other 3.3V/5V sources. Ensure proper voltage regulation.
Q: How many devices can connect to the NMCU-ESP32 via Bluetooth?
A: The ESP32 supports up to 7 simultaneous Bluetooth connections in classic mode.
Q: Can I use the NMCU-ESP32 with MicroPython?
A: Yes, the NMCU-ESP32 is compatible with MicroPython. Flash the MicroPython firmware to get started.
Q: What is the maximum Wi-Fi range?
A: The Wi-Fi range depends on environmental factors but typically extends up to 100 meters in open spaces.
By following this documentation, you can effectively integrate the NMCU-ESP32 into your projects and troubleshoot common issues with ease.