Arduino Micro
⚡ L’essentiel en 60 secondes
- mcu — Atmel (now Microchip) ATmega32U4, 8-bit AVR RISC, 16 MHz crystal oscillator on the board (board page; micro.build.f_cpu=16000000L in boards.txt). Datasheet: "Low Power AVR 8-Bit Microcontroller", 32 KB In-System Self-Programmable Flash, 2.5 KB SRAM, 1 KB EEPROM, 26 general-purpose I/O lines, 44-pin QFN/TQFP package, 16 MHz at 4.5 V (industrial range), operating temperature −40 °C to +85 °C.
- gpu_storage — none — bare MCU board, no graphics or filesystem.
- usb — micro-USB connector; the 32U4 integrates the USB 2.0 Full-speed/Low-speed device controller (datasheet feature list), enumerating as a virtual CDC COM port plus generic keyboard and mouse HID (store page — Communication). USB IDs from boards.txt: VID 0x2341 with PID 0x0037 (COM) / 0x8037 (bootloader), Genuino VID 0x2A03 (same PIDs), plus 0x0237/0x8237.
- i_o_20_digital_pins_5_v_logic — - 7 PWM (8-bit via analogWrite): 3, 5, 6, 9, 10, 11, 13. - 12 analog inputs, 10-bit ADC: A0–A5 labelled on the board, plus A6–A11 shared with digital pins 4, 6, 8, 9, 10, 12; AREF pin for external reference. - UART TTL (5 V) on 0 (RX) / 1 (TX) via the Serial1 class; Serial = USB CDC. - I²C/TWI on 2 (SDA) / 3 (SCL) via Wire. - SPI only on the ICSP header (and nearby MISO/MOSI/SCK test points) — not on the digital header as on the Uno. - External interrupts on 0, 1, 2, 3, 7. - RX_LED/SS — extra pin vs Leonardo: RX activity LED, reusable as SPI slave-select. - LED_BUILTIN on pin 13; RX/TX LEDs show USB (not pin 0/1) traffic.
- drive — 20 mA recommended / 40 mA absolute max per pin; internal pull-ups 20–50 kΩ (store page — Input and Output).
- power — micro-USB or external supply on Vin/GND pins (no barrel jack), auto-selected; operating 7–20 V, recommended 7–12 V (regulator may overheat above 12 V); pins VIN, 5V, 3V3 limited to 50 mA, GND, AREF, Reset; resettable 500 mA polyfuse protects the host USB port (store page — Power/Warnings).
- Sur cette fiche : 9 tutoriels · 10 codes
L'Arduino Micro est une carte de développement électronique qui occupe une place singulière dans l'écosystème Arduino, principalement grâce à sa compacité et à ses capacités de communication avancées. Introduite en 2012, cette carte a été conçue en collaboration avec Adafruit, une entreprise reconnue pour ses contributions à la communauté open source, comme l'indique la mention « Adafruit co-design » gravée au dos du circuit imprimé. Son format réduit, mesurant seulement 48 sur 17,7 millimètrès, lui permet de s'insérer directement dans une planche de prototypage sans chevaucher les rangées de trous, ce qui en fait un outil idéal pour les projets où l'espace est compté. Avec un poids plume de 20 grammes une fois les connecteurs soudés, elle se distingue comme l'une des plus petites cartes officielles de sa génération, tout en conservant une puissance de calcul suffisante pour la majorité des applications embarquées simples.
Le cœur de cette carte est le microcontrôleur ATmega32U4, fabriqué par Atmel (aujourd'hui racheté par Microchip). Il s'agit d'un circuit intégré de 8 bits fonctionnant à une fréquence d'horloge de 16 MHz. Pour comprendre cette fréquence, il faut imaginer le métronome interne du processeur : à 16 millions de cycles par seconde, le microcontrôleur peut exécuter des instructions très rapidement, bien que cette vitesse soit modeste comparée aux ordinateurs modernes, elle est largement suffisante pour piloter des capteurs, des moteurs ou des LED. Ce composant dispose de 32 Ko de mémoire Flash, où votre programme est stocké de manière permanente, ainsi que de 2,5 Ko de mémoire vive (SRAM) pour les données temporaires. Une caractéristique majeure de l'ATmega32U4 est son intégration native d'un contrôleur USB. Contrairement aux cartes plus anciennes comme l'Uno, qui nécessitent une puce secondaire pour gérer la connexion à l'ordinateur, l'Arduino Micro utilise directement son propre microcontrôleur pour se faire passer pour un périphérique USB. Cela signifie que la carte peut être reconnue non seulement comme un port série virtuel pour la programmation, mais aussi comme un clavier ou une souris. Cette fonctionnalité ouvre la porte à des projets interactifs, comme l'automatisation de tâches sur un ordinateur ou la création de manettes de jeu personnalisées, sans avoir besoin de matériel supplémentaire.
La connectique de la carte est riche malgré sa taille. Elle offre 20 broches numériques, dont 7 peuvent envoyer un signal de modulation de largeur d'impulsion (PWM), une technique permettant de simuler une tension variable pour contrôler la luminosité d'une LED ou la vitesse d'un moteur. L'une des spécificités de l'Arduino Micro est la présence de 12 entrées analogiques, contre seulement 6 sur d'autres modèles. Ces entrées supplémentaires, notées de A6 à A11, sont partagées avec certaines broches numériques, offrant ainsi une plus grande flexibilité pour lire des capteurs analogiques. Cependant, il est crucial de noter une différence importante par rapport aux cartes classiques : le bus SPI, souvent utilisé pour connecter des écrans ou des cartes mémoire, n'est pas disponible sur les broches numériques habituelles. Il est uniquement accessible via le connecteur ICSP à 6 broches. Cela implique que les boucliers (shields) anciens qui comptent sur les broches numériques pour le SPI ne fonctionneront pas directement sans adaptation. De plus, la carte possède deux ports série distincts : le port « Serial » correspond à la connexion USB vers l'ordinateur, tandis que le port « Serial1 » est un port série TTL physique sur les broches 0 et 1. Cette distinction est une source fréquente de confusion pour les débutants, car un code écrit pour l'Uno qui utilise « Serial » pour communiquer avec un module externe ne fonctionnera pas de la même manière sur le Micro, où il faut utiliser « Serial1 » pour les composants externes et « Serial » pour le moniteur série de l'ordinateur.
L'alimentation de la carte est flexible mais nécessite une attention particulière. Elle peut être alimentée par le câble micro-USB ou par une source externe connectée aux broches Vin et GND, car elle ne dispose pas de prise jack standard. La tension d'alimentation externe recommandée se situe entre 7 et 12 volts. Il est important de ne pas dépasser cette plage, car le régulateur de tension intégré pourrait surchauffer au-delà de 12 volts. De plus, la broche 3,3 volts est limitée à un courant de 50 milliampères, ce qui est insuffisant pour alimenter des périphériques gourmands en énergie. Pour protéger l'ordinateur hôte en cas de court-circuit, un fusible réarmable de 500 mA est intégré au circuit. La programmation s'effectue via l'environnement Arduino IDE ou en ligne de commande. Le processus utilise un chargeur d'amorçage (bootloader) nommé Caterina. Lors de l'envoi d'un nouveau programme, l'ordinateur envoie une commande spécifique à 1200 bauds pour faire redémarrer la carte en mode programmation, une fenêtre de temps d'environ 8 secondes s'ouvre alors pour transférer les données. Si cette procédure automatique échoue, il est possible d'appuyer manuellement sur le bouton de réinitialisation de la carte.
Malgré ses atouts, l'Arduino Micro présente quelques défis techniques. La gestion des pilotes USB peut être délicate sur Windows, nécessitant parfois l'installation manuelle d'un fichier d'information (.inf) pour que le port série soit correctement reconnu. Par ailleurs, des bugs connus affectent la lecture des données sur le port USB, où la fonction « available » peut retourner des valeurs incorrectes si plusieurs octets arrivent simultanément. Enfin, l'utilisation des fonctions de clavier ou souris doit être faite avec prudence : une erreur dans le code pourrait prendre le contrôle du clavier de l'ordinateur hôte, rendant l'arrêt du programme difficile. Il est donc recommandé d'inclure un bouton physique de sécurité dans les projets utilisant ces fonctions HID. L'Arduino Micro reste toutefois une carte très populaire, ayant inspiré de nombreuses variantes tierces comme les clones « Pro Micro », et elle continue d'être utilisée dans des projets variés, allant de l'automatisme domestique à la création d'instruments de musique numériques, prouvant que sa petite taille ne rime pas avec une faible capacité d'action.



Schéma de brochage (pinout)

| Attr | Specs | vérifié |
|---|---|---|
mcu | Atmel (now Microchip) ATmega32U4, 8-bit AVR RISC, 16 MHz crystal oscillator on the board (board page; micro.build.f_cpu=16000000L in boards.txt). Datasheet: "Low Power AVR 8-Bit Microcontroller", 32 KB In-System Self-Programmable Flash, 2.5 KB SRAM, 1 KB EEPROM, 26 general-purpose I/O lines, 44-pin QFN/TQFP package, 16 MHz at 4.5 V (industrial range), operating temperature −40 °C to +85 °C. | ✔ |
gpu_storage | none — bare MCU board, no graphics or filesystem. | ? non vérifié |
usb | micro-USB connector; the 32U4 integrates the USB 2.0 Full-speed/Low-speed device controller (datasheet feature list), enumerating as a virtual CDC COM port plus generic keyboard and mouse HID (store page — Communication). USB IDs from boards.txt: VID 0x2341 with PID 0x0037 (COM) / 0x8037 (bootloader), Genuino VID 0x2A03 (same PIDs), plus 0x0237/0x8237. | ✔ |
i_o_20_digital_pins_5_v_logic | - 7 PWM (8-bit via analogWrite): 3, 5, 6, 9, 10, 11, 13. - 12 analog inputs, 10-bit ADC: A0–A5 labelled on the board, plus A6–A11 shared with digital pins 4, 6, 8, 9, 10, 12; AREF pin for external reference. - UART TTL (5 V) on 0 (RX) / 1 (TX) via the Serial1 class; Serial = USB CDC. - I²C/TWI on 2 (SDA) / 3 (SCL) via Wire. - SPI only on the ICSP header (and nearby MISO/MOSI/SCK test points) — not on the digital header as on the Uno. - External interrupts on 0, 1, 2, 3, 7. - RX_LED/SS — extra pin vs Leonardo: RX activity LED, reusable as SPI slave-select. - LED_BUILTIN on pin 13; RX/TX LEDs show USB (not pin 0/1) traffic. | ? non vérifié |
drive | 20 mA recommended / 40 mA absolute max per pin; internal pull-ups 20–50 kΩ (store page — Input and Output). | ✔ |
power | micro-USB or external supply on Vin/GND pins (no barrel jack), auto-selected; operating 7–20 V, recommended 7–12 V (regulator may overheat above 12 V); pins VIN, 5V, 3V3 limited to 50 mA, GND, AREF, Reset; resettable 500 mA polyfuse protects the host USB port (store page — Power/Warnings). | ✔ |
size_weight | PCB 48 × 17.7 mm (USB connector extends beyond), breadboard-friendly; 20 g with headers, 16 g without (store page — Physical Characteristics; store product JSONs). | ✔ |
- Fabricant : Arduino (arduino.cc), développé conjointement avec Adafruit (page de la carte) ; le PCB porte la mention « Adafruit co-design » au dos (texte alternatif de l'image produit de la boutique).
- Année : introduite en 2012 — la définition de la carte et son bootloader Caterina ont été intégrés au core AVR officiel le 27 octobre 2012 (commit « Adding Micro. ») avec une mise à jour du firmware le 2 novembre 2012 (historique des commits ArduinoCore-avr pour bootloaders/caterina/Caterina-Micro.hex).
- Statut : Actif — actuellement listée et en stock sur la boutique officielle (JSON produit récupéré en direct, updated_at 2026-10-13) (page boutique).
- Prix : prix boutique actuel 24,10 € (SKU A000053, EUR, taxable) (JSON produit de la boutique).
- Variantes : - Arduino Micro sans connecteurs — même carte, broches non soudées, 25,40 €, SKU A000093 (JSON produit de la boutique). - Genuino Micro — vendu sous la marque Genuino hors des États-Unis durant 2015–2016 (Wikipédia — Arduino) ; le vendor ID USB Genuino 0x2A03 est toujours présent dans la définition de carte du core (boards.txt). - La conception 32U4 au format breadboard a donné naissance aux omniprésents clones tiers « Pro Micro » (Wikipédia — Arduino, image « Arduino Pro Micro (ATmega32U4) »).
+ Points forts
- USB natif, sans coprocesseur : comme le Leonardo, le 32U4 est le périphérique USB, si bien que la carte peut apparaître comme souris et clavier plus port COM virtuel (page de la carte, page boutique) — programmable via les classes intégrées Keyboard et Mouse.
- Format breadboard : le PCB de 48 × 17,7 mm chevauche le canal central d'un breadboard, la plus petite carte AVR officielle de sa génération (page de la carte).
- Conçue avec Adafruit — la collaboration qui a ensuite alimenté l'écosystème Pro Micro (page de la carte).
- 12 canaux analogiques (contre 6 sur l'Uno) en multiplexant A6–A11 sur les broches numériques 4/6/8/9/10/12 (page boutique).
- Broche double usage RX_LED/SS — une broche supplémentaire par rapport au Leonardo (page boutique — Input and Output).
- Protection contre les surintensités USB : le polyfuse réinitialisable coupe l'USB au-delà de 500 mA (page boutique — Warnings).
- Matériel open-source — Arduino publie les fichiers de conception de la carte via la page docs (page de la carte).
− Points faibles
- Deux mondes série : Serial = USB/CDC, Serial1 = TTL sur les broches 0/1 — les sketches et tutoriels pensés pour l'Uno parlent silencieusement au mauvais port (page boutique — Input and Output).
- Bug RX CDC : Serial.available ne renvoie que 0 ou 1 lorsque plusieurs octets uniques sont envoyés au port USB de l'ATmega32U4 — issue de longue date toujours ouverte #267 (touche toutes les cartes 32U4, Micro comprise).
- Particularités du bootloader Caterina : il « executes SPM operations with interrupts enabled » (issue #122) et peut laisser une interruption activée après sa sortie (issue #218).
- Danse reset/upload : le port COM virtuel disparaît pendant le reset et la fenêtre du bootloader ne dure qu'environ 8 s ; si l'IDE ne peut pas déclencher le reset à 1200 bauds, il faut appuyer manuellement sur reset (page boutique — Automatic Reset).
- Risque de détournement du clavier : les sketches HID prennent le contrôle du clavier/souris de l'hôte — le modèle officiel KeyboardMessage conseille de garder un bouton de sécurité physique (page boutique — Communication pour les classes ; exemple KeyboardMessage pour le modèle).
- Les shields SPI peuvent ne pas fonctionner : la SPI n'est que sur l'en-tête ICSP 6 broches, pas sur l'en-tête numérique, donc les shields sans repiquage ICSP sont des impasses (page boutique — Input and Output).
- Pas de jack / pas de marge Vin tolérant 5 V : l'alimentation externe doit être câblée sur Vin/GND ; au-delà de 12 V le régulateur risque la surchauffe, et la broche 3,3 V ne fournit que 50 mA (page boutique — Power).
- Identité USB figée : renommer le périphérique USB exigeait de reflasher les descripteurs (issue #295, fermée) ; la prise en charge de descripteurs HID plus riches est toujours une pull request ouverte (PR #387).
- Windows a besoin d'un .inf pour le port CDC (page boutique — Communication).
- Retour d'expérience expert expert — expert-arduino
- Retour d'experience sur l'Arduino Micro. Le format 48x17.7mm est vraiment pratique pour les breadboards, on gagne de la place par rapport a l'Uno. La presence du 32U4 permet d'être reconnu comme clavier/souris, c'est top pour les macros. Par contre, attention aux pieges documentes. D'abord, le dual… — expert-arduino
- Merci pour le rappel sur le SPI, j'ai perdu une heure a comprendre pourquoi mon module ne repondait pas. Concernant le bug CDC, est-ce que ca affecte aussi la vitesse de chargement ? J'ai souvent des erreurs de port série au moment du upload. Il faut vraiment appuyer sur le bouton reset a la second… — maker-hobbyiste
- Pour repondre a ta question sur le upload, oui, la dance du reset est obligatoire si l'auto-reset échoue. Le port COM disparait au moment du reset, donc il faut être rapide pour reselectionner le port dans l'IDE une fois le bootloader actif. Un autre point delicat : si tu joues avec les classes Key… — dev-embarque
Retours et projets de la communauté
- 2 programs in 1 on a Arduino micro ! forum.arduino.cc
- Can I get my Arduino Micro to be JUST an HID joystick, nothing else? forum.arduino.cc
- Arduino Micro - Sketch doesn't upload and bricks arduino forum.arduino.cc
- Sending values to a 12 bit DAC via Arduino Micro forum.arduino.cc
- Arduino Micro - Belegung für Simracing Wheel forum.arduino.cc
Contenu indisponible pour le moment.
- docs.arduino.cc/hardware/micro/
- with headers
- without headers
- product JSON API
- Atmel/Microchip ATmega16U4/32U4 datasheet (PDF)
- docs.arduino.cc/retired/getting-started-guides/ArduinoLeonardoMicro
- arduino/ArduinoCore-avr
- boards.txt
- bootloaders/caterina
- arduino/arduino-cli
- Arduino forum
- Project Hub
- Wikipedia — Arduino
- Deux mondes série : Serial = USB/CDC, Serial1 = TTL sur les broches 0/1 — les sketches et tutoriels pensés pour l'Uno parlent silencieusement au mauvais port (page boutique — Input and Output).
- Bug RX CDC : Serial.available ne renvoie que 0 ou 1 lorsque plusieurs octets uniques sont envoyés au port USB de l'ATmega32U4 — issue de longue date toujours ouverte #267 (touche toutes les cartes 32U4, Micro comprise).
- Particularités du bootloader Caterina : il « executes SPM operations with interrupts enabled » (issue #122) et peut laisser une interruption activée après sa sortie (issue #218).
- Danse reset/upload : le port COM virtuel disparaît pendant le reset et la fenêtre du bootloader ne dure qu'environ 8 s ; si l'IDE ne peut pas déclencher le reset à 1200 bauds, il faut appuyer manuellement sur reset (page boutique — Automatic Reset).
- Risque de détournement du clavier : les sketches HID prennent le contrôle du clavier/souris de l'hôte — le modèle officiel KeyboardMessage conseille de garder un bouton de sécurité physique (page boutique — Communication pour les classes ; exemple KeyboardMessage pour le modèle).
- Les shields SPI peuvent ne pas fonctionner : la SPI n'est que sur l'en-tête ICSP 6 broches, pas sur l'en-tête numérique, donc les shields sans repiquage ICSP sont des impasses (page boutique — Input and Output).
- Pas de jack / pas de marge Vin tolérant 5 V : l'alimentation externe doit être câblée sur Vin/GND ; au-delà de 12 V le régulateur risque la surchauffe, et la broche 3,3 V ne fournit que 50 mA (page boutique — Power).
- Identité USB figée : renommer le périphérique USB exigeait de reflasher les descripteurs (issue #295, fermée) ; la prise en charge de descripteurs HID plus riches est toujours une pull request ouverte (PR #387).
- Windows a besoin d'un .inf pour le port CDC (page boutique — Communication).
- Faire clignoter la LED embarquée (et comprendre les LED TX/RX) debutant Schéma : IMG-micro-debutant-1-micro-clignotement-led.svg — Vue de dessus d'une Arduino Micro avec la LED de la broche 13 (LED_BUILTIN) mise en évidence et les LED TX/RX près du connecteur micro-USB
- Lire un bouton avec une résistance de pull-up interne debutant Schéma : IMG-micro-debutant-2-micro-bouton-pull-up.svg — Bouton à connexion branché entre la broche 2 et GND sur une Arduino Micro, avec la résistance de pull-up interne symbolisée sur l'entrée
- Lire un capteur analogique sur le convertisseur 10 bits debutant Schéma : IMG-micro-debutant-3-micro-capteur-analogique.svg — Potentiomètre monté en diviseur de tension sur A0 d'une Arduino Micro, curseur vers A0, extrémités vers 5V et GND, LED avec résistance sur la broche PWM 9
- Transformer le Micro en clavier USB (HID) avec bouton de sécurité intermediaire Schéma : IMG-micro-intermediaire-1-micro-hid-clavier.svg — Arduino Micro branchée en USB à un ordinateur, vue comme périphérique clavier, avec un bouton de sécurité sur la broche 2 vers GND et un éditeur de texte ouvert à l'écran
- Pont Serial vers Serial1 : passerelle USB vers TTL intermediaire Schéma : IMG-micro-intermediaire-2-micro-pont-serial-serial1.svg — Arduino Micro en passerelle série : le port USB (Serial, CDC) relié logiquement à l'UART TTL des broches 0 (RX) et 1 (TX) vers un module externe, avec des flèches dans les deux sens
- Piloter un servo moteur avec le PWM et un potentiomètre intermediaire Schéma : IMG-micro-intermediaire-3-micro-pwm-servo.svg — Servomoteur alimenté par une source externe 5V reliée à GND commun, signal sur la broche 9 d'une Arduino Micro, potentiomètre sur A0, alimentation Vin 7-12V conseillée
- Sortir des sentiers : registres AVR et interruption externe avance Schéma : IMG-micro-avance-1-micro-registres-avr-interruption.svg — Bouton sur la broche 3 d'une Arduino Micro déclenchant une interruption externe, registre EICRA configuré sur front descendant, LED de la broche 13 allumée depuis la routine d'interruption
- Récupérer un Micro bloqué : bootloader Caterina et rituel de l'upload avance Schéma : IMG-micro-avance-2-micro-recuperation-bootloader-caterina.svg — Séquence de récupération d'une Arduino Micro : double appui sur reset, fenêtre bootloader d'environ 8 secondes avec port USB 0x0037/0x8037, puis téléversement ou reprogrammation par ICSP
- Mode basse consommation : power-down et watchdog avance Schéma : IMG-micro-avance-3-micro-low-power-watchdog.svg — Arduino Micro en sommeil power-down : horloge 16 MHz coupée, seul le watchdog interne réveille le microcontrôleur toutes les secondes, LED témoin d'une brève activité au réveil
Bibliothèque de code — exemples écrits pour cette carte
clignotante.inoArduinobouton-led.inoArduinoclavier-auto-tape.inoArduinosouris-cercle.inoArduinotelecommande-media.inoArduinobouton-clic-souris.inoArduinopotentiometre-souris.inoArduinotelecommande-presentation.inoArduinosaisie-serie-vers-clavier.inoArduinobuzzer-melodie.inoArduino
Exemples et dépôts trouvés en ligne
- arduino/ArduinoCore-avr github.com
- NicoHood/HID github.com
- MHeironimus/ArduinoJoystickLibrary github.com
- mcore1976/cc1101-tool github.com
- ryan-ma/PD_Micro github.com