Arduino Nano Every

ArduinoMCU 8-32 bitarduino

⚡ Lo esencial en 60 segundos

La Arduino Nano Every representa una evolución significativa dentro de la familia de placas de desarrollo compactas de Arduino, diseñada para ofrecer un rendimiento superior manteniendo la familiaridad física de su predecesora, la Nano clásica. Lanzada en la ventana temporal entre 2018 y 2019, esta placa se posiciona como la sucesora directa basada en el microcontrolador ATmega4809, un chip de 8 bits de la serie AVRex fabricado por Microchip. Su objetivo principal es proporcionar más potencia de procesamiento y memoria en un factor de forma extremadamente reducido, midiendo apenas 45 por 18 milímetros y pesando menos de 5 gramos, lo que la convierte en una de las placas más pequeñas del catálogo oficial de Arduino. Esta reducción de tamaño no compromete la compatibilidad de pines, ya que comparte el mismo esquema de conectores que la Nano original, permitiendo a los usuarios migrar proyectos existentes con relativa facilidad, aunque con ciertas consideraciones técnicas importantes que detallaremos más adelante.

El corazón de la Nano Every es el microcontrolador ATmega4809, que opera a una frecuencia de reloj de 20 MHz, superando los 16 MHz de la Nano clásica y la Uno. Esta frecuencia, medida en millones de ciclos por segundo, determina la velocidad a la que el procesador puede ejecutar instrucciones, lo que se traduce en una capacidad de respuesta más rápida para tareas complejas o múltiples simultáneamente. En términos de memoria, la placa ofrece 48 KB de memoria Flash para almacenar el programa, lo que representa un aumento del 50% en comparación con la Uno, y 6 KB de memoria SRAM, que es tres veces mayor que los 2 KB disponibles en la Uno. La memoria Flash guarda el código que has escrito, mientras que la SRAM se utiliza para las variables y datos temporales durante la ejecución del programa; este incremento permite gestionar proyectos más complejos con mayor cantidad de datos variables. Es importante notar que, aunque la familia ATmega4809 incluye una memoria EEPROM para el almacenamiento persistente de datos, la documentación oficial de la placa no especifica explícitamente su capacidad en la página de producto, aunque la hoja de datos del chip indica 256 bytes.

La gestión de la comunicación y la entrada/salida presenta cambios estructurales respecto a las generaciones anteriores. La placa cuenta con 22 pines de entrada/salida digital, pero es crucial destacar que la capacidad de generar señales PWM (Modulación por Ancho de Pulso) está limitada a los pines 3, 5, 6, 9 y 10. A diferencia de la Nano clásica o la Uno, el pin 11 no soporta PWM en esta versión, lo que puede afectar a proyectos que dependan de ese pin específico para controlar motores o servos mediante esa técnica. Para la lectura de sensores analógicos, dispone de 8 entradas (A0 a A7) con un conversor analógico-digital de 10 bits. Uno de los cambios más significativos para la compatibilidad con escudos (shields) es la ubicación del bus I2C. En la Nano Every, el bus I2C principal (denominado Wire) se encuentra en pines dedicados SDA y SCL (pines digitales 22 y 23), y no en los pines analógicos A4 y A5 como era habitual en modelos anteriores. Esto significa que los escudos antiguos diseñados para usar A4/A5 para I2C no funcionarán directamente sin modificaciones en el cableado o en el software, aunque el microcontrolador permite acceder a un segundo puerto I2C secundario que podría mapearse a esos pines si la biblioteca lo permite, aunque esto requiere verificación específica en la librería Wire del núcleo megaAVR.

En cuanto a la conectividad, la placa incluye un puerto USB que sirve tanto para la alimentación como para la comunicación con el ordenador. Sin embargo, a diferencia de otras placas que utilizan chips puente USB-Serial tradicionales como FTDI o CH340, la Nano Every utiliza un módulo puente integrado. Según la documentación técnica, este módulo no es un microcontrolador programable por el usuario final, sino un componente dedicado a la conversión de señales. Esto implica que, si se produce un error crítico en la programación de este módulo, la recuperación puede ser más compleja que en placas con puentes USB estándar. Además, la placa expone dos puertos serie por hardware (UART) en sus pines de cabecera, permitiendo comunicar con dispositivos como módulos GPS o Bluetooth mientras se mantiene el puerto USB libre para la depuración y la carga de código. El pin 0 actúa como RX (recepción) y el pin 1 como TX (transmisión) para el puerto serie secundario, conocido en el software como Serial1.

