Arduino Nano Every

ArduinoMCU 8-32 bitarduino

⚡ L’essentiel en 60 secondes

La carte Arduino Nano Every s’inscrit dans la continuité historique de l’une des plateformes de développement les plus populaires au monde, tout en opérant une transition technologique majeure vers l’ère des microcontrôleurs modernes. Lancée dans la fenêtre temporelle de 2018 à 2019, bien que certaines sources mentionnent une annonce officielle en 2019, cette carte a été conçue comme la successeur directe du Nano classique. Son objectif principal est de proposer une évolution significative des performances tout en conservant une compatibilité physique maximale avec l’écosystème existant. Il est important de noter que la date exacte de lancement fait l’objet de légères divergences entre les encyclopédies en ligne et la presse spécialisée, mais son statut de produit actif et actuel est confirmé par les canaux officiels d’Arduino. Elle se positionne comme une solution à faible coût et à faible encombrement, idéale pour les projets nécessitant une intégration discrète.

Le cœur de cette carte repose sur le microcontrôleur ATmega4809, fabriqué par Microchip (anciennement Atmel). Contrairement aux générations précédentes qui utilisaient des puces de la série AVR classique, l’ATmega4809 appartient à la famille AVRex, une architecture plus récente et plus performante. Cette puce fonctionne à une fréquence d’horloge de 20 MHz, ce qui représente une augmentation notable par rapport aux 16 MHz du Nano classique et de l’Uno, permettant un traitement des instructions plus rapide. En termes de mémoire, la carte offre 48 Ko de mémoire Flash pour le stockage des programmes, soit une augmentation de 50 % par rapport aux cartes classiques, ainsi que 6 Ko de mémoire vive SRAM, ce qui triple la capacité disponible pour les variables dynamiques par rapport aux modèles antérieurs. Cette augmentation de mémoire est cruciale pour les projets complexes nécessitant le traitement de données ou l’utilisation de bibliothèques lourdes. Bien que la fiche technique mentionne une mémoire EEPROM, sa taille spécifique n’est pas confirmée par les pages officielles consultées, bien qu’elle soit généralement de 256 octets pour cette famille de puces.

Sur le plan des entrées et sorties, la Nano Every conserve le format compact emblématique du Nano, mesurant seulement 45 sur 18 millimètrès et pesant moins de 5 grammes, ce qui en fait l’une des cartes les plus petites de la gamme Arduino. Elle dispose de 22 broches d’entrée/sortie numériques. Cependant, une attention particulière doit être portée à la génération de signaux PWM (modulation de largeur d’impulsion), une technique permettant de simuler une sortie analogique en variant la largeur des impulsions numériques. Sur cette carte, le PWM n’est disponible que sur les broches 3, 5, 6, 9 et 10. Il est crucial de noter que la broche 11, qui offrait du PWM sur les modèles classiques, ne le propose pas ici. Les développeurs portant d’anciens projets doivent donc vérifier l’utilisation de cette broche pour éviter des comportements inattendus. Pour les entrées analogiques, huit canaux (A0 à A7) sont disponibles, offrant une résolution de 10 bits, ce qui permet une conversion précise des signaux continus en valeurs numériques.

La gestion des communications série a également évolué. La carte expose deux ports UART matériels sur ses broches, offrant plus de flexibilité que le Nano classique qui n’en disposait que d’un seul. Cela permet, par exemple, de communiquer simultanément avec un module GPS et un autre périphérique série tout en gardant le port USB libre pour le débogage. Une modification importante concerne le bus I2C, un protocole de communication à deux fils très utilisé pour connecter des capteurs et des afficheurs. Sur la Nano Every, le bus I2C principal est situé sur des broches dédiées (SDA et SCL, correspondant aux broches numériques 22 et 23) et non plus sur les broches analogiques A4 et A5 comme sur les anciens modèles. Cette changement peut poser problème lors de l’utilisation de boucliers (shields) anciens conçus pour le Nano classique, car ils attendent les signaux I2C sur A4/A5. Il est donc nécessaire de vérifier la compatibilité des accessoires ou d’utiliser le port secondaire si disponible, bien que la disponibilité exacte de ce second port I2C sur la carte physique puisse varier selon les versions du noyau logiciel.

La carte fonctionne sous une logique de 5 volts et peut être alimentée via le port USB ou par une source externe sur la broche VIN. Le port USB est géré par un module pont série embarqué, qui convertit les signaux USB en signaux série TTL compréhensibles par le microcontrôleur. Il est important de comprendre que ce module n’est pas programmable par l’utilisateur comme pourrait l’être un second microcontrôleur sur d’autres cartes ; il sert uniquement de passerelle de communication. Des erreurs de reprogrammation de ce module pourraient potentiellement rendre le port USB inutilisable, bien que la méthode exacte de récupération ne soit pas détaillée dans les sources officielles consultées. Pour la programmation directe du microcontrôleur, la carte utilise le protocole UPDI (Unified Program and Debug Interface), qui remplace l’ancien protocole ISP. Cela signifie que pour flasher la puce directement, sans passer par le bootloader, il faut utiliser un programmeur compatible UPDI, ce qui diffère des méthodes traditionnelles utilisées sur les anciens AVR.

