(Dernière mise à jour par Benjamin le 23 mars 2026)
Qu’est-ce qu’un microcontrôleur ?
C’est un circuit intégré qui regroupe à lui seul presque tous les éléments d’un ordinateur : processeur, mémoire, stockage, interfaces d’entrée-sortie. Le microprocesseur qu’on trouve dans les ordinateurs a besoin de tous ces mêmes périphériques pour fonctionner, mais ils sont externes. Il a de surcroît besoin d’un système d’exploitation.
Les microcontrôleurs ont deux qualités essentielles, leur très petite taille et leur sobriété énergétique. On les trouve partout, dès qu’une tâche très spécialisée doit être accomplie. On les trouve notamment dans tous les systèmes embarqués : électroménagers, automobiles, jouets, robots, drones, sans oublier les avions, où ils sont nombreux, sans même que le pilote le soupçonne. Il existe des milliers de références de microcontrôleurs.
Les systèmes décrits sur ce site utilisent des cartes Arduino, Teensy, et ESP32 d’Espressif, qui sont brièvement abordées ici.
Les cartes Arduino
Elles sont de plus en plus nombreuses et performantes, certaines sont adaptées au prototypage de projets simples, d’autres sont destinées aux professionnels et à l’industrie. Voir ici le site officiel d’Arduino. Les microcontrôleurs sont variés, 8 bits ou 32 bits, parfois même à double cœur, les fréquences d’horloge s’échelonnent de 16 à 480 MHz. Certaines cartes embarquent des extensions de communication, Wi-Fi, Bluetooth, GSM, CAN bus, et/ou des capteurs variés : inertie, pression, température, proximité,etc.
Mais les trois cartes les plus simples, toutes équipées de microcontrôleur 8 bits à 16 MHz, avec des entrées/sorties fonctionnant en 5 volts , restent les plus connues et les plus répandues : Mega 2560, Uno et Nano (fig. 1).
Leur architecture ouverte (open hardware) a permis l’apparition de très nombreux clones de ces cartes Arduino. Ceci a contribué à leur popularité.
L’IDE Arduino : un Environnement de Développement Intégré
Un autre élément capital du succès des cartes Arduino est leur environnement de développement, l’IDE Arduino (pour « Integrated Development Environment »). Cet environnement logiciel, gratuit et en source libre, masque complètement au débutant la complexité du microcontrôleur et lui permet d’écrire son premier programme en quelques secondes. Et par là même, d’apprendre sans s’en apercevoir les bases du langage de programmation C++. Sans se soucier des mécanismes mis en œuvre dans le microcontrôleur. Un peu comme on utilise son ordinateur sans se soucier du microprocesseur qu’il contient.
Il existe d’autres environnements de développement pour les cartes Arduino, plutôt destinés aux professionnels. Aucun n’égale l’IDE Arduino en simplicité d’utilisation.
L’existence d’innombrables « bibliothèques » gratuites et open source constitue un autre facteur clé de ce succès. Ces bibliothèques (libraries en anglais) sont des extensions de l’IDE Arduino qui permettent d’effectuer des tâches particulières, parfois liées à des extensions matérielles. Par exemple, pour utiliser un écran, il faut télécharger une bibliothèque dédiée à cet écran sur Internet, puis l’inclure dans le programme (le « sketch » dans le jargon Arduino). À chaque extension matérielle, sa bibliothèque (son pilote).

