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

How to Use ESP32 NODE32S: Examples, Pinouts, and Specs

Image of ESP32 NODE32S
Cirkit Designer LogoDesign with ESP32 NODE32S in Cirkit Designer

Introduction

The ESP32 NODE32S is a versatile microcontroller board based on the powerful ESP32 chip. It features integrated Wi-Fi and Bluetooth capabilities, making it an excellent choice for Internet of Things (IoT) applications, home automation, wireless sensor networks, and other projects requiring reliable wireless communication. With its dual-core processor, ample GPIO pins, and support for various communication protocols, the ESP32 NODE32S is a favorite among hobbyists and professionals alike.

Explore Projects Built with ESP32 NODE32S

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-C3 Controlled Automated Watering and Monitoring System
Image of Smart Aquarium: A project utilizing ESP32 NODE32S in a practical application
This circuit features a NodeESP32-C3 microcontroller connected to various sensors and actuators, including a pH meter, light sensor, water level sensor, two servos, and a water pump. The microcontroller reads data from the sensors and controls the servos and water pump through a relay module. Additionally, the circuit includes an RTC module for timekeeping and an LED strip with a current-limiting resistor, all powered by an external power supply.
Cirkit Designer LogoOpen Project in Cirkit Designer
ESP32-Based OLED Display Interface
Image of d: A project utilizing ESP32 NODE32S in a practical application
This circuit features an ESP32 microcontroller connected to an OLED 1.3" display. The ESP32's GPIO pins 21 and 22 are used for I2C communication (SDA and SCL respectively) with the OLED display. The display is powered by the 5V output from the ESP32, and both devices share a common ground.
Cirkit Designer LogoOpen Project in Cirkit Designer
ESP32-Based LoRa Communication Device with OLED Display
Image of LoRa_Satellite_GS: A project utilizing ESP32 NODE32S in a practical application
This circuit features an ESP32 microcontroller connected to a 0.96" OLED display and a LoRa Ra-02 SX1278 module for wireless communication. The ESP32 facilitates communication with the OLED display via I2C (SDA and SCK lines) and with the LoRa module via SPI (MISO, MOSI, SCK, NSS lines) and GPIO for control signals (DI00, DI01, RST). The circuit is designed for applications requiring wireless data transmission and visual data display.
Cirkit Designer LogoOpen Project in Cirkit Designer
ESP32-Based NTP Clock with DHT22 Temperature Sensor and WS2812 LED Matrix Display
Image of date time and temperature display : A project utilizing ESP32 NODE32S in a practical application
This circuit features an ESP32 Devkit V1 microcontroller connected to a DHT22 temperature and humidity sensor and an 8x8 WS2812 RGB LED matrix. The ESP32 reads temperature data from the DHT22 sensor and displays the current date, time, and temperature on the LED matrix, with date and time synchronized via NTP (Network Time Protocol). The ESP32 provides power to both the DHT22 and the LED matrix and communicates with the DHT22 via GPIO 4 and with the LED matrix via GPIO 5.
Cirkit Designer LogoOpen Project in Cirkit Designer

