Arduino Nano (Classic, ATmega328P)
⚡ Lo esencial en 60 segundos
- mcu — Microchip (ex-Atmel) ATmega328P, 8-bit AVR @ 16 MHz (IC max 20 MHz @ 5 V).
- memory — 32 KB flash (bootloader occupies 1.5 KB per Wikipedia), 2 KB SRAM, 1 KB EEPROM.
- gpu_storage — none.
- i_o — 22 digital I/O pins total (14 on the digital header, 6 with PWM; the analog header pins double as D14–D21), 8 analog inputs (10-bit ADC), 1× UART, 1× SPI, 1× I²C.
- usb — Mini-USB Type-B (official board) via FTDI FT232RL USB-to-UART (Wikipedia); ICSP 6-pin header on top edge.
- power — USB or VIN 7–12 V; no power jack — breadboard-oriented (docs page); 5 V logic; 3.3 V pin available at 50 mA.
- En esta placa : 9 tutoriales · 10 código
La Arduino Nano Classic, basada en el microcontrolador ATmega328P, representa uno de los pilares fundamentales en la historia de la electrónica de prototipado y el desarrollo de sistemas embebidos accesibles. Lanzada originalmente en 2008 por Arduino.cc, esta placa se diseñó con un propósito claro: ofrecer la potencia y la versatilidad de la plataforma Arduino en un formato extremadamente compacto, pensado específicamente para integrarse en placas de prototipado o breadboards. Su nombre, "Nano", hace referencia directa a su tamaño reducido, midiendo apenas 45 milímetros de largo por 18 milímetros de ancho y pesando tan solo 7 gramos. Esta dimensión la convierte en una opción ideal para proyectos donde el espacio es limitado, permitiendo al usuario soldar la placa directamente sobre un circuito impreso personalizado o insertarla en una breadboard sin ocupar el espacio excesivo que requieren otras placas como la Arduino Uno. Durante sus primeros años, algunas unidades tempranas utilizaron el microcontrolador ATmega168, pero la versión estándar que se comercializa y utiliza masivamente hoy en día es la que incorpora el ATmega328P, un chip de 8 bits de la familia AVR fabricado por Microchip (anteriormente Atmel). Este microcontrolador opera a una frecuencia de reloj de 16 MHz, lo que significa que puede ejecutar 16 millones de ciclos de instrucción por segundo, una velocidad suficiente para la mayoría de las aplicaciones de control, sensores y automatización básica.
En términos de recursos de memoria, la Nano Classic dispone de 32 KB de memoria Flash, donde se almacena el código del programa. Es importante notar que una pequeña parte de esta memoria, aproximadamente 1.5 KB, está reservada para el bootloader, un pequeño programa que permite cargar nuevo código en la placa a través del puerto USB sin necesidad de hardware de programación externo. Además, cuenta con 2 KB de memoria SRAM para el almacenamiento temporal de variables durante la ejecución y 1 KB de memoria EEPROM, una memoria no volátil que conserva los datos incluso cuando se apaga la alimentación, útil para guardar configuraciones o registros históricos. La interfaz de entrada y salida es uno de sus puntos fuertes: la placa ofrece un total de 22 pines digitales, de los cuales 14 están disponibles en el conector digital estándar y los otros 8 se comparten con los pines analógicos. De estos pines digitales, 6 soportan PWM (Modulación por Ancho de Pulso), una técnica que permite simular señales analógicas para controlar la intensidad de luces LED o la velocidad de motores. Asimismo, dispone de 8 entradas analógicas con una resolución de 10 bits, lo que permite leer con precisión valores de sensores variables como potenciómetros o termistores. Una ventaja distintiva de la Nano sobre la Uno es la exposición de dos canales analógicos adicionales, A6 y A7, aprovechando pines del microcontrolador que en otras placas no suelen estar accesibles.
La comunicación con el mundo exterior se gestiona a través de interfaces estándar: dispone de un puerto UART (serie) para comunicación con ordenadores o módulos, un bus SPI para periféricos rápidos como tarjetas SD o pantallas, y un bus I2C para conectar múltiples dispositivos en solo dos líneas. La conexión al ordenador se realiza mediante un conector Mini-USB Tipo B en las versiones oficiales, utilizando un chip FTDI FT232RL para convertir la señal USB a serie. Este chip es conocido por su estabilidad y compatibilidad nativa con la mayoría de los sistemas operativos, aunque es crucial mencionar la existencia de una vasta comunidad de clones o copias no oficiales. Estas variantes a menudo sustituyen el chip FTDI por uno CH340, lo que requiere la instalación de drivers específicos y puede presentar incompatibilidades con los drivers oficiales de FTDI. Además, el conector Mini-USB original es mecánicamente frágil y ha sido reemplazado en muchos clones por conectores Micro-USB o USB-C, aunque la calidad de estos cambios puede variar.
La alimentación de la placa es flexible pero tiene limitaciones que el usuario debe conocer. Puede alimentarse a través del puerto USB o mediante el pin VIN, que acepta un voltaje de entre 7 y 12 voltios. A diferencia de la Arduino Uno, la Nano no posee un conector de alimentación tipo barril, lo que refuerza su orientación hacia la integración en circuitos cerrados o breadboards. La lógica de funcionamiento opera a 5 voltios, y aunque dispone de un pin de salida de 3.3 voltios, este tiene una capacidad de corriente limitada a 50 mA. Esta restricción es crítica si se intenta alimentar módulos de radiofrecuencia como el ESP8266 o ESP32, ya que estos pueden consumir picos de corriente superiores a ese límite, provocando reinicios o apagados de la placa. Cada pin digital puede proporcionar o recibir hasta 40 mA, lo que es adecuado para LEDs y sensores, pero insuficiente para actuar directamente sobre relés o motores de mayor potencia, para lo cual se requieren transistores o drivers externos.
Un aspecto técnico importante en el funcionamiento de la Nano es su sistema de reinicio automático. La placa utiliza una línea de control llamada DTR (Data Terminal Ready) para reiniciar el microcontrolador automáticamente cuando el ordenador abre el puerto serie, permitiendo la carga de código sin intervención manual. Sin embargo, este mecanismo, implementado mediante un condensador de 100 nF, puede causar problemas conocidos como la pérdida de los primeros bytes de datos enviados por el ordenador justo después de la conexión, ya que el bootloader intercepta el inicio de la comunicación. Esto es algo a tener en cuenta al diseñar protocolos de comunicación robustos. A pesar de estas particularidades, la Nano mantiene una compatibilidad total con el ecosistema de software de Arduino, incluyendo el IDE oficial, herramientas de línea de comandos y bibliotecas de terceros como FreeRTOS o Firmata, que permite controlar la placa desde lenguajes de alto nivel como Python o JavaScript. Su longevidad y estandarización la han convertido en una referencia en la industria, siendo la base de muchas variantes posteriores como la Nano Every o la Nano 33 IoT, y manteniéndose como una herramienta esencial tanto para educadores como para profesionales que buscan una solución compacta, fiable y ampliamente documentada para el desarrollo de prototipos electrónicos.



