Arduino Nano ESP32: Overview, Features and Applications
Arduino® Nano ESP32
The Arduino Nano ESP32 represents a significant evolution of the classic Arduino Nano board, upgrading it with WiFi and Bluetooth capabilities based on the ESP32-S3 chip.

Arduino with ESP32 MCU - Arduino Nano ESP32
Arduino Nano ESP32 Overview

The Arduino Nano ESP32 represents a significant evolution of the classic Arduino Nano board, upgrading it with WiFi and Bluetooth capabilities based on the ESP32-S3 chip. At its core is a dual-core 240MHz Xtensa LX7 microprocessor providing both processing power and wireless connectivity.
This compact board measures only 18 x 43 mm but packs full-featured WiFi 4 (802.11 b/g/n) and Bluetooth 5.0 LE thanks to the embedded antenna in the ESP32-S3 module. The microcontroller includes 384KB ROM and 512KB SRAM along with plentiful peripherals for system control.
Specifications of the ESP32-S3 chip
ESP32-S3 Specification | Description |
|---|---|
| CPU | Xtensa® dual-core 32-bit LX7 microprocessor; up to 240 MHz |
| RAM | 512 KB on-chip SRAM |
| Flash | Supports SPI flash, and supports extra QSPI flash/SRAM |
| Wi-Fi | 802.11 b/g/n (802.11n up to 150 Mbps); supports 20/40 MHz bandwidth in 2.4 GHz band |
| Bluetooth | Bluetooth v5.0 BR/EDR and BLE |
| Clock Speed | Up to 240 MHz |
| I/O Pins | 44 |
| ADC Channels | 20 |
| DAC Channels | 2 |
| Peripheral Interfaces | SPI, I2C, I2S, UART, ADC, DAC, PWM, LCD, Camera interface, RMII, and other interfaces |
| Operating Temperature Range | -40°C ~ +125°C |
| Power Supply | 2.3V to 3.6V |
| Package | 7 mm x 7 mm x 0.9 mm QFN package |
ESP32-S3 Datasheet: |
For interfacing, 14 GPIO pins are provided as well as 8 analog inputs, hardware SPI, I2C, UART, and more communication options. The familiar Nano board layout enables easy connection to breadboards or embedding into small spaces. USB-C handles both power supply and programming over a USB CDC serial connection.

*As the official partner of Arduino, Utmel provides you with official original Arduino products. Welcome to shop at the page dedicated to Arduino products.
Arduino Nano ESP32 Pinout

