ESP32 (38 Pin) WiFi + Bluetooth NodeMCU-32 Development Board
ESP32 (38 Pin) WiFi + Bluetooth NodeMCU-32 Development Board
The ESP32 (38 Pin) WiFi + Bluetooth NodeMCU-32 Development Board is a microcontroller board based on the ESP32 system on a chip (SoC) from Espressif Systems. It is a popular and widely-used development board for IoT projects, robotics, and other applications that require wireless connectivity, processing power, and versatility.
| The ESP32 NodeMCU-32 Development Board is designed to provide a platform for developing a wide range of applications that require WiFi, Bluetooth, and microcontroller capabilities. It can be used for |
Developing IoT projects that require wireless connectivity to the internet
Creating Bluetooth Low Energy (BLE) devices and peripherals
Building robotic systems that require wireless control and communication
Creating automation systems for home, industry, or other applications
Developing wearable devices and accessories
### Hardware Features
ESP32-D0WDQ6 SoC with Xtensa dual-core 32-bit LX6 microprocessor
80 MHz to 240 MHz
+ 520 KB SRAM
+ 4MB Flash Memory
+ 38 GPIO Pins
+ 2x UART
+ 1x SPI
+ 1x I2S
+ 1x I2C
+ 1x ADC
+ 2x DAC
+ WiFi 802.11 b/g/n/e/i
+ Bluetooth 4.2 BR/EDR and BLE
| + Operating Voltage | 2.2V to 3.6V |
| + Power Consumption | < 1W |
+ Onboard CP2102 USB-to-UART Bridge for programming and debugging
+ Reset and Boot buttons
+ Power and Status LEDs
### Software Features
Compatible with MicroPython, C, and other programming languages
Supports Arduino IDE, ESP-IDF, and other development environments
Supports ESP32-IDF, MicroPython, and other operating systems
Supports various APIs and libraries for WiFi, Bluetooth, GPIO, and other features
### Other Features
48 mm x 30 mm (1.89 in x 1.18 in)
Approximately 10 grams
Compatible with breadboards and PCBs
Compatible with CE, FCC, and RoHS certifications
The ESP32 (38 Pin) WiFi + Bluetooth NodeMCU-32 Development Board is a powerful and feature-rich development board suitable for a wide range of applications that require wireless connectivity, processing power, and microcontroller capabilities. Its versatility, ease of use, and compatibility with various development environments make it a popular choice among IoT enthusiasts, hobbyists, and professionals.
ESP32 (38 Pin) WiFi + Bluetooth NodeMCU-32 Development Board DocumentationOverviewThe ESP32 (38 Pin) WiFi + Bluetooth NodeMCU-32 Development Board is a microcontroller board based on the ESP32 system-on-chip (SoC) from Espressif Systems. This board integrates WiFi and Bluetooth capabilities, making it an ideal choice for IoT projects. The NodeMCU-32 development board provides a user-friendly platform for developers to explore the features of the ESP32 chip.Key FeaturesESP32 SoC with dual-core 32-bit LX6 microprocessor
38 pinout compatible with breadboards and perfboards
WiFi 802.11 b/g/n and Bluetooth 4.2 capabilities
520 KB of SRAM and 4 MB of flash memory
USB-to-UART bridge for programming and debugging
Operating voltage: 3.3 V
Supports programming languages like C, C++, MicroPython, and LuaPinoutThe ESP32 NodeMCU-32 development board has a 38-pinout, which is compatible with breadboards and perfboards. The pinout includes:GPIO pins (0-37)
3.3 V and GND pins
USB-to-UART bridge pins
WiFi and Bluetooth antenna pinsCode Examples### Example 1: Connecting to WiFi and Sending Data to a ServerThis example demonstrates how to connect to a WiFi network and send data to a server using the ESP32 NodeMCU-32 development board. We will use the `WiFi` and `HTTPClient` libraries to establish a connection and send a GET request to a server.Code
```c
#include <WiFi.h>
#include <HTTPClient.h>const char ssid = "your_wifi_ssid";
const char password = "your_wifi_password";
const char serverUrl = "http://example.com/data";WiFiClient espClient;
HTTPClient http;void setup() {
Serial.begin(115200);// Connect to WiFi
WiFi.begin(ssid, password);
while (WiFi.status() != WL_CONNECTED) {
delay(1000);
Serial.println("Connecting to WiFi...");
}
Serial.println("Connected to WiFi");
Serial.println("MAC address: ");
Serial.println(WiFi.macAddress());// Send data to server
http.begin(espClient, serverUrl);
int httpResponseCode = http.GET();
if (httpResponseCode > 0) {
String response = http.getString();
Serial.println(response);
} else {
Serial.println("Error sending data to server");
}
http.end();
}void loop() {
delay(10000);
}
```
### Example 2: Bluetooth Low Energy (BLE) PeripheralThis example demonstrates how to use the ESP32 NodeMCU-32 development board as a Bluetooth Low Energy (BLE) peripheral. We will create a BLE service that exposes a characteristic that can be read and written by a connected device.Code
```c
#include <BLE.h>BLEService service("180F"); // Generic Access Service
BLECharacteristic characteristic("2A19", BLECharacteristic::PROPERTY_READ | BLECharacteristic::PROPERTY_WRITE, "Data");void setup() {
Serial.begin(115200);// Initialize BLE
BLE.begin();// Set device name and appearance
BLE.setDeviceName("ESP32 BLE Peripheral");
BLE.setAppearance(BLE_APPEARANCE_GENERIC_TAG);// Add service and characteristic
BLE.addService(service);
service.addCharacteristic(characteristic);// Start advertising
BLE.advertise();
Serial.println("BLE peripheral started...");
}void loop() {
// Handle BLE events
BLE.run();
}
```
### Example 3: MicroPython Example - Blinking an LEDThis example demonstrates how to use MicroPython on the ESP32 NodeMCU-32 development board to blink an LED connected to GPIO pin 2.Code
```python
import machine
import utime# Set up LED pin as output
led = machine.Pin(2, machine.Pin.OUT)while True:
# Toggle LED state
led.value(not led.value())
utime.sleep(0.5)
```
Note: Make sure to save this code as `main.py` on the ESP32 board's file system, and restart the board to run the script.