Esquema de pines (pinout)

| Attr | Especificaciones | verificado |
|---|---|---|
mcu | Microchip (ex-Atmel) ATmega328P, 8-bit AVR @ 16 MHz (IC max 20 MHz @ 5 V). | ? sin verificar |
memory | 32 KB flash (bootloader occupies 1.5 KB per Wikipedia), 2 KB SRAM, 1 KB EEPROM. | ? sin verificar |
gpu_storage | none. | ? sin verificar |
i_o | 22 digital I/O pins total (14 on the digital header, 6 with PWM; the analog header pins double as D14–D21), 8 analog inputs (10-bit ADC), 1× UART, 1× SPI, 1× I²C. | ? sin verificar |
usb | Mini-USB Type-B (official board) via FTDI FT232RL USB-to-UART (Wikipedia); ICSP 6-pin header on top edge. | ✔ |
power | USB or VIN 7–12 V; no power jack — breadboard-oriented (docs page); 5 V logic; 3.3 V pin available at 50 mA. | ✔ |
per_pin_dc_current | 40 ma | ✔ |
size_weight | 45 × 18 mm, 7 g (Wikipedia; docs page confirms "45 mm × 18 mm… 7 grams"). | ✔ |
- Fabricante: Arduino (arduino.cc / Arduino AG); ID de placa "Arduino Nano".
- Año: 2008 — "The Arduino Nano is an open-source breadboard-friendly microcontroller board… developed by Arduino.cc and initially released in 2008" (Wikipedia — Arduino Nano). Las primeras unidades usaban el ATmega168 antes de la revisión con el 328P (Wikipedia — Arduino).
- Estado: Activo — sigue vendiéndose y documentándose como "the classic Nano… the oldest member of the Arduino Nano family" (docs.arduino.cc/hardware/nano, página de la tienda).
- Precio:
- Variantes: ATmega168 originales → ATmega328P (era "Nano 3.0", el modelo oficial vendido hoy); sucesores oficiales Nano Every (2018/2019, docs), Nano 33 IoT / Nano 33 BLE Sense (página de docs), Nano R4 (2025, Wikipedia); además, un enorme ecosistema de clones (chips USB CH340, conectores micro-USB o USB-C, etc. — nota comparativa de Wikipedia).
+ Puntos fuertes
- Factor de forma pensado para breadboard: header 2×15 estilo DIP-30, 45×18 mm — "Arduino's smallest board" durante años, "similar to the Arduino Duemilanove but made for the use of a breadboard" (página de docs).
- Capacidad completa del Uno en 1/4 del área: mismo ATmega328P, más 2 canales analógicos extra (A6/A7) expuestos porque los pines ADC sobrantes del TQFP de 32 pines están sacados al exterior (Wikipedia).
- FTDI FT232RL: serial CDC por hardware, muy sólido en todos los SO en placas genuinas (Wikipedia).
- Se puede soldar directamente a una PCB portadora (headers opcionales en la compra), lo que lo convirtió en un clásico de los productos maker terminados.
- Estándar de pines de facto reutilizado después por el Nano Every y el Nano R4 (Wikipedia).
− Puntos débiles
- El auto-reset por DTR se come los primeros bytes: el reset está acoplado al DTR del FTDI a través de un condensador de 100 nF; cada vez que un host abre el puerto la placa se resetea y "the bootloader… will intercept the first few bytes of data sent to the board after a connection is opened" — causa clásica de cadenas de configuración de arranque perdidas (Wikipedia — Automatic (software) reset).
- Ruleta de drivers en los clones: los Nanos de terceros "often have a different… USB-to-UART chip" (nota comparativa de Wikipedia) — típicamente CH340/CH341, que requieren drivers aparte y a veces se topan con los bloqueos de drivers de FTDI a los chips falsificados (ftdichip.com/drivers, wch-ic.com).
- Desgaste del conector Mini-USB: el conector oficial es Mini-B, mecánicamente frágil tras inserciones repetidas; los clones sustituyen por micro/USB-C con calidad de cableado variable (Wikipedia).
- Sin jack de alimentación: la energía debe venir del USB o de los pines VIN/5V — sin opción de barril como en el Uno (página de docs).
- El pin de 3,3 V es débil (50 mA) — los periféricos ESP8266/ESP32 en ese rail sufren brown-out durante las ráfagas de TX (Wikipedia).
- El rango de VIN es estrecho (7–12 V) frente al rango absoluto de 6–20 V del Uno (Wikipedia).
- Retour d'expérience expert expert — expert-arduino
- Je reviens sur la Nano classique pour clarifier certains points souvent mal compris. C'est vrai que le facteur de forme est imbattable pour le prototypage sur breadboard, avec ses 45x18 mm qui permettent de tout caser sans encombrer le circuit. La capacité complète de l'Uno est là, avec en bonus le… — expert-arduino
- Exactement, et si tu ajoutes les clones à l'équation, ça devient un casse-tête. J'ai reçu une carte vendue comme officielle qui utilisait un chip CH340 au lieu du FTDI, ce qui m'a obligé à chercher des drivers spécifiques sur le site de WCH-IC. Le pire, c'est que le connecteur Mini-USB a lâché au b… — hacker_minimaliste
- Merci pour ces précisions sur le 3.3V, je ne savais pas que le courant était si limité et mon module Wi-Fi redemarrait en boucle. Pour le problème de port série, je soupçonne aussi le driver générique Windows de bloquer la communication avec les cartes clones. Je n'ai pas de jack d'alimentation, do… — maker_debutant
Opiniones y proyectos de la comunidad
- Can you buy nano-clones on aliexpress? forum.arduino.cc
- Knock Off Nanos forum.arduino.cc
- Why is the "L" LED keep blinking on my Arduino Nano? forum.arduino.cc
- My Arduino Nano Atmel Mega 328p is fried! forum.arduino.cc
- I cant upload my code to arduino nano (old bootloader) forum.arduino.cc
Contenido no disponible todavía.
- El auto-reset por DTR se come los primeros bytes: el reset está acoplado al DTR del FTDI a través de un condensador de 100 nF; cada vez que un host abre el puerto la placa se resetea y "the bootloader… will intercept the first few bytes of data sent to the board after a connection is opened" — causa clásica de cadenas de configuración de arranque perdidas (Wikipedia — Automatic (software) reset).
- Ruleta de drivers en los clones: los Nanos de terceros "often have a different… USB-to-UART chip" (nota comparativa de Wikipedia) — típicamente CH340/CH341, que requieren drivers aparte y a veces se topan con los bloqueos de drivers de FTDI a los chips falsificados (ftdichip.com/drivers, wch-ic.com).
- Desgaste del conector Mini-USB: el conector oficial es Mini-B, mecánicamente frágil tras inserciones repetidas; los clones sustituyen por micro/USB-C con calidad de cableado variable (Wikipedia).
- Sin jack de alimentación: la energía debe venir del USB o de los pines VIN/5V — sin opción de barril como en el Uno (página de docs).
- El pin de 3,3 V es débil (50 mA) — los periféricos ESP8266/ESP32 en ese rail sufren brown-out durante las ráfagas de TX (Wikipedia).
- El rango de VIN es estrecho (7–12 V) frente al rango absoluto de 6–20 V del Uno (Wikipedia).
- Clignotement de la LED builtin (broche 13) debutant Schéma : IMG-nano-classic-debutant-1-nanoc-blink-led.svg — Arduino Nano classique avec sa LED builtin sur la broche 13 et une LED externe optionnelle avec résistance 220 Ω
- Bouton avec pull-up interne debutant Schéma : IMG-nano-classic-debutant-2-nanoc-bouton-pullup.svg — bouton poussoir câblé entre la broche 2 et la masse, pull-up interne activé, LED builtin témoin
- Lire un capteur analogique (potentiomètre) debutant Schéma : IMG-nano-classic-debutant-3-nanoc-capteur-analogique.svg — potentiomètre 10 kΩ en diviseur de tension sur A0, Arduino Nano classique, affichage série de la valeur 0-1023
- Variateur d'intensité LED avec PWM intermediaire Schéma : IMG-nano-classic-intermediaire-4-nanoc-pwm-led.svg — LED avec résistance sur broche PWM 9 de l'Arduino Nano, potentiomètre sur A0 pilotant analogWrite
- Piloter un micro-servo moteur intermediaire Schéma : IMG-nano-classic-intermediaire-5-nanoc-servo.svg — micro-servo SG90 alimenté en 5 V, signal sur broche 9 de l'Arduino Nano, balayage 0-180 degrés
- Console série et piège DTR du FTDI intermediaire Schéma : IMG-nano-classic-intermediaire-6-nanoc-console-serie-ftdi.svg — Arduino Nano relié en USB au PC, flux série 9600, chronologie de la réinitialisation automatique par DTR qui avale les premiers octets
- Registres AVR et interruption timer avance Schéma : IMG-nano-classic-avance-7-nanoc-registres-timer.svg — Arduino Nano, LED sur broche 13, timer1 du ATmega328P en mode CTC déclenché par interruption, chronogramme OCR1A
- Arduino as ISP : programmer un autre ATmega328P avance Schéma : IMG-nano-classic-avance-8-nanoc-arduino-as-isp.svg — Arduino Nano maître en Arduino as ISP relié par le connecteur ICSP 6 broches à un ATmega328P nu esclave sur breadboard avec quartz 16 MHz
- Low-power : mode power-down et watchdog avance Schéma : IMG-nano-classic-avance-9-nanoc-low-power-watchdog.svg — Arduino Nano sur batterie avec LED de faible consommation, réveil périodique par watchdog en mode power-down du ATmega328P
Biblioteca de código — ejemplos escritos para esta placa
buzzer-melodie.inoArduinoservo-sweep.inoArduinoultrason-hcsr04.inoArduinolcd-i2c.inoArduinoeeprom-contre.inoArduinosommeil-watchdog.inoArduinocompteur-impulsions.inoArduinopotentiomete-plot.inoArduinonano_plot.pyPythonscanner-i2c.inoArduino
Ejemplos y repositorios encontrados en línea
- arduino/ArduinoCore-avr github.com
- arduino-libraries/Servo github.com
- arduino-libraries/LiquidCrystal github.com