Explore Projects Built with ESP32 NODE32S

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 Smart Aquarium: A project utilizing ESP32 NODE32S in a practical application
ESP32-C3 Controlled Automated Watering and Monitoring System
This circuit features a NodeESP32-C3 microcontroller connected to various sensors and actuators, including a pH meter, light sensor, water level sensor, two servos, and a water pump. The microcontroller reads data from the sensors and controls the servos and water pump through a relay module. Additionally, the circuit includes an RTC module for timekeeping and an LED strip with a current-limiting resistor, all powered by an external power supply.
Cirkit Designer LogoOpen Project in Cirkit Designer
Image of d: A project utilizing ESP32 NODE32S in a practical application
ESP32-Based OLED Display Interface
This circuit features an ESP32 microcontroller connected to an OLED 1.3" display. The ESP32's GPIO pins 21 and 22 are used for I2C communication (SDA and SCL respectively) with the OLED display. The display is powered by the 5V output from the ESP32, and both devices share a common ground.
Cirkit Designer LogoOpen Project in Cirkit Designer
Image of LoRa_Satellite_GS: A project utilizing ESP32 NODE32S in a practical application
ESP32-Based LoRa Communication Device with OLED Display
This circuit features an ESP32 microcontroller connected to a 0.96" OLED display and a LoRa Ra-02 SX1278 module for wireless communication. The ESP32 facilitates communication with the OLED display via I2C (SDA and SCK lines) and with the LoRa module via SPI (MISO, MOSI, SCK, NSS lines) and GPIO for control signals (DI00, DI01, RST). The circuit is designed for applications requiring wireless data transmission and visual data display.
Cirkit Designer LogoOpen Project in Cirkit Designer
Image of date time and temperature display : A project utilizing ESP32 NODE32S in a practical application
ESP32-Based NTP Clock with DHT22 Temperature Sensor and WS2812 LED Matrix Display
This circuit features an ESP32 Devkit V1 microcontroller connected to a DHT22 temperature and humidity sensor and an 8x8 WS2812 RGB LED matrix. The ESP32 reads temperature data from the DHT22 sensor and displays the current date, time, and temperature on the LED matrix, with date and time synchronized via NTP (Network Time Protocol). The ESP32 provides power to both the DHT22 and the LED matrix and communicates with the DHT22 via GPIO 4 and with the LED matrix via GPIO 5.
Cirkit Designer LogoOpen Project in Cirkit Designer

Common Applications and Use Cases

  • IoT devices and smart home systems
  • Wireless data logging and monitoring
  • Bluetooth Low Energy (BLE) beacons and devices
  • Robotics and automation projects
  • Real-time data streaming and control
  • Prototyping for industrial IoT solutions

Technical Specifications

The ESP32 NODE32S is packed with features that make it a powerful and flexible development board. Below are its key technical specifications:

Specification Details
Microcontroller ESP32 dual-core processor with Xtensa LX6 architecture
Clock Speed Up to 240 MHz
Flash Memory 4 MB (varies by model)
SRAM 520 KB
Wireless Connectivity Wi-Fi 802.11 b/g/n, Bluetooth 4.2 (Classic and BLE)
Operating Voltage 3.3V
Input Voltage (VIN) 5V (via USB or external power supply)
GPIO Pins 30+ (varies by board layout)
ADC Channels 18 (12-bit resolution)
DAC Channels 2
Communication Interfaces UART, SPI, I2C, I2S, CAN, PWM
Power Consumption Ultra-low power consumption in deep sleep mode (as low as 10 µA)
Dimensions Approximately 58mm x 25mm

Pin Configuration and Descriptions

The ESP32 NODE32S has a variety of pins for different functionalities. Below is a table summarizing the key pin configurations:

Pin Function Description
VIN Power Input Accepts 5V input from USB or external power supply.
3V3 3.3V Output Provides 3.3V output for external components.
GND Ground Common ground for the circuit.
GPIO0 General Purpose I/O, Boot Mode Used for boot mode selection during programming.
GPIO2 General Purpose I/O, ADC, PWM Can be used as an analog input or PWM output.
GPIO16-39 General Purpose I/O, ADC, DAC, etc. Multi-functional pins for digital/analog input/output, PWM, and communication.
TXD0, RXD0 UART0 (Serial Communication) Default UART pins for serial communication.
EN Enable Resets the board when pulled low.
IO34-39 Input Only These pins are input-only and cannot be used for output.

Note: Some GPIO pins have specific restrictions or are used during boot. Refer to the ESP32 datasheet for detailed pin behavior.

Usage Instructions

