Arduino Nano Every

ArduinoMCU 8-32 bitarduino

⚡ The essentials in 60 seconds

The Arduino Nano Every represents a significant evolutionary step in the lineage of compact microcontroller development boards, serving as the modern successor to the classic Arduino Nano. Launched during the 2018 to 2019 timeframe, this board was designed to offer the familiar form factor and pin compatibility of its predecessor while delivering substantially upgraded internal hardware. It is positioned by its manufacturer, Arduino AG, as a low-cost solution that maintains a small footprint, making it an ideal candidate for embedded projects where space and budget are critical constraints. The board is currently an active product, widely available with or without pre-soldered headers, a flexibility that allows developers to choose between immediate prototyping ease and the clean, flat bottom required for direct soldering into final products. While the exact launch date is sometimes cited differently in various press releases, the consensus places its introduction as a response to the need for more powerful yet still accessible AVR-based microcontrollers.

At the heart of the Nano Every lies the Microchip ATmega4809, an 8-bit AVR microcontroller belonging to the newer AVRex series. This chip operates at a clock speed of 20 MHz, a noticeable increase from the 16 MHz found in the classic Nano, which translates to faster processing times for computational tasks. The memory architecture has been significantly enhanced to support more complex applications. The board features 48 KB of flash memory for storing your program code, which is fifty percent more than the 32 KB found on the popular Arduino Uno. More dramatically, the static random-access memory, or SRAM, has been increased to 6 KB. To put this in perspective, this is three times the amount of RAM available on the Uno’s 2 KB, allowing for larger data buffers, more complex variables, and more demanding dynamic operations without running out of memory. The board operates on 5-volt logic levels, maintaining compatibility with the vast ecosystem of 5-volt sensors and modules that have been standard in the Arduino community for years.

Despite its compact size of just 45 by 18 millimeters and a weight of under five grams, the Nano Every packs a versatile set of input and output capabilities. It provides twenty-two digital I/O pins, eight of which can also function as analog inputs, labeled A0 through A7. These analog inputs utilize a 10-bit analog-to-digital converter, allowing the board to read varying voltage levels from sensors and convert them into digital numbers for processing. However, developers must be aware of specific changes in pin functionality compared to older boards. Pulse Width Modulation, or PWM, is a technique used to simulate analog outputs by rapidly switching a digital pin on and off. On the Nano Every, PWM is available only on digital pins 3, 5, 6, 9, and 10. Notably, pin 11, which supported PWM on the classic Nano and Uno, is now a standard digital input or output pin. This change is crucial for users porting existing projects, as code relying on PWM on pin 11 will not function as expected without modification.

Communication interfaces are another area where the Nano Every offers improvements. The board supports two hardware UARTs, or Universal Asynchronous Receiver-Transmitters, which are standard serial communication ports. One UART is connected to the USB port for communication with a computer, while the second is available on header pins 0 and 1. This dual-UART capability allows for simultaneous communication with a computer for debugging and a separate module, such as a GPS receiver or Bluetooth module, without needing to disconnect cables. However, the implementation of the Inter-Integrated Circuit, or I2C, bus has changed. On classic Arduino boards, I2C communication typically uses pins A4 and A5. On the Nano Every, the primary I2C bus is mapped to dedicated SDA and SCL pins, which correspond to digital pins 22 and 23. This means that legacy shields or wiring diagrams that assume I2C is on A4 and A5 will not work directly with the default settings. Users must either rewire their connections to the new dedicated pins or configure the secondary I2C port if available in their software library, a nuance that requires careful attention during project migration.

The board’s connectivity to a computer is handled by an onboard USB-to-serial bridge module. Unlike some other boards that use simple chips for this conversion, the Nano Every uses a module that enumerates as a standard COM port on your computer, eliminating the need for additional drivers like FTDI or CH340. While this simplifies the user experience, it is important to note that this module is not a programmable microcontroller in the same way as the main ATmega4809 chip. It serves strictly as a bridge for data transmission. The board can be programmed using the standard Arduino IDE, command-line tools, or other compatible environments. For advanced users, the ATmega4809 supports native programming via the Unified Program and Debug Interface, or UPDI, which allows for direct flashing of the chip using a compatible programmer, bypassing the bootloader entirely. This feature is particularly useful for mass production or when precise control over the firmware installation process is required.