Le logiciel repose sur le noyau ArduinoCore-megaavr, qui adapte l’environnement de développement Arduino aux spécificités de l’ATmega4809. Ce noyau gère les nouvelles fonctionnalités des périphériques de la puce, comme les timers configurables, mais introduit des différences dans le comportement des fonctions de temps comme millis ou dans la fréquence des signaux PWM par rapport aux anciens noyaux. Les bibliothèques qui dépendent d’un contrôle très précis des timers ou qui utilisent des techniques de bit-banging peuvent nécessiter des mises à jour pour fonctionner correctement. Enfin, bien que la carte soit robuste, la famille ATmega4809 possède des errata publiés par le fabricant, c’est-à-dire des défauts connus au niveau du silicium, que le logiciel Arduino tente de contourner. Pour les utilisateurs avancés, il est recommandé de consulter la documentation spécifique aux errata pour les applications critiques. En résumé, la Nano Every est une carte puissante et compacte, idéale pour ceux qui veulent moderniser leurs projets sans changer leur boîtier ou leur câblage principal, à condition de bien anticiper les changements de brochage pour le PWM et l’I2C.

Forum (1 sujet) →

AttrSpecsvérifié
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).? non vérifié
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).✔
  • Fabricant : Arduino (arduino.cc / Arduino AG).
  • Année : lancée dans la fenêtre 2018–2019 comme successeur ATmega4809 du Nano classique.
  • Statut : Actif, produit au catalogue (docs.arduino.cc/hardware/nano-every, page boutique).
  • Prix :
  • Variantes : vendue avec ou sans connecteurs pré-soudés (« tessellated connectors and no components on the B-side », page boutique) ; mises à niveau broche-pour-broche dans le même boîtier : Nano 33 IoT/BLE, Nano R4 (Wikipedia).