Arduino Nano ESP32 Features
Microcontroller: ESP32-S3 dual-core Xtensa LX7 running at up to 240MHz
WiFi: 802.11 b/g/n supporting up to 150 Mbps
Bluetooth: Bluetooth 5.0 LE
14 digital I/O pins, 8 analog input pins
USB-C connector for power and programming
Breadboard-friendly design
Ultra-low power modes
Arduino Nano ESP32 Alternatives
Here are some alternatives to the Arduino Nano ESP32:
NodeMCU ESP32: This is an open-source IoT platform that is programmed using Lua scripting language for quick prototyping.
ESP32-CAM: This is a small ESP32 development board with a 2 MP camera for IoT projects.
Wemos D1 R32: This development board is compatible with the Arduino Uno R3 interface, but comes with an ESP32 module for more powerful performance.
SparkFun ESP32 Thing: Designed to make ESP32 easier to use, this development board integrates ESP32 with a rich set of peripherals.
Adafruit HUZZAH32 - ESP32 Feather Board: This is Adafruit's version of the ESP32 development board and is compatible with the Feather family of peripherals, making it ideal for battery-powered IoT devices.
Arduino Nano ESP32 vs. ESP32 DevKitC
| Feature | Nano ESP32 | ESP32 DevKitC |
|---|---|---|
| Size (mm) | Width: 18, Length: 45 | Width: 27.9, Length: 54.4 |
| Microcontroller | u-blox® NORA-W106 (ESP32-S3) | ESP32-WROOM-32D |
| USB Connector | USB-C® | Micro-USB |
| Digital I/O Pins | 14 | 39 |
| Analog Input Pins | 8 | 18 |
| PWM Pins | 5 | All GPIO |
| Connectivity | Wi-Fi® u-blox® NORA-W106 (ESP32-S3), Bluetooth® u-blox® NORA-W106 (ESP32-S3) | Wi-Fi: 802.11 b/g/n, Bluetooth: v4.2 BR/EDR and BLE |
| Clock Speed | Processor up to 240 MHz | Processor up to 240 MHz |
| Memory | ROM: 384 kB, SRAM: 512 kB, External Flash: 128 Mbit (16 MB) | ROM: 384 kB, SRAM: 520 kB |
| Price | €18.00, $23.00 | $10.00, $11.00 |
Arduino Nano ESP32 Applications
Compact IoT devices and wireless sensors
Wearable electronics and small robots
Wireless home automation and controls
Battery-powered gadgets and remote sensing
Educational microcontroller projects with WiFi
Prototyping basic WiFi-connected systems
Getting Started with Arduino Nano ESP32
- Making a Time Lapse Camera using Arduino Nano ESP32
Components Needed:
Arduino Nano ESP32
Camera module - Something like an OV2640 or other mini camera module
MicroSD card module/shield
MicroSD card
Power supply - LiPo battery and charger or USB power bank
Circuit:
Connect the camera module to the Arduino using SPI or parallel bus. Verify the pinout in the camera datasheet.
Attach the microSD card module using SPI pins (D11-D13)
Power the board either using the LiPo connected to the Vin pin or a USB power bank to the USB-C port.
Software:
Install ESP32 board support in Arduino IDE
Install the Arduino SD library to communicate with the SD card
Install the Arduino FS library to save files to the SD card
Install the camera library to control the camera module (e.g. ArduCAM)
In the setup() function initialize the SD card and camera
Calculate the interval time between captures based on the total timelapse duration needed.
In the loop(), capture an image from the camera and save it to an SD card with the incremental file name
Use deep sleep between captures to conserve battery life
Calculate the total elapsed time and stop capture after the required duration
Retrieve the images/video from the SD card to the computer and compile them into a timelapse video using video editing software.

