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

How to Use NMCU-ESP32 : Examples, Pinouts, and Specs

Image of NMCU-ESP32
Cirkit Designer LogoDesign with NMCU-ESP32 in Cirkit Designer

Introduction

The NMCU-ESP32, manufactured by na ich, is a powerful microcontroller unit (MCU) designed for Internet of Things (IoT) applications. It integrates both Wi-Fi and Bluetooth capabilities, making it a versatile choice for connected devices. With its dual-core processor, extensive GPIO pins, and support for multiple communication protocols, the NMCU-ESP32 is ideal for projects requiring wireless communication, real-time processing, and efficient power management.

Explore Projects Built with NMCU-ESP32

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 and NRF24L01 Wireless Control Circuit
Image of master Node: A project utilizing NMCU-ESP32  in a practical application
This circuit features an ESP32-WROOM-32UE microcontroller interfaced with an NRF24L01 wireless transceiver module, allowing for wireless communication capabilities. A pushbutton with a pull-down resistor is connected to the ESP32 for user input. Power regulation is managed by an AMS1117 3.3V regulator, which receives 5V from an AC-DC PSU board and is stabilized by an electrolytic capacitor, providing a stable 3.3V supply to the ESP32 and NRF24L01.
Cirkit Designer LogoOpen Project in Cirkit Designer
ESP8266 NodeMCU RFID Access Control System with Feedback Indicators
Image of emos project: A project utilizing NMCU-ESP32  in a practical application
This circuit features an ESP8266 NodeMCU microcontroller as the central processing unit, interfaced with a variety of peripherals. It includes an RFID-RC522 module for RFID communication, a buzzer and LED for audio-visual feedback, a 16x2 LCD screen with I2C for display purposes, and a Servomotor SG90 for actuation. The NodeMCU controls these components, likely for an access control system where the RFID reader validates credentials, the LCD provides user feedback, and the servo acts as a lock mechanism.
Cirkit Designer LogoOpen Project in Cirkit Designer
ESP8266 NodeMCU Controlled RFID Access System with I2C LCD Feedback
Image of SLOG: A project utilizing NMCU-ESP32  in a practical application
This circuit features an ESP8266 NodeMCU microcontroller connected to an I2C LCD screen, an RFID-RC522 module, a piezo speaker, and a fan. The NodeMCU communicates with the LCD screen and RFID reader via I2C and SPI respectively, controls a piezo speaker for audio feedback, and powers a fan. The microcontroller is programmed to connect to WiFi, read RFID tags, send data to a server, and display status messages on the LCD screen.
Cirkit Designer LogoOpen Project in Cirkit Designer
ESP32-Based Multi-Sensor Health Monitoring System with Bluetooth Connectivity
Image of circuit diagram: A project utilizing NMCU-ESP32  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

Explore Projects Built with NMCU-ESP32

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 master Node: A project utilizing NMCU-ESP32  in a practical application
ESP32 and NRF24L01 Wireless Control Circuit
This circuit features an ESP32-WROOM-32UE microcontroller interfaced with an NRF24L01 wireless transceiver module, allowing for wireless communication capabilities. A pushbutton with a pull-down resistor is connected to the ESP32 for user input. Power regulation is managed by an AMS1117 3.3V regulator, which receives 5V from an AC-DC PSU board and is stabilized by an electrolytic capacitor, providing a stable 3.3V supply to the ESP32 and NRF24L01.
Cirkit Designer LogoOpen Project in Cirkit Designer
Image of emos project: A project utilizing NMCU-ESP32  in a practical application
ESP8266 NodeMCU RFID Access Control System with Feedback Indicators
This circuit features an ESP8266 NodeMCU microcontroller as the central processing unit, interfaced with a variety of peripherals. It includes an RFID-RC522 module for RFID communication, a buzzer and LED for audio-visual feedback, a 16x2 LCD screen with I2C for display purposes, and a Servomotor SG90 for actuation. The NodeMCU controls these components, likely for an access control system where the RFID reader validates credentials, the LCD provides user feedback, and the servo acts as a lock mechanism.
Cirkit Designer LogoOpen Project in Cirkit Designer
Image of SLOG: A project utilizing NMCU-ESP32  in a practical application
ESP8266 NodeMCU Controlled RFID Access System with I2C LCD Feedback
This circuit features an ESP8266 NodeMCU microcontroller connected to an I2C LCD screen, an RFID-RC522 module, a piezo speaker, and a fan. The NodeMCU communicates with the LCD screen and RFID reader via I2C and SPI respectively, controls a piezo speaker for audio feedback, and powers a fan. The microcontroller is programmed to connect to WiFi, read RFID tags, send data to a server, and display status messages on the LCD screen.
Cirkit Designer LogoOpen Project in Cirkit Designer
Image of circuit diagram: A project utilizing NMCU-ESP32  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

