Arduino Nano Every
⚡ Lo esencial en 60 segundos
- mcu — Microchip (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
- memory — 48 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_radio — none. USB serial is provided by an onboard module (see Problems/Features).
- 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_logic — 5 V logic, classic Nano supply pins (USB 5 V / VIN); UPDI pad for raw programming (diagram in the same pins_arduino.h).
- size_weight — 45 × 18 mm, under 5 g — "Arduino's smallest board" (docs page).
- En esta placa : 9 tutoriales · 10 código
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.



Esquema de pines (pinout)

| Attr | Especificaciones | verificado |
|---|---|---|
mcu | Microchip (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 | ✔ |
memory | 48 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_radio | none. 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_logic | 5 V logic, classic Nano supply pins (USB 5 V / VIN); UPDI pad for raw programming (diagram in the same pins_arduino.h). | ✔ |
size_weight | 45 × 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
- Can a Nano Every be powered through the 5V pin? forum.arduino.cc
- Nano Every: subsequent analogRead() corrupts values forum.arduino.cc
- Extracting binary code and programming Arduino Nano Every with completely damaged usb port [SOLVED] forum.arduino.cc
- The Chip of the Nano Every gets hot. no reaction from the board forum.arduino.cc
- Nano Every AVR incompatibility warning forum.arduino.cc
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.inoArduinoadc-filtre.inoArduinointerrupt-bouton.inoArduinonvm-consignes.inoArduinosommeil-every.inoArduinowatchdog-secours.inoArduinofade-pwm.inoArduinoconsole_bouton.pyPythonmicros-cycle.inoArduinostation-air.inoArduino
Ejemplos y repositorios encontrados en línea
- arduino/ArduinoCore-megaavr github.com
- arduino-libraries/Servo github.com
- fachat/nano-every-serial-example github.com