Pourquoi utiliser circuitPython ?

L'environnement Arduino est très répandu, surtout dans le monde de l'éducation, et on peut trouver énormément de ressources et de projets disponibles. Alors pourquoi changer de plate-forme si c'est pour reproduire ce qui existe déjà ?

L'environnement Arduino s'appuie sur le langage C++, très puissant, très léger et donc parfaitement adapté à des matériels à ressources limitées. Néanmoins, l'apprentissage ce de langage n'est pas des plus simples.

Python de son côté a fait son entrée en force au lycée et est utilisé dans les enseignements d'informatique (SNT en seconde, NSI en première et terminale) mais aussi en mathématiques et en physique. CircuitPython permet donc de capitaliser sur les connaissances des élèves, leur permettant d'entrer directement dans la réalisation de petits projets. Cela permet une grande cohérence dans les enseignements. Néanmoins, CircuitPython nécessite beaucoup plus de ressources matérielles que le C++ de l'arduino . Il faut donc des cartes plus musclées.

Remarque

Même sur les cartes M4 équipées du puissant AMSAMD51, il peut arriver qu'on épuise toute la mémoire disponible sous circuitPython, surtout lorsqu'on utilise beaucoup de librairies extérieures pour dialoguer avec des capteurs ou des périphériques.

Pour des gros projets nécessitant beaucoup de ressources, il est toujours possible d'utiliser l'environnement Arduino/C++ sur les cartes Adafruit, mais cela ne rentre pas dans le cadre de ce tutoriel.

Complément

Un autre avantage d'utiliser circuitPython est que le code est disponible à l’exécution dès qu'on clique sur le bouton enregistrer. On a donc une réactivité immédiate. L'environnement Arduino au contraire nécessite une étape de compilation puis transfert sur la carte.