Arduino Nano (Classic, ATmega328P)
⚡ L’essentiel en 60 secondes
- mcu — Microchip (ex-Atmel) ATmega328P, 8-bit AVR @ 16 MHz (IC max 20 MHz @ 5 V).
- memory — 32 KB flash (bootloader occupies 1.5 KB per Wikipedia), 2 KB SRAM, 1 KB EEPROM.
- gpu_storage — none.
- i_o — 22 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.
- usb — Mini-USB Type-B (official board) via FTDI FT232RL USB-to-UART (Wikipedia); ICSP 6-pin header on top edge.
- power — USB or VIN 7–12 V; no power jack — breadboard-oriented (docs page); 5 V logic; 3.3 V pin available at 50 mA.
- Sur cette fiche : 9 tutoriels · 10 codes
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.



Schéma de brochage (pinout)

| Attr | Specs | vérifié |
|---|---|---|
mcu | Microchip (ex-Atmel) ATmega328P, 8-bit AVR @ 16 MHz (IC max 20 MHz @ 5 V). | ? non vérifié |
memory | 32 KB flash (bootloader occupies 1.5 KB per Wikipedia), 2 KB SRAM, 1 KB EEPROM. | ? non vérifié |
gpu_storage | none. | ? non vérifié |
i_o | 22 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é |
usb | Mini-USB Type-B (official board) via FTDI FT232RL USB-to-UART (Wikipedia); ICSP 6-pin header on top edge. | ✔ |
power | USB 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_current | 40 ma | ✔ |
size_weight | 45 × 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é
- Can you buy nano-clones on aliexpress? forum.arduino.cc
- Knock Off Nanos forum.arduino.cc
- Why is the "L" LED keep blinking on my Arduino Nano? forum.arduino.cc
- My Arduino Nano Atmel Mega 328p is fried! forum.arduino.cc
- I cant upload my code to arduino nano (old bootloader) forum.arduino.cc
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.inoArduinoservo-sweep.inoArduinoultrason-hcsr04.inoArduinolcd-i2c.inoArduinoeeprom-contre.inoArduinosommeil-watchdog.inoArduinocompteur-impulsions.inoArduinopotentiomete-plot.inoArduinonano_plot.pyPythonscanner-i2c.inoArduino
Exemples et dépôts trouvés en ligne
- arduino/ArduinoCore-avr github.com
- arduino-libraries/Servo github.com
- arduino-libraries/LiquidCrystal github.com