Common Applications and Use Cases

  • Smart home devices (e.g., smart lights, thermostats, and security systems)
  • Industrial IoT systems (e.g., sensors and actuators)
  • Wearable technology
  • Wireless data logging and monitoring
  • Robotics and automation
  • Prototyping and development of connected devices

Technical Specifications

The NMCU-ESP32 offers robust performance and flexibility. Below are its key technical details:

Key Technical Details

Parameter Specification
Processor Dual-core Xtensa® 32-bit LX6 CPU
Clock Speed Up to 240 MHz
Flash Memory 4 MB (varies by model)
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
GPIO Pins 34
Communication Protocols UART, SPI, I2C, I2S, CAN, PWM
ADC Channels 18 (12-bit resolution)
DAC Channels 2
Power Consumption Ultra-low power modes available
Operating Temperature -40°C to 85°C

Pin Configuration and Descriptions

The NMCU-ESP32 has a total of 38 pins, with 34 GPIO pins that can be configured for various functions. Below is a summary of the pin configuration:

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
4 IO3 (RX0) GPIO3, UART0 RX
5 IO4 GPIO4, PWM, ADC
6 IO5 GPIO5, PWM, ADC
... ... ... (Refer to the full datasheet)
37 3V3 3.3V power supply
38 GND Ground

Note: Some GPIO pins have specific functions or limitations. Refer to the full datasheet for detailed pin mappings.

Usage Instructions

The NMCU-ESP32 is easy to integrate into a variety of projects. Below are the steps and best practices for using it effectively.

How to Use the NMCU-ESP32 in a Circuit

  1. Power Supply: Provide a stable 3.3V power supply to the 3V3 pin. Avoid exceeding the voltage limit to prevent damage.
  2. Boot Mode: To upload code, connect GPIO0 to GND and reset the board. After uploading, disconnect GPIO0 from GND.
  3. Programming: Use the Arduino IDE or ESP-IDF (Espressif IoT Development Framework) to program the NMCU-ESP32.
  4. Connections: Connect peripherals (e.g., sensors, actuators) to the GPIO pins. Use pull-up or pull-down resistors as needed.

Important Considerations and Best Practices

  • Voltage Levels: Ensure all connected devices operate at 3.3V logic levels. Use level shifters if interfacing with 5V devices.
  • Wi-Fi Antenna: Avoid placing metal objects near the onboard antenna to maintain strong signal strength.
  • Power Management: Utilize the ultra-low power modes for battery-powered applications.
  • Pin Multiplexing: Be aware that some pins have multiple functions. Configure them carefully in your code.

Example Code for Arduino UNO Integration

Below is an example of how to use the NMCU-ESP32 with the Arduino IDE to connect to a Wi-Fi network:

#include <WiFi.h> // Include the Wi-Fi library

// Replace with your network credentials
const char* ssid = "Your_SSID";
const char* password = "Your_PASSWORD";

void setup() {
  Serial.begin(115200); // Initialize serial communication
  delay(1000); // Wait for the serial monitor to initialize

  Serial.println("Connecting to Wi-Fi...");
  WiFi.begin(ssid, password); // Start Wi-Fi connection

  // Wait until the ESP32 connects to Wi-Fi
  while (WiFi.status() != WL_CONNECTED) {
    delay(500);
    Serial.print(".");
  }

  Serial.println("\nConnected to Wi-Fi!");
  Serial.print("IP Address: ");
  Serial.println(WiFi.localIP()); // Print the assigned IP address
}

void loop() {
  // Add your main code here
}

Note: Replace Your_SSID and Your_PASSWORD with your Wi-Fi network credentials.

Troubleshooting and FAQs

Common Issues and Solutions

  1. Issue: The NMCU-ESP32 does not connect to Wi-Fi.

    • Solution: Double-check the SSID and password. Ensure the Wi-Fi network is 2.4 GHz, as the ESP32 does not support 5 GHz networks.
  2. Issue: The board is not detected by the computer.

    • Solution: Install the correct USB-to-serial driver for your operating system. Ensure the USB cable is functional and supports data transfer.
  3. Issue: GPIO pins are not functioning as expected.

    • Solution: Verify the pin configuration in your code. Check for conflicts with other peripherals or functions.
  4. Issue: The ESP32 resets unexpectedly.

    • Solution: Ensure the power supply is stable and capable of providing sufficient current (at least 500 mA).

FAQs

  • Q: Can the NMCU-ESP32 be powered via USB?
    A: Yes, the board can be powered via the USB port, which provides 5V. The onboard regulator converts it to 3.3V.

  • Q: How do I update the firmware?
    A: Use the ESP-IDF or Arduino IDE to upload new firmware. Ensure the board is in boot mode during the upload process.

  • Q: Can I use the NMCU-ESP32 for Bluetooth audio applications?
    A: Yes, the ESP32 supports Bluetooth audio via the I2S interface and A2DP profile.

By following this documentation, you can effectively utilize the NMCU-ESP32 for a wide range of IoT and embedded applications.