La programación de la Nano Every se realiza mediante el entorno de desarrollo Arduino IDE, arduino-cli o PlatformIO, utilizando el núcleo "megaAVR" que también comparten otras placas como la Uno WiFi Rev2. Este núcleo ha sido rearquitecturado para aprovechar las nuevas características de los microcontroladores AVRex, como temporizadores configurables y múltiples puertos serie. El proceso de grabación del programa utiliza un bootloader serie a través del puente USB, pero el microcontrolador también puede ser programado nativamente mediante la interfaz UPDI (Unified Program and Debug Interface), una técnica moderna que requiere un programador compatible, lo que ofrece una alternativa robusta si el bootloader falla. La lógica de funcionamiento opera a 5 voltios, compatible con la mayoría de sensores y actuadores clásicos de Arduino, aunque los pines de comunicación serie TTL operan a niveles lógicos estándar de 3.3 a 5 voltios.

A pesar de sus ventajas en tamaño y memoria, existen matices técnicos que los usuarios deben considerar. El comportamiento de los temporizadores internos difiere del núcleo AVR clásico, lo que puede afectar a librerías que manipulan directamente los registros del hardware o que dependen de frecuencias PWM específicas no estándar. Además, la familia ATmega4809 posee erratas publicadas por Microchip, es decir, pequeños defectos de fabricación conocidos que el software de Arduino intenta mitigar, pero que pueden requerir atención en aplicaciones de alta precisión. La placa se vende con o sin conectores soldados, ofreciendo flexibilidad para integrarla directamente en productos finales mediante soldadura directa o para usarla en placas de prototipado con conectores. En resumen, la Arduino Nano Every es una opción potente y compacta para quienes buscan actualizar proyectos de la Nano clásica, siempre que se adapten a los cambios en la ubicación de los pines I2C y en la disponibilidad de PWM, aprovechando al mismo tiempo el aumento sustancial de memoria y la velocidad de procesamiento del moderno microcontrolador ATmega4809.

Foro (1 tema) →

