Overview

The Arduino Nano ESP32, released in 2023, is the first Arduino Nano board to feature the ESP32-S3 microcontroller — a dual-core, 240 MHz Xtensa LX7 processor with native Wi-Fi and Bluetooth Low Energy 5 built in. The wireless radio is integrated via the u-blox NORA-W106 module, which packages the ESP32-S3 with its antenna into a certified radio module, simplifying regulatory compliance for product builders.

The Nano ESP32 is a significant architectural departure from earlier Nano boards. It runs the Arduino ESP32 Boards package rather than the classic AVR or ARM Mbed toolchains. It operates at 3.3V logic — not 5V — and includes a USB-C port with native USB OTG support, enabling USB HID (keyboard, mouse, gamepad emulation) without additional hardware.

With 16 MB of QSPI Flash, 8 MB of PSRAM, a 12-bit ADC across 20 analog-capable pins, and official Arduino IoT Cloud support, the Nano ESP32 is aimed at connected IoT applications, advanced prototyping, and projects that previously required a standalone ESP32 module alongside an Arduino board.

IMPORTANT: The Nano ESP32 operates at 3.3V logic. Its I/O pins are NOT 5V tolerant. Connecting 5V signals directly to any I/O pin may damage the board permanently.

Quick Overview

Feature Detail
Microcontroller u-blox NORA-W106 (ESP32-S3, dual-core Xtensa LX7)
Clock Speed 240 MHz
Operating/Logic Voltage 3.3V (NOT 5V tolerant)
Flash Memory 16 MB (QSPI)
PSRAM 8 MB
Wi-Fi 802.11 b/g/n (2.4 GHz)
Bluetooth BLE 5
Digital I/O Pins 22
Analog Input Pins 20 (12-bit ADC)
USB Interface USB-C (native USB OTG)
HID Support Yes (native USB)
IoT Cloud Yes (officially supported)
Dimensions 18 × 45 mm

Key Features

  • Dual-core ESP32-S3 at 240 MHz — significantly more processing power than AVR Nano boards
  • Wi-Fi 802.11 b/g/n (2.4 GHz) and Bluetooth Low Energy 5 built in
  • 16 MB QSPI Flash and 8 MB PSRAM for memory-intensive applications
  • Native USB-C with USB OTG: supports USB HID (keyboard, mouse, MIDI, gamepad emulation)
  • 20 analog-capable pins with 12-bit ADC (vs. 10-bit on classic Nano)
  • 3.3V logic throughout — designed for modern low-voltage peripherals
  • Input: 5V via USB-C or 5–21V via VIN pin
  • Officially supported on Arduino IoT Cloud
  • Board package: Arduino ESP32 Boards (install via Boards Manager)
  • Same 18 × 45 mm breadboard-compatible Nano footprint

Technical Specifications

Parameter Value
Microcontroller u-blox NORA-W106 (ESP32-S3)
CPU Dual-core Xtensa LX7
Clock Speed 240 MHz
Operating/Logic Voltage 3.3V
Input Voltage (USB-C) 5V
Input Voltage (VIN) 5–21V
USB Connector USB-C
USB Type Native USB OTG (no separate bridge chip)
Flash Memory 16 MB (QSPI)
PSRAM 8 MB
Wi-Fi 802.11 b/g/n, 2.4 GHz
Bluetooth BLE 5 (Bluetooth Low Energy)
Digital I/O Pins 22
PWM Available on most digital pins (software-configurable)
Analog Input Pins 20 (12-bit ADC)
ADC Resolution 12-bit
UART 2
I2C 1
SPI 1
HID Support Yes (via native USB OTG)
IoT Cloud Yes (Arduino IoT Cloud)
Board Dimensions 18 × 45 mm

Pinout

https://electronicswiki.com/images/products/arduino-nano-esp32-pinout.png

Digital Pins

The Nano ESP32 exposes 22 digital I/O pins in the standard Nano layout. Most pins are capable of PWM output since the ESP32-S3 uses software-configurable timers rather than fixed hardware PWM assignments.

Analog Pins

20 pins are connected to the ESP32-S3's 12-bit SAR ADC. Note that ESP32-S3 ADC2 (used when Wi-Fi is active) may have reduced accuracy — prefer ADC1 pins for precise analog readings.

Communication Pins

Interface Pins
UART0 D0 (RX), D1 (TX)
UART1 Configurable
I2C A4 (SDA), A5 (SCL)
SPI D10 (SS), D11 (MOSI), D12 (MISO), D13 (SCK)

Power Pins

Pin Function
VIN External supply input (5–21V)
5V 5V output (from USB-C or VIN regulator)
3.3V 3.3V regulated output
GND Ground
RESET Resets the microcontroller

Power

The Arduino Nano ESP32 is powered via:

  • USB-C port: provides 5V from USB, regulated internally to 3.3V.
  • VIN pin: accepts 5–21V, regulated to 5V and then 3.3V onboard.

I/O pins operate at 3.3V. The board's regulator provides 3.3V to the entire system. Current draw is higher than AVR Nano boards due to the dual-core processor and Wi-Fi radio — plan for up to 250 mA peak during Wi-Fi transmission.

Wireless Connectivity

The Nano ESP32 integrates Wi-Fi 802.11 b/g/n (2.4 GHz) and Bluetooth Low Energy 5 through the u-blox NORA-W106 module. Both radios are available simultaneously.

