Microcontrôleurs pour l'IoT industriel¶
ESP32, STM32 ou nRF52 — trois familles aux ADN radicalement différents, et le bon choix dépend de contraintes que votre BOM ne résume pas.
Pourquoi le choix de MCU est structurant¶
Un microcontrôleur n'est pas qu'un composant parmi d'autres : il détermine l'outillage de développement, le SDK, les bibliothèques disponibles, la disponibilité des composants sur 10 ans, et souvent la qualification réglementaire du produit final. Changer de MCU en phase de production implique une refonte complète du firmware — c'est une migration de plusieurs mois.
Les trois familles présentées ici couvrent 90 % des projets IoT industriels. Chacune excelle dans son domaine.
ESP32 — Espressif Systems¶
Présentation générale¶
L'ESP32 est sorti en 2016 et a révolutionné le marché par son rapport fonctionnalités/prix. Il embarque Wi-Fi 802.11 b/g/n et Bluetooth Classic + BLE dans un SoC vendu sous le dollar en grande quantité. Son SDK officiel, ESP-IDF, est un système de build complet basé sur FreeRTOS, avec un support communautaire exceptionnel.
Variantes de la famille¶
| Variante | Cœur(s) | RAM | Flash | Connectivité | Particularité |
|---|---|---|---|---|---|
| ESP32 (original) | Xtensa LX6 dual-core 240 MHz | 520 Ko | ext. | Wi-Fi + BT Classic + BLE 4.2 | Le généraliste |
| ESP32-S2 | Xtensa LX7 mono-core 240 MHz | 320 Ko | ext. | Wi-Fi seul | USB OTG natif, sans BT |
| ESP32-S3 | Xtensa LX7 dual-core 240 MHz | 512 Ko | ext. | Wi-Fi + BLE 5 | AI/ML accéléré, USB OTG |
| ESP32-C3 | RISC-V mono-core 160 MHz | 400 Ko | ext. | Wi-Fi + BLE 5 | Compact, très bas prix |
| ESP32-C6 | RISC-V dual-core 160/20 MHz | 512 Ko | ext. | Wi-Fi 6 + BLE 5 + 802.15.4 | Thread/Zigbee natif |
| ESP32-H2 | RISC-V mono-core 96 MHz | 320 Ko | ext. | BLE 5 + 802.15.4 | Thread/Zigbee, sans Wi-Fi |
Forces et limites industrielles¶
Forces : prix agressif (0,80 $ à 2,50 $ selon variante et volume), connectivité sans fil intégrée, communauté massive, portage Arduino pour le prototypage rapide, ESP-IDF mature.
Limites : l'ESP32 original a un wake-up lent depuis deep sleep (~30 ms), les GPIO sont limités en courant source/sink (40 mA max par pin), l'absence de second source (Espressif est fournisseur unique), et la gamme de température industrielle (-40°C/+85°C) n'est disponible que sur modules certifiés.
STM32 — STMicroelectronics¶
Présentation générale¶
La famille STM32 regroupe plus de 1 000 références autour du cœur ARM Cortex-M. C'est la référence de l'industrie pour les systèmes embarqués : disponibilité longue durée (15 ans garantis sur certaines séries), documentation exhaustive, outillage complet (STM32CubeIDE, STM32CubeMX), et support d'un acteur tier 1 européen.
Gamme des séries¶
| Série | Cœur | Fréquence max | Cible principale |
|---|---|---|---|
| STM32F0 | Cortex-M0 | 48 MHz | Ultra bas coût, remplacement 8-bit |
| STM32G0 | Cortex-M0+ | 64 MHz | Efficacité énergétique, BOM réduit |
| STM32L4 | Cortex-M4F | 80 MHz | Ultra basse consommation |
| STM32F4 | Cortex-M4F | 180 MHz | Contrôle temps réel, audio, vision |
| STM32F7 | Cortex-M7 | 216 MHz | Haute performance embarquée |
| STM32H7 | Cortex-M7 | 550 MHz | Processing intensif, double cœur possible |
| STM32WL | Cortex-M4 + M0 | 48 MHz | LoRa/FSK intégré (SoC unique) |
| STM32WB | Cortex-M4 + M0 | 64 MHz | BLE + Thread, dual-core |
Outillage STM32CubeIDE¶
STM32CubeIDE intègre la configuration graphique des périphériques (STM32CubeMX), la génération de code d'initialisation, la compilation (GCC ARM), et le débogage JTAG/SWD. Le workflow est professionnel : configuration du RCC, des GPIOs, des DMA, des timers — tout via interface graphique avant de passer au code métier.
nRF52 / nRF53 — Nordic Semiconductor¶
Présentation générale¶
Nordic s'est imposé comme la référence BLE haut de gamme. Le nRF52840 est le MCU de prédilection pour les applications BLE nécessitant une faible consommation et une certification RF robuste. La famille nRF53 monte en performance avec un cœur dédié à la sécurité et un autre au traitement réseau.
Caractéristiques clés¶
| Référence | Cœur | RAM | Flash | BLE | USB | Sleep |
|---|---|---|---|---|---|---|
| nRF52810 | M4 64 MHz | 24 Ko | 192 Ko | 5.0 | Non | 1,5 µA |
| nRF52832 | M4F 64 MHz | 64 Ko | 512 Ko | 5.0 | Non | 1,5 µA |
| nRF52840 | M4F 64 MHz | 256 Ko | 1 Mo | 5.0 | OTG | 1,5 µA |
| nRF5340 | M33 + M33 | 512 Ko | 1 Mo | 5.2 | OTG | 2,5 µA |
| nRF9160 | M33 | 256 Ko | 1 Mo | — | — | 2,5 µA LTE-M |
Zephyr RTOS : natif et recommandé¶
Nordic a co-fondé le projet Zephyr RTOS et c'est l'OS de référence pour nRF. Zephyr apporte : gestion d'énergie avancée (Power Management), Bluetooth Host Stack certifié, Device Tree pour la configuration matérielle, et un système de build CMake unifié. La combinaison nRF52840 + Zephyr est la cible standard pour les wearables et capteurs BLE industriels.
Tableau comparatif global¶
| Critère | ESP32-S3 | STM32F4 | nRF52840 |
|---|---|---|---|
| Prix unitaire (1k pcs) | ~1,20 $ | ~2,50 $ | ~3,80 $ |
| RAM interne | 512 Ko | 192 Ko | 256 Ko |
| Flash interne | ext. SPI | 512 Ko–1 Mo | 1 Mo |
| Connectivité RF | Wi-Fi 802.11n + BLE 5 | — (via module) | BLE 5.0 |
| Conso active | 95 mA (Wi-Fi Tx) | 50 mA @ 100 MHz | 15 mA (BLE Tx) |
| Conso deep sleep | 10 µA | 2 µA (Stop mode) | 1,5 µA |
| Température industrielle | -40°C/+85°C | -40°C/+85°C | -40°C/+85°C |
| Second source | Non (Espressif unique) | Partiel (pin-compat.) | Non (Nordic unique) |
| Support long terme | 10 ans (déclaré) | 15 ans (garanti) | 10 ans (garanti) |
| Écosystème | ESP-IDF / Arduino | HAL / LL / CMSIS | Zephyr / nRF SDK |
| Certifications RF | FCC/CE sur modules | Via module externe | FCC/CE sur modules |
Critères de sélection industrielle¶
Volume et second source¶
En dessous de 10 000 pièces par an, la question du second source est secondaire. Au-delà, une dépendance à un fournisseur unique expose à des risques de rupture d'approvisionnement. La famille STM32 bénéficie d'une compatibilité partielle entre séries (même footprint, interfaces proches), ce qui facilite les migrations.
Gamme de température¶
Les MCU grand public sont typiquement qualifiés 0°C/+70°C. Les industriels exigent -40°C/+85°C minimum. La grade "Automotive" étend à -40°C/+125°C (STM32 série G et H en version "Q"). Vérifiez systématiquement la qualification température dans le datasheet avant toute conception.
Certifications¶
- FCC/CE pour la connectivité RF : utiliser des modules pré-certifiés (Espressif WROOM, u-blox NINA) plutôt que de certifier un circuit custom.
- IEC 61508 / ISO 26262 pour les applications sécurité : STM32 dispose de bibliothèques "Functional Safety" (STM32-SafeCLASS).
- Bluetooth SIG : la certification Bluetooth est obligatoire pour l'appellation commerciale "Bluetooth".
Arbre de décision : quel MCU pour votre projet ?¶
flowchart TD
A[Nouveau projet IoT] --> B{Connectivité\nrequise ?}
B -->|Wi-Fi obligatoire| C{Budget\nserré ?}
B -->|BLE seul| D{Consommation\ncritique ?}
B -->|Filaire / LoRa| E{Temps réel\ndur ?}
C -->|Oui, volume > 10k| F[ESP32-C3\nou ESP32-S3]
C -->|Non, performance| G[ESP32-S3\nou module NINA-W]
D -->|Oui, batterie CR2032| H[nRF52810\nou nRF52832]
D -->|Non, Li-Ion| I[nRF52840\nou ESP32-H2]
E -->|Oui, < 1 ms jitter| J[STM32F4\nou STM32G4]
E -->|Non, confort dev| K[STM32L4\nou STM32G0]
F --> Z[Valider avec\ndatasheet + supply chain]
G --> Z
H --> Z
I --> Z
J --> Z
K --> Z Ce qu'il faut retenir¶
- L'ESP32 est le choix pragmatique pour les projets connectés Wi-Fi à budget contrôlé, mais son absence de second source est un risque à évaluer pour les grandes séries.
- La famille STM32 est la référence industrielle par excellence : support long terme garanti, outillage professionnel, gamme exhaustive du Cortex-M0 au Cortex-M7.
- Nordic nRF52/nRF53 s'impose pour tout ce qui est BLE basse consommation ; Zephyr RTOS est l'OS natif recommandé.
- Le choix ne se réduit jamais au MCU seul : il inclut le SDK, l'outillage de débogage, la disponibilité sur 10 ans et les certifications RF.
Chapitre suivant : Single-Board Computers — quand Linux s'impose et comment intégrer un Raspberry Pi dans une architecture industrielle.