Arduino Nano (Classic, ATmega328P)

ArduinoMCU 32-bitarduino

⚡ L’essentiel en 60 secondes

L’Arduino Nano, dans sa version classique dotée du microcontrôleur ATmega328P, représente un jalon historique dans l’univers de l’électronique ouverte. Initialement lancée en 2008, cette carte a été conçue pour répondre à un besoin précis : offrir la puissance et la compatibilité logicielle d’une carte Arduino Uno classique, mais dans un format extrêmement compact, pensé spécifiquement pour s’insérer directement sur une plaque de prototypage, communément appelée « breadboard ». Cette approche a permis aux makers et aux ingénieurs de prototyper des circuits complexes sans encombrer leur espace de travail, tout en bénéficiant d’une stabilité éprouvée. Bien que des variantes ultérieures aient vu le jour, comme la Nano Every ou la Nano 33 IoT, la Nano classique reste un membre actif et documenté de la famille Arduino, souvent considéré comme le doyen de cette lignée. Il est important de noter que les toutes premières unités utilisaient une puce ATmega168, mais la version standardisée et largement diffusée aujourd’hui repose sur l’ATmega328P, une puce 8 bits de la famille AVR développée par Microchip (anciennement Atmel).

Sur le plan technique, le cœur de cette carte est un microcontrôleur fonctionnant à une fréquence de 16 MHz. Pour le néophyte, cette fréquence représente le nombre de cycles de traitement que la puce peut effectuer par seconde, déterminant ainsi la rapidité avec laquelle elle exécute les instructions. La mémoire disponible est structurée en trois types distincts : 32 Ko de mémoire Flash, qui sert à stocker le programme que vous écrivez et qui persiste même lorsque la carte est éteinte (bien que 1,5 Ko soient réservés au bootloader, un petit programme permettant le chargement de vos codes), 2 Ko de SRAM pour les variables temporaires utilisées pendant l’exécution, et 1 Ko d’EEPROM pour conserver des données de configuration à long terme. L’absence de GPU ou de stockage externe signifie que cette carte est dédiée au contrôle temps réel et aux tâches légères, plutôt qu’au traitement d’images ou de gros fichiers.

Les capacités d’entrée/sortie sont particulièrement remarquables compte tenu de la taille réduite de la carte, qui ne mesure que 45 mm sur 18 mm et pèse seulement 7 grammes. Elle dispose de 22 broches numériques au total. Bien que 14 soient physiquement présentes sur l’en-tête numérique, les broches analogiques peuvent également être utilisées comme entrées ou sorties numériques, portant le total à 22. Parmi ces broches numériques, 6 offrent la fonction PWM (Modulation de Largeur d’Impulsion), une technique permettant de simuler une sortie analogique en variant la largeur des impulsions électriques, utile pour contrôler la luminosité d’une LED ou la vitesse d’un moteur. En parallèle, la carte propose 8 entrées analogiques capables de convertir un signal continu en une valeur numérique sur 10 bits, offrant une résolution fine pour lire des capteurs. Pour la communication, elle intègre une interface série UART, une interface SPI et une interface I²C, trois protocoles standards pour dialoguer avec des modules externes comme des écrans, des capteurs ou d’autres microcontrôleurs.

La connexion à un ordinateur s’effectue via un port Mini-USB Type-B, une norme plus ancienne que le micro-USB ou l’USB-C actuels, mais qui reste robuste sur les cartes officielles grâce à la puce FTDI FT232RL. Cette puce convertit les signaux USB en signaux série que le microcontrôleur comprend, offrant une compatibilité logicielle très stable sur tous les systèmes d’exploitation. Cependant, l’écosystème des clones (copies non officielles) utilise souvent des puces différentes, comme les CH340, nécessitant l’installation de pilotes spécifiques. Un aspect crucial de l’architecture de la Nano est son mécanisme de réinitialisation automatique. Lors de l’ouverture du port série par l’ordinateur, une ligne de contrôle nommée DTR est utilisée pour redémarrer la carte, permettant au bootloader d’intercepter les premières données pour vérifier si un nouveau programme doit être chargé. Ce mécanisme, bien que pratique, peut parfois provoquer la perte des premiers octets de données envoyés juste après la connexion, un comportement classique à connaître lors du développement de protocoles de communication sensibles.