Developers should also be mindful of the software ecosystem. The Nano Every runs on the Arduino core for megaAVR devices, which is different from the core used for the classic AVR chips like the ATmega328P. This difference means that while most standard Arduino functions work seamlessly, low-level manipulations of timers and interrupts may behave differently. Libraries that rely on specific timer registers or bit-banging techniques might need updates to function correctly on this newer architecture. Additionally, the ATmega4809 chip has known silicon errata, which are minor hardware bugs documented by the manufacturer. The Arduino core and libraries are designed to work around most of these issues, but for highly specialized applications, consulting the official errata sheets is recommended. Despite these considerations, the Nano Every remains a powerful, cost-effective, and compact solution for a wide range of electronic projects, bridging the gap between legacy compatibility and modern performance needs.

Forum (1 topic) →

AttrSpecsverified
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).? unverified
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).✔
  • Manufacturer: Arduino (arduino.cc / Arduino AG).
  • Year: launched in the 2018–2019 window as the ATmega4809 successor of the classic Nano.
  • Status: Active, current product (docs.arduino.cc/hardware/nano-every, store page).
  • Price:
  • Variants: sold with or without pre-soldered headers ("tessellated connectors and no components on the B-side", store page); pin-compatible upgrades in the same shell: Nano 33 IoT/BLE, Nano R4 (Wikipedia).

