Microcontrôleur vs microprocesseur vs app : que choisir ?
Lors du développement d'un produit électronique connecté, l'une des premières décisions est : où vit la logique ? Il existe trois mondes possibles —le microcontrôleur, le microprocesseur et la web/app— et programmer dans chacun est radicalement différent. Bien choisir (et les combiner) détermine le coût, la consommation et le succès du produit.
1. Microcontrôleur (MCU) : le firmware embarqué
Un microcontrôleur intègre CPU, mémoire et périphériques sur une seule puce (STM32, ESP32, Nordic nRF…). Il se programme à bas niveau en C/C++, en bare-metal ou sur un RTOS (FreeRTOS, Zephyr), avec un contrôle direct du matériel.
- Quand : appareils sur batterie, contrôle en temps réel, capteurs, IoT basse consommation, produits à coût serré.
- Avantages : consommation de microampères, démarrage instantané, comportement déterministe, coût très bas.
- Limites : ressources réduites (Ko de RAM), sans système d'exploitation complet.
2. Microprocesseur (MPU) : logiciel embarqué sous Linux
Un microprocesseur est un CPU puissant qui nécessite de la mémoire externe et exécute généralement un système d'exploitation (Linux) (i.MX, Rockchip, Raspberry Pi…). Il se programme comme un ordinateur : Linux embarqué, C/C++, Python, services et pilotes.
- Quand : écrans/IHM, beaucoup de connectivité, traitement intensif (caméra, IA en périphérie), plusieurs tâches simultanées.
- Avantages : puissance, multitâche, vaste écosystème logiciel.
- Limites : plus de consommation et de coût, démarrage plus lent, plus grande complexité de conception matérielle.
3. Web/App : là où l'utilisateur interagit
L'application mobile (iOS/Android) ou la web/cloud est la couche avec laquelle l'utilisateur interagit et qui se connecte à l'appareil par Bluetooth/WiFi. Elle se programme avec Swift/Kotlin/React Native (app) ou JavaScript/TypeScript et un backend (web et cloud).
- Quand : configurer l'appareil, visualiser des données, contrôle à distance, mises à jour OTA, gestion de flotte.
- Clé : elle ne s'exécute pas sur le matériel de l'appareil, mais sur le mobile ou sur des serveurs.
En pratique : on les combine presque toujours
La plupart des produits connectés utilisent plusieurs couches à la fois. Un wearable typique = firmware sur un microcontrôleur + application mobile par BLE + backend dans le cloud. La différence entre un bon produit et un produit médiocre réside dans le choix de ce que l'on met dans chaque couche et dans le fait que toutes communiquent de manière efficace et sécurisée.
Capa Lenguaje típico Consumo Ejemplo
MCU (firmware) C/C++ bare-metal µA–mA Sensor, wearable
MPU (Linux) C/C++, Python W Gateway, HMI
Web/App Swift/Kotlin/JS — Configurar, dashboards
Conclusion
Il ne s'agit pas de savoir lequel est "le meilleur", mais lequel pour quoi —et de bien les orchestrer—. Chez Regular Solids, nous travaillons les trois couches : firmware sur microcontrôleur, logiciel embarqué sur microprocesseur, et les apps et le cloud qui relient le tout. Si vous décidez de l'architecture de votre produit, parlez-nous-en et nous vous aidons à choisir.