Arduino Uno Rev3
C’est la plus populaire. Elle est équipée d’un microcontrôleur ATmega328P, qui comporte 32KB de mémoire flash pour les programmes, 2KB de mémoire vive SRAM, une EEPROM de 1KB. La carte a 14 entrées/sorties numériques (dont 6 utilisables en PWM), et 6 entrées analogiques. L’Arduino Uno a 1 port série, 1 bus SPI et 1 bus I2C.
On trouve dans le commerce d’innombrables cartes d’extension pour la carte Arduino Uno, on parle de « shields ». Ces cartes s’enfichent sans soudure dans les connecteurs de la carte Uno, afin d’en étendre les possibilités. Ces shields pour Arduino Uno sont devenus un véritable standard et ont contribué à l’extraordinaire essor des cartes Arduino. On trouve des shields Wifi, Bluetooth, Ethernet, GPS, servomoteurs, CAN bus, lecteur micro-SD… etc. Il n’y a aucune limite à l’imagination des concepteurs de shields. Pour notre premier Micro-EMS, nous avons réalisé nous-mêmes un shield personnalisé, à partir d’un protoshield (shield vierge, sans aucun composant).
Arduino Mega 2560
C’est un peu la grande sœur de la Uno. Elle est équipée d’un microcontrôleur ATmega2560, qui comporte 256KB de mémoire flash pour les programmes, 8KB de mémoire vive SRAM, une EEPROM de 4KB. La carte a 54 entrées/sorties digitales (dont 15 utilisables en PWM), et 16 entrées analogiques. L’Arduino Mega a 4 ports série, 1 bus SPI et 1 bus I2C. Tous les shields prévus pour la carte Uno sont compatibles avec la Mega.
Arduino nano
C’est la plus petite des cartes Arduino, d’innombrables clones sont disponibles. Les caractéristiques sont exactement les mêmes que l’Arduino Uno, avec le même microcontrôleur ATmega328P, mais avec une taille réduite comme on le voit sur la photo ci-dessus (fig. 1).
Il existe de nombreuses autres cartes Arduino Nano, plus récentes et très différentes (mis à part leur petite taille) : Nano Every, Nano 33 BLE, Nano 33 BLE Sense, Nano 33 IoT, Nano RP2040. Elles sont beaucoup plus puissantes que la Nano « historique » car elles sont équipées de microcontrôleurs 32 bits, de mémoires flash et SRAM beaucoup plus importantes, d’une logique 3,3 volts, du Bluetooth, du Wi-Fi intégré ou de divers capteurs.
Arduino Nano ESP32
Cette carte apparue en 2023 est la première de la gamme Arduino qui est basée sur un microcontrôleur Espressif ESP32-S3, sous la forme d’un module u-blox® NORA-W106. Il s’agit d’une puce à double cœur 32 bits. La fréquence d’horloge est de 240 MHz, il y a 384 kB de ROM, 512 kB de SRAM et 16 MB de mémoire flash externe.
La caractéristique principale de cette carte (fig. 2) est sa connectivité WiFi et BlueTooth LE. Cette carte a une logique en 3,3 volts. Elle possède 14 entrées/sorties digitales, 8 entrées analogiques, toutes les broches supportent la PWM et les interruptions externes. Elle a un contrôleur CAN intégré, 2 ports UART, 1 port SPI et 1 port I2C. Cette carte est utilisée dans l’enregistreur de vol AvionicsDuino.

Les autres cartes Arduino
Il existe de nombreuses autres cartes Arduino. Il est impossible de les citer toutes. Certaines sont principalement destinées aux professionnels, comme les familles Portenta, Nicla, Opta et MKR. De plus, l’Arduino UNO Q, conçue pour les makers expérimentés, n’est plus une simple carte microcontrôleur : elle combine un microprocesseur Qualcomm® Dragonwing™ QRB2210 capable de faire tourner Linux® Debian avec un microcontrôleur STM32U585.
Les cartes Teensy
Voir ici le site officiel PJRC. On ne parlera ici que des plus récentes, les Teensy 3.6, 4.0 et 4.1 (fig. 3). Elles sont toutes équipées d’un microcontrôleur 32 bits, avec une logique en 3,3 volts.
En sus de leur puissance de calcul considérable, sans commune mesure avec celle des cartes Arduino 8 bits, ces cartes ont deux atouts très importants par rapport à d’autres cartes disposant de caractéristiques similaires. Elles partagent le même IDE que les cartes Arduino (avec une surcouche logicielle dénommée Teensyduino) et elles disposent d’une immense collection de bibliothèques spécialement optimisées pour elles. Elles se programment donc exactement de la même façon que les cartes Arduino. Leur coût est du même ordre de grandeur.

