

The Arduino Nano ESP32 is a compact microcontroller board that combines the familiar form factor of the Arduino Nano with the powerful ESP32 chip. This integration provides robust Wi-Fi and Bluetooth connectivity, making it an excellent choice for Internet of Things (IoT) projects, wireless communication, and smart devices. Its small size and versatile features make it suitable for both beginners and advanced users.








Below are the key technical details of the Arduino Nano ESP32:
| Specification | Details |
|---|---|
| Microcontroller | ESP32-S3 |
| Operating Voltage | 3.3V |
| Input Voltage (VIN) | 5V (via USB or VIN pin) |
| Digital I/O Pins | 14 (including PWM-capable pins) |
| Analog Input Pins | 8 |
| Flash Memory | 8MB |
| SRAM | 512KB |
| Connectivity | Wi-Fi 802.11 b/g/n, Bluetooth 5.0 |
| USB Interface | USB-C |
| Clock Speed | 240 MHz |
| Dimensions | 45mm x 18mm |
The Arduino Nano ESP32 has a pinout similar to the traditional Arduino Nano but with additional features. Below is the pin configuration:
| Pin | Name | Description |
|---|---|---|
| 1 | VIN | Input voltage (5V) for powering the board. |
| 2 | GND | Ground pin. |
| 3 | 3V3 | 3.3V output pin. |
| 4-11 | D0-D7 | Digital I/O pins (can be used for PWM, GPIO, or other functions). |
| 12-13 | RX, TX | UART communication pins (Serial). |
| 14-21 | A0-A7 | Analog input pins (can also be used as digital pins). |
| 22 | RST | Reset pin to restart the board. |
| 23 | SDA | I2C data line. |
| 24 | SCL | I2C clock line. |
| 25 | EN | Enable pin to control power to the ESP32 chip. |
| 26 | USB-C | USB interface for programming and power. |
Powering the Board:
Connecting Peripherals:
Programming the Board:
Wi-Fi and Bluetooth Setup:
WiFi.h and BluetoothSerial.h) to enable wireless communication.Below is an example sketch to connect the Arduino Nano ESP32 to a Wi-Fi network:
#include <WiFi.h> // Include the Wi-Fi library
const char* ssid = "Your_SSID"; // Replace with your Wi-Fi network name
const char* password = "Your_Password"; // Replace with your Wi-Fi password
void setup() {
Serial.begin(115200); // Initialize serial communication at 115200 baud
WiFi.begin(ssid, password); // Start connecting to Wi-Fi
Serial.print("Connecting to Wi-Fi");
while (WiFi.status() != WL_CONNECTED) {
delay(500); // Wait for connection
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
}
Board Not Detected by the Arduino IDE:
Wi-Fi Connection Fails:
Program Upload Fails:
Bluetooth Not Working:
BluetoothSerial library to initialize and manage Bluetooth communication.Q: Can I use 5V sensors with the Arduino Nano ESP32?
A: The board operates at 3.3V logic levels. Use a level shifter to safely interface with 5V sensors.
Q: How do I reset the board?
A: Press the RST button or toggle the EN pin to reset the board.
Q: Can I use the Arduino Nano ESP32 for battery-powered projects?
A: Yes, you can power the board using a LiPo battery connected to the VIN pin, but ensure proper voltage regulation.
Q: Is the Arduino Nano ESP32 compatible with Arduino Nano shields?
A: While the pinout is similar, some shields may not be compatible due to differences in voltage levels and communication protocols.
This concludes the documentation for the Arduino Nano ESP32.