How to Use the ESP32 NODE32S in a Circuit

  1. Powering the Board:

    • Connect the board to your computer via a micro-USB cable for power and programming.
    • Alternatively, supply 5V to the VIN pin and connect GND to the ground of your power source.
  2. Programming the Board:

    • Install the Arduino IDE and add the ESP32 board support package.
    • Select "ESP32 Dev Module" from the Tools > Board menu.
    • Connect the board to your computer and select the appropriate COM port.
    • Write your code and upload it to the board.
  3. Connecting Peripherals:

    • Use the GPIO pins to connect sensors, actuators, or other peripherals.
    • Ensure that the voltage levels of connected devices are compatible with the 3.3V logic of the ESP32.
  4. Wireless Communication:

    • Use the built-in Wi-Fi and Bluetooth capabilities for wireless communication.
    • Libraries such as WiFi.h and BluetoothSerial.h can simplify development.

Important Considerations and Best Practices

  • Voltage Levels: The ESP32 operates at 3.3V logic. Avoid connecting 5V signals directly to GPIO pins to prevent damage.
  • Boot Mode: Ensure GPIO0 is pulled low during programming to enter boot mode.
  • Power Supply: Use a stable power source to avoid unexpected resets or instability.
  • Deep Sleep Mode: Utilize deep sleep mode for battery-powered applications to conserve energy.

Example Code for Arduino IDE

Below is an example of how to connect the ESP32 NODE32S to a Wi-Fi network and blink an LED:

#include <WiFi.h> // Include the WiFi library

const char* ssid = "Your_SSID";       // Replace with your Wi-Fi network name
const char* password = "Your_PASSWORD"; // Replace with your Wi-Fi password
const int ledPin = 2;                 // GPIO2 is connected to the onboard LED

void setup() {
  pinMode(ledPin, OUTPUT);            // Set GPIO2 as an output
  Serial.begin(115200);               // Start serial communication at 115200 baud
  Serial.println("Connecting to Wi-Fi...");

  WiFi.begin(ssid, password);         // Connect to the Wi-Fi network
  while (WiFi.status() != WL_CONNECTED) {
    delay(500);
    Serial.print(".");                // Print dots while connecting
  }

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

void loop() {
  digitalWrite(ledPin, HIGH);         // Turn the LED on
  delay(1000);                        // Wait for 1 second
  digitalWrite(ledPin, LOW);          // Turn the LED off
  delay(1000);                        // Wait for 1 second
}

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

Troubleshooting and FAQs

Common Issues and Solutions

  1. Board Not Detected by Computer:

    • Ensure the USB cable is functional and supports data transfer.
    • Install the correct USB-to-serial driver for your operating system.
  2. Upload Fails with Timeout Error:

    • Check that GPIO0 is pulled low during programming.
    • Press and hold the "BOOT" button while uploading the code.
  3. Wi-Fi Connection Fails:

    • Verify the SSID and password are correct.
    • Ensure the Wi-Fi network is within range and not using unsupported security protocols.
  4. Random Resets or Instability:

    • Use a stable power source with sufficient current (at least 500mA).
    • Avoid using GPIO pins that are reserved for boot or other special functions.

FAQs

Q: Can I use the ESP32 NODE32S with 5V sensors?
A: Yes, but you will need a level shifter to safely interface 5V signals with the 3.3V logic of the ESP32.

Q: How do I enable deep sleep mode?
A: Use the esp_deep_sleep_start() function in your code. Connect GPIO pins to wake the ESP32 from deep sleep.

Q: Can I use the ESP32 NODE32S for Bluetooth audio?
A: Yes, the ESP32 supports Bluetooth audio via the A2DP profile. Use the esp_a2dp_sink library for implementation.

Q: What is the maximum range of Wi-Fi and Bluetooth?
A: Wi-Fi range is typically up to 50 meters indoors and 200 meters outdoors. Bluetooth range depends on the mode but is generally up to 10 meters for BLE.

For additional support, refer to the official ESP32 documentation or community forums.