L’alimentation de la carte est flexible mais présente des limites qu’il faut comprendre. Elle peut être alimentée par le port USB ou par une tension externe appliquée sur la broche VIN, avec une plage recommandée de 7 à 12 volts. Contrairement à d’autres cartes Arduino, la Nano ne dispose pas de prise jack pour l’alimentation, privilégiant ainsi sa compacité pour l’insertion directe sur les plaques de prototypage. La logique interne fonctionne en 5 volts, ce qui signifie que les signaux numériques sont à 5 volts, une information importante lors de la connexion à des capteurs modernes fonctionnant en 3,3 volts. Il existe bien une broche de sortie 3,3 volts, mais elle est limitée à 50 mA de courant. Cette faible capacité est insuffisante pour alimenter des modules gourmands comme les puces Wi-Fi ESP8266 ou ESP32, qui peuvent provoquer une chute de tension (brown-out) et un redémarrage imprévu de la carte si elles sont branchées directement sur cette broche. De plus, chaque broche numérique peut fournir jusqu’à 40 mA, ce qui est suffisant pour allumer une LED directement, mais nécessite l’utilisation d’un transistor pour piloter des moteurs ou des relais de plus forte puissance.

Le logiciel est un autre point fort de la Nano classique. Elle utilise le même cœur Arduino (ArduinoCore-avr) que l’Uno, ce qui garantit une compatibilité totale avec des milliers de bibliothèques et de tutoriels existants. Le développement se fait principalement via l’Arduino IDE, l’outil de ligne de commande arduino-cli, ou des environnements plus avancés comme PlatformIO. Il est également possible de programmer la carte en langage C/C++ pur via avr-gcc, ou d’utiliser des systèmes d’exploitation temps réel comme FreeRTOS pour gérer plusieurs tâches simultanément. La présence d’un connecteur ICSP à 6 broches permet de programmer le microcontrôleur directement, en court-circuitant le bootloader, une méthode utile pour récupérer une carte dont le bootloader a été effacé ou pour des applications nécessitant un démarrage immédiat.

En conclusion, l’Arduino Nano classique reste une référence incontournable pour quiconque souhaite concevoir des projets compacts, intégrés dans des boîtiers finis ou directement sur des plaques de prototypage. Sa taille minimale, sa puissance de calcul suffisante pour la majorité des applications de contrôle, et sa compatibilité logicielle universelle en font un outil pédagogique et professionnel de premier plan. Bien qu’elle présente quelques contraintes physiques, comme la fragilité du connecteur Mini-USB ou la limitation du courant sur la broche 3,3 volts, ces aspects sont bien documentés et facilement contournables par une conception électronique soignée. Pour les débutants, elle offre une porte d’entrée idéale vers l’électronique embarquée, tandis que pour les experts, elle constitue un module de contrôle fiable et éprouvé, capable de s’intégrer dans des produits finis grâce à la possibilité de souder directement la carte sur un circuit imprimé porteur, sans avoir besoin d’ajouter des connecteurs d’en-tête.

Forum (1 sujet) →

