Arduino Nano ESP32
⚡ Lo esencial en 60 segundos
- soc_module — u-blox NORA-W106-10B module embedding an Espressif ESP32-S3 — "the first Arduino board to be based fully on an ESP32" (user manual, p.1, docs page, ESP32-S3 SoC page).
- cpu — dual-core 32-bit Xtensa LX7 @ up to 240 MHz per core; 128-bit data bus, DMA controller (user manual, pp.2, 9).
- memory — 384 kB ROM, 512 kB SRAM, 16 kB SRAM in RTC (8 kB RTC FAST + RTC SLOW, SLOW accessible by the ULP coprocessor in deep sleep), 8 MB PSRAM (octal SPI, in the NORA-W106-10B) (user manual, pp.2, 9-10).
- external_flash — 128 Mbit (16 MB) GD25B128EWIGR on QSPI, 133 MHz, up to 664 Mbit/s (user manual, p.13).
- gpu — none (MCU board).
- connectivity — Wi-Fi 4 802.11 b/g/n 2.4 GHz, up to 150 Mbit/s (HT-40; 72 Mbit/s HT-20), rated EIRP up to 10 dBm, max range 500 m; Bluetooth LE v5.0, up to 2 Mbit/s, multi-connection central/peripheral; built-in antenna (typ. radiated 20 dBm EIRP Wi-Fi / 10 dBm EIRP BLE) (user manual, pp.2, 9-10). No Ethernet, no cellular.
- En esta placa : 9 tutoriales · 10 código
La Arduino Nano ESP32 representa un hito significativo en el ecosistema de desarrollo electrónico, al ser la primera placa de la marca Arduino que se basa íntegramente en la arquitectura ESP32. Lanzada oficialmente en 2023, esta tarjeta mantiene el formato clásico y compacto de la serie Nano, con unas dimensiones de 45 por 18 milímetros, pero introduce una potencia de procesamiento y conectividad muy superior a sus predecesoras. Su corazón es el módulo u-blox NORA-W106-10B, que integra el microcontrolador Espressif ESP32-S3. Este chip cuenta con una unidad central de procesamiento dual de 32 bits basada en la arquitectura Xtensa LX7, capaz de operar a una frecuencia de hasta 240 MHz por núcleo. Para los usuarios menos familiarizados con la terminología técnica, esto significa que la placa puede realizar cálculos complejos y gestionar múltiples tareas simultáneamente con gran rapidez, ideal para proyectos que requieren respuestas inmediatas o el manejo de datos en tiempo real.
En cuanto a la memoria, la Nano ESP32 ofrece recursos generosos para su tamaño. Dispone de 512 kB de memoria RAM estática (SRAM) y 384 kB de memoria de solo lectura (ROM) para el código del sistema. Además, incorpora 8 MB de PSRAM, una memoria rápida adicional que permite almacenar grandes cantidades de datos temporales, como imágenes o buffers de audio, sin saturar la memoria principal. Para el almacenamiento permanente del programa y los datos, incluye 16 MB de memoria flash externa, lo que proporciona un espacio amplio para aplicaciones complejas y actualizaciones de firmware. La gestión de energía es eficiente, con un consumo en modo de sueño profundo de apenas 7 microamperios en el SoC, lo que la hace apta para dispositivos alimentados por batería que deben permanecer activos durante largos periodos.
La conectividad es uno de los puntos fuertes de esta placa. Integra Wi-Fi 4 (estándar 802.11 b/g/n) en la banda de 2.4 GHz, permitiendo velocidades de transferencia de hasta 150 Mbit/s, y Bluetooth LE v5.0, que ofrece un alcance y eficiencia mejorados para la comunicación con sensores y dispositivos móviles. Es importante destacar que la placa no incluye puerto Ethernet ni conectividad celular, por lo que su uso está orientado a redes locales inalámbricas. La interfaz física sigue el estándar de la serie Nano, con 14 pines digitales y 8 entradas analógicas. Todos los pines operan a una lógica de 3.3 voltios, una característica crucial que los usuarios deben tener en cuenta: no se deben conectar dispositivos que funcionen con 5 voltios directamente a estos pines para evitar daños. A diferencia de otras variantes de Nano, esta placa no dispone de un pin de salida de 5 voltios; el voltaje de 5V solo está disponible a través del puerto USB o si se alimenta la placa por el pin VIN, pero no se genera internamente para alimentar periféricos externos.
La versatilidad de las interfaces de comunicación es notable. Además de los puertos estándar como UART, I2C y SPI, la Nano ESP32 soporta protocolos avanzados como CAN/TWAI (compatible con CAN 2.0B clásico, pero no con CAN FD), lo que la hace interesante para aplicaciones automotrices o industriales ligeras. También incluye soporte para I2S, útil para aplicaciones de audio digital. La placa cuenta con un LED RGB integrado y un LED azul tradicional, permitiendo una retroalimentación visual clara del estado del sistema. La alimentación puede realizarse mediante un puerto USB-C, que también sirve para la programación y la depuración, o a través del pin VIN, aceptando un rango de voltaje de entrada de 6 a 21 voltios.
El entorno de desarrollo recomendado es el paquete "Arduino ESP32 Boards" mantenido por Arduino, basado en el núcleo de Espressif y la versión 5.1.4 del ESP-IDF. Es fundamental instalar este paquete específico y no el genérico de Espressif, especialmente en Windows, para garantizar que los controladores USB se instalen correctamente y se habiliten las funciones de depuración. La placa soporta depuración en el propio chip mediante el puerto USB-C, lo que permite a los desarrolladores detener la ejecución del código, inspeccionar variables y seguir el flujo del programa paso a paso sin necesidad de hardware adicional. Además, existe soporte oficial para MicroPython, permitiendo programar la placa en este lenguaje de alto nivel, lo que facilita el prototipado rápido.
A pesar de sus ventajas, los usuarios deben estar conscientes de algunos desafíos técnicos. La placa puede enumerarse en el sistema operativo como dos puertos distintos: uno "USB" para la programación normal y otro "DFU" para la recuperación o flasheo de bajo nivel. Seleccionar el puerto incorrecto en el IDE puede bloquear la carga de código. Asimismo, borrar completamente la memoria flash mediante herramientas externas puede eliminar el gestor de arranque DFU, requiriendo un procedimiento específico para reinstalarlo. En sistemas Linux, puede ser necesario configurar reglas de permisos (udev) para permitir la comunicación con la placa. Finalmente, dado que el núcleo de Arduino es una bifurcación del de Espressif, algunas librerías o funciones específicas del núcleo original pueden requerir ajustes menores para funcionar correctamente en esta placa. En resumen, la Arduino Nano ESP32 es una herramienta poderosa y compacta, ideal para proyectos de Internet de las Cosas (IoT) que requieren conectividad inalámbrica robusta y un equilibrio adecuado entre potencia, memoria y consumo energético.