+ Strengths

  • Classic Nano pinout, modern AVR: "an evolution of the classic Arduino Nano sharing the same exact pinout" while tripling RAM and gaining 50% flash (docs page, store page).
  • Cheapest way into the AVR-Ex (4809) family: more USARTs (up to 4), two TWI ports, better timers, CCL/ACMP/analog extras at the silicon level (ATmega4809 product page).
  • Headerless option + flat bottom for direct reflow/solder embedding into products (store page).
  • 20 MHz operation vs the classic Nano's 16 MHz (docs page).
  • Two hardware UARTs land on the headers (0/1 plus access to a second via the core's Serial1/Serial2 mapping), where the classic Nano had exactly one (pins_arduino.h).

− Weaknesses

  • Pin 11 lost PWM: digitalPinHasPWM covers only 3, 5, 6, 9, 10 — shields/sketches PWM-ing pin 11 (the Uno/Nano classic's second OC0B channel) silently get digital I/O (core variant vs Uno PWM pins on Wikipedia).
  • I²C moved: the default Wire bus sits on the dedicated SDA/SCL pins (22/23), not on A4/A5 where classic Nano shields expect it (pins_arduino.h). Legacy A4/A5 I²C needs the secondary port.
  • USB bridge is a module, not user-programmable silicon — unlike Nano 33 boards, the bridge module doesn't give you a second programmable MCU; reflashing mistakes on it can brick the USB path.
  • Different timer behavior: PWM frequencies and millis/timer wiring differ from the classic AVR core (megaavr core rearchitecture); bit-banged or timer-hijacking libraries (some servo/RF encoders) behave differently or need updated versions (ArduinoCore-megaavr).
  • Silicon errata: the ATmega4809 family has published errata sheets from Microchip; cores/libraries paper over some of them.
  • 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

Community feedback and projects

  • Official Nano Every documentation

    Official Nano Every documentation — (incl. I²C guide): (unverified au 2026-10-13) — reference hosted on docs, unverified status verified on 2026-10-13. Project documented in the nano-every sheet (MCU 8-32 bit); role: deepen the handling of this board. Officia…

  • Arduino Project Hub

    Arduino Project Hub — wearables / small-robotics builds on the Every: (unverified au 2026-10-13) — hosted reference on create, unverified status verified on 2026-10-13. Project documented in the nano-every datasheet (MCU 8-32 bit); role: deepen hands-on exper…

  • Adafruit Learning System

    Adafruit Learning System — drop-in Nano guides (swap the board selection): (unverified au 2026-10-13) — reference hosted on learn, unverified status verified on 2026-10-13. Project documented in the nano-every sheet (MCU 8-32 bit); role: deepen the hands-on e…

  • Random Nerd Tutorials

    Random Nerd Tutorials — sensor/actuator starter projects: (unverified au 2026-10-13) — tutorial hosted on randomnerdtutorials, unverified status checked on 2026-10-13. Project documented in the nano-every sheet (MCU 8-32 bit); role: deepen hands-on experience…

  • megaavr core sources

    megaavr core sources — (understand timers/UARTs for porting work): (unverified au 2026-10-13) — community code hosted on github, unverified status verified on 2026-10-13. Project documented in the nano-every sheet (MCU 8-32 bit); role: deepen familiarity with…

Content not available yet.

  • Pin 11 lost PWM: digitalPinHasPWM covers only 3, 5, 6, 9, 10 — shields/sketches PWM-ing pin 11 (the Uno/Nano classic's second OC0B channel) silently get digital I/O (core variant vs Uno PWM pins on Wikipedia).
  • I²C moved: the default Wire bus sits on the dedicated SDA/SCL pins (22/23), not on A4/A5 where classic Nano shields expect it (pins_arduino.h). Legacy A4/A5 I²C needs the secondary port.
  • USB bridge is a module, not user-programmable silicon — unlike Nano 33 boards, the bridge module doesn't give you a second programmable MCU; reflashing mistakes on it can brick the USB path.
  • Different timer behavior: PWM frequencies and millis/timer wiring differ from the classic AVR core (megaavr core rearchitecture); bit-banged or timer-hijacking libraries (some servo/RF encoders) behave differently or need updated versions (ArduinoCore-megaavr).
  • Silicon errata: the ATmega4809 family has published errata sheets from Microchip; cores/libraries paper over some of them.
  • 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

Code library — examples written for this board

  • multi-serie.ino Arduino

    The Nano Every big win over the classic: four hardware UARTs. This bridge copies Serial1 (pins D0/D1) to the USB port, handy to listen to a GPS or voice module while keeping the serial monitor free f…

  • adc-filtre.ino Arduino

    The Nano Every analog converter stays 10-bit but gains internal 1.024/2.048 V references, precious for small signals. This exponential filter smooths the potentiometer without a buffer and only print…

  • interrupt-bouton.ino Arduino

    On the 4809, external interrupts escape the 328P INT0/INT1 cage: digitalPinToInterrupt works on most pins. This button toggles the LED without ever polling its state, leaving the main loop fully avai…

  • nvm-consignes.ino Arduino

    The ATmega4809 has no silicon EEPROM anymore: the megaAVR core EEPROM library emulates it in NVM flash. This sketch loads then saves serial-adjustable setpoints, with a signature validating the struc…

  • sommeil-every.ino Arduino

    The 4809 carries an RTC driven by the 32 kHz clock: this sketch uses it as a minute alarm and idles the core between wake-ups. The LED blinks every minute, proving the wake-up works while the CPU no …

  • watchdog-secours.ino Arduino

    In a sealed enclosure, a software crash must end in a reboot: the 4809 watchdog resets the board if the firmware forgets its refresh for one second. This sketch arms the dog and shows where to place …

  • fade-pwm.ino Arduino

    The 4809 PWM differs from the 328P (TCA/TCD timers instead of Timer0/1/2) yet the analogWrite API stays identical: this 0-255 triangular fade on pin 10 shows the common use, with a flicker-free defau…

  • console_bouton.py Python

    Once the Nano Every serial setpoints are in place, this Python client becomes the maintenance tool: it sends s/p commands, checks acknowledgements then keeps listening to traces. The sketch + console…

  • micros-cycle.ino Arduino

    Before servoing a frequency, measure: this test bench uses the Nano Every micros() to time an ADC reading and its processing, with min/max/mean over 100 cycles. The 4809 4 µs resolution suffices for …

  • station-air.ino Arduino

    Air-quality station in three wires: the BME280 on I2C supplies temperature, humidity, pressure and estimated altitude, which the Nano Every publishes as CSV every two seconds. The 4809 Wire bus sits …

Examples and repos found online