Software workflow
Additional functionality:
Add a real-time clock module to timestamp images
Use WiFi to upload images to cloud storage
Implement a web interface to configure timelapse parameters
Add a display to show system info/stats
Sample Code:
#include <WiFi.h>
#include <ESPAsyncWebServer.h>
#include <SPIFFS.h>
#include <Wire.h>
#include <Adafruit_Sensor.h>
#include <Adafruit_BME280.h>
#include <SD.h>
#include <ArduinoJson.h>
#define CAMERA_PIN 4
#define INTERVAL_MS 5000 // Capture frame every 5 seconds
#define FILE_NAME "/image%04d.jpg" // File name format for captured frames
const char* ssid = "YourWiFiSSID";
const char* password = "YourWiFiPassword";
AsyncWebServer server(80);
Adafruit_BME280 bme;
void setup() {
Serial.begin(115200);
// Connect to Wi-Fi
WiFi.begin(ssid, password);
while (WiFi.status() != WL_CONNECTED) {
delay(1000);
Serial.println("Connecting to WiFi...");
}
Serial.println("Connected to WiFi");
// Initialize SD card
if (!SD.begin()) {
Serial.println("Failed to initialize SD card");
return;
}
Serial.println("SD card initialized");
// Initialize camera module
pinMode(CAMERA_PIN, OUTPUT);
digitalWrite(CAMERA_PIN, LOW);
delay(1000);
// Initialize BME280 sensor
if (!bme.begin(0x76)) {
Serial.println("Failed to initialize BME280 sensor");
return;
}
Serial.println("BME280 sensor initialized");
// Start capturing frames periodically
setIntervalCapture();
// Start server
server.on("/", HTTP_GET, [](AsyncWebServerRequest *request){
String html = "<html><body><h1>Time-Lapse Camera</h1>";
html += "<p>Temperature: " + String(bme.readTemperature()) + " ℃</p>";
html += "<p>Humidity: " + String(bme.readHumidity()) + " %</p>";
html += "<p>Pressure: " + String(bme.readPressure() / 100.0F) + " hPa</p>";
html += "</body></html>";
request->send(200, "text/html", html);
});
server.begin();
}
void loop() {
// Handle server requests
server.handleClient();
}
void captureFrame() {
digitalWrite(CAMERA_PIN, HIGH); // Activate camera
delay(1000); // Allow time for camera to capture frame
digitalWrite(CAMERA_PIN, LOW); // Deactivate camera
}
void setIntervalCapture() {
unsigned long previousMillis = 0;
unsigned long currentMillis;
while (true) {
currentMillis = millis();
if (currentMillis - previousMillis >= INTERVAL_MS) {
previousMillis = currentMillis;
// Capture frame and save to SD card
captureFrame();
saveFrameToSDCard();
}
// Handle server requests
server.handleClient();
}
}
void saveFrameToSDCard() {
static int fileIndex = 1;
char fileName[20];
sprintf(fileName, FILE_NAME, fileIndex);
File file = SD.open(fileName, FILE_WRITE);
if (!file) {
Serial.println("Failed to open file");
return;
}
// Write captured frame to file
// Replace the following line with your camera module's code to capture the frame
file.print("Sample frame data");
file.close();
Serial.println("Frame saved to SD card: " + String(fileName));
fileIndex++;
}Resources for the Nano ESP32
| Type | Description | Link |
|---|---|---|
| Tutorial | Getting Started with Nano ESP32 | Arduino Documentation |
| Tutorial | Arduino Nano ESP32 Cheat Sheet | Arduino Documentation |
| Project | 160+ ESP32 Projects, Tutorials, and Guides with Arduino IDE | Random Nerd Tutorials |
| Project | How the New Arduino Nano ESP32 Makes IoT Projects a Breeze | MUO |
| Resource | Nano ESP32 Overview and Specifications | Arduino Documentation |
| Resource | MicroPython 101 with the Nano ESP32 | Arduino Documentation |
| Resource | Arduino Introduces the Nano ESP32, Bringing the Popular IoT Microcontroller into the Arduino Ecosystem | Benzinga |
| Resource | Nano ESP32 Official Store Page | Arduino Official Store |
Arduino Nano ESP32 Documentation
What microcontroller is used in the Nano ESP32?
It uses an ESP32-S3 dual-core Xtensa LX7 microcontroller running at 240MHz.
What is the wireless connectivity supported?
It has dual-mode WiFi 4 (802.11 b/g/n) and Bluetooth 5.0 LE.
How is the Nano ESP32 programmed?
It is programmed over USB-C using the Arduino IDE like other Arduino boards.
Does the board support Arduino IoT Cloud?
Yes, the Nano ESP32 works with Arduino IoT Cloud for easy IoT application development.
PUMD3 Transistor:BJT, PUMD3 Datasheet, Pinout, Schematic03 March 2022949
KSC1845 Transistor: Datasheet, Pinout, Equivalent06 December 20213341
IRF1010E N-Channel MOSFET: Datasheet, Pinout, Equivalent17 November 202113260
TPS560200DBVR: 1 7-V, D-CAP2 Mode, SOT-23 package25 February 2022633
TL074ID OP-AMP: Pinout, Specification, and Datasheet11 June 20213014
Top Tips for Evaluating 74LVC1G02GW Component Suppliers07 June 202595
LT1085 Low Dropout Positive Regulators: Datasheet, Circuit and Replacement24 November 20213395
AL5809 Constant Current Linear LED Driver: Pinout, Features and Datasheet22 March 20221838
How to Choose MOSFET for Switching Power Supply?02 March 20228348
Introduction to FinFET18 March 202126479
The Comprehensive Guide to MOSFETs: Principles, Types, and Parameters (2026 Edition)16 January 202616240
Arm's IPO: A New Chapter in Chip Technology30 August 20232128
Millimeter Wave Radar: Advantages, Types, and Applications18 October 202119086
Rectifier Diode: Function and Circuit12 August 202021469
How a CPU is made? [HD Graphics]07 January 202614390
A Combo for Innovation: Open Source and Crowdfunding15 November 20193663
Arduino
In Stock: 193
Minimum: 1 Multiples: 1
Qty
Unit Price
Ext Price
1
$14.715484
$14.72
10
$13.882532
$138.83
100
$13.096728
$1,309.67
500
$12.355404
$6,177.70
1000
$11.656042
$11,656.04
Not the price you want? Send RFQ Now and we'll contact you ASAP.
Inquire for More Quantity