AttrEspecificacionesverificado
mcuMicrochip (ex-Atmel) ATmega4809, 8-bit AVR (AVRex series) @ 20 MHz — "featuring the ATMega4809, a more powerful processor as well as 48KB of CPU Flash memory and a higher clock speed of 20 MHz" (docs page). ATmega4809 product page✔
memory48 KB flash, 6 KB SRAM ("50% more program memory… RAM is 200% bigger" than the Uno's 32 KB/2 KB — store page). EEPROM:✔
gpu_storage_radionone. USB serial is provided by an onboard module (see Problems/Features).? sin verificar
i_o_from_the_official_core_variant_file_nona4809_pins_arduino_h_https_raw_githubusercontent_com_arduino_arduinocore_megaavr_master_variants_nona4809_pins_arduino_h- 22 digital I/O (NUM_DIGITAL_PINS 22), PWM on 3, 5, 6, 9, 10 only (digitalPinHasPWM — note: no PWM on pin 11, unlike the classic Nano/Uno). - 8 analog inputs A0–A7 (10-bit ADC; PIN_A0..A7), board-level; the MCU exposes 14 ADC channels. - I²C on dedicated SDA/SCL pins = digital 22/23 (PIN_WIRE_SDA 22, PIN_WIRE_SCL 23, PA2/PA3), not on A4/A5 by default. - SPI on 11/12/13 + SS 8 (PIN_SPI_*); UART0 (Serial1) on pins 0/1; LED_BUILTIN 13.✔
power_logic5 V logic, classic Nano supply pins (USB 5 V / VIN); UPDI pad for raw programming (diagram in the same pins_arduino.h).✔
size_weight45 × 18 mm, under 5 g — "Arduino's smallest board" (docs page).✔
  • Fabricante: Arduino (arduino.cc / Arduino AG).
  • Año: lanzada en la ventana 2018–2019 como sucesora con ATmega4809 del Nano clásico.
  • Estado: Activo, producto actual (docs.arduino.cc/hardware/nano-every, página de la tienda).
  • Precio:
  • Variantes: se vende con o sin cabeceras pre-sueldados ("tessellated connectors and no components on the B-side", página de la tienda); actualizaciones pin-compatibles en la misma carcasa: Nano 33 IoT/BLE, Nano R4 (Wikipedia).

+ Puntos fuertes

  • Pinout del Nano clásico, AVR moderno: "an evolution of the classic Arduino Nano sharing the same exact pinout" mientras triplica la RAM y gana 50% de flash (página de docs, página de la tienda).
  • La forma más barata de entrar en la familia AVR-Ex (4809): más USART (hasta 4), dos puertos TWI, mejores timers, extras analógicos CCL/ACMP a nivel de silicio (página de producto ATmega4809).
  • Opción sin cabeceras + fondo plano para reflujo/soldadura directa e integración en productos (página de la tienda).
  • Operación a 20 MHz frente a los 16 MHz del Nano clásico (página de docs).
  • Dos UART por hardware llegan a las cabeceras (0/1 más acceso a una segunda mediante el mapeo Serial1/Serial2 del core), donde el Nano clásico tenía exactamente una (pins_arduino.h).

− Puntos débiles

  • El pin 11 perdió PWM: digitalPinHasPWM cubre solo 3, 5, 6, 9, 10 — los shields/sketches que hacen PWM en el pin 11 (el segundo canal OC0B del Uno/Nano clásico) obtienen en silencio E/S digital (variante del core vs pines PWM del Uno en Wikipedia).
  • I²C desplazada: el bus Wire por defecto está en los pines SDA/SCL dedicados (22/23), no en A4/A5 donde los shields del Nano clásico lo esperan (pins_arduino.h). La I²C heredada de A4/A5 necesita el puerto secundario.
  • El puente USB es un módulo, no silicio programable por el usuario — a diferencia de las placas Nano 33, el módulo puente no te da un segundo MCU programable; los errores al reprogramarlo pueden bloquear (brick) la ruta USB.
  • Comportamiento de timers distinto: las frecuencias PWM y el cableado de millis/timers difieren del core AVR clásico (rearquitectura del core megaavr); las librerías de bit-banging o que secuestran timers (algunos servos/encoders RF) se comportan distinto o necesitan versiones actualizadas (ArduinoCore-megaavr).
  • Erratas de silicio: la familia ATmega4809 tiene hojas de erratas publicadas por Microchip; cores/librerías disimulan algunas.
  • Retour d'expérience expert expert — expert-arduino
    • Retour d'experience sur la Nano Every. C'est clairement l'evolution logique du Nano classique : 48KB de flash et 20MHz contre 32KB et 16MHz, ca change tout pour les sketches lourds. La compatibilite physique du pinout est un vrai plus pour les shields existants. Par contre, attention aux pieges : l… — expert-arduino
    • Merci pour le rappel sur la pin 11 ! J'ai passe deux heures a comprendre pourquoi mon contrôleur de moteur ne repondait pas, pensant a un problème d'alim. En lisant la doc, j'ai vu que les pins PWM sont limitees a 3, 5, 6, 9, 10. C'est embetant quand on recycle des vieux codes Arduino. Pour l'I2C, … — maker_bricoleur
    • Pour l'I2C, il faut vérifier la lib megaavr, mais en general le port primaire est bien sur les pins dediees. Le plus chiant c'est la bibliotheque de servo ou certains drivers RF qui utilisent les timers differents du core megaavr. J'ai du mettre à jour plusieurs libs qui tournaient sur mon ancien N… — hobbyiste_avr

Opiniones y proyectos de la comunidad

  • Official Nano Every documentation

    Documentación oficial de Nano Every — (incl. guía I²C): (unverified au 2026-10-13) — referencia alojada en docs, estado unverified verificado el 2026-10-13. Proyecto documentado en la ficha nano-every (MCU 8-32 bit); rol: profundizar en el manejo de esta plac…

  • Arduino Project Hub

    Arduino Project Hub — builds de wearables / small-robotics sobre el Every: (unverified au 2026-10-13) — referencia alojada en create, estado unverified verificado el 2026-10-13. Proyecto documentado en la ficha del nano-every (MCU 8-32 bit); rol: profundizar …

  • Adafruit Learning System

    Adafruit Learning System — guías drop-in para Nano (cambiar la selección de placa): (unverified au 2026-10-13) — referencia alojada en learn, estado unverified verificado el 2026-10-13. Proyecto documentado en la ficha nano-every (MCU 8-32 bit); rol: profundi…

  • Random Nerd Tutorials

    Random Nerd Tutorials — proyectos iniciales de sensores/actuadores: (unverified au 2026-10-13) — tutorial alojado en randomnerdtutorials, estado no verificado comprobado el 2026-10-13. Proyecto documentado en la ficha nano-every (MCU 8-32 bit); rol: profundiz…

  • megaavr core sources

    fuentes del núcleo megaavr — (comprender temporizadores/UARTs para trabajo de porting): (unverified au 2026-10-13) — código comunitario alojado en github, estado unverified verificado el 2026-10-13. Proyecto documentado en la ficha nano-every (MCU 8-32 bit); …

Contenido no disponible todavía.

  • El pin 11 perdió PWM: digitalPinHasPWM cubre solo 3, 5, 6, 9, 10 — los shields/sketches que hacen PWM en el pin 11 (el segundo canal OC0B del Uno/Nano clásico) obtienen en silencio E/S digital (variante del core vs pines PWM del Uno en Wikipedia).
  • I²C desplazada: el bus Wire por defecto está en los pines SDA/SCL dedicados (22/23), no en A4/A5 donde los shields del Nano clásico lo esperan (pins_arduino.h). La I²C heredada de A4/A5 necesita el puerto secundario.
  • El puente USB es un módulo, no silicio programable por el usuario — a diferencia de las placas Nano 33, el módulo puente no te da un segundo MCU programable; los errores al reprogramarlo pueden bloquear (brick) la ruta USB.
  • Comportamiento de timers distinto: las frecuencias PWM y el cableado de millis/timers difieren del core AVR clásico (rearquitectura del core megaavr); las librerías de bit-banging o que secuestran timers (algunos servos/encoders RF) se comportan distinto o necesitan versiones actualizadas (ArduinoCore-megaavr).
  • Erratas de silicio: la familia ATmega4809 tiene hojas de erratas publicadas por Microchip; cores/librerías disimulan algunas.
  • Faire clignoter la LED builtin (broche 13) debutant Schéma : IMG-nano-every-debutant-1-nanoevery-blink-led13.svg — Vue de dessus d'une Arduino Nano Every avec la LED builtin de la broche 13 mise en évidence par des rayons lumineux
  • Lire un bouton avec résistance de pull-up interne debutant Schéma : IMG-nano-every-debutant-2-nanoevery-bouton-pullup.svg — Bouton à bouton-poussoir câblé entre la broche 2 et GND sur une Nano Every, avec le symbole de la résistance de pull-up interne dessinée dans la puce
  • Lire un capteur analogique sur A0-A7 debutant Schéma : IMG-nano-every-debutant-3-nanoevery-capteur-analogique.svg — Potentiomètre relié au 5 V, à la broche A0 et à GND sur une Nano Every, avec l'échelle ADC 10 bits (0-1023) annotée
  • Variateur lumineux en PWM (broches 3, 5, 6, 9, 10) intermediaire Schéma : IMG-nano-every-intermediaire-1-nanoevery-pwm-led.svg — Nano Every avec une LED et sa résistance de 220 ohm sur la broche 9, un oscilloscope dessinant le signal PWM, et la liste des broches PWM autorisées annotée sur la carte
  • Piloter un micro-servo avec la bibliothèque Servo intermediaire Schéma : IMG-nano-every-intermediaire-2-nanoevery-servo.svg — Micro-servo de type SG90 alimenté par le 5 V de la Nano Every, signal sur la broche 9, avec les trois fils couleur (signal, VCC, GND) et un bras d'angle annoté
  • Deux ports série : Serial (USB) et Serial1 (broches 0/1) intermediaire Schéma : IMG-nano-every-intermediaire-3-nanoevery-serial1-vs-serial.svg — Nano Every au centre avec d'un côté le câble USB reliant la carte au PC (port Serial) et de l'autre un module GPS branché sur les broches 0 et 1 (port Serial1), flèches de données dans les deux sens
  • Apprivoiser les registres modernes de l'ATmega4809 : le timer TCB avance Schéma : IMG-nano-every-avance-1-nanoevery-registres-avr-tcb.svg — Puce ATmega4809 schématique avec le bloc timer TCB0 en évidence, ses registres CTRLA, CCMP et INTCTRL dessinés en pile, et une horloge 20 MHz en entrée
  • Sommeil profond et réveil par watchdog avance Schéma : IMG-nano-every-avance-2-nanoevery-sleep-watchdog.svg — Nano Every endormie alimentée par une pile, croissant de lune au-dessus de la carte, petit chien de garde (watchdog) dessiné à côté d'un chronomètre une seconde, LED 13 allumée brièvement
  • Data logger autonome : EEPROM + horloge RTC I²C avance Schéma : IMG-nano-every-avance-3-nanoevery-datalogger-eeprom-rtc.svg — Nano Every reliée par I2C (broches dédiées SDA/SCL) à un module DS3231 avec sa pile bouton, une puce EEPROM en médaillon, et une carte SD barrée remplacée par le symbole mémoire interne

Biblioteca de código — ejemplos escritos para esta placa

  • multi-serie.ino Arduino

    La gran ganancia del Nano Every sobre el clásico: cuatro UART de hardware. Este puente copia Serial1 (pines D0/D1) al puerto USB, útil para escuchar un GPS o módulo voz manteniendo el monitor serie l…

  • adc-filtre.ino Arduino

    El convertidor analógico del Nano Every sigue siendo de 10 bits pero gana referencias internas de 1,024/2,048 V, valiosas para señales pequeñas. Este filtro exponencial suaviza el potenciómetro sin b…

  • interrupt-bouton.ino Arduino

    En el 4809, las interrupciones externas salen del corsé INT0/INT1 del 328P: digitalPinToInterrupt funciona en la mayoría de pines. Este botón alterna el LED sin escrutar nunca su estado, dejando el b…

  • nvm-consignes.ino Arduino

    El ATmega4809 ya no tiene EEPROM de silicio: la librería EEPROM del core megaAVR la emula en flash NVM. Este sketch carga y guarda consignas regulables por serie, con firma que valida la estructura: …

  • sommeil-every.ino Arduino

    El 4809 lleva una RTC pilotada por el reloj de 32 kHz: este sketch la usa como alarma de minuto y duerme el núcleo en modo idle entre despertares. El LED parpadea cada minuto, probando que el despert…

  • watchdog-secours.ino Arduino

    En caja sellada, un cuelgue de software debe acabar en reinicio: el watchdog del 4809 reinicia la placa si el firmware olvida su refresco durante un segundo. Este sketch arma el perro y muestra dónde…

  • fade-pwm.ino Arduino

    El PWM del 4809 difiere del 328P (timers TCA/TCD en vez de Timer0/1/2) pero la API analogWrite sigue idéntica: este fade triangular 0-255 en el pin 10 muestra el uso común, con frecuencia por defecto…

  • console_bouton.py Python

    Una vez colocadas las consignas serie del Nano Every, este cliente Python es la herramienta de mantenimiento: envía órdenes s/p, verifica los acuses y sigue escuchando trazas. El dúo sketch + consola…

  • micros-cycle.ino Arduino

    Antes de servir una frecuencia, mide: este banco de prueba usa micros() del Nano Every para cronometrar una lectura ADC y su tratamiento, con min/max/media sobre 100 ciclos. La resolución de 4 µs del…

  • station-air.ino Arduino

    Estación de calidad del aire en tres hilos: el BME280 por I2C da temperatura, humedad, presión y altitud estimada, que el Nano Every publica en CSV cada dos segundos. El bus Wire del 4809 va en A4/A5…

Ejemplos y repositorios encontrados en línea