AttrSpecsvérifié
mcuMicrochip (ex-Atmel) ATmega328P, 8-bit AVR @ 16 MHz (IC max 20 MHz @ 5 V).? non vérifié
memory32 KB flash (bootloader occupies 1.5 KB per Wikipedia), 2 KB SRAM, 1 KB EEPROM.? non vérifié
gpu_storagenone.? non vérifié
i_o22 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.? non vérifié
usbMini-USB Type-B (official board) via FTDI FT232RL USB-to-UART (Wikipedia); ICSP 6-pin header on top edge.✔
powerUSB 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_current40 ma✔
size_weight45 × 18 mm, 7 g (Wikipedia; docs page confirms "45 mm × 18 mm… 7 grams").✔
  • Fabricant : Arduino (arduino.cc / Arduino AG) ; ID de carte « Arduino Nano ».
  • Année : 2008 — « The Arduino Nano is an open-source breadboard-friendly microcontroller board… developed by Arduino.cc and initially released in 2008 » (Wikipedia — Arduino Nano). Les premières unités utilisaient l'ATmega168 avant la révision 328P (Wikipedia — Arduino).
  • Statut : Actif — toujours vendue et documentée comme « the classic Nano… the oldest member of the Arduino Nano family » (docs.arduino.cc/hardware/nano, page boutique).
  • Prix :
  • Variantes : originaux ATmega168 → ATmega328P (ère « Nano 3.0 », pièce officielle vendue aujourd'hui) ; successeurs officiels Nano Every (2018/2019, docs), Nano 33 IoT / Nano 33 BLE Sense (page docs), Nano R4 (2025, Wikipedia) ; plus un énorme écosystème de clones (puces USB CH340, prises micro-USB ou USB-C, etc. — note de comparaison Wikipedia).

+ Points forts

  • Format pensé pour la breadboard : connecteur 2×15 façon DIP-30, 45×18 mm — « la plus petite carte d'Arduino » pendant des années, « similar to the Arduino Duemilanove but made for the use of a breadboard » (page docs).
  • Toute la capacité de l'Uno sur 1/4 de la surface : même ATmega328P, plus 2 voies analogiques supplémentaires (A6/A7) exposées car les broches ADC libres du boîtier TQFP 32 broches sont raccordées (Wikipedia).
  • FTDI FT232RL : série CDC matérielle, ultra-fiable sur tous les OS avec les cartes authentiques (Wikipedia).
  • Soudable directement sur un PCB porteur (connecteurs optionnels à l'achat), ce qui en a fait un incontournable des produits finis de makers.
  • Standard de brochage de fait réutilisé ensuite par le Nano Every et le Nano R4 (Wikipedia).

− Points faibles

  • L'auto-reset DTR dévore les premiers octets : le reset est couplé au DTR FTDI via un condensateur de 100 nF ; chaque fois qu'un hôte ouvre le port, la carte se réinitialise et « the bootloader… will intercept the first few bytes of data sent to the board after a connection is opened » — cause classique de chaînes de config de démarrage perdues (Wikipedia — Automatic (software) reset).
  • Roulette des pilotes de clones : les Nano tiers « often have a different… USB-to-UART chip » (note de comparaison Wikipedia) — typiquement CH340/CH341, exigeant des pilotes séparés et butant parfois sur les blocages de pilotes pour FTDI contrefaits (ftdichip.com/drivers, wch-ic.com).
  • Usure de la prise Mini-USB : le connecteur officiel est un Mini-B, mécaniquement fragile après des insertions répétées ; les clones substituent micro/USB-C avec une qualité de câblage variable (Wikipedia).
  • Pas de prise d'alimentation : l'alimentation doit venir de l'USB ou des broches VIN/5V — pas d'option barrel comme sur l'Uno (page docs).
  • La broche 3,3 V est faible (50 mA) — les périphériques ESP8266/ESP32 sur cette rampe brown-out pendant les rafales TX (Wikipedia).
  • La plage VIN est étroite (7–12 V) vs la plage absolue 6–20 V de l'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

Retours et projets de la communauté

  • Official Nano documentation

    Official Nano documentation — (pinout, I²C guide, getting started): (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-classic (MCU 32-bit) ; rôle : approfondir la prise en mai…

  • Arduino Project Hub

    Arduino Project Hub — the Nano's home turf for wearables & breadboard builds: (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-classic (MCU 32-bit) ; rôle : approfondir la …

  • Arduino built-in examples

    Arduino built-in examples — (Blink → Serial Plotter ladder): (unverified au 2026-10-13) — référence hébergé sur www, statut unverified vérifié le 2026-10-13. Projet documenté dans la fiche nano-classic (MCU 32-bit) ; rôle : approfondir la prise en main de cet…

  • Adafruit Learning System

    Adafruit Learning System — hundreds of Nano-compatible sensor/LED guides: (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-classic (MCU 32-bit) ; rôle : approfondir la prise…

  • Random Nerd Tutorials

    Random Nerd Tutorials — beginner Nano sensor 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-classic (MCU 32-bit) ; rôle : approfondir la prise en ma…

  • Firmata

    Firmata — script the Nano from PC-side Python/Node: (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-classic (MCU 32-bit) ; rôle : approfondir la prise en main de …

Contenu indisponible pour le moment.

  • L'auto-reset DTR dévore les premiers octets : le reset est couplé au DTR FTDI via un condensateur de 100 nF ; chaque fois qu'un hôte ouvre le port, la carte se réinitialise et « the bootloader… will intercept the first few bytes of data sent to the board after a connection is opened » — cause classique de chaînes de config de démarrage perdues (Wikipedia — Automatic (software) reset).
  • Roulette des pilotes de clones : les Nano tiers « often have a different… USB-to-UART chip » (note de comparaison Wikipedia) — typiquement CH340/CH341, exigeant des pilotes séparés et butant parfois sur les blocages de pilotes pour FTDI contrefaits (ftdichip.com/drivers, wch-ic.com).
  • Usure de la prise Mini-USB : le connecteur officiel est un Mini-B, mécaniquement fragile après des insertions répétées ; les clones substituent micro/USB-C avec une qualité de câblage variable (Wikipedia).
  • Pas de prise d'alimentation : l'alimentation doit venir de l'USB ou des broches VIN/5V — pas d'option barrel comme sur l'Uno (page docs).
  • La broche 3,3 V est faible (50 mA) — les périphériques ESP8266/ESP32 sur cette rampe brown-out pendant les rafales TX (Wikipedia).
  • La plage VIN est étroite (7–12 V) vs la plage absolue 6–20 V de l'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

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

  • buzzer-melodie.ino Arduino

    Un buzzer passif branché sur la broche 9 chante un air connu grâce à tone(), qui génère le carré nécessaire en matériel sur l'ATmega328P du Nano. La mélodie est une simple table fréquences/durées, ex…

  • servo-sweep.ino Arduino

    Le servo de position est l'actionneur pédagogique par excellence : ce balayage 0-180° sur la broche 10 montre attach/write et la logique de rebroussement. La bibliothèque Servo pilote le signal 50 Hz…

  • ultrason-hcsr04.ino Arduino

    Le capteur ultrasonique HC-SR04 donne la distance par temps de vol : l'impulsion TRIG de 10 µs déclenche une rafale de 40 kHz, pulseIn mesure l'écho, et la division par 58 convertit les microsecondes…

  • lcd-i2c.ino Arduino

    Le LCD 16x2 avec module I2C ne coûte que deux broches au Nano : SDA et SCL. Ce croquis initialise l'adresse 0x27 du PCF8574, affiche un message de bienvenue puis une tension analogique rafraîchie — l…

  • eeprom-contre.ino Arduino

    L'EEPROM 1 Ko de l'ATmega328P conserve les données sans alimentation : ce compteur de démarrages survit aux coupures de courant. Le mot magique évite de lire du bruit au premier lancement — le patron…

  • sommeil-watchdog.ino Arduino

    Le Nano classique sait descendre à quelques microampères : ce programme dort en PWR_DOWN et se réveille toutes les 8 secondes via le watchdog, sans jamais réinitialiser le programme. Le patron des ca…

  • compteur-impulsions.ino Arduino

    Les impulsions courtes se perdent si on scrute la broche : attachInterrupt sur INT0 (broche 2 du Nano) capture chaque front descendant. Avec l'anti-rebond logiciel et la copie atomique, le compteur d…

  • potentiomete-plot.ino Arduino

    Le moniteur série de l'IDE Arduino sait tracer les courbes : si une seule valeur sort par ligne, le Nano devient oscilloscope de poche. Ce croquis moyenne 16 échantillons du potentiomètre sur A0 et a…

  • nano_plot.py Python

    Le traceur intégré de l'IDE a des limites : ce pont Python + matplotlib affiche en direct la première colonne des mesures du Nano, avec défilement sur 200 points. Une seule dépendance de plus (matplo…

  • scanner-i2c.ino Arduino

    Avant de pleurer sur un écran LCD muet, scannez le bus : ce programme interroge les 112 adresses I2C du Nano (broches A4/A5) et liste ce qui répond. Il démasque l'adresse 0x3F d'un PCF8574 mal docume…

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