Wi-Fi Example

#include <WiFi.h> const char* ssid = "YourNetwork"; const char* password = "YourPassword"; void setup() { Serial.begin(115200); WiFi.begin(ssid, password); Serial.print("Connecting to Wi-Fi"); while (WiFi.status() != WL_CONNECTED) { delay(500); Serial.print("."); } Serial.println(); Serial.print("Connected! IP address: "); Serial.println(WiFi.localIP()); } void loop() { // Your connected application code here }

Bluetooth Low Energy

Use the ArduinoBLE library for BLE peripheral and central roles. The ESP32-S3's BLE 5 stack supports extended advertising and improved range over BLE 4.2.

HID Support

Because the Nano ESP32 uses native USB OTG (not a separate USB-to-serial chip), it can enumerate as a USB HID device directly. This enables keyboard emulation, mouse emulation, MIDI, and gamepad support without additional hardware.

#include "USB.h" #include "USBHIDKeyboard.h" USBHIDKeyboard Keyboard; void setup() { Keyboard.begin(); USB.begin(); } void loop() { delay(3000); Keyboard.print("Hello from Arduino Nano ESP32!"); Keyboard.press(KEY_RETURN); Keyboard.release(KEY_RETURN); delay(10000); }

IoT Cloud

The Arduino Nano ESP32 is officially supported on the Arduino IoT Cloud platform. Use the Arduino IoT Cloud editor or the desktop Arduino IDE with the ArduinoIoTCloud library to connect the board to cloud dashboards, automate data logging, and trigger remote actions.

Setup steps:

  1. Create an account at https://cloud.arduino.cc
  2. Add a new device and select the Arduino Nano ESP32
  3. Follow the cloud agent setup to provision credentials to the board
  4. Create IoT Cloud variables linked to your sketch

Getting Started

Install the Board Package

In the Arduino IDE, open Tools > Board > Boards Manager. Search for "Arduino ESP32 Boards" and install the package. Select Arduino Nano ESP32 from the board list.

First Sketch

// Blink the onboard RGB LED (on Nano ESP32, LED_BUILTIN is the green channel) void setup() { pinMode(LED_BUILTIN, OUTPUT); } void loop() { digitalWrite(LED_BUILTIN, HIGH); delay(500); digitalWrite(LED_BUILTIN, LOW); delay(500); }

Programming

The Nano ESP32 is programmed via the Arduino IDE using the Arduino ESP32 Boards package. Code is uploaded through the USB-C port. The board enters bootloader mode automatically during upload.

If DFU mode is needed (e.g., to recover from a failed upload), hold the BOOT button while pressing RESET, then release RESET. The board will appear as a DFU device on the host computer.

Python (MicroPython) is not officially supported on this board — for MicroPython, consider the Arduino Nano RP2040 Connect.

Package Contents

Item Quantity
Arduino Nano ESP32 board 1
USB-C cable 1 (included with some retail versions; check listing)

Applications

  • Wi-Fi connected IoT sensors and data loggers
  • BLE beacons, proximity sensors, and BLE mesh nodes
  • USB HID devices (custom keyboards, gamepads, MIDI controllers)
  • Arduino IoT Cloud dashboards and remote monitoring
  • Smart home automation nodes
  • Machine-to-machine (M2M) communication projects
  • High-performance embedded processing (dual-core advantage)
  • Camera and display projects leveraging PSRAM

Where to Buy

Retailer Link
Arduino Official Store https//store.arduino.cc/products/arduino-nano-esp32
Amazon https//www.amazon.com/s?k=Arduino+Nano+ESP32

Equivalent Boards

Board Key Difference
Arduino Nano 33 IoT Same Nano size, SAMD21 + NINA-W102 (ESP32), 3.3V, less powerful MCU
Arduino UNO R4 WiFi Same ESP32-S3 wireless chip, Uno form factor, 5V-compatible I/O on main MCU
ESP32 Dev Module Full ESP32 (or S3), not Nano form factor, more GPIO

Documentation

Resource Link
Official Product Page https//store.arduino.cc/products/arduino-nano-esp32
Documentation & Pinout https//docs.arduino.cc/hardware/nano-esp32
Arduino IDE Download https//www.arduino.cc/en/software
Arduino IoT Cloud https//cloud.arduino.cc
ESP32-S3 Datasheet https//www.espressif.com/sites/default/files/documentation/esp32-s3_datasheet_en.pdf

Notes

  • WARNING: The Nano ESP32 operates at 3.3V logic. I/O pins are NOT 5V tolerant. Applying 5V signals to any I/O pin can permanently damage the board. Always use a level shifter when interfacing with 5V peripherals.
  • The ESP32-S3's ADC2 is shared with the Wi-Fi radio. When Wi-Fi is active, ADC2 readings may be inaccurate. Use ADC1 pins for reliable analog measurements during Wi-Fi operation.
  • This board is NOT pin-for-pin software-compatible with AVR-based Nanos — it uses the Arduino ESP32 Boards package, not the Arduino AVR Boards package.
  • The Nano ESP32 features an onboard RGB LED. LED_BUILTIN refers to the green channel; red and blue channels are accessible via separate pin constants.
  • The onboard antenna is tuned for 2.4 GHz. Placing metal objects directly over the board can reduce Wi-Fi range.

Community

Revision History

Version Date Notes
v1.0 2026-06 Initial entry