Esquema de pines (pinout)


| Attr | Especificaciones | verificado |
|---|---|---|
soc_module | u-blox NORA-W106-10B module embedding an Espressif ESP32-S3 — "the first Arduino board to be based fully on an ESP32" (user manual, p.1, docs page, ESP32-S3 SoC page). | ✔ |
cpu | dual-core 32-bit Xtensa LX7 @ up to 240 MHz per core; 128-bit data bus, DMA controller (user manual, pp.2, 9). | ✔ |
memory | 384 kB ROM, 512 kB SRAM, 16 kB SRAM in RTC (8 kB RTC FAST + RTC SLOW, SLOW accessible by the ULP coprocessor in deep sleep), 8 MB PSRAM (octal SPI, in the NORA-W106-10B) (user manual, pp.2, 9-10). | ✔ |
external_flash | 128 Mbit (16 MB) GD25B128EWIGR on QSPI, 133 MHz, up to 664 Mbit/s (user manual, p.13). | ✔ |
gpu | none (MCU board). | ? sin verificar |
connectivity | Wi-Fi 4 802.11 b/g/n 2.4 GHz, up to 150 Mbit/s (HT-40; 72 Mbit/s HT-20), rated EIRP up to 10 dBm, max range 500 m; Bluetooth LE v5.0, up to 2 Mbit/s, multi-connection central/peripheral; built-in antenna (typ. radiated 20 dBm EIRP Wi-Fi / 10 dBm EIRP BLE) (user manual, pp.2, 9-10). No Ethernet, no cellular. | ✔ |
i_o_from_the_official_core_variant_arduino_nano_nora_pins_arduino_h_https_raw_githubusercontent_com_arduino_arduino_esp32_arduino_nano_esp32_variants_arduino_nano_nora_pins_arduino_h | - NUM_DIGITAL_PINS 25, NUM_ANALOG_INPUTS 8 — header exposes 14 digital (D0–D13) + 8 analog (A0–A7) (store spec table). - All pins are 3.3 V logic — "Do not connect any higher voltage devices to any of the pins" (user manual, p.14). - I²C default on A4 (SDA) / A5 (SCL) (SDA = A4, SCL = A5); GPIO-matrix assignable to most pins (pins_arduino.h, user manual, p.11). - SPI SCK D13 / CIPO(MISO) D12 / COPI(MOSI) D11 / CS D10; UART RX D0 / TX D1; I²S pins SCK D7, FS D8, SD D9 (bidir), SD_IN D10; 2× I²S controllers; CAN/TWAI (CAN 2.0B "classic", not CAN FD) on any free GPIO (pins_arduino.h, user manual, pp.12-13). - PWM: digitalPinHasPWM(p) covers every mapped GPIO < 46 in the core; the store spec table instead lists "PWM pins: 5". - LEDs: LED_BUILTIN = D13; RGB LED on LED_RED = 14, LED_GREEN = 15, LED_BLUE = 16 (store: "Built-in RGB LED pins 14-16") (pins_arduino.h, store spec table). - USB: native USB-C (ESP32-S3 USB, VID 0x2341 / PID 0x0070) (pins_arduino.h). | ✔ |
power | operating voltage 3.3 V; VIN 6–21 V (typ 7 V), USB VBUS 4.8–5.5 V; both rails stepped down by an MP2322GQH buck converter; no 5 V pin (VBUS only passes USB power through); 3.3 V pin output for externals; GPIO source 40 mA / sink 28 mA (user manual, pp.6, 13-15). | ✔ |
consumption | 7 µA deep sleep / 240 µA light sleep (ESP32-S3 SoC only — board LEDs etc. add more) (user manual, p.2). | ✔ |
temperature | ambient −40 to +105 °C (recommended operating conditions) (user manual, p.6). | ✔ |
size | 45 × 18 mm, classic Nano footprint (store spec table). | ✔ |
- Fabricant : Arduino (arduino.cc / Arduino AG), utilisant le module u-blox NORA-W106-10B (manuel utilisateur, p.1, série u-blox NORA-W10).
- Année : 2023. Le journal des modifications du manuel utilisateur officiel indique « 08/06/2023 Release » (le manuel utilise le format DD/MM/YYYY — son en-tête indique « Modified: 08/10/2026 », soit le 8 octobre 2026) (manuel utilisateur, journal des modifications).
- Statut : Actif / produit actuel — fiche technique modifiée pour la dernière fois le 2026-10-08, la boutique liste la carte comme disponible (manuel utilisateur, page boutique).
- Prix : 20,40 € sur la boutique officielle au moment de la récupération (locale EUR, "price":2040 dans le JSON produit) (page boutique).
- Variantes : vendue avec et sans broches pré-soudées (« The Arduino Nano ESP32 (with and without headers)… » — manuel utilisateur, p.1). Deux SKU apparaissent dans la documentation officielle : ABX00083 (manuel utilisateur) et ABX00092 (tableau des caractéristiques de la boutique).
+ Puntos fuertes
- Première carte Arduino entièrement basée sur un ESP32 avec Wi-Fi + BLE au format Nano — « the first Arduino board to be based fully on an ESP32 » (manuel utilisateur, p.1).
- Première Nano avec USB-C (page docs).
- Débogage prêt à l'emploi, sans matériel supplémentaire (USB-JTAG de l'ESP32-S3) (page docs, tutoriel de débogage).
- Prise en charge du protocole pair-à-pair ESP-NOW (trames jusqu'à 250 octets, aucun point d'accès requis) (tutoriel ESP-NOW).
- Deux mondes programmables doubles : core Arduino (2.x/ESP-IDF 5.1.4) et prise en charge amont MicroPython de la carte (page docs, carte MicroPython).
- 8 Mo de PSRAM + 16 Mo de flash — mémoire inhabituellement grande pour la classe Nano (manuel utilisateur, pp.10, 13).
- Contrôleur CAN/TWAI sur n'importe quel GPIO (bus de type automobile sur une carte maker) (manuel utilisateur, p.13).
- Coprocesseur ULP + mémoire RTC, plancher de veille profonde de 7 µA au niveau du SoC pour les conceptions sur batterie (manuel utilisateur, p.2).
- Intégration Arduino Cloud pour les tableaux de bord IoT (page docs).
− Puntos débiles
- Deux ports, un seul bon choix : la carte peut s'énumérer à la fois comme port « USB » et comme port « DFU » ; choisir DFU dans l'IDE bloque les téléversements — la documentation officielle indique de sélectionner le port USB (prise en main).
- Mauvais core = pas de pilotes / pas de débogage : il faut utiliser le package « Arduino ESP32 Boards » par Arduino, et non le package « esp32 » par Espressif — « For Windows users this is paramount, otherwise no drivers will be ever installed and no debugging can be performed » (tutoriel de débogage).
- Permissions Linux : le débogage peut échouer avec libusb_open failed with LIBUSB_ERROR_ACCESS / esp_usb_jtag: could not find or open device! tant que les règles udev ne sont pas installées (tutoriel de débogage).
- Boucles de connexion/déconnexion USB : des utilisateurs signalent que la carte s'énumère à répétition et refuse les nouveaux firmwares ; la récupération nécessite d'entrer dans le bootloader DFU (fil de forum 1249799).
- « No DFU capable USB device available » : après un flashage avec PlatformIO ou d'autres outils, les téléversements depuis l'Arduino IDE échouent tant que la carte n'est pas remise dans le bon mode (fil de forum 1251053, fil de forum 1252665).
- Le port disparaît après le débogage : restaurer un sketch normal après une session de débogage de l'IDE peut faire disparaître le port « cube » (Ubuntu, IDE 2.2.1, core 2.0.12) (fil de forum 1227968).
- Craintes de brique / cartes bloquées : des fils comme « Nano ESP 32 bricked? » documentent des cartes qui cessent de répondre aux téléversements normaux et nécessitent un double appui sur reset ou une récupération DFU (fil de forum 1266537, manuel utilisateur, p.19).
- Pas de rail 5 V : il n'y a pas de broche 5V ; VBUS ne transporte du 5 V que lorsque la carte est alimentée par USB, et il est mort quand on alimente par VIN — les shields/capteurs 5 V nécessitent une alimentation externe (manuel utilisateur, pp.13-15).
- TWAI ≠ CAN FD : le contrôleur CAN est uniquement du CAN 2.0B classic (manuel utilisateur, p.13).
- Divergence du fork du core : le package Arduino suit la branche 2.x avec ESP-IDF v5.1.4, et Arduino avertit que « functions and features may differ between versions » par rapport au core d'Espressif — les sketches/bibliothèques ciblant le core amont peuvent ne pas compiler tels quels (prise en main, tutoriel ESP-NOW).
- L'effacement complet de la puce tue le bootloader DFU : effacer tout le flash (par ex. avec esptool) supprime le bootloader DFU d'usine ; il doit être réinstallé via la procédure d'assistance Arduino (deploy.md).
- Retour d'expérience expert expert — expert-arduino
- Après quelques semaines d'utilisation de la Nano ESP32, je confirme que c'est une bête de course pour le format Nano : 8 Mo de PSRAM et 16 Mo de flash, c'est rare. Le debug USB-JTAG natif est un vrai plus comparé aux cartes classiques. Par contre, attention aux pièges de démarrage. Si vous voyez de… — expert-arduino
- Merci pour le rappel sur les ports ! J'ai eu exactement ce souci au début, ça m'a fait perdre une heure. Un truc qui m'a aussi piégé, c'est l'absence totale de pin 5V. Comme je viens des cartes Uno/Mega, je branchais mes capteurs 5V directement en me disant que le convertisseur allait gérer. Résult… — hobbyiste-tinkering
- Je confirme le coup du brick facile si on touche au bootloader. J'ai fait une erreur en flashant avec esptool pour effacer la flash entière et j'ai perdu le bootloader DFU d'usine. La carte ne répondait plus aux commandes normales et il a fallu suivre la procédure de support Arduino pour le réinsta… — maker-codeur
Opiniones y proyectos de la comunidad
- Debugging on the new Nano ESP32 forum.arduino.cc
- Arduino CLI and Nano ESP32 - Can't Upload forum.arduino.cc
- Arduino Nano ESP32 hangs, possibly HTTPClient related? forum.arduino.cc
- How do you made the double tap reset to dfu working on Arduino Nano ESP32? forum.arduino.cc
- ABX00083-datasheet.pdf datasheet
- ABX00083-full-pinout.pdf pdf
- Official board page (features, ESP32 platform notes)
- Official user manual / datasheet (SKU ABX00083, 41 pp.)
- Full pinout PDF
- Store page (price, spec table, SKU ABX00092)
- Getting started
- Debugging tutorial
- ESP-NOW tutorial
- Arduino ESP32 core fork (branch arduino_nano_esp32)
- Core variant pin map (authoritative)
- Upstream Espressif core
- MicroPython board port (config, pins, deploy)
- u-blox NORA-W10 series
- Espressif ESP32-S3 SoC
- Community forum
- Deux ports, un seul bon choix : la carte peut s'énumérer à la fois comme port « USB » et comme port « DFU » ; choisir DFU dans l'IDE bloque les téléversements — la documentation officielle indique de sélectionner le port USB (prise en main).
- Mauvais core = pas de pilotes / pas de débogage : il faut utiliser le package « Arduino ESP32 Boards » par Arduino, et non le package « esp32 » par Espressif — « For Windows users this is paramount, otherwise no drivers will be ever installed and no debugging can be performed » (tutoriel de débogage).
- Permissions Linux : le débogage peut échouer avec libusb_open failed with LIBUSB_ERROR_ACCESS / esp_usb_jtag: could not find or open device! tant que les règles udev ne sont pas installées (tutoriel de débogage).
- Boucles de connexion/déconnexion USB : des utilisateurs signalent que la carte s'énumère à répétition et refuse les nouveaux firmwares ; la récupération nécessite d'entrer dans le bootloader DFU (fil de forum 1249799).
- « No DFU capable USB device available » : après un flashage avec PlatformIO ou d'autres outils, les téléversements depuis l'Arduino IDE échouent tant que la carte n'est pas remise dans le bon mode (fil de forum 1251053, fil de forum 1252665).
- Le port disparaît après le débogage : restaurer un sketch normal après une session de débogage de l'IDE peut faire disparaître le port « cube » (Ubuntu, IDE 2.2.1, core 2.0.12) (fil de forum 1227968).
- Craintes de brique / cartes bloquées : des fils comme « Nano ESP 32 bricked? » documentent des cartes qui cessent de répondre aux téléversements normaux et nécessitent un double appui sur reset ou une récupération DFU (fil de forum 1266537, manuel utilisateur, p.19).
- Pas de rail 5 V : il n'y a pas de broche 5V ; VBUS ne transporte du 5 V que lorsque la carte est alimentée par USB, et il est mort quand on alimente par VIN — les shields/capteurs 5 V nécessitent une alimentation externe (manuel utilisateur, pp.13-15).
- TWAI ≠ CAN FD : le contrôleur CAN est uniquement du CAN 2.0B classic (manuel utilisateur, p.13).
- Divergence du fork du core : le package Arduino suit la branche 2.x avec ESP-IDF v5.1.4, et Arduino avertit que « functions and features may differ between versions » par rapport au core d'Espressif — les sketches/bibliothèques ciblant le core amont peuvent ne pas compiler tels quels (prise en main, tutoriel ESP-NOW).
- L'effacement complet de la puce tue le bootloader DFU : effacer tout le flash (par ex. avec esptool) supprime le bootloader DFU d'usine ; il doit être réinstallé via la procédure d'assistance Arduino (deploy.md).
- Faire clignoter la LED embarquée et la LED RGB debutant Schéma : IMG-nano-esp32-debutant-1-nanoesp32-clignotement-led.svg — La carte Nano ESP32 avec la LED D13 et la LED RGB embarquées en évidence.
- Bouton USER et console série USB-C debutant Schéma : IMG-nano-esp32-debutant-2-nanoesp32-bouton-user-console.svg — Doigt appuyant sur le bouton USER, câble USB-C vers un PC affichant la console série.
- Lire un capteur analogique sur A0 (ADC 12 bits) debutant Schéma : IMG-nano-esp32-debutant-3-nanoesp32-capteur-analogique.svg — Potentiomètre 10 kΩ câblé entre 3V3, A0 et GND avec échelle 0-3,3 V.
- Scanner les réseaux Wi-Fi 2,4 GHz intermediaire Schéma : IMG-nano-esp32-intermediaire-1-nanoesp32-scan-wifi.svg — La carte scanne les réseaux Wi-Fi 2,4 GHz environnants avec leur puissance RSSI.
- Être un périphérique Bluetooth LE avec ArduinoBLE intermediaire Schéma : IMG-nano-esp32-intermediaire-2-nanoesp32-ble-arduino-ble.svg — Diffusion Bluetooth LE de la carte vers un smartphone exécutant nRF Connect.
- Piloter un servo avec le PWM (LEDC) intermediaire Schéma : IMG-nano-esp32-intermediaire-3-nanoesp32-pwm-servo.svg — Servo SG90 alimenté par une source 5 V externe, signal sur D9, masse commune avec la carte.
- Exposer un stockage de masse USB (TinyUSB MSC) avance Schéma : IMG-nano-esp32-avance-1-nanoesp32-tinyusb-msd.svg — La carte énumérée comme clé USB dans l'explorateur, image disque stockée dans la flash de 16 Mo.
- Deep-sleep 7 µA et réveil externe (EXT0) avance Schéma : IMG-nano-esp32-avance-2-nanoesp32-deep-sleep-ext0.svg — Carte en deep-sleep (microampères), bouton de réveil sur une broche EXT0 et minuteur de secours.
- Communication inter-cartes avec ESP-NOW avance Schéma : IMG-nano-esp32-avance-3-nanoesp32-esp-now.svg — Deux Nano ESP32 échangeant des trames ESP-NOW en direct, sans routeur intermédiaire.
Biblioteca de código — ejemplos escritos para esta placa
connexion-wifi.inoArduinopoint-acces.inoArduinoble-capteur.inoArduinoneoled-rgb.inoArduinoadc-12bits.inoArduinopreferences.inoArduinodeepsleep-minute.inoArduinoscanner-i2c.inoArduinoble_listen.pyPythonserveur-capteur.inoArduino
Ejemplos y repositorios encontrados en línea
- espressif/arduino-esp32 github.com
- mirobotech/CEMC2025 github.com
- maxgerhardt/pio-nano-esp32-usb-cdc github.com
- cgoulart35/StormerESP32 github.com