Arduino Nano ESP32

The Nano ESP32 wraps an ESP32-S3 in the Nano form factor: WiFi and BLE on a board the size of a postage stamp. It has 8 MB of flash, 8 MB of PSRAM, and the same 14 digital + 8 analog pin layout as the classic Nano, but with all the ESP32-S3's peripherals underneath.

Specs

PropertyValue
MCUESP32-S3 (Xtensa LX7, dual-core), 240 MHz
Flash8 MB
PSRAM8 MB
GPIO20 user pins (D0–D13, A0–A5) — silicon pins differ from Nano numbering
ADCA0–A7
PWMAll output-capable pins via LEDC
I2C1 user bus exposed (Wire)
SPI1 user bus exposed
UART3 ports (only Serial0/Serial1 routed to pins)
WiFi802.11 b/g/n
BLE5.0
OTASupported

Flashing

USB-CDC native, plus ROM bootloader for first-flash. The Playground drives esp-web-tools to flash bin/partitions/bootloader. After first flash, OTA can update over WiFi.

Notes

  • The Nano-style pin numbers (D0–D13, A0–A7) map to non-contiguous ESP32-S3 silicon GPIOs. Use the Arduino D0/A0 constants — don't hard-code raw GPIO numbers.
  • The board ships with PSRAM enabled by default. Heap allocations greater than ~50 KB transparently come from PSRAM.
  • Strapping pins (the ESP32-S3 boot/strap config) are not exposed on the public Nano pin map, so you don't need to worry about them in normal use.

Compile flag

[env:nano_esp32]
platform = espressif32
board = arduino_nano_esp32
framework = arduino