La Teensy 4.1, non représentée sur cette photo, a un format identique à la Teensy 3.6
Teensy 3.6
Équipée d’un ARM Cortex-M4 32 bits à 180 MHz et d’une unité de calcul en virgule flottante 32 bits.
Mémoires : 1 MB Flash, 256 KB RAM et 4 KB EEPROM
64 entrées-sorties digitales, 22 sorties PWM
25 entrées analogiques
6 ports série, 3 ports SPI, 4 ports I2C
2 CAN bus
1 lecteur micro-SD
1 horloge temps réel RTC
Malheureusement, depuis la rédaction initiale de cette page, les cartes de développement Teensy 3.6 et 3.2 ont été abandonnées. Elles offraient des performances exceptionnelles sur les entrées analogiques. En conséquence, PJRC recommande d’utiliser les Teensy 4.0/4.1 pour de nouveaux projets.
Teensy 4.0
Equipée d’un ARM Cortex-M7 32 bits à 600 MHz et d’une unité de calcul en virgule flottante 32 & 64 bits.
Mémoires : 2 MB Flash, 1 MB RAM et 1 KB EEPROM simulée
40 entrées-sorties digitales, 31 sorties PWM
14 entrées analogiques
7 ports série, 3 ports SPI, 3 ports I2C
3 CAN bus
1 horloge temps réel RTC
Cette carte est utilisée dans l’AHRS, le micro-EMS-Teensy, et le module distant Compas digital.
Equipée d’un ARM Cortex-M7 32 bits à 600 MHz et d’une unité de calcul en virgule flottante 32 & 64 bits.
Mémoires : 8 MB Flash, 1 MB RAM et 4 KB EEPROM simulée
55 entrées-sorties digitales, 35 sorties PWM
18 entrées analogiques
8 ports série, 3 ports SPI, 3 ports I2C
3 CAN bus (dont un FD)
1 lecteur micro-SD
Ethernet 10/100 Mbit
1 horloge temps réel RTC
Cette carte est utilisée dans les unités centrales de l’EFIS et de l’EMS.
Cartes ESP32 Espressif
Espressif Systems est une entreprise chinoise fondée en 2008. Elle est principalement connue pour la production de deux séries de microcontrôleurs : l’ESP8266, introduit en 2014, et l’ESP32, lancé en 2016. Ceux qui nous intéressent ici sont les ESP32, une famille de microcontrôleurs à faible coût intégrant le Wi-Fi et le Bluetooth. C’est pour cette raison que l’ESP32 est largement utilisé dans l’Internet des objets.
Il existe de nombreuses variantes selon le processeur, le nombre de cœurs, la fréquence d’horloge, la mémoire disponible, le boîtier et le nombre de GPIO. De plus, plusieurs autres fabricants distribuent des modules contenant des puces Espressif, et un nombre encore plus grand distribue diverses cartes de développement basées sur ces variantes. Le lecteur pourra consulter, par exemple, la page Wikipédia de l’ESP32 pour mieux naviguer dans ce sujet complexe.
ESP-IDF : l’environnement de développement officiel
Espressif a développé ESP-IDF pour la famille ESP32. Pour les utilisateurs expérimentés, il exploite au maximum les capacités de l’ESP32, notamment le système d’exploitation FreeRTOS intégré au système. Heureusement, l’IDE Arduino est également parfaitement utilisable pour les utilisateurs moins expérimentés.
ESP32 et AvionicsDuino
Dans le cadre du projet AvionicsDuino, nous avons choisi d’utiliser des modules ou cartes de développement ESP32-S3 pour deux raisons principales. La première est que le protocole ESP-NOW, basé sur le Wi-Fi, peut être utilisé pour permettre à différents sous-ensembles de communiquer entre eux en parallèle ou en complément du bus CAN. La seconde raison est la disponibilité d’une bibliothèque graphique de très haute qualité, LovyanGFX, dédiée à l’ESP32, capable d’exploiter le matériel ESP32-S3 pour l’interfacer directement avec un écran LCD en mode RGB ou parallèle 16 bits. LovyanGFX utilise intensément les sprites, ce qui permet d’obtenir des animations complexes, parfaitement fluides et sans scintillement.
Pour notre nouvelle génération d’EFIS-EMS (page dédiée désormais en ligne), le module d’affichage de 7″ utilise un module ESP32-S3-WROOM-1-N16R8 (Fig. 4).

Le module d’acquisition de données distantes (RDAM, pour Remote Data Acquisition Module) de ce nouvel EFIS-EMS utilise une carte de développement Seeed Studio XIAO ESP32-S3 (fig. 5). Et comme indiqué ci-dessus, notre enregistreur de données de vol utilise une carte microcontrôleur Arduino Nano ESP32.

Quelle carte choisir ?
Pour faire très simple, sur un avion, on peut dire qu’une carte 8 bits/16 MHz Arduino Uno ou Nano est bien adaptée pour gérer quelques capteurs et actionneurs (par exemple, pour contrôler un servo de trim), faire un tachymètre ou un calculateur de carburant. Le tout premier prototype d’AvionicsDuino (Arduino Micro-EMS) utilisait une carte Arduino UNO Rev 3. Il surveillait avec succès la vitesse de rotation du moteur, le niveau et le débit de carburant, ainsi que la tension de la batterie.
Une carte Arduino Mega, avec le handicap de sa grande taille, pourrait probablement suffire pour constituer le cœur d’un système de surveillance moteur (EMS). Cependant, pour des applications nécessitant plus de puissance de calcul, comme l’affichage graphique de nombreux paramètres moteur ou d’un horizon artificiel, tout en surveillant de nombreux capteurs et en gérant les communications entre plusieurs appareils via un bus CAN ou Wi-Fi, les cartes Teensy et ESP32, de beaucoup plus petite taille, sont beaucoup mieux adaptées, notamment les Teensy 4.x et ESP32-S3.