Un microcontrôleur (MCU, pour microcontroller unit) est un circuit intégré programmable qui réunit sur une seule puce un processeur, de la mémoire et des périphériques d’sortie : c’est le composant qui exécute le programme de commande au cœur d’un système mécatronique. Cette fiche est le hub d’entrée vers les familles de microcontrôleurs : elle en dresse le panorama et donne la méthode pour en choisir un, sans entrer dans les spécificités de chaque famille (traitées dans les fiches filles) ni dans la façon d’écrire le code (voir firmware).

Schéma bloc générique de l'architecture d'un microcontrôleur — processeur, mémoires Flash et RAM, bus interne et périphériques (GPIO, ADC, PWM, UART, I2C, SPI) reliés aux broches d'entrée/sortie.

À quoi ça sert ?

Le microcontrôleur est le cerveau de la chaîne de commande d’un système mécatronique : il lit les capteurs, exécute la logique de décision et pilote les actionneurs. Le choix du contrôleur se fait en phase de concept, typiquement via une matrice de décision par sous-système, puis se fige en dossier technique au moment de l’intégration.

Cette fiche tient une frontière nette avec les notions voisines :

  • choisir une famille et une carte adaptées au projet → ici (panorama + aide au choix) ;
  • structurer le code embarqué → firmware ;
  • lire la datasheet d’un composant → lire-une-datasheet ;
  • faire communiquer le MCU avec ses périphériques → bus-de-communication ;
  • réagir immédiatement à un événement sans le surveiller en boucle → interruption ;
  • outiller son poste et réutiliser du code existant → IDE, bibliothèque.

Panorama des familles

Le paysage va du microcontrôleur 8 bits historique (AVR des premières cartes Arduino) aux 32 bits ARM Cortex-M omniprésents aujourd’hui, jusqu’aux plateformes embarquées de type single-board computer (SBC) comme le Raspberry Pi, qui ne sont pas à proprement parler des microcontrôleurs (elles font tourner un système d’exploitation complet) mais qu’on range ici par usage pédagogique commun.

FamilleArchitectureLangage / IDEConsoE/S & connectivitéCas d’usage typique
ArduinoAVR 8 bits (Uno R3) à ARM Cortex-M4 (Uno R4)C++/Wiring, IDE Arduinomodérée, veille matérielle possible mais peu outillée par le frameworkGPIO num./ana., pas de sans-fil natif (sauf R4 WiFi)apprentissage, prototypage rapide
ESP32Xtensa LX6/LX7 ou RISC-V, 32 bitsArduino-core ou ESP-IDFdeep sleep ~µA, ~80–240 mA en Wi-Fi actifWi-Fi + Bluetooth intégrés, GPIO richeobjets connectés, projets sans-fil
XIAO (Seeed Studio) (format mini — base ESP32)ESP32-C3 (RISC-V) ou ESP32-S3 (Xtensa), 32 bitsArduino-core, MicroPythondeep sleep ~µA (base ESP32)Wi-Fi + BLE, ~11 broches au format timbre-posteprojets compacts, objets portés, IoT miniature
Raspberry Pi PicoRP2040, 2× Cortex-M0+ (Pico 2 : RP2350)MicroPython (Thonny), C/C++ Pico SDK, Arduino-coreveille ~1 mA (carte)26 GPIO, PIO (E/S programmables), pas de sans-fil (Pico W : Wi-Fi + BT)apprentissage MicroPython, E/S temps réel (PIO)
Raspberry Pi (SBC — plateforme embarquée)ARM Cortex-A multicœur (SoC), sous LinuxPython ou tout langageplusieurs WUSB/HDMI/Ethernet/Wi-Fi, GPIOtraitement lourd, vision, réseau, besoin d’un OS
ESP8266Xtensa 32 bits monocœurArduino-coredeep sleep ~20 µAWi-Fi intégré (pas de BT)IoT Wi-Fi simple
STM32ARM Cortex-M0 à M7STM32CubeIDE, STM32duino, PlatformIOmodes basse conso soignéspériphériques très richesprojets pro/industriels exigeants
TeensyARM Cortex-M4/M7 (NXP, jusqu’à 600 MHz)Arduino + Teensyduinohaute performanceE/S rapides, audioaudio, DSP, performance en cadre Arduino
PIC8 / 16 / 32 bits (Microchip)MPLAB X, compilateurs XCfaible consommationpériphériques variésindustriel, legacy, production en très grande série, où la stabilité de la référence et la disponibilité à long terme priment

Trois repères pour lire ce tableau. La XIAO de Seeed Studio n’est pas une famille de puces mais un format : une carte timbre-poste construite (le plus souvent) autour d’un ESP32. Tout ce qui vaut pour l’ESP32 s’y applique, dans un encombrement minimal. Le Raspberry Pi n’est pas un microcontrôleur mais un ordinateur miniature : il s’impose quand le projet demande un système d’exploitation, du réseau ou du calcul lourd (vision), au prix d’une consommation et d’une complexité supérieures. À ne pas confondre avec le Raspberry Pi Pico, qui est, lui, un vrai microcontrôleur (ligne dédiée du tableau) et notamment la carte canonique du parcours MicroPython. L’ESP8266 a ouvert la voie du Wi-Fi sur microcontrôleur. L’ESP32 le supplante aujourd’hui sur presque tous les plans. Il garde son utilité dans deux cas : quand des cartes ESP8266 sont déjà en parc, et pour reprogrammer des objets du commerce qui en sont équipés.

Aide au choix

Le bon réflexe n’est pas de partir du microcontrôleur à la mode, mais des besoins du projet. Six critères orientent le choix :

  1. Entrées/sorties — combien de GPIO, d’entrées analogiques (ADC), de sorties PWM, et quelles interfaces (I2C, SPI, UART) le projet exige-t-il ? Et sous quelle tension logique (3,3 V ou 5 V) les capteurs et modules retenus dialoguent-ils ? (→ notion niveaux-de-tension)
  2. Connectivité — le système doit-il communiquer sans fil (Wi-Fi, Bluetooth) ? Si oui, l’ESP32 part favori. Sinon, une carte sans radio suffit.
  3. Puissance de calcul et temps réel — une régulation rapide, du traitement de signal ou de l’audio appellent un 32 bits performant (STM32, Teensy). Une lecture de capteur lente se contente d’un 8 bits.
  4. Consommation — un système sur batterie impose des modes basse consommation (ESP32 en deep sleep, STM32) et un budget courant chiffré (→ notion alimentation-electronique). Sur secteur, le critère pèse moins.
  5. Écosystème et disponibilité — documentation, communauté, bibliothèques et surtout disponibilité du composant dans la durée comptent souvent plus que quelques mégahertz : un MCU bien documenté et qu’on retrouve chez deux distributeurs fait gagner un temps considérable. La maîtrise de l’équipe compte au même titre : une famille que personne n’a jamais programmée se paie en temps d’apprentissage pris sur le projet.
  6. Encombrement et intégration — quelle place la carte occupe-t-elle dans le produit, et comment s’y fixe-t-elle ? Une carte au format timbre-poste (XIAO) ouvre des intégrations qu’une Uno interdit. À l’inverse, une carte large aux broches espacées se câble et se dépanne bien plus facilement en phase de prototypage.

Carte de positionnement des familles de microcontrôleurs selon la puissance de calcul et la connectivité sans fil intégrée — PIC et Arduino en entrée de gamme sans radio, STM32 et Teensy puissants sans radio, ESP8266 en Wi-Fi, ESP32, XIAO et Pico 2 W en Wi-Fi + Bluetooth, Raspberry Pi à part en ordinateur sous Linux.

En pratique, ces critères se confrontent dans une matrice de décision menée en concept, au même titre que les autres choix d’architecture. La démarche complète dans le projet — chiffrer les besoins, confronter les candidats, tracer le choix — est déroulée dans choisir-le-materiel, l’étape 2 de la colonne de réalisation. Une stratégie fréquente en projet école : prototyper sur une carte facile (Arduino) pour valider le principe, puis migrer vers une cible plus adaptée (ESP32 pour le sans-fil, STM32 pour la performance) si le besoin le justifie.

Voir aussi