Le projet MicroPython apporte au Cortex-M4 la programmation en langage Python

Initié par Damien Georges de l’université de Cambridge, le projet MicroPython consiste à faciliter la programmation en langage Python sur une architecture de microcontrôleur. Concrètement, il s’agit là d’une implantation ...spécifique et optimisée de la version 3.4 du langage de script Python sur un microcontrôleur STM32F4 de STMicrolectronics, basé sur un coeur ARM Cortex-M4.

Aujourd’hui, pour rendre accessible cette approche au plus grand nombre, MicroPython propose un module processeur architecturé autour du microcontrôleur de ST, flanqué de 1 Mo de mémoire flash, de 192 Ko de Ram et d'un emplacement pour une carte SD. 24 entrées/sorties généralistes, 3 lignes de conversion analogique/numérique sur 12 bits, deux convertisseurs numériques/analogiques, eux aussi sur 12 bits, et une connexion USB (via un connecteur Micro-USB) assurent l’interface avec l’extérieur. Un accéléromètre 3 axes complète l’ensemble destiné à prototyper des applications diverses, dont la programmation de robots, en tirant parti des caractéristiques spécifiques à Python : facilité de programmation avec un simple éditeur de texte, débogage intégré, typage dynamique, communauté étoffée de développeurs...

Pour développer un projet, il suffit de connecter la carte MicroPython sur le port USB d’un ordinateur hôte. Toutes les entrées/sorties sont alors contrôlables via des commandes Python (REPL, read-eval-print-loop) sur le PC, via l’envoi de scripts vers la carte pour une exécution immédiate ou bien à partir du système de gestion de fichiers (file system) installé dans le mémoire flash du microcontrôleur. Ce module processeur de 33 x 40 mm, fabriqué en Angleterre par Jaltek Systems et disponible en open source (via des fichiers Gerber), est commercialisé sur le site de MicroPython aux alentours de 50 euros l’unité.