+ Points forts

  • Brochage Nano classique, AVR moderne : « an evolution of the classic Arduino Nano sharing the same exact pinout » tout en triplant la RAM et en gagnant 50 % de flash (page docs, page boutique).
  • Le moyen le moins cher d'entrer dans la famille AVR-Ex (4809) : plus de USARTs (jusqu'à 4), deux ports TWI, de meilleurs timers, CCL/ACMP et extras analogiques au niveau du silicium (page produit ATmega4809).
  • Option sans connecteurs + fond plat pour l'intégration directe en reflow/soudure dans des produits (page boutique).
  • Fonctionnement à 20 MHz contre 16 MHz pour le Nano classique (page docs).
  • Deux UART matériel sur les connecteurs (0/1 plus l'accès à un second via le mapping Serial1/Serial2 du core), là où le Nano classique en avait exactement un (pins_arduino.h).

− Points faibles

  • Broche 11 privée de PWM : digitalPinHasPWM ne couvre que 3, 5, 6, 9, 10 — les shields/sketches pilotant la PWM sur la broche 11 (le second canal OC0B de l'Uno/Nano classique) obtiennent silencieusement de l'E/S numérique (variante du core vs broches PWM de l'Uno sur Wikipédia).
  • I²C déplacée : le bus Wire par défaut se trouve sur les broches SDA/SCL dédiées (22/23), pas sur A4/A5 là où les shields Nano classiques l'attendent (pins_arduino.h). L'I²C A4/A5 héritée a besoin du port secondaire.
  • Le pont USB est un module, pas une puce reprogrammable — contrairement aux cartes Nano 33, le module pont ne fournit pas un second MCU programmable ; une erreur de reflash peut le rendre inutilisable (bricker le chemin USB).
  • Comportement des timers différent : fréquences PWM et câblage des timers/millis différents du core AVR classique (réarchitecture du core megaavr) ; les bibliothèques bit-bang ou qui détournent les timers (certains servos, encodeurs RF) se comportent différemment ou nécessitent des versions mises à jour (ArduinoCore-megaavr).
  • Errata silicium : la famille ATmega4809 a des fiches d'errata publiées par Microchip ; cores/bibliothèques en masquent certaines.
  • 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

Retours et projets de la communauté

  • Official Nano Every documentation

    Official Nano Every documentation — (incl. I²C guide): (unverified au 2026-10-13) — référence hébergé sur docs, statut unverified vérifié le 2026-10-13. Projet documenté dans la fiche nano-every (MCU 8-32 bit) ; rôle : approfondir la prise en main de cette ca…

  • Arduino Project Hub

    Arduino Project Hub — wearables / small-robotics builds on the Every: (unverified au 2026-10-13) — référence hébergé sur create, statut unverified vérifié le 2026-10-13. Projet documenté dans la fiche nano-every (MCU 8-32 bit) ; rôle : approfondir la prise en…

  • Adafruit Learning System

    Adafruit Learning System — drop-in Nano guides (swap the board selection): (unverified au 2026-10-13) — référence hébergé sur learn, statut unverified vérifié le 2026-10-13. Projet documenté dans la fiche nano-every (MCU 8-32 bit) ; rôle : approfondir la pris…

  • Random Nerd Tutorials

    Random Nerd Tutorials — sensor/actuator starter projects: (unverified au 2026-10-13) — tutoriel hébergé sur randomnerdtutorials, statut unverified vérifié le 2026-10-13. Projet documenté dans la fiche nano-every (MCU 8-32 bit) ; rôle : approfondir la prise en…

  • megaavr core sources

    megaavr core sources — (understand timers/UARTs for porting work): (unverified au 2026-10-13) — code communautaire hébergé sur github, statut unverified vérifié le 2026-10-13. Projet documenté dans la fiche nano-every (MCU 8-32 bit) ; rôle : approfondir la pr…

Contenu indisponible pour le moment.

  • Broche 11 privée de PWM : digitalPinHasPWM ne couvre que 3, 5, 6, 9, 10 — les shields/sketches pilotant la PWM sur la broche 11 (le second canal OC0B de l'Uno/Nano classique) obtiennent silencieusement de l'E/S numérique (variante du core vs broches PWM de l'Uno sur Wikipédia).
  • I²C déplacée : le bus Wire par défaut se trouve sur les broches SDA/SCL dédiées (22/23), pas sur A4/A5 là où les shields Nano classiques l'attendent (pins_arduino.h). L'I²C A4/A5 héritée a besoin du port secondaire.
  • Le pont USB est un module, pas une puce reprogrammable — contrairement aux cartes Nano 33, le module pont ne fournit pas un second MCU programmable ; une erreur de reflash peut le rendre inutilisable (bricker le chemin USB).
  • Comportement des timers différent : fréquences PWM et câblage des timers/millis différents du core AVR classique (réarchitecture du core megaavr) ; les bibliothèques bit-bang ou qui détournent les timers (certains servos, encodeurs RF) se comportent différemment ou nécessitent des versions mises à jour (ArduinoCore-megaavr).
  • Errata silicium : la famille ATmega4809 a des fiches d'errata publiées par Microchip ; cores/bibliothèques en masquent certaines.
  • 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

Bibliothèque de code — exemples écrits pour cette carte

  • multi-serie.ino Arduino

    Le grand gain du Nano Every sur le classique : quatre UART matériels. Ce pont recopie Serial1 (broches D0/D1) vers le port USB, pratique pour écouter un GPS ou un module voix tout en gardant le monit…

  • adc-filtre.ino Arduino

    Le convertisseur analogique du Nano Every reste du 10 bits mais gagne des références internes 1,024/2,048 V, précieuses pour les petits signaux. Ce filtre exponentiel lisse le potentiomètre sans buff…

  • interrupt-bouton.ino Arduino

    Sur le 4809, les interruptions externes sortent du carcan INT0/INT1 du 328P : digitalPinToInterrupt fonctionne sur la plupart des broches. Ce bouton bascule la LED sans jamais scruter son état, laiss…

  • nvm-consignes.ino Arduino

    L'ATmega4809 n'a plus d'EEPROM matérielle : la bibliothèque EEPROM du core megaAVR émule en flash NVM. Ce croquis charge puis sauve des consignes réglables par série, avec signature pour valider la s…

  • sommeil-every.ino Arduino

    Le 4809 embarque une RTC pilotée par l'horloge 32 kHz : ce croquis l'utilise comme alarme minute et endort le cœur en mode idle entre deux réveils. La LED cligne à chaque minute, prouvant que le réve…

  • watchdog-secours.ino Arduino

    En boîtier scellé, un plantage logiciel doit finir en redémarrage : le watchdog du 4809 réinitialise la carte si le firmware oublie sa rafrâche pendant une seconde. Ce croquis arme le chien et montre…

  • fade-pwm.ino Arduino

    Le PWM du 4809 diffère du 328P (timers TCA/TCD au lieu de Timer0/1/2) mais l'API analogWrite reste identique : ce fade triangulaire 0-255 sur la broche 10 montre l'usage courant, avec la fréquence pa…

  • console_bouton.py Python

    Une fois les consignes série du Nano Every en place, ce client Python devient l'outil de maintenance : il envoie les commandes s/p, vérifie les accusés puis continue d'écouter les traces. Le duo croq…

  • micros-cycle.ino Arduino

    Avant d'asservir une fréquence, mesurez : ce banc de test utilise micros() du Nano Every pour chronométrer une lecture ADC et son traitement, avec min/max/moyenne sur 100 cycles. La résolution de 4 µ…

  • station-air.ino Arduino

    Station de qualité d'air en trois fils : le BME280 sur I2C fournit température, humidité, pression et altitude estimée, que le Nano Every publie en CSV toutes les deux secondes. Le bus Wire du 4809 s…

Exemples